Текущее время: Пн, июн 23 2025, 11:07

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Выполнение нескольких операций в одном LUWе
СообщениеДобавлено: Вт, авг 06 2013, 14:01 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
Здравствуйте. Возникла следующая задача. Необходимо выполнить несколько шагов в одном LUWе (транзакционно, как единое целое, т.е. с коммитом только после окончания всех шагов).
Шаг 1. Создание ОС (субномер 0000) с помощью ФМ-а BAPI_FIXEDASSET_CREATE1.
Шаг 2. Создание субномера 0001 для ОС из шага 1 с помощью ФМ-а BAPI_FIXEDASSET_CREATE1.
Шаг 3. Поступление для субномера 0001 с помощью ФМ-а BAPI_ASSET_ACQUISITION_POST.
Шаг 4. Движение материала для субномера 0000 с помощью ФМ-а BAPI_GOODSMVT_CREATE.
Проблема в том, что после шага 2 приходится обязательно выполнять "промежуточный" коммит, иначе ФМ-ы из шагов 3 и 4 не видят свежесозданное ОС.
SET UPDATE TASK LOCAL не помогает. Создание ОС происходит внутри BAPI_FIXEDASSET_CREATE1 путем вызова CALL FUNCTION 'RA_ASSET_MODIFIKATION' IN UPDATE TASK. Соответственно, если не коммитить после шага 2, на шаге 3 запись насчет новой ОС в anlh еще отсутствует, а BAPI_ASSET_ACQUISITION_POST уже лезет проверять наличие такой записи.
Попытка сделать ФМ-оболочку, включающий в себя все эти шаги, и вызвать его IN UPDATE TASK, также не привела ни к чему хорошему. Внутри BAPI_FIXEDASSET_CREATE1 (include LAISTF20) происходит вызов экрана: CALL SCREEN GD_DYN-MAST, соответственно при таком вызове ФМ валится в дамп.
Может, кто-либо уже решал задачи подобного рода? Или у кого-нибудь появятся идеи? Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выполнение нескольких операций в одном LUWе
СообщениеДобавлено: Вт, авг 06 2013, 15:17 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
RA_ASSET_MODIFIKATION проходит по v1, странно, что set update task local не сработал,
он вызывается перед всеми шагами?
поставьте select .. from anlh и убедитесь, что она считывает новую запись перед шагом 3,
ещё возможно, что шаг 3 ..post использует данные ,которые прописывались в шаге 2 по очереди v2,
такие ф/м не проходят по set update task local


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выполнение нескольких операций в одном LUWе
СообщениеДобавлено: Чт, авг 08 2013, 09:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Забудьте. Без промежуточного коммита никак. SET UPDATE TASK LOCAL просто гарантирует, что сразу ПОСЛЕ коммита все данные будут физически в базе.

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB