Olá,
Muitos desenvolvedores 4gl necessitam saber se na sessão corrente existe uma transação aberta (begin work).
O primeiro passo é identificar o ID da sessão corrente através do comando dbinfo.
select dbinfo('sessionid') into wsid
from sysdual
Depois faça um acesso em sysmaster:sysrstcb (Rsam Thread Control Block) e identifique o endereço físico da sessão em memória:
select address into waddress from sysrstcb
where sid=wsid
Com este endereço procure algumas transação aberta onde o owner seja igual a waddress:
select bitval(flags,2) from systxptab where owner= waddress
Se a query retornar valor 1 quer dizer que na sessão especificada foi executado o comando BEGIN WORK.
Abrazos
Vagner
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.