[firebase-br] Controle de transações

gmail thiago.rachadel em gmail.com
Qua Nov 25 15:21:52 -03 2009


Estou tendo um problemas com transações na movimentação de estoques. A
tabela de movimentação é composta pela chave empresa, código e utilizada em
várias áreas do sistema.
Mas para meu desespero em algumas situações (raras mais presentes) acontece
de dar conflito no campo código. Tenho um único IBTransacton para as
movimentações de estoque configurado com read_committed, rec_version,
nowait. Ao abrir um novo registro preencho todos os campos e somente no
final coloco o código como abaixo:

FrmPrincipal.TrEstoque.CommitRetaining;
Mov := MaiorValorReg('MOVIMENTO_ESTOQUE_ABS', ['CD_EMPRESA'],
[TabOPCD_EMPRESA.value], 'CD_MOVIMENTO') + 1;
TabMovimentoCD_MOVIMENTO.value := Mov;
TabMovimento.Post;
TabMovimento.ApplyUpdates(-1);
TabMovimento.DBTransaction.CommitRetaining;

Alguém tem alguma luz?? Utilizo Delphi + IBX + Firebird.





Mais detalhes sobre a lista de discussão lista