Текущее время: Вт, июн 24 2025, 06:43

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: BEGIN_TRANSCTION и END_TRANSACTION разрывают LUW
СообщениеДобавлено: Пт, ноя 29 2013, 13:44 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 09 2013, 16:39
Сообщения: 4
Добрый день, возникла проблема, использую BAPI_REQUESTION_CHANGE,для того чтобы изменить в заявке номер сетевого графика и позицию, спп элемент, к сожалению она сама делает не явный commit, что не соответствует потребностям,так как нам надо для позиции резервирования(заявка ссылается Z полем на резервирование) изменить все заявки или не менять не одной, из за этого приходиться контролировать её выполнение через BEGIN_TRANSCTION и END_TRANSACTION. А затем поменять Z поле заявки(номер резервирования) прямым update. До цикла я запускаю BEGIN_TRANSACTION потом начинаю цикл в котором меняю через BAPI заявку, затем Z поле, и если есть хоть одна ошибка то заканчиваю цикл и делаю ABORT_TRANSACTION, если нет то END. Проблема в том, что не смотря на то, что ошибок нет и отработал END изменения не всегда сохраняются, причём по части могут сохраниться, а по части обработанных заявок нет. При этом даже проверить сделаны ли изменения не получается, так как SELECT иногда возвращает новое Z поле, а если его повторить через несколько секунд старое(то есть изменения сделаны, но до базы не доходят).
Вопрос: может быть есть предложения, обработать всё одним куском, чтобы все описанные операции оказались в одно LUW? Или хотя бы как потом можно проверить, что операция выполнена или не выполнена.
P.S. пробовал использовать BAPI_PR_CHANGE, одно из перечисленных полей она не меняет, по этому не подошла.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BEGIN_TRANSCTION и END_TRANSACTION разрывают LUW
СообщениеДобавлено: Вс, дек 01 2013, 09:33 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
вероятно лучше попробовать найти extension или badi/exit,
чтобы другие видели изменения ваших полей.

возможно неправильно понял, но
sap luw закрывается-открывается операторами commit и rollback,
db commit происходит где попало - может вызваться при вызове message.
можно сделать так, заявки сохраняются в отдельных sap luw:
- call function bapi..
- call function z_my_update_task_function (в свойствах указываем Модуль обновления,
и ниже 4 опции (для очереди v1 выбираем 2, для очереди v2 - 3),
-или-
call function z_my_plain_function in background task
(задача background запускается после выполнения задачи update).
внутри функции сохраняем z-поля,
в задаче update операторы commit и rollback запрещены,
в задаче background можно
- commit (задача update запускается) или rollback (задача update отменяется)


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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