Permitir as integração de dados entre a solução TOTVS RFID e o ERP Datasul.
Entidades de integração:
Descrição dos sistemas envolvidos no contexto de negócio (e que serão envolvidos na integração).
Rotinas disponíveis na integração através do TOTVS RFID:
*Para conferência/separação por pedido é necessário trabalhar com alocação física no ERP.
Filial TOTVS RFID
BC0112 - Parâmetros TOTVS RFID
BC0106 - Parametrização de itens TOTVS RFID
Carga de depósitos TOTVS RFID
Não se aplica.
Não se aplica.
Não se aplica.
As integrações são realizadas através de serviços REST que já são disponibilizados juntamente com a instalação do ERP TOTVS, se faz apenas necessária as configurações na instalação do TOTVS RFID através do arquivo rfid.properties contido dentro do servidor de aplicação em que o TOTVS RFID está instalado.
Esse aquivo deverá conter as informações:
erp.type=DATASUL
erp.url=http://<ambiente>:<porta>/rfid/resources
Não se aplica.
Não se aplica.
Não se aplica.
O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.
Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância das marcas e alinhamento com as diretivas definidas pelo Comitê de Integração TOTVS.
O suporte aos recursos da Integração será de responsabilidade de todas as linhas, sendo assim as equipes de suporte dos produtos RM Conector e Backoffice Protheus estarão aptas a fazer a primeira análise e, quando necessário, repassar para a equipe mais adequada em cada caso.
Observação: Este modelo de suporte está sendo revisado pela TOTVS.
<context>/rfid/resources/item/filial/all
RESPONSE
[{
"codigo": "1",
"nome": "Produto 1",
"codigoBarras": "7898176580238"
},{
"codigo": "2",
"nome": "Produto 2",
"codigoBarras": "7898176580244"
}]
<context>/rfid/resources/deposito/filial/all
RESPONSE
[{
"codDepos": "1",
"nome": "Depósito 1",
"locais": [
"001",
"002"
]
},{
"codDepos": "D2",
"nome": "Depósito 2",
"locais": []
},{
"codDepos": "3",
"nome": "Depósito 3",
"locais": [
"L03",
"L04"
]
}]
Recupera o saldo dos produtos inventariados.
No corpo da requisição deverá constar os seguintes dados:
POST
<context>/rfid/resources/saldoInventario?estabelecimento={filial}&id={id_inventario}
id_inventario: Data do inventário no formato "DD-MM-YYYY"
REQUEST
[{
"codigo": "<código do item>",
"referencia": "<referência do item>",
"loteSerie": "<lote do item>",
"deposito": "<serie do item>",
"local": "<localização do item>"
}]
RESPONSE
[{
"codigo": "123",
"referencia": 'branco',
"loteSerie": "",
"deposito": "ALM",
"localizacao": "A",
"saldo": 123
},{
"codigo": "123",
"referencia": 'branco',
"loteSerie": "123",
"deposito": "ALM",
"local": "B",
"saldo": 154
}]
POST
<context>/rfid/resources/inventario?estabelecimento={filial}&id={id_inventario}
id_inventario: Data do inventário no formato "DD-MM-YYYY"
REQUEST
[{
"codigo": "<código do item>",
"referencia": "<referência do item>",
"deposito": "<deposito do item>",
"local": "<localização do item>",
"loteSerie": "<lote/serie do item>",
"quantidade": "<quantidade apurada>",
"epcs": {
"epc": "1999999999999999999999DC",
"epc": "2999999999999999999999DC"
},
},{
"codigo": "<código do item>",
"referencia": "<referência do item>",
"deposito": "<deposito do item>",
"localizacao": "<localização do item>",
"loteSerie": "<lote/serie do item>",
"quantidade": "<quantidade apurada>",
"epcs": {
"epc": "9999999999999999999999DC",
"epc": "8999999999999999999999DC"
},
}]
Recupera o saldo de um item lido no coletor
No corpo da requisição deverá constar os seguintes dados:
POST
<context>/rfid/resources/saldoItem?estabelecimento={filial}
REQUEST
[{
"codigo": "<código do item>",
"referencia": "<referência do item>",
"loteSerie": "<lote do item>"
}]
RESPONSE
[{
"deposito": "ALM1",
"locais": [{
"local": "A",
"saldo": 1
},{
"local": "B",
"saldo": 2
}]
},{
"deposito": "ALM2",
"locais": [{
"local": "",
"saldo": 3
}]
},{
"deposito": "ALM3",
"locais": [{
"local": "A",
"saldo": 3
}]
}]
Realiza a transferência de itens entre locais e depósitos
No corpo da requisição deverá conter os seguintes dados:
POST
<context>/rfid/resources/transferencia?estabelecimento={filial}
REQUEST
[{
"codigo": "1",
"origemDeposito" : 1,
"origemLocal" : "1",
"destinoDeposito" : "1",
"destinoLocal": ""
"itens":[
"codigo": "14",
"referencia" : 1,
"loteSerie" : "1",
"quantidade" : 2,
"epcs" : [
"72D97B2CC0100100000843DC",
"72D97B2CC0100100000821DC"
]
},{
"codigo": "1",
"origemDeposito" : 1,
"origemLocal" : "1",
"destinoDeposito" : "1",
"destinoLocal": "1"
"itens":[
"codigo": "P12",
"referencia" : 1,
"loteSerie" : "1",
"quantidade" : 2,
"epcs" : [
"72D97B2CC0100100000843DC",
"72D97B2CC0100100000821DC"
]
}]
Para cada fluxo de informação descreva, se necessário, alterações de comportamento que o respectivo produto irá sofrer. Por exemplo: quando o Logix recebe o PEDIDO de OUTRO ERP, este pedido não poderá ser alterado no Logix.
Liste quais as entidades integradas e como é o mapeamento entre as diferentes estruturas. Por exemplo: Classe no sistema A vira categoria no sistema B, o campo X é refletido no campo Y etc.
Liste quais transações/operações a integração fará com as entidades relacionadas. Exemplo: Insert de PEDIDO, Insert, update de ITEM, buscar saldo em estoque do ITEM no dia X ou buscar dados do FUNCIONÁRIO.
Descreva características gerais do fluxo de informações e que serão comuns para este tipo de entidade. Características particulares para cada entidade deverão ser citadas em tópicos específicos de cada entidade.
Sempre que existir (a sugestão é sempre criar) e for agregador ao documento acrescentar aqui os diagramas/imagens ou até mesmo colocar tais diagramas diretamente na especificação dos processos
Em seguida faça uma descrição para cada um dos fluxos para cada entidade
<Transação/Entidade>
Identificador da Mensagem: <mensagem>
Versão: <versão>
Módulo <marca 1>: <BackOffice – Gestão xxxxxxx>
Módulo <marca 2>: <SIGAXXX>
Tipo de Envio: <Assíncrona/Síncrona>
Mensagem Padrão | PROTHEUS | RM | ||
Tabela | Campo | Tabela | Campo | |
Code | CTO990 | CTO_SIMB | GMOEDA | SIMBOLO * |
Description | CTO990 | CTO_DESC | GMOEDA | DESCRICAO |
Symbol | CTO990 | CTO_SIMB | GMOEDA | SIMBOLO |
Notas:
Observações sobre comportamento desta mensagem ou dos processos envolvidos nela/para ela
A seguir descrever as variações, particularidades da mensagem e processos (integração) de acordo com cada marca
Limitações/Restrições
Descreva limitações e restrições para a integração que está sendo descrita.
Descreva características gerais do fluxo de informações e que serão comuns para este tipo de entidade. Características particulares para cada entidade deverão ser citadas em tópicos específicos de cada entidade.
Sempre que existir (a sugestão é sempre criar) e for agregador ao documento acrescentar aqui os diagramas/imagens ou até mesmo colocar tais diagramas diretamente na especificação dos processos
Em seguida faça uma descrição para cada um dos fluxos para cada entidade
<Transação/Processo>
Tipo de Fluxo: Protheus -> RM
Mensagem: Request_1_000
Versão: 1.000
Descrição de todo o comportamento e funcionamento do processo. Breve contexto, origem, regras, integração (geração da mensagem, envio, recebimento no destino), o quê supostamente irá ocorrer no destino, retorno, impacto, consequências, o que foi afetado, como conferir, validar, etc o retorno.
Acrescentar um diagrama do processo.
A seguir descrever as variações, particularidades da mensagem e processos (desta integração) de acordo com cada marca
Notas:
Observações sobre comportamento desta mensagem ou dos processos envolvidos nela/para ela
Limitações/Restrições
Descreva limitações e restrições para a integração que está sendo descrita.
Descreva limitações e restrições para cada fluxo descrito no tópico anterior. Exemplo:
ERP1 somente enviará o ITEM se este estiver em uma das famílias cadastradas no parâmetro FAMILIA_INTEGRACAO.
Se o tipo de valorização do estoque for FIFO.
O pedido recebido no ERP1 vindo do ERP2 estará bloqueado para alteração.
Descreva os passos que viabilizem a integração.
Exemplo:
Os passos para viabilizar a integração são:
Descreva situações problemáticas comuns que podem ocorrer durante o funcionamento da integração e como solucioná-los. Neste ponto também é importante dar instruções de como reconhecer e investigar problemas que podem vir a ocorrer durante a integração. Se houver, apresente tabelas de códigos e descrições de erros que a integração poderá apresentar.
Este tópico possivelmente será alimentado com as experiências durante o desenvolvimento da integração e poderá ser realimentado durante o uso da integração no cliente.
Exemplo 1:
Tratamento de erros de integração (Produto A)
Erro | Mensagem | Solução |
Código do erro | Mensagem exibida | Ação a ser tomada para resolução do erro. |
Tratamento de erros de integração (Produto B)
Erro | Mensagem | Solução |
Código do erro | Mensagem exibida | Ação a ser tomada para resolução do erro. |
Exemplo 2:
Quando uma mensagem é enviada do Logix para o Protheus, podem ocorrer situações em que o WebService não estará totalmente funcional. Nestes casos uma mensagem de erro genérica irá aparecer na tela:
Exemplo:
Erro ao enviar a mensagem de Cidade via Integração
Se o arquivo de log for analisado, poderemos ver a falha na comunicação com o sistema destino:
-------------------------------------------------------------------------------
WSCERR044 / Não foi possível POST : URL http://172.16.31.57:8011/ws/FWWSEAI.apw
ADVPL WSDL Client 1.080707 / tst on 20120315 08:49:51
-------------------------------------------------------------------------------
Para resolver este problema, verifique as configurações do sistema de destino, analisando o funcionamento do servidor utilizado para esta comunicação e a habilitação do endereço do WebService.
Crie um check-list de verificação de alguns pontos importantes para o funcionamento e atendimento da integração.
Instalação/Configuração
Relacione itens de verificação para garantir que a integração está corretamente instalada e configurada. Isto não pode ser uma cópia do procedimento de instalação/configuração, mas verificações pontuais que podem remeter aos itens da instalação.
Checklist de Verificações:
Relacione itens de verificações para que o atendente possa: