Histórico da Página
INTEGRAÇÃO TOTVS RFID X DATASUL/COLETA DE DADOS
Contexto de negócio (Introdução)
Permitir as a integração de dados entre a solução TOTVS RFID e o ERP Datasul.
Entidades de integração:
- Itens;
- Depósitos (e locais);
- Saldos;
- Pedidos;
- Embarques;
- Notas fiscais;
- Ordens de produção;
- Contagem de inventário.
Sistemas Envolvidos
Descrição dos sistemas envolvidos no contexto de negócio (e que serão envolvidos na integração).
- TOTVS RFID (PC Sistemas) - Módulo de coleta e conferência de etiquetas através de tecnologia RFID, solução desenvolvida pela PC Sistemas (empresa do grupo TOTVS).
- ERP Datasul - Módulo de Coleta de Dados, módulos indiretos: Estoque, Faturamento, Pedidos, Recebimento e Produção.
Integração
Rotinas disponíveis na integração através do TOTVS RFID:
- Inventário
- Conferência
- Embarque
- Pedido*
- Nota Fiscal de Saída
- Requisição Sumarizada
- Alocação de OP
- SeparaçãoSeparaçãoTransferência
- Pedido*
- Embarque
- Nota Fiscal de Saída
- Alocação de OP
- Transferência
- Rastreabilidade
*Para conferência/separação por pedido é necessário trabalhar com alocação física no ERP.
Escopo
Filial TOTVS RFID
- As filiais no TOTVS RFID representam os estabelecimentos para o ERP Datasul, deverá ser cadastrado uma filial para cada estabelecimento que será integrado, é mandatório que a filial no TOTVS RFID possua o mesmo código do estabelecimento correspondente no ERP.
BC0112 - Parâmetros TOTVS RFID
- Hostname e Porta deverão ser preenchidos com o servidor e porta aonde o TOTVS RFID está disponibilizado
- Cria Ficha de Inventário: ao marcar essa opção a integração irá criar uma ficha de inventário caso essa não exista quando uma contagem for integrada com o ERP, ou seja, se um produto for contado pelo RFID e não possuir ficha de contagem, essa será criada automaticamente, do contrário será apresentado alerta ao usuário e a leitura do item não será registrada.
BC0106 - Parametrização de itens TOTVS RFID
- Somente serão integrados itens que estão estendidos para o coletor de dados (BC0106) e que possuem o campo Código Integ. RFID preenchido. As informações contidas nesse campo serão os códigos chave dos itens no TOTVS RFID. Essa informação caso seja diferente de branco deverá ser única por item, ou seja, os códigos não poderão se repetir.
- Também é possível ser realizado um GET de todos os itens que possuem Código Integ. RFID através do portal do TOTVS RFID (Configuração > Configuração do ERP > Realizar Carga de Produtos)
- .
Carga de depósitos TOTVS RFID
- A carga de depósito e locais deve ser realizada através de um GET diretamente do TOTVS RFID, através por meio do menu deverá ser acessado: Configuração > Configuração do ERP > Realizar Carga de Depósitos.
Pré-requisitos instalação/implantação/utilização
Datasul
- Datasul release 12.1.14 ou superior;
- Implantação do TOTVS RFID versão 7.5.0 ou superior;
- Implantação e ativação do módulo de coleta de dados no Datasul (Módulo MBC).
Logix
Não se aplica.
Protheus
Não se aplica.
RM
Não se aplica.
Instalação/Atualização
Âncora | ||||
---|---|---|---|---|
|
Datasul
- Configuração TOTVS RFID
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
aquivoarquivo deverá conter as informações:
erp.type=DATASUL
erp.url=http://<ambiente>:<porta>/rfid/resources
Logix
Não se aplica.
Protheus
Não se aplica.
RM
Não se aplica.
Controle de Versão
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.
Suporte
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.
- Configuração ERP DATASUL
Dentro do servidor de aplicação do Datasul, deverá ser parametrizado o arquivo rfid,properties conforme path a seguir:
<servidor>/server/<instancia>/conf/datasul/rfid.properties
Esse arquivo deverá conter a parametrização de usuário e senha que irá autenticar a integração do TOTVS RFID com o ERP, exemplo:
rfid.totvs.rest.user=super
rfid.totvs.rest.pass=super@123
Essas são as únicas configurações a nível de ambiente que necessitam ser realizadas para a integração entre as duas soluções.
Logix
Não se aplica.
Protheus
Não se aplica.
RM
Não se aplica.
Controle de Versão
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.
Suporte
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.
Transações/Entidades/Mensagens únicas
Carga de Produtos (Itens)
Transações/Entidades/Mensagens únicas
Carga de Produtos (Itens)
GET
<context>/rfid/resources/item/filial/all
RESPONSE
[{
"codigo": "1",
"nome": "Produto 1",
"codigoBarras": "7898176580238"
},{
"codigo": "2",
"nome": "Produto 2",
"codigoBarras": "7898176580244"
}]
Carga de Depósitos
GET
<context>/rfid/resources/depositoitem/filial/all
RESPONSE
[{
"codDeposcodigo": "1",
"nome": "Depósito Produto 1",
"locaiscodigoBarras": [
"0017898176580238"
},{
"002"
]
},{
"codDepos": "D2"codigo": "2",
"nome": "Depósito Produto 2",
"locaiscodigoBarras": "7898176580244"
}]
Carga de Depósitos
GET
<context>/rfid/resources/deposito/filial/all
RESPONSE
[ []
},{
"codDepos": "31",
"nome": "Depósito 31",
"locais": [
"L03001",
"L04002"
]
}]
Busca de Saldos de Inventário
Recupera o saldo dos produtos inventariados.
No corpo da requisição deverá constar os seguintes dados:
- codigo (string) - Código do item;
- loteSerie (string) - Lote e série do item;
- referencia (string) - referência do item;
- deposito (string) - Código do depósito onde o item foi inventariado;
- local (string) - código do local onde o item foi inventariado
POST
,{
"codDepos": "D2",
"nome": "Depósito 2",
"locais": []
},{
"codDepos": "3",
"nome": "Depósito 3",
"locais": [
"L03",
"L04"
]
}]
Busca de Saldos de Inventário
Recupera o saldo dos produtos inventariados.
No corpo da requisição deverá constar os seguintes dados:
- código (string) - Código do item;
- loteSerie (string) - Lote e série do item;
- referência (string) - referência do item;
- depósito (string) - Código do depósito onde o item foi inventariado;
- local (string) - código do local onde o item foi inventariado.
POST
<context>/rfid/resources<context>/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
}]
Atualiza contagem de Inventário
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"
},
}]
Consulta de saldos de item avulso
Recupera o saldo de um item lido no coletor
No corpo da requisição deverá constar os seguintes dados:
- codigo código (string) - Código do item;
- loteSerie (string) - Lote e série do item;
- referencia referência (string) - referência do item;
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
}]
}]
Transferência entre depósitos
Realiza a transferência de itens entre locais e depósitos
No corpo da requisição deverá conter os seguintes dados:
- codigo código (string) - Código da transferência iniciada no Totvs RFID;
- origemDeposito origemDepósito (string) - Código do depósito de origem da transferência;
- origemLocal (string) - Código do local de origem da transferência;
- destinoDeposito destinoDepósito (string) - Código do depósito de destino da transferência;
- destinoLocal (string) - Código do depósito de destino da transferência;
- itens (array) - Array contendo os dados dos itens que estão sendo transferidos
- codigo código (string) - Código do item;
- loteSerie loteSérie (string) - Lote e série do item;
- referencia referência (string) - referência do item;
- epcs (string array) - Array de strings contendo os epcs dos lidos na transferência;
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"
]
}]
Fluxo das Informações
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.
Cadastros
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.
Processos
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.
Limitações / Restrições Gerais
Descreva limitações e restrições para cada fluxo descrito no tópico anterior. Exemplo:
- ERP1 envia ITEM cadastrado para o ERP2
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.
- ERP2 envia PEDIDO cadastrado para o ERP1
O pedido recebido no ERP1 vindo do ERP2 estará bloqueado para alteração.
Como fazer (opcional)
Descreva os passos que viabilizem a integração.
Exemplo:
Os passos para viabilizar a integração são:
- No Logix ou no Protheus efetue o cadastro das seguintes informações: Clientes, fornecedores, transportadores, cidades, cotação de moeda e unidades de medida.
- No Logix cadastrar um novo depositante e efetuar toda a parametrização necessária para a operação de WMS.
- No Logix cadastrar um novo produto que seja controlado pelo WMS, para o depositante cadastrado anteriormente.
- No Logix efetuar um processo de recebimento para o produto cadastrado anteriormente, utilizando uma nota fiscal provisória (tipo “A”).
- No Protheus consultar a nota fiscal de recebimento que foi registrada no Logix, validando as informações recebidas.
- No Logix efetuar um processamento de regularização fiscal, efetuando a cobertura dos produtos recebidos anteriormente.
- No Protheus verificar se foi efetuado corretamente o relacionamento entre os dois documentos.
- No Logix efetuar um processo de expedição para o novo produto cadastrado, até o momento do envio da mensagem de integração de pedido de venda.
- No Protheus efetuar o faturamento do pedido de venda recebido.
- No Protheus verificar se a nota fiscal gerada contém todas as informações necessárias para o segmento de operador logístico (armazém geral).
- No Protheus efetuar a escrituração fiscal das notas fiscais, verificando se as regras da legislação deste segmento foram respeitadas.
- No Logix é possível consultar o número do pedido de venda gerado para as notas fiscais de retorno simbólico e conta/ordem no programa WMS6333 (Consulta de Documentos). Para os processos de faturamento de serviço o número do pedido está disponível no programa WMS6411 (Movimentos a Faturar).
Situações comuns (opcional)
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.
Checklist de suporte da aplicação
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:
- Identificar o funcionamento da integração;
- Identificar a ocorrências de problemas;
- Coletar evidências do mau funcionamento relatado pelo cliente;
- Realizar possíveis ajustes na integração quanto à configuração ou negócio.
Busca conferência
Busca itens dos documentos para conferência e separação para os tipos:
- Pedido (PEDIDO)
- Embarque (EMBARQUE)
- Nota Fiscal (NOTA_FISCAL)
- Requisição Sumarizada (REQUISICAO_SUMARIZADA)
- Ordem de Produção (ORDEM)
POST
<context>/rfid/resources/conferencia?estabelecimento={filial}&tipo={tipo}
"numero": "<id do documento>",
"lote": "<lote>",
"quantidade": 123
},{
"codigo": "<código do item>",
"referencia": "<referencia>",
Impressão de Etiquetas Recebimento
Acessando o programa de impressão de etiquetas no terminal de trabalho, o operador deverá informar o número da nota fiscal para que este apresentar os itens e lotes recebidos. Os itens contidos no documento da nota fiscal são checados se possuem integração com o TOTVS RFID, através do seu cadastro no BC0106 com o preenchimento do campo "Código de Integração RFID". Itens que não possuem essa relação são listados na tela de impressão porem não são integrados com o TOTVS RFID.
Fluxo das Informações
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.
Processos
Todos os processos são de responsabilidade do produto TOTVS RFID, para mais informações deverá ser consultado o manual de referência deste produto.
Limitações / Restrições Gerais
Somente serão integrados com o TOTVS RFID itens que estejam importados no módulo de coleta de dados BC0106 e que possuam o Código Integ. RFID informado.
Checklist de suporte da aplicação
Instalação/Configuração
Checklist de Verificações:
- Identificar a ativação do módulo de coleta de dados;
- Identificar ativação do TOTVS RFID através dos parâmetros de coleta de dados BC0112;
- Identificar itens importados para o módulo de coleta de dados, BC0106 e configurar código único de integração RFID (Código Integ. RFID)
- Checar parametrização de ambientes conforme descrito na sessão de configuração;
Anexos