CONTEÚDO

  1. Descrição
  2. Localização
  3. Programa Fonte
  4. Retorno
  5. Exemplo de utilização
    1. Formato XML
    2. Formato JSON

01. DESCRIÇÃO

Este Ponto de Entrada permite adicionar a mensagem única de produtos campos customizados ou padrões nas mensagem de EAI.

02. LOCALIZAÇÃO

Quando ativado envio de mensagem única MATA010, na versão 2.001, em JSON e XML.

03. PROGRAMA FONTE

MATI010.PRX

04. RETORNO

Retorno: variável do tipo caracter.

05. EXEMPLO DE UTILIZAÇÃO

 A - Formato XML

#INCLUDE 'Protheus.ch' 

User Function MT010Jin()

Local cAddXml   := ""
Local oModel    := FWModelActive()
Local lMVC      := TableInDic("G3Q", .F.) .And. oModel <> Nil .And. oModel:cSource == "MATA010"
Local cCod      := ""
Local aArea     := GetArea()

If lMVC
	cCod   := AllTrim(oModel:GetValue("SB1MASTER","B1_COD"))
	cDesc  := AllTrim(oModel:GetValue("SB1MASTER","B1_DESC")) + " MT010Jin"
else
	cCod   := M->B1_COD
	cDesc  := M->B1_DESC + " MT010Jin"
Endif

cAddXml := '<CustomInfoProd>'
cAddXml +=      '<CustomCodProd>' + cCod + '|' + cDesc + '</CustomCodProd>'
cAddXml +=      '<CustomDescProd>' + cDesc + '</CustomDescProd>'
cAddXml += '</CustomInfoProd>'

RestArea(aArea)
Return cAddXml

B - Formato JSON

#INCLUDE 'Protheus.ch' 

User Function MT010Jin()

Local cJson     := ""
Local ret       := ""
Local oModel    := FWModelActive()
Local lMVC      := TableInDic("G3Q", .F.) .And. oModel <> Nil .And. oModel:cSource == "MATA010"
Local cCod      := ""
Local aArea     := GetArea()

If lMVC
    cCod   := AllTrim(oModel:GetValue("SB1MASTER","B1_COD"))
    cDesc  := AllTrim(oModel:GetValue("SB1MASTER","B1_DESC")) + " MT010Jin"
else
    cCod   := M->B1_COD
    cDesc  := M->B1_DESC + " MT010Jin"
Endif

cJson += '{'
cJson += '"TcOrthers": {'
cJson +=     '"Cust1": "TESTE DE CUSTOMIZADO1",'
cJson +=     '"TESPROD": ['
cJson +=             '{'
cJson +=             '"TESTECOD": "' +   cCod + '"
cJson +=             '},'
cJson +=             '{'
cJson +=             '"TESTEDESC": "' +  cDesc + '"
cJson +=             '}' cJson +=   ']}'
cJson += '}'

oJson := JsonObject():New()
ret := oJson:FromJson(cJson)

If ValType(ret) == "C"
    //Falha ao transformar texto em objeto json
    cJson := ''
Endif

RestArea(aArea)
Return cJson