Versão atual:

MsExecAuto FINA050 nao inclui corretamente e fecha SE2

Boa tarde pessoal!

Estou com esse fonte de um WS SOAP que realiza a inclusão de títulos a Pagar.

O problema é que a ExecAuto retorna sucesso, e quando olho no BD não tem nada, além disso quando é feito o RecLock após o sucesso a tabela SE2 foi fechada e desposicionada, eu poderia apenas abri-la e reposicionar, porém o registro não foi incluído.

Os comentários no trecho abaixo foram algumas tentativas que já realizei, sem sucesso. Anexo um print do debug.

WsMethod GeraTitPag wsReceive filial,cNum,fornecedor,loja,tipo,vencimento,parcela,valor,idPDV,TpId,PaiKit,NSU,TID,CodAutoriza,Bandeira,Adquirente,emissao wsSend aError wsService FinSASWEB

    Local aDados         := {}
    // Local aArea         := GetArea()
    Private lMsErroAuto := .F.

    // RpcClearEnv()
    WSDLDBGLEVEL(2)
    // RPCSetType(3)
    // RpcSetEnv("03", Alltrim(filial),,,"FIN",GetEnvServer(),{"SX3","SX6","SE2","SIX", "SE5", "SX1"}) //EMPRESA D1
    // RpcSetEnv("03", Alltrim(filial),,,"FIN",GetEnvServer(),{"SX2","SX3","SX6","SIX","SX1", "SE5","SE2","SA1","SA2" }) //EMPRESA D1

    cfilAnt := Alltrim(filial)
    dDataBase := stod(emissao)
    dbSelectArea("SE2")

    aDados :={{ "E2_FILIAL",   cFilAnt/*alltrim(xFilial("SE2",filial))*/,                                                         NIL },;
    { "E2_PREFIXO",     "LIV",                                                                                                     NIL },;
    { "E2_NUM",         cNum,                                                                                                     NIL },;
    { "E2_PARCELA",     parcela,                                                                                                 NIL },;
    { "E2_TIPO",         IIF(Empty(tipo),Alltrim(GETMV("MV_YTIWEBP")), Padr(tipo, GetSX3Cache("E2_TIPO","X3_TAMANHO"), " ") ),     NIL },;
    { "E2_NATUREZ",     '2202',                                                                                                 NIL },;
    { "E2_FORNECE",     fornecedor,                                                                                             NIL },;
    { "E2_LOJA",         loja,                                                                                                     NIL },;
    { "E2_CCD",         GetMV("MV_YCCPWEB"),                                                                                     NIL },;
    { "E2_EMISSAO",     sTod(emissao),                                                                                             NIL },;
    { "E2_EMIS1",         sTod(emissao),                                                                                             NIL },;
    { "E2_VENCTO",         sTod(vencimento),                                                                                         NIL },;
    { "E2_VENCREA",     sTod(vencimento),                                                                                         NIL },;
    { "E2_VALOR",         valor,                                                                                                    NIL },;
    { "E2_HIST",         "Ref. Tarifa de Cartão/Venda online",                                                                     NIL },;
    { "E2_YIDPDV",         idPDV,                                                                                                     NIL },;
    { "E2_YTPID",         "E",                                                                                                     NIL },;
    { "E2_YNSU",         NSU,                                                                                                     NIL },;
    { "E2_YCODAUT",     CodAutoriza,                                                                                             NIL },;
    { "E2_YADM",         Adquirente,                                                                                             NIL },;
    { "E2_YBANDEI",     Bandeira,                                                                                                 NIL },;
    { "E2_YTID",         TID,                                                                                                     NIL },;
    { "E2_YPAIKIT",     PaiKit,                                                                                                 NIL }}

    MsExecAuto( { |x,y,z| Fina050(x,y,z)}, aDados,, 3)

    If lMsErroAuto

        AADD(Self:aError,"")
        AADD(Self:aError,"")
        AADD(Self:aError,"2")
        AADD(Self:aError,MostraErro("\"))

        lMsErroAuto := .F.

    Else
        RecLock("SE2", .F.)
        SE2->E2_EMIS1 := sTod(emissao)
        MsUnLock()

        AADD(Self:aError,SE2->E2_NUM)
        AADD(Self:aError,SE2->E2_PARCELA)
        AADD(Self:aError,"1")
        AADD(Self:aError,"Incluido com sucesso.")

    EndIf

    conout(Self:aError[4])
    // RestArea(aArea)

    aDados := {}

return .T.

Versão (1):

Ver a versão formatada

MsExecAuto FINA050 nao inclui corretamente e fecha SE2

Comentário

new question