Добрый день, возникла проблема, использую 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, одно из перечисленных полей она не меняет, по этому не подошла.
|
|