Текущее время: Сб, июн 21 2025, 16:01

Часовой пояс: 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 часа


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

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


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

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