Árvore de páginas

PCPADDTAGS - Adicionar informações customizadas no XML de integração Totvs MES

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Versões/Release:

11.80.19

12.1.17

Ponto de Entrada

Descrição:

É utilizado para adicionar informações customizadas no XML de integração. É permitido apenas adicionar informações utilizando Tags que não estão descritas no XSD Padrão TOTVS. Este ponto de entrada é utilizado apenas para a integração Totvs MES.

Localização:

Function MATI010 -> Adapter de integração dos produtos.

Function MATI632 -> Adapter de integração dos Roteiros de operações.

Function MATI650 -> Adapter de integração dos Ordens de Produção

Programa Fonte:

MATI010.prw

MATI632.prw

MATI650.prw

Retorno:

Nome

Tipo

Descrição

Obrigatório

 cAddXml

Char

Tags XML que serão adicionadas na mensagem de integração.

Sim

 

Exemplo:

#Include 'Protheus.ch'
User Function PCPADDTAGS()
Local cAddXml := ""
Local cTransac := PARAMIXB[1] // Transação que está sendo trafegada. Ex: Item.
Local cEvent := PARAMIXB[2] // Evento da transação. upsert/delete.
Local cPont := PARAMIXB[3] // Ponteiro para recuperar as informações da transação. Ex: &(cPont+"B1_COD") -> retorna o código do produto.

Local oModel := PARAMIXB[4] // Modelo de dados - Atualmente só irá funcionar para o modelo do MATA010. Para os outros fontes chamadores ainda não foi implementado.


If UPPER(AllTrim(cTransac)) == "ITEM" //Trafegando a mensagem de Produtos.

   If UPPER(AllTrim(cEvent)) == "UPSERT" //Atualizando ou Incluindo um produto.
      /*
         As informações devem ser inseridas em um formato válido para arquivos XML.
            Por exemplo: <TagXml>informação</TagXml>.
         Não deve ser utilizado nenhuma Tag do XML padrão Totvs para inserir novas informações.
      */

      If Valtype(oModel) == 'O'
          cAddXml := "<CustomInfoProd>" + oModel:GetValue('B1_COD') + "|" + oModel:GetValue('B1_DESC') + "</CustomInfoProd>"
          cAddXml += "<CustomInfoProd2>" + oModel:GetValue('B1_TE') + "|" + oModel:GetValue('B1_TS') + "</CustomInfoProd2>"

      Else

          cAddXml := "<CustomInfoProd>" + &(cPont+"B1_COD") + "|" + &(cPont+"B1_DESC") + "</CustomInfoProd>"
          cAddXml += "<CustomInfoProd2>" + &(cPont+"B1_TE") + "|" + &(cPont+"B1_TS") + "</CustomInfoProd2>"

      EndIf
   EndIf
ElseIf UPPER(AllTrim(cTransac)) == "ITEMSCRIPT" //Trafegando a mensagem de Roteiros de operações.
   If UPPER(AllTrim(cEvent)) == "UPSERT" //Atualizando ou Incluindo um Roteiro de operações.
      /*
      As informações devem ser inseridas em um formato válido para arquivos XML.
         Por exemplo: <TagXml>informação</TagXml>.
      Não deve ser utilizado nenhuma Tag do XML padrão Totvs para inserir novas informações.
      */
      cAddXml := "<CustomInfoProd>" + &(cPont+"G2_DESCRI")+ "</CustomInfoProd>"
   EndIf
EndIf

Return cAddXml