Histórico da Página
CONTEÚDO
Índice exclude CONTEÚDO
01. Dúvida
Como cadastrar o adapter MATA225 para integração através do Protheus EAI nas rotinas de carga inicial e SCHEDESTMG?
02. Solução
...
Recomendamos configurações diferentes para uso de cada rotina no cadastro do Adapter MATA225
...
:
No uso na rotina de Carga Inicial:
| Rotina |
...
| (XX4_ |
...
Abaixo exemplo de configuração do Adapter MATA225:
...
Rotina Protheus
...
Mensagem
...
Descrição
...
Envia
...
Recebe
...
Método Protheus
...
Operação
...
Condição de envio
...
Canal de Envio
...
Versão
...
Alias
...
Rota
...
Formato
...
MATA225
...
Stocklevel
...
Saldo de Produto
...
Sim
...
Não
...
Assíncrono
...
Todas
...
PAD.APP
...
3.000
...
SB1
...
JSON
Após configurar o adapter iremos demonstrar exemplificar a utilização do mesmo. Será utilizado um produto cadastrado que possui estoque em três armazéns.
- Sincronizador de Carga Inicial do EAI Protheus:
| Bloco de código | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
{
"Header":{
"UUID":"cf4f69bd-200b-16fc-ff90-2b879a94c0bb",
"Type":"BusinessMessage",
"SubType":"event",
"Event":"upsert",
"Transaction":"STOCKLEVEL",
"StandardVersion":"1.000",
"Version":"3.000",
"SourceApplication":"PROTHEUS_2410_BCT1",
"CompanyId":"T1",
"BranchId":"D MG 01 ",
"Enterprise":"D ",
"BusinessUnit":"MG ",
"CompanySharingMode":"E",
"BusinessUnitySharingMode":"E",
"BranchSharingMode":"E",
"ProductName":"Protheus",
"ProductVersion":"12",
"GeneratedOn":"2025-03-27T20:00:39Z",
"DeliveryType":"Async"
},
"Content":{
"Entity":"StockLevel",
"Event":"upsert",
"CompanyId":"T1",
"BranchId":"D MG 01 ",
"CompanyinternalId":"T1|D MG 01 ",
"Active":"true",
"ListOfReturnItem":[
{
"ReturnItem":{
"CompanyId":"T1",
"BranchId":"D MG 01 ",
"CompanyInternalId":"T1|D MG 01 ",
"ItemInternalId":"T1|D MG 01|PRODTEST2",
"CurrentStockAmount":"306",
"AvailableStockAmount":"306",
"BookedStockAmount":"0",
"TransitStockAmount":"0",
"FutureStockAmount":"0",
"UnitItemCost":"3",
"AverageUnitItemCost":"306",
"ValueOfCurrentStockAmount":"306",
"ReserveSource":" ",
"Amountcommittedstock":"0",
"SalesOrderQuantity":"0",
"ListOfWarehouseStock":[
{
"WarehouseStock":{
"WarehouseInternalId":"T1|D MG|01",
"CurrentStockAmount":"101",
"AvailableStockAmount":"101",
"BookedStockAmount":"0",
"TransitStockAmount":"0",
"FutureStockAmount":"0",
"UnitItemCost":"1",
"AverageUnitItemCost":"101",
"ValueOfCurrentStockAmount":"101",
"Amountcommittedstock":"0",
"SalesOrderQuantity":"0"
}
},
{
"WarehouseStock":{
"WarehouseInternalId":"T1|D MG|02",
"CurrentStockAmount":"102",
"AvailableStockAmount":"102",
"BookedStockAmount":"0",
"TransitStockAmount":"0",
"FutureStockAmount":"0",
"UnitItemCost":"1",
"AverageUnitItemCost":"102",
"ValueOfCurrentStockAmount":"102",
"Amountcommittedstock":"0",
"SalesOrderQuantity":"0"
}
},
{
"WarehouseStock":{
"WarehouseInternalId":"T1|D MG|03",
"CurrentStockAmount":"103",
"AvailableStockAmount":"103",
"BookedStockAmount":"0",
"TransitStockAmount":"0",
"FutureStockAmount":"0",
"UnitItemCost":"1",
"AverageUnitItemCost":"103",
"ValueOfCurrentStockAmount":"103",
"Amountcommittedstock":"0",
"SalesOrderQuantity":"0"
}
}
],
"ListOfLotStock":[
{
"LotStock":{
"WarehouseInternalId":"T1|D MG|01",
"LotNumber":"AAA",
"SubLotCode":"",
"LotExpirationDate":"2026-03-26",
"CurrentStockAmount":"101",
"AvailableStockAmount":"101",
"BookedStockAmount":"0"
}
},
{
"LotStock":{
"WarehouseInternalId":"T1|D MG|02",
"LotNumber":"AAA",
"SubLotCode":"",
"LotExpirationDate":"2026-03-26",
"CurrentStockAmount":"102",
"AvailableStockAmount":"102",
"BookedStockAmount":"0"
}
},
{
"LotStock":{
"WarehouseInternalId":"T1|D MG|03",
"LotNumber":"BBB",
"SubLotCode":"",
"LotExpirationDate":"2026-03-26",
"CurrentStockAmount":"103",
"AvailableStockAmount":"103",
"BookedStockAmount":"0"
}
}
],
"ListOfAddressStock":{
},
"ListOfSeriesStock":{
}
}
}
]
}
} |
- Agendamento SCHEDESTMG - Inclusão de saldo inicial para o produto em um novo armazém:
...
| language | yml |
|---|---|
| theme | Midnight |
| title | Exemplo de JSON - StockLevel versão 3.000: |
| linenumbers | true |
| collapse | true |
...
| ROTINA) | MATA225 |
| Mensagem Única (XX4_UNMESS) | Stocklevel |
| Descrição (X4_DESCRI) | Saldo de Produto |
| Envia (XX4_SENDER) | Sim |
| Recebe(XX4_RECEIV) | Não |
| Método (XX4_METODO) | Assíncrono |
| Operação (XX4_TPOER) | Todas |
| Canal Envio (XX4_CHANEL) | PAD.APP |
| Versão Envio (XX4_SNDVER) | 3.000 |
| Alias (XX4_ALIASP) | SB1 |
| Formato (XX4_FORMAT) | JSON |
Se houver necessidade de filtrar os registros pode se utilizar da seguinte forma:
O campo Condição (XX4_EXPFIL), Campo que pode receber uma expressão ou ainda uma função advpl, considerando a tabela SB1 e seus respectivos campos. Em ambos os casos, é esperado um resultado lógico deste campo com conteudo verdadeiro para a informação ser processada.
O campo Expressão SQL (XX4_EXPSQL) – Campo que pode receber uma expressão SQL. Esse filtro será executado juntamente com a condição do campo XX4_EXPFIL, caso esteja preenchido.
No uso na rotina de SCHEDESTMG:
| Rotina (XX4_ROTINA) | MATA225 |
| Mensagem Única (XX4_UNMESS) | Stocklevel |
| Descrição (X4_DESCRI) | Saldo de Produto |
| Envia (XX4_SENDER) | Sim |
| Recebe(XX4_RECEIV) | Não |
| Método (XX4_METODO) | Assíncrono |
| Operação (XX4_TPOER) | Todas |
| Canal Envio (XX4_CHANEL) | PAD.APP |
| Versão Envio (XX4_SNDVER) | 3.000 |
| Alias (XX4_ALIASP) | SB1 |
| Formato (XX4_FORMAT) | JSON |
Se houver necessidade de filtrar os registros pode se utilizar da seguinte forma:
O campo Condição (XX4_EXPFIL), Campo que pode receber uma expressão ou ainda uma função advpl, considerando a tabela SB2 e seus respectivos campos.. Em ambos os casos, é esperado um resultado lógico deste campo com conteudo verdadeiro para a informação ser processada.


