Histórico da Página
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: |
|
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