ExecAuto Mata410

Bom dia pessoal, tudo bom? Estou desenvolvendo uma uma rotina ExecAuto que irá alterar dois campos na MATA410 o campo C6_NUMOP e C6_ITEMOP com o conteúdo dos campos C2_PEDIDO e C2_ITEMPV, sempre ao gerar um ordem de produção na MATA650 para isso estou utilizando o PE MTA650I,no momento da geração da OP o pedido ja está gerado.

Debugando as informações estão indo certinhas para a MATA410 porém quando vou incluir realmente a OP aparece o erro em anexo, alguem sabe o que pode ser?




DbSelectArea("SC5")
SC5->(DbSetOrder(1))
If SC5->(MsSeek(FWxFilial("SC5")+SC2->C2_PEDIDO))

        aCab :={;
        {"C5_FILIAL"  , SC5->C5_FILIAL, Nil},;
        {"C5_TIPO"    , SC5->C5_TIPO, Nil},;
        {"C5_CLIENTE" , SC5->C5_CLIENTE , Nil},;
        {"C5_LOJACLI" , SC5->C5_LOJACLI, Nil},;
        {"C5_VEND1"   , SC5->C5_ZZLIBEN, Nil},;
        {"C5_TIPOCLI" , SC5->C5_TIPOCLI, Nil},;
        {"C5_CONDPAG" , SC5->C5_CONDPAG, Nil},;
        {"C5_NATUREZ" , SC5->C5_NATUREZ, Nil},;
        {"C5_ZZSETOR" ,SC5->C5_ZZSETOR, Nil},;
        }

        DbSelectArea("SC6")
        SC6->(DbSetOrder(1))
        If SC6->(MsSeek(FWxFilial("SC6")+SC2->C2_PEDIDO))

        aGets := {}
        aAdd(aGets, {"C6_ITEM"     , SC6->C6_ITEM, Nil} )
        aAdd(aGets, {"C6_PRODUTO"  , SC6->C6_PRODUTO, Nil} )
        aAdd(aGets, {"C6_QTDVEN"   , SC6->C6_QTDVEN, Nil} )
        aAdd(aGets, {"C6_PRCVEN"   , SC6->C6_PRCVEN , Nil} )
        aAdd(aGets, {"C6_VALOR "   , SC6->C6_VALOR, Nil} )
        aAdd(aGets, {"C6_TES"      , SC6->C6_TES, Nil} )
        aAdd(aGets, {"C6_NUMOP"    , SC2->C2_PEDIDO, Nil} )
        aAdd(aGets, {"C6_ITEMOP"   , SC2->C2_ITEMPV, Nil} )
        aAdd(aItens, aClone(aGets))

        EndIf

        MSExecAuto({|x,y,z|MATA410(x,y,z)},aCab,aItens,4)

        If lMsErroAuto 
            Mostraerro() 
        break
        EndIf

else   
    MsgAlert("Pedido não encontrado.")
EndIf

SC5->(restArea(aAreaSC5))
FWRestArea(aArea)

lRet  := .T.

Return lRet
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 execauto advpl ou faça a sua própria pergunta.