Определение признака работы в транзакции
0 (0)
Определение признака работы в транзакции ( Терещенко Филипп 10.06.2014 14:23 )
5(1)Всем привет!
Есть общая функция, которая может вызываться как в обычном режиме, так и из транзакции.
Кто нибудь знает простой способ узнать, что макрофункция была вызвана в транзакции ?
Пробовал через DBMS_TRANSACTION.LOCAL_TRANSACTION_ID, но при использовании ProcessTrn не устанавливается значение.
>> ОтветитьПримерно вот так (+) ( krupennikov 10.06.2014 14:42 )
5(1)macro IsActiveTrn() /*************************/ macro TestTrn() return; end; /*************************/ processConTrn(NULL, "TestTrn"); return FALSE; OnError() return TRUE; end;
>> ОтветитьОригинальный способ :) ( Терещенко Филипп 10.06.2014 16:16 )
5(1)Спасибо!
>> Ответить
А просто передать параметр нельзя? (-) ( Гуцу Евгений 10.06.2014 17:15 )
5(1)Not specified
>> ОтветитьКакой параметр ? ( Терещенко Филипп 10.06.2014 17:39 )
5(1)Not specified
>> ОтветитьНу параметр к функции, которую ты запускаешь через ProcessTrn() ( Гуцу Евгений 10.06.2014 18:10 )
5(1)Хотя там как-то мутно немного, этот вовсе не параметры, а список идентификаторов таблиц БД, которые могут участвовать в транзакции.
На самом деле, можно проще - через глобальный параметр - SetGlobalParameter(Name:String, Param:Variant) / GetGlobalParameter(Name:String [, DelParam:Bool]). Модуль BankInter.
Есть ещё похожие процедуры Loans, ну ты в курсе, наверно )
>> Ответить
есть функция в ритейле CommonInter : InTransaction ( Лепихов Андрей 11.06.2014 11:55 )
5(1)Not specified
>> Ответить