PE: MP_CABECPV

📌 Documentação do Ponto de Entrada MP_CABECPV

🧩 Identificação

  • Nome do Ponto de Entrada: MP_CABECPV
  • Objetivo: Montar e retornar a estrutura de cabeçalho (aCabec) para execução da rotina EXCAUTO, com base nos dados recebidos da integração "Meus Pedidos".
  • Programa: U_JobMped2 ( sincronização de Entidades de Entrada )
  • Localização: Apos a Montagem do aCabec de envio no Execautou Mata410 

📥 Parâmetros Recebidos (PARAMIXB)

  • PARAMIXB[1]: Filial da conta "MERCOS".
  • PARAMIXB[2]: Código da conta "MERCOS".
  • PARAMIXB[3]: Array que representa o cabeçalho do pedido e será preenchido pela função.
  • PARAMIXB[4]: Objeto JSON contendo os dados dos pedidos recebidos.
  • PARAMIXB[5]: Tipo de operação (ex: venda, bonificação, etc)

🏗️ Estrutura Padrao Montada (aCabec)

Campo         Valor Atribuído Nil
C5_FILIAL     cFilMp           Nil
C5_NUM        cDoc             Nil
C5_TIPO       N              Nil
C5_CLIENTE    SA1->A1_COD      Nil
C5_LOJACLI    SA1->A1_LOJA     Nil
C5_LOJAENT    SA1->A1_LOJA     Nil
C5_TIPOCLI    SA1->A1_TIPO     Nil
C5_CONDPAG    cCond            Nil
C5_TABELA     IIF(EMPTY(cCodTab),cTabPad,cCodTab) Nil
C5_VEND1      SA1->A1_VEND     Nil
C5_COMIS1     IIF(EMPTY(SA1->A1_COMIS),POSICIONE("SA3",1,XFILIAL("SA3")+SA1->A1_VEND,"A3_COMIS"),SA1->A1_COMIS) Nil
C5_TRANSP     cTransp          Nil
C5_XMPNUM     cvaltochar(aPedidos[zX]:NUMERO) Nil
C5_XMPOBS     aPedidos[zX]:OBSERVACOES Nil
C5_FRETE      nFrtFob          Nil
C5_TPCARGA    1 Nil
C5_DESC1      SA1->A1_DESC     Nil

🔁 Retorno

  • A função retorna o array aCabec já preenchido com os dados necessários para a criação do pedido via EXCAUTO.

Exemplo:

User Function MP_CABECPV
    local cFilMp    := PARAMIXB[1]  // FILIAL DA CONTA MERCOS
    local cCtaMp    := PARAMIXB[2]  // CODIGO DA CONTA MERCOS
    local aCabec    := PARAMIXB[3]  // ARRAY CABECAÇHO COM ESTRTURA PARA EXECUÇÃO DO EXCAUTO
    local aPedidos  := PARAMIXB[4]  // OBJETO RETORNO GET JSON MEUS PEDIDOS
    local cTipVen   := PARAMIXB[5]  // TIPO DE OPERAÇÃO
   
    local cRedesp   := "0000001"
   
   
   
    AADD(aCabec,{"C5_REDESP"   ,cRedesp                            ,Nil})
   
   
    nPosVend := aScan(aCabec,{|x|AllTrim(x[1]) == "C5_VEND1"}) // PEGA POSIÇÃO DO CAMPO VENDEDOR JA ADCIONADO NO ARRAY
    aCabec[nPosVend,2] := '000001' // ALETARA VENDEDOR

Return(aCabec)

Você achou esse artigo útil?

  • PE: MP_ITEMPV

    📌 Documentação do Ponto de Entrada MP_ITEMPV 🧩 Identificação N...
  • PE: MP_AITEMS

    📌 Documentação do Ponto de Entrada MP_AITEMS 🧩 Identificação N...
  • PE: MP_CATPGRV

    📌 Documentação do Ponto de Entrada MP_CATPGRV 🧩 Identificação ...
  • PE: MP_CATPSQL

    📌 Documentação do Ponto de Entrada MP_CATPSQL 🧩 Identificação ...
  • MP_CNFMAIL

    📌 Documentação do Ponto de Entrada MP_CNFMAIL 🧩 Identificação ...