Problema com ExecAuto Mata241 e DisarmTransaction()

Tenho o seguinte codigo:

    For nX := 1 To Len(aOPs)

        Begin Transaction

            lMsErroAuto := .F.
            MSExecAuto({|x,y,z| MATA241(x,y,z) },aCab,aItens,3)
            If lMsErroAuto
                DisarmTransaction()
                MostraErro()
                Break
            EndIf

            MsExecAuto({|x, y| MATA250(x, y)},aApont, 3 )  
            If lMsErroAuto
                DisarmTransaction()
                MostraErro()
                Break
            EndIf

            MsExecAuto({|x, y| MATA250(x, y)},aApont, 6 )
            If lMsErroAuto
                DisarmTransaction()
                MostraErro()
                Break
            EndIf

        End Transaction

    Next nX

Estou com 2 problemas.

Ao executar o MATA241 pela primeira vez, não tenho nenhum problema, ao terminar o primeiro laçõ e executar o segundo ciclo, da o erro abaixo, e o Protheus fecha.

Saída no final:  AJUSTAR PARAMETRO MV_DOCSEQ

FINAL - MSFINAL.PRW(241) - Params: CSTR: AJUSTAR PARAMETRO MV_DOCSEQ,CSTR1:,LLOGOFF:.F.,LLOGIN:.F.,NTIMER:0 )
PROXNUM - SIGACUSA.PRX(14355) - Params: LSAVE:.T.,LSHOWFINAL:.T. )
A241GRAVA - MATA241.PRX(1999) - Params: CALIAS:SD3,NOPCAO:3,@LCHANGEDOC:.F.,@ACPOUSU: )
A241INCLUI - MATA241.PRX(1048) - Params: CALIAS:SD3,NREG:622,NOPC:3,CNEWDOC:,LCHANGEDOC:.F. )
MATA241 - MATA241.PRX(223) - Params: @XAUTOCAB:,@XAUTOITENS:,NCALLOPCX:3 )
{|X,Y,Z| MATA241(X,Y,Z) } - ESTK0020.PRW(211) - Params: @X:,@Y:,Z:3 )
MSEXECAUTO - MATXFUNB.PRX(3047) - Params: BROTINA:{|X,Y,Z| MATA241(X,Y,Z) },@UPAR1:,@UPAR2:,UPAR3:3,UPAR4:NIL,UPAR5:NIL,UPAR6:NIL,UPAR7:NIL,UPAR8:NIL,UPAR9:NIL,UPAR10:NIL,UPAR11:NIL,UPAR12:NIL,UPAR13:NIL,UPAR14:NIL,UPAR15:NIL )
U_ESTK0020 - ESTK0020.PRW(211)
SIGAIXB - APLIB190.PRW(231) - Params: CBLOCK:ESTK0020 )
__EXECUTE - APLIB090.PRW(654) - Params: CFUNCTION:ESTK0020,CACCESS:xxxxxxxxxx,CDESCRI:Retorno Automação,CMODEXEC:04,CPAI:Retorno Automação,NTYPE:3,LONLOAD:.F.,NOLDMOD:4 )
FWPREEXECUTE - FWPREEXECUTE.PRW(79) - Params: CTITLE:Retorno Automação,CFUNCTION:ESTK0020(),NTYPE:3,CMODULE:04,CACCESS:xxxxxxxxxx )
{ ||   FWPreExecute('Retorno Automação', 'ESTK0020()', 3, '04', 'xxxxxxxxxx') } - FWUIMENUL.PRW(197)
TWINDOW:ACTIVATE - (0)
ACTIVATE - FWAPP.PRW(755) - Params: BACTION:NIL,OUSERAUTH:NIL,OPARAM:NIL )
SIGAEST - APLIB000.PRW(131) - Params: PAR01:NIL )

E meu outro problema é se der algum erro no segundo ou terceiro execauto não esta dando rollback no execauto anterior.

Protheus 12.1.27

Banco MSSQL 2017

Obrigado!

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags msexecauto mata241 disarmtransaction transaction ou faça a sua própria pergunta.