Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / OEBS: Concurrent Programm и Commit / 7 сообщений из 7, страница 1 из 1
12.10.2005, 23:47
    #33321326
Oleg Perekhrest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS: Concurrent Programm и Commit
Интересует мнения знатоков OEBS
Предпосылки:
1. Для переноса данных в OEBS существуют открытые интерфейсы.
2. Данные заносятся в таблицы открытого интерфейса, выполняется commit
3. Запускается паралельная программа, которая обслуживает данный интерфейс.
Так как данная программа работает в другой сессии, собственно и нужен commit

Теперь рассмотрим усложненный случай.
Когда имеется MultiOrg, т.е. много организаций (ORG_ID)
1. Для этого во многих таблицах открытого интерфейса, имеется поле ORG_ID
которое надо заполнить идентификатором организации
2. Далее процесс похож, как описано выше

Но как выяснилось, данные переносятся, только той организации,
к которой привязано полномочие под которым будет работать паралельная программа
Так вот в связи с этим вопросы

1. Верно, ли что все интерфейсы которые имеют поле ORG_ID за один запуск переносят
данные только своей организации?
2. Что для переноса данных другой организации, надо менять полномочия, во время работы
программы, для текущего пользователя?
3. Верно ли что после работы паралельной программы, результаты ее работы закомичены?
или как? Т.е. не понятен, момент, если программа работает в другой сессии, то данные
по окончании работы (закрытию сессии), можно только подтвердить или отменить, и это
другая же сессия не может сделать? Т.е. сессия откуда была запущена паралельная программа?
4. Паралельные программы, обычно что используют в качестве ORG_ID
Контекст пользователя, или полномочия по умолчанию?
5. Как найти, и где. процедуры по миграции поставщико, чтобы самому разобраться?
6. Если например рассмотреть интерфейс поставщиков (VENDORS), и надо перенести данные
для разных организаций. Как лучше поступить?
a) Залить в таблицы открытого интерфейса, все данные, по всем организациям.
Написать процедуру, которая в цикле будет менять полномочия, тем самым
меняя контекст текущей организации, и каждый раз запускать паралельную программу.
В этом случае непонятно когда выполнять коммит?
В конце обработки одной организации, или когда все пройдут?
А если сбой?
b) Залить данные одной организации.
Запустить паралельную программу, с полномочиями данной организации.
Коммит или откат
Повторить все сначала, для другой организации

Какой вариант предпочтительнее?

Спасибо
...
Рейтинг: 0 / 0
13.10.2005, 14:19
    #33322700
nor_metalink
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS: Concurrent Programm и Commit
1 - зависит от интерфейса, в некоторых модулях вообще нет org_id
2 - на любителя :)
3 - каждый конкарент стартует в собственной сессии и может управлять своей сессией как хочет
4 - SUBSTRB(USERENV('CLIENT_INFO'),1,10)
5 - начни с самого процесса
6 - если количество итераций описанного цикла не большое - лучше руками - контроля больше за ошибками загрузки

Удачи
...
Рейтинг: 0 / 0
13.10.2005, 14:48
    #33322798
9
9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS: Concurrent Programm и Commit
авторВерно ли что после работы паралельной программы, результаты ее работы закомичены?
или как? Т.е. не понятен, момент, если программа работает в другой сессии, то данные
по окончании работы (закрытию сессии), можно только подтвердить или отменить, и это
другая же сессия не может сделать? Т.е. сессия откуда была запущена паралельная программа?


да. по успешному завершению работы программы делается commit.
...
Рейтинг: 0 / 0
13.10.2005, 17:58
    #33323519
9
9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS: Concurrent Programm и Commit
вот только после submit_request нужно делать commit. иначе запущенный конкаррет работать не будет.
...
Рейтинг: 0 / 0
14.10.2005, 18:45
    #33326053
Uггi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS: Concurrent Programm и Commit
1. Неверно.
2. Не всегда.
3. Не совсем понял. Другая сессия - не может. Если Вы пишете свой конкарент, можно сделать так, чтобы он сам вовремя сделал Rollback, если так нужно.
4. Если конкарент использует профиль, который выставлен и в полномочии, и у пользователя, система знает, какой выбрать. Правила описаны в документации.
5. Следует начать с User Guide по Кредиторам.
6. Перенос данных из интерфейсных таблиц в операционные выполняется стандартными конкарентами. Исходные данные, которые нужно залить, описаны в документации. К слову, вендоры не делятся по организациям. А откат сделать не получится, так что сначала потренируйтесь.
...
Рейтинг: 0 / 0
14.10.2005, 23:59
    #33326230
Oleg Perekhrest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS: Concurrent Programm и Commit
Так
примерно разобрались.
Спасибо.

Т.е.
1. Для запуска конкурентной программы, надо все закоммитить в интерфейсных таблицах.
2. Так как процесс конкурентной программы, запускается в отдельном сеансе.
3. Результаты работы сеанса, автоматически коммитятся. Обработка ошибок обычно идет, как оставить неверные записи в интерфейсных таблица с кодом ошибки

Все верно?

А вот теперь не подскажет ли All,
при работе с какими еще интерфейсами может случится "бяка"
в виде, что запуск конкурент программы, переносит из интерфейсной таблицы
данные только текущей организации, т.е. той что назначена в полномочиях пользователю?
Интересуют в первую очередь интерфейсы для работы со складами, и все сопутствующие.
Вот например перенос склада, он как транзакции о товарах грузит?
Все или тоже только текущей организации?
Спасибо
...
Рейтинг: 0 / 0
15.10.2005, 00:09
    #33326236
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OEBS: Concurrent Programm и Commit
Практика - критерий истины. Если документация не дала однозначного ответа на ваш вопрос, попробуйте выполнить загрузку на тестовом экземпляре и посмотрите, к чему это приведет.
...
Рейтинг: 0 / 0
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / OEBS: Concurrent Programm и Commit / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]