Как нибудь можно делать коммит в одну таблицу (журнал), не коммитя остальные таблицы (с данными)?
Code:
insert tab1.
perform write_log_and_commit. "<-- как это сделать?
"дальше какой-то код, и какая-нибудь проверка:
if check <> ok.
rollback work. "откатывается tab1, а в журнале записи уже лежат
else.
commit work.
endif.
Т.е. есть несколько таблиц с данными и таблица с журналом.
И нужно записывать сообщения в журнал с коммитом и иметь возможность откатить записи в таблицы с данными.
Данные в таблицы записываются обычным insert, не ФМ в update task.
Раньше я почему-то думал, что можно сделать так
call function 'Z_WRITE_LOG_AND_COMMIT' destination 'NONE'.
или так
call function 'Z_WRITE_LOG_AND_COMMIT' starting new task.
Но такие вызовы ФМ делают неявный коммит, и записи пишутся в таблицы.
Понятно, что можно переработать логику, писать лог во внутреннюю таблицу. Интересует именно можно ли реализовать такой трюк.