CONTEÚDO
- Visão Geral
- Regras e Definições
- Exemplo da seção AddFields
01. VISÃO GERAL
Para o processamento de campos sem tag, sejam eles customizados ou padrão, foi implementada uma melhoria na mensagem EAI CustomerVendor, Seller, Order e PriceListHeaderItem para integrar os campos ao JSON, sem a necessidade de customizar o Protheus.
02. REGRAS E DEFINIÇÕES
Processamento no Envio
No processo de envio, os campos customizados e padrão que não possuírem as tags, mas apresentarem conteúdo preenchido, serão adicionados a uma seção denominada "AddFields" no JSON.
Essa seção conterá:
- O nome do campo ("Field").
- O respectivo conteúdo do campo ("Content").
Parâmetro MV_EAIFLDS
Para habilitar o envio dos campos sem tag e/ou customizados nas mensagens EAI é necessário configurar o parâmetro MV_EAIFLDS.
O parâmetro MV_EAIFLDS (Tipo Caracter) contém 4 posições, considerando a seguinte estrutura:
Cada posição do parâmetro representa uma rotina para habilitar o envio dos campos customizados e padrão que não possuem tag, onde:
- 0 - Desabilita o envio dos campos sem tag e customizados.
- 1 - Habilita o envio dos campos sem tag e customizados.
Processamento no Recebimento
A leitura dos campos sem tag para o recebimento de mensagens EAI não requer a configuração do parâmetro MV_EAIFLDS.
Durante o recebimento, os dados presentes na seção "AddFields" seguirão a mesma estrutura definida no envio, contendo os atributos "Field" e "Content". Esses campos serão adicionados ao array correspondente aos campos já tagueados, permitindo o processamento contínuo da mensagem.
- Campos sem tag - mensagem de recebimento:
- Os campos sem tag a serem gravados por exemplo, nas tabelas SA1, AI0, SA3, SC5, SC6, DA0 e DA1 são de responsabilidade do cliente, assim como o conteúdo a ser gravado nesses campos;
- Exclusões na seção "AddFields":
- Os campos já contidos em tags não serão incluídos na seção "AddFields".
03. EXEMPLO DA SEÇÃO ADDFIELDS
Exemplo de JSON no envio (cadastro de cliente com campos adicionais):
"AddFields":[
{
"Field":"A1_BCO1",
"Content":"000"
},
{
"Field":"A1_BCO2",
"Content":"111"
},
{
"Field":"A1_RISCO",
"Content":"A"
},
{
"Field":"AI0_RECPIX",
"Content":"1"
},
{
"Field":"AI0_EMAPIX",
"Content":"[email protected] "
}
]
Exemplo de JSON sobre como enviar as informações para cada tipo de campo (Caracter, Numérico, Data, Memo e Lógico):
"AddFields":[
{
"Field": "C5_VEND2",
"Content": "000002" -> Campo character
},
{
"Field": "C5_COMIS2",
"Content": 9 -> Campo Numérico
},
{
"Field": "C5_FECENT",
"Content": "2025-07-31T00:00:00" -> Campo Data
},
{
"Field": "C5_TESTE",
"Content": "Texto Campo Memo" -> Campo Memo
},
{
"Field": "C5_TESTE2",
"Content": true -> Campo Lógico
},
]



