чем вопрос.
Итак, на стадии initialization я использую метод cl_os_system=>init_and_set_modes. При этом я использовал различные комбинации i_update_mode = oscon_dmode_direct/update_task/update_task_sync
И
i_external_commit = true/false
С различными результатами, ни один из которых не дал требуемого эффекта.
Потом в статическом методе класса я делаю следующее:
get_transaction_manager
create_transaction
start( ).
Далее достаю следущий номер
Call function 'number_get_next'...
Importing number = lv_new_cnr...
Потом использую persistent класс
lo_agent = zca_pers_cl=>agent.
lo_customer = lo_agent->create_persistent( i_cnr = lv_new_cnr )
И вот тут должна быть ошибка, но ее нет...
Ладно...
Пишем lo_customer->save
Может тут? Неа...
Ок
End( ).
И вот тут происходит все что хочешь (в зависимости от настроек init_and_set_modes, только не совсем то что надо...
Устойчивые классы обращаться к БД после commit work У вас ошибка с повторением ключа выходит? Одинаковые записи создаёте ?
Обсуждают сегодня