ExecAuto Fina080

Olá

Estou com um problema no execauto fina080.

O problema ocorre da seguinte maneira: quando faço uma atualização de valores na SE2 antes de entrar no execauto, o execauto retorna erro "pesquisa não encontrada com os dados acima". Já tentei de tudo, posicionar novamente o SE2 no recno correto, dar um getarea rest area pós reclock, ver os indices etc. Alguma idéia do que posso tentar para solucionar o problema? O execauto funciona normal se eu não der update em um campo da se2. Não sei oq pode ser, já tentei de td

METHOD UpdateStatusSE2(cStatus) CLASS BRADESCPAG

    RECLOCK("SE2",.F.)
    REPLACE SE2->E2_XSTATUS with cStatus
    SE2->(MsUnlock())

EndMethod
METHOD ExecFina080(nValorPago,nTipoPag) CLASS BRADESCPAG
    Local nY
    Private lMsErroAuto    := .F.
    Private lAutoErrNoFile := .T.
    Private cMotivo        := alltrim(GetMv("MV_XBDMTV"))
    Private nValor         := 0
    Private aLog           := {}
    Private cErro          := ""

    dDataBase         := Date()
    aBaixa            := {}
    aAdd( aBaixa, {"E2_FILIAL"   , SE2->E2_FILIAL    , Nil } )
    aAdd( aBaixa, {"E2_PREFIXO"  , SE2->E2_PREFIXO   , Nil } )
    aAdd( aBaixa, {"E2_NUM"      , SE2->E2_NUM       , Nil } )
    aAdd( aBaixa, {"E2_PARCELA"  , SE2->E2_PARCELA   , Nil } )
    aAdd( aBaixa, {"E2_TIPO"     , SE2->E2_TIPO      , Nil } )
    aAdd( aBaixa, {"E2_FORNECE"  , SE2->E2_FORNECE   , Nil } )
    aAdd( aBaixa, {"E2_LOJA"     , SE2->E2_LOJA      , Nil } )  
    aAdd( aBaixa, {"AUTMOTBX"    , cMotivo             , Nil } ) //via parametro motivo baixa
    aAdd( aBaixa, {"AUTDTBAIXA"  , dDataBase         , Nil } ) //
    aAdd( aBaixa, {"AUTDTCREDITO", dDataBase         , Nil } ) //
    aAdd( aBaixa, {"AUTHIST"     , 'BAIXA REFERENTE AO TITULO '+alltrim(SE2->E2_NUM)+" via API Bradesco"   , Nil } ) 
    aAdd( aBaixa, {"AUTVLRPG"    , nValorPago     , Nil } ) //se houver divergencia colocar E2_ACRESC ou E2_DECRESC
    MsExecAuto( {|ER,UD| FINA080(ER,UD)}, aBaixa, 3 )
    If lMsErroAuto
        DisarmTransaction()
        aLog        := GetAutoGRLog()

        For nY := 1 To Len(aLog)
            If !Empty(cErro)
                cErro += CRLF
            EndIf
            cErro += aLog[nY]
        Next nY
    Endif
    SE2->(DbGoTo(cRecnoTst))
    Return cErro
EndMethod
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!

0 resposta

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