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ção
- 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, por meio do menu deverá ser acessado: Configuração > Configuração do ERP > Realizar Carga de Depósitos.
Descreva, dado o contexto, qual o escopo de atuação da integração. Cite as áreas/perfis de usuários e funções impactadas. Se existe uma parte do contexto de negócio que a integração não tenta resolver, deixe explícito.
Defina exatamente o que a integração FAZ, o que ela NÃO FAZ e a sua finalidade.
[O conteúdo poderá estar disponível na ferramenta PMS – Painel de Gestão de Projetos, opção Plano do Projeto]
Como são os processos os que serão integrados, mas com uma visão geral e não só o ponto de integração caso contrário a homologação [ou outro que pegar o documento] não saberá do que se trata no sistema vertical, de forma sucinta, como funciona e o(s) ponto(s) de integração.
Citar a responsabilidade de cada produto.
Descrever com mais detalhes sobre o que será integrado (mas não ser especialista nas entidades/processos, pois suas particularidades serão descritas posteriormente) incluindo diagramas, prints, imagens, etc o que for interessante para auxiliar o entendimento.
Interessante aqui a inclusão de diagramas, imagens, lógicas, fluxo(s) do(s) processo(s) o que considerar interessante e agregador ao documento e ao escopo.
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).
Datasul
Insira aqui as informações pertinentes a Datasul- .
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
- Configuração ERP DATASUL
Dentro do servidor de aplicação do Datasul, deverá ser parametrizado o arquivo rfid,properties conforme path a seguir:
Esse exemplo se refere a parametrização para ambientes Datasul.
Datasul
<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çõesInsira aqui as informações pertinentes a Datasul.
Logix
Não se aplica.
Protheus
Insira aqui as informações pertinentes ao ProtheusNão se aplica.
RM
Insira aqui as informações pertinentes ao RMNã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
Apresente quais as transações/entidades que são trocadas e quem envia a informação para quem. Pode (e recomenda-se) ter um diagrama, uma tabela ou afins que apresente este fluxo.
Relacione quais são as mensagem únicas (TOTVSMessage) utilizadas e qual o seu relacionamento com as entidades já existentes do ERPs envolvidos.
Exemplos:
Método | ID | Descrição | Origem | Destino | XSD (versões podem variar) |
Cadastros | 01 | Cliente/Fornecedor | RM | Protheus | CustomerVendor_1_000.xsd |
02 | Moeda | RM | Protheus | Currency_1_000.xsd | |
03 | Unidade de Medida | RM | Protheus | UnitOfMeasure_1_000.xsd | |
04 | Produto | RM | Protheus | Item_?_000.xsd | |
05 | Centro de Custo | RM | Protheus | CostCenter_1_000.xsd | |
06 | Ativos | RM | Protheus | NOVA, Ativo fixo | |
07 | Funcionários | RM | Protheus | Employee_1_000.xsd | |
08 | Projeto | RM | Protheus | Project_1_000.xsd | |
09 | Obra | RM | Protheus | SubProject_1_000.xsd | |
10 | Tarefa | RM | Protheus | TaskProject_1_000.xsd | |
11 | Meio de Pagamento | RM | Protheus | ?????.xsd | |
12 | Condições de pagamento | RM | Protheus | PaymentCondition_1_000.xsd | |
13 | Coligada* | RM | Protheus | Company_1_000.xsd | |
14 | Filial* | RM | Protheus | Branch_2_000.xsd | |
Processos | 15 | Solicitações (compras/armazém) | Protheus | RM | Request_1_000.xsd |
16 | Cancelar movimento (solicitação, OS, etc) | Protheus | RM | CancelRequest_1_000.xsd | |
17 | Cancelar movimento (solicitação, OS, etc) | RM | Protheus | CancelRequest_1_000.xsd | |
18 | Baixa de estoque | Protheus | RM | Request_1_000.xsd | |
19 | Baixa de estoque | RM | Protheus | Request_1_000.xsd | |
20 | Consulta Saldo | Protheus | RM |
| |
21 | Apropriação de custos |
|
| Request _1_000.xsd | |
22 | Geração de OS |
|
|
| |
23 | Consulta de OS |
|
|
| |
24 | Ampliação patrimonial |
|
|
|
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/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"
]
}]
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/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:
- código (string) - Código do item;
- loteSerie (string) - Lote e série do item;
- 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:
- código (string) - Código da transferência iniciada no Totvs RFID;
- origemDepósito (string) - Código do depósito de origem da transferência;
- origemLocal (string) - Código do local de origem da transferência;
- 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
- código (string) - Código do item;
- loteSérie (string) - Lote e série do item;
- 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"
]
}]
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
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.
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