Páginas filhas
  • Integração TOTVS OMS x TOTVS Planejamento de Rotas (TPR)

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

INTEGRAÇÃO TOTVS PLANEJAMENTO DE ROTAS X MÓDULO OMS PROTHEUS

Contexto de negócio


O TOTVS OMS disponibiliza uma funcionalidade que permite enviar  pedidos ou itens de pedidos de vendas liberados, veículos, parâmetros de entregas ao TPR - TOTVS Planejamento de Rotas, que realizará a otimização dos dados recebidos para compor a carga e a melhor rota de entrega dos Pedidos.

Sistemas Envolvidos

  • Protheus/OMS-FAT - No OMS, seleção de pedidos, seleção de veículos, parametrização, visualização de pedidos a roteirizar, visualização de pedidos rejeitados, visualização de pedidos processados com carga, visualização do json de envio, visualização do json de resposta, visualização do json de retorno, geração da carga de acordo com a viagem retornada pela integração, validações de alterações de pedidos, aviso da exclusão da roteirização ao estornar pedido.
  • Protheus/OMS-TMS - manter geolocalizações dos clientes para planejamento de rotas
  • Neolog/TPR - Validações de entrada de informações para processamento de geolocalização, retornar latitude e longitude para a api consumidora da geolocalização, validações de entrada de informações para processamento de roteirização, retornar para a api consumidora se fará o processamento da roteirização, realizar o processamento de roteirização e retornar para a api consumidora as viagens geradas.

Integração

A integração com o TOTVS Planejamento de Rotas deve automatizar o processo de geração de cargas. No qual o usuário seleciona pedidos de vendas liberados e veículos para que via integração, seja definida a melhor organização de cargas e a melhor ordem e rota de entregas desses pedidos nos clientes.

Premissas para a integração:

  • Para realizar a integração é necessário o preenchimento do endereço completo dos clientes (Endereço com número, CEP, bairro, cidade, estado e país);
  • Veículos cadastrados;
  • Pedidos gerados e liberados;

Escopo

O escopo desta integração abrange a Geração da Carga e a visualização do Mapa no TOTVS OMS na rotina Montagem de Carga - OMSA200. A Geração da Carga ocorre com base nos pedidos de vendas liberados, veículos e parâmetros de entrega enviados ao TPR. A visualização do Mapa contém a melhor rota para a entrega, apresentando a quilometragem que será realizada, o tempo que será consumido, o volume  e o peso do serviço.

Pré-requisitos instalação/implantação/utilização


Informações

Prezado cliente, esta Integração fica disponível de forma nativa somente no Release 12.1.37 do Protheus conforme Ciclo de Vida de Software - TOTVS Linha Protheus
Caso tenha interesse em adquirir esta solução nas Release 12.1.27 ou 12.1.33 do Protheus, por gentileza entre em contato com nosso suporte solicitando as informações a seguir



Para realizar a integração é necessário possuir os novos programas ou atualizações dos programas do Faturamento, OMS e TMS:


MóduloProgramaDescrição
FaturamentoFATXFUN.PRXFunções genéricas FAT
FaturamentoMATA410.PRXPedidos
FaturamentoMATA461.PRXEstorno de Pedidos
FaturamentoMATV410.PRWFunções para o Estorno de Pedidos
OMSOMSA200.PRWMontagem de Carga
OMSOMSATPR1.PRWEnvio de Pedidos - TPR (Menu)
OMSOMSATPR1A.PRWFunções do Envio de Pedidos - TPR
OMSOMSATPR2.PRWProcessamento do callback do retorno das viagens/carga - TPR
OMSOMSATPR3.PRWVisualização do mapa da carga gerada (OMSA200 > Ações Relacionadas > Visualizar Mapa)
OMSOMSATPR4.PRWValidações para a alteração e estorno de pedidos integrados com o TPR
OMSOMSXFUN.PRWFunções genéricas OMS
TMSTMSAC18.PRWMétodos de Envio - Integração Planejamento de Rotas
TMSTMSAC19.PRWConsulta Planejamento de Rotas: Rotina que armazenará as informações referentes ao envio de informações para a integração Totvs Planejamento de Rotas (TPR)
TMSTMSAC20.PRWConfiguração Planejamento de Rotas: Rotina principal para realizar o cadastro e habilitar a integração Totvs Planejamento de Rotas (TPR). 
TMSTMSAC23.PRWControle de Integração Planejamento de Rotas: Rotina que armazenará as informações enviadas e recebidas. Toda a integração é enviado um arquivo no formato JSON e esse arquivo é armazenado na tabela DLU - Controle Integração Roteirizador.
TMSTMSAC24.PRWMontagem e visualização do Mapa
TMSTMSAC25.PRWMontagem e visualização do Mapa
TMSTMSAO15.PRWCadastro Referencia Geográfica
TMSTMSAO48.PRWIntegração Rota Inteligente
TMSTMSO46API.PRWMétodos CallBack Planejamento de Rotas



Para a integração é necessário realizar algumas configurações no appserver.ini


Bloco de código
;************************************
;*** REST
;************************************
[HTTPV11]
Enable=1
Sockets=HTTPREST
MAXSTRINGSIZE=500

[HTTPREST]
Port=8084
URIs=URIHTML
SECURITY=0

[URIHTML]
URL=/rest
PrepareIn=All
Instances=1,2
CORSEnable=1
AllowOrigin=*

[HTTPJOB]
MAIN=HTTP_START
ENVIRONMENT=environment1

[ONSTART]
JOBS=HTTPJOB
RefreshRate=120


  • Configurações HTTP (appserver.ini)
Bloco de código
[HTTP]
ENABLE=1
PATH=C:\Bases\environment1\data\web  (Pasta que contém os arquivos index.html e tprchannel.js)
PORT=8021   
INSTANCES=1,10    
SESSIONTIMEOUT=60
INSTANCENAME=WS_HTTP

[179.223.161.22:8021/ws] (Porta aberta)
ENABLE=1
PATH=C:\Bases\environment1\data\web  (Pasta que contém os arquivos index.html e tprchannel.js)
ENVIRONMENT=environment1
INSTANCENAME=WS_OMSCARGA
RESPONSEJOB=JOB_WS_OMS
DEFAULTPAGE=wsindex.apw


Bloco de código
[JOB_WS_OMS]
TYPE=WEBEX
ENVIRONMENT=environment1
INSTANCES=1,10               
INSTANCENAME=JOB_WS_OMS
ONSTART=__WSSTART
ONCONNECT=__WSCONNECT
PREPAREIN=All
SIGAWEB=WS


  • Parâmetros utilizados (SIGACFG):
ParâmetroDescriçãoValor
MV_ROTAINTHabilita rotas inteligentes.T.
MV_TPRCLOGDefine a visualização do log de operações do TPR no ConsoleFile configurado. Informar .F. após a implantação. Incluir no ini do REST, na sessão do enviroment, a chave FWTRACELOG=1
MV_HVERAOVerifica se o local fisico do servidor está em Horário de Verão .F. Não / .T. Sim   (MV_HVERAO).F.
MV_CDTPOP Indica qual o código de operação será enviada ao TOTVS GFE na geração da carga. O mesmo deve ser cadastrado primeiramente no TOTVS GFE e vinculado. Preenche o campo DAK_CDTPOP.
MV_CDCLFRCódigo da Classificação de Frete Padrão usado na importação de Documentos de Carga. Preenche o campo DAK_CDCLFR.
MV_OMSENTRDefine o número de incremento do campo Sequência de Entrega (DAK_SEQENT) na Montagem de Cargas, deve ser informado o conteúdo padrão igual a 5 (cinco).5


  • Arquivos relacionados ao mapa (data/web):

                   Verifique se os arquivos index.html e tprchannel.js constam na pasta web conforme PATH configurado (PATH=C:\Bases\environment1\data\web).


  • Atualizar o menu do OMS

                 sigaoms.xnu


  • Atualizar o help

               hlppor.txt


  • Aplicar o pacote de dicionários do TMS 9506 para que sejam criadas as tabelas DMR e DMS. O pacote criará campos nas tabelas DLU e DLV.

               Informações sobre os campos do TMS em DT DLOGTMS02-17080 Integração SIGATMS x Planejamento de Rotas (TPR) -   DETALHAMENTO DA ATUALIZAÇÃO DE DICIONÁRIO CONFORME ABAS


  • Aplicar o pacote de dicionários do OMS 9560 para que sejam criadas campos nas tabelas DA3 e DAK. O pacote criará o parâmetro MV_TPRCLOG e os campos abaixo:


Campo

DA3_VELOC

Tipo

Numérico

Tamanho

6

Decimal

0

Formato


Título

Veloc. média

Descrição

Velocidade média

Usado

Sim

Obrigatório

Não

Browse

Sim

Opções


When


Relação


Val. Sistema


Help

Informar a velocidade média do veículo.

Campo

DAK_INTTPR

Tipo

Caractere

Tamanho

1

Decimal

0

Formato


Título

Int. TPR

Descrição

Integração TPR

Usado

Sim

Obrigatório

Não

Browse

Não

Opções

1=Carga gerada pelo TPR

When


Relação


Val. Sistema


Help

Informa se a carga foi gerada através da integração com o TPR (Totvs Planejamento de Rotas).

Campo

DAK_VIAEXT

Tipo

Caractere

Tamanho

1

Decimal

0

Formato


Título

Viagem Extra

Descrição

Viagem extra do TPR

Usado

Sim

Obrigatório

Não

Browse

Não

Opções

1=Sim, 2=Não

When


Relação

"2"

Val. Sistema


Help

Indica se a viagem gerada pelo TPR é uma viagem extra. Uma viagem extra é quando o TPR informa que durante a análise faltaram veículos para todos os pedidos. Para poder entregar mais pedidos, o planejamento sugeriu reutilizar um dos veículos enviados.


SX6:

CampoValor
X6_VARMV_TPRCLOG
X6_TIPOL
X6_DESCRICDefine a visualização do log de operações do TPR no ConsoleFile configurado. 
X6_CONTEUD.T.


                 DA3_VELOC: Neste campo, poderá ser informada a velocidade média do veículo via rotina OMSA060 (Cadastro de Veículos)

                 DAK_INTTPR: Ao aplicar o pacote, marcar via SIGACFG como usado. Este campo informará se a origem da geração da carga será via TPR.

                 DAK_VIAEXT: Ao aplicar o pacote, marcar via SIGACFG como usado. Este campo informará se a carga gerada é uma viagem extra.



Após a geração e ativação do token no passo anterior via TMSAC20. Ao alterar um cliente via MATA030, será realizada uma integração para obter a geolocalização com base no cadastro do endereço. 














Integrações


  • 1 - Geolocalização: Retorna as coordenadas geográficas de acordo com o endereço do fornecedor/cliente cadastrado (MATA020/MATA030)
:
  • . Integração executada ao alterar o cliente via MATA030 (Cadastro de Clientes) ou via Envio de Pedidos - TPR (OMSATPR1) caso o Cliente/Fornecedor não possua coordenadas geradas (TMSAO15 - Tabela DAR).


Exemplo de envio:

Bloco de código
collapsetrue
{
   "address":{
      "identifier":"  MG000101",
      "address":"AVENIDA CONTORNO, 6283                                                          ",
      "state":"MG",
      "zipCode":"30110931",
      "country":"BRA",
      "city":"BELO HORIZONTE                                              "
   },
   "callbackAuthenticationType":"NONE",
   "dateCall":"2021-10-28T22:46:14",
   "callbackURL":"HTTP://179.223.161.99:8084/REST/V1/WSTPRNEOLOG/",
   "version":"7.00.191205P-20210601",
   "qualifiers":"{\"usuario\":\"Administrador\"}",
   "callbackAuthenticationValue":"",
   "system":"OMS"
}




Exemplo de retorno:

Bloco de código
collapsetrue
{
   "dateCall":"2021-10-29T01:46:32.413Z",
   "version":"",
   "geolocationResult":{
      "identifier":"  MG000101",
      "success":true,
      "latitude":-19.9405175,
      "longitude":-43.9359666,
      "messages":[
         {
            "messageCode":"TPRGS0000",
            "message":"Sucesso."
         }
      ]
   }
}


Documentação da api: Integração de Geolocalização - Síncrona

De/para campos:

ElementoCampoDescrição
identifierFwXfilial("SA1") + A1_COD+A1_LOJA ou FwXfilial("SA2")+A2_NOME+A2_LOJA   Chave do Cliente ou Fornecedor
countryA1_PAIS ou A2_PAIS  (SYA.YA_SIGLA)País do Cliente ou Fornecedor (EICA100) Países
stateA1_EST ou A2_EST  Campo do estado
cityA1_MUN ou A2_MUN  Campo do município
zipCodeA1_CEP ou A2_CEP  Campo do CEP
addressA1_END ou A2_END  Campo do endereço, número


2 - Envio de pedidos para roteirização: A integração depende dos pedidos, dos veículos selecionados e os parâmetros de integração:

Bloco de código
collapsetrue
{
   "vehicles":[
      {
         "identifier":"  000001",
         "speed":80,
         "weightCapacity":11000,
         "volumeCapacity":58,
         "quantity":1
      },
      {
         "identifier":"  PAM001",
         "speed":60,
         "weightCapacity":3220,
         "volumeCapacity":96,
         "quantity":1
      },
      {
         "identifier":"  000002",
         "speed":80,
         "weightCapacity":12500,
         "volumeCapacity":57,
         "quantity":1
      }
   ],
   "routingOptions":{
      "capacityCriteria":"WEIGHT",
      "routingInstantType":"D+1",
      "minServiceDuration":900000,
      "maxServiceDuration":7200000,
      "driverRestTimes":"Default",
      "considerReturnDistance":"True",
      "tollCalculation":"False"
   },
   "callbackAuthenticationType":"NONE",
   "dateCall":"2021-11-04T16:50:38",
   "callbackURL":"HTTP://179.223.161.99:8084/REST/V1/WSTPRNEOLOG/",
   "qualifiers":"{\"sistema\":\"PROTHEUS\",\"identifier\":\"04000000108\",\"usuario\":\"Administrador\",\"modulo\":\"OMS\",\"empresa\":\"99\",\"filial\":\"04\"}",
   "orders":[
      {
         "identifier":"04543517",
         "pickupTimeWindowEnd":"2021-11-12T18:00-03:00",
         "deliveryTimeWindowStart":"2021-11-05T08:00-03:00",
         "deliveryTimeWindowEnd":"2021-11-12T18:00-03:00",
         "serviceLoadDuration":null,
         "serviceUnloadDuration":null,
         "destination":{
            "identifier":"  CLISC101",
            "latitude":-18.85791,
            "longitude":-41.942810000000001,
            "name":"CL GOV. VALADARES MG",
            "country":"BRA",
            "operation":"UNRESTRICTED"
         },
         "weight":1500,
         "volume":0.25,
         "pickupTimeWindowStart":"2021-11-05T08:00-03:00",
         "origin":{
            "identifier":"04-NEPO JUNDIAI - SP-TESTE",
            "latitude":-19.516919999999999,
            "longitude":-40.652200000000001,
            "name":"",
            "country":"BRA",
            "operation":"UNRESTRICTED"
         }
      },
      {
         "identifier":"04543520",
         "pickupTimeWindowEnd":"2021-11-12T18:00-03:00",
         "deliveryTimeWindowStart":"2021-11-05T08:00-03:00",
         "deliveryTimeWindowEnd":"2021-11-12T18:00-03:00",
         "serviceLoadDuration":null,
         "serviceUnloadDuration":null,
         "destination":{
            "identifier":"  00458501",
            "latitude":-19.361229999999999,
            "longitude":-40.050609999999999,
            "name":"CLIENTE LINHARES -ES",
            "country":"BRA",
            "operation":"UNRESTRICTED"
         },
         "weight":5000,
         "volume":0.019008,
         "pickupTimeWindowStart":"2021-11-05T08:00-03:00",
         "origin":{
            "identifier":"04-NEPO JUNDIAI - SP-TESTE",
            "latitude":-19.516919999999999,
            "longitude":-40.652200000000001,
            "name":"",
            "country":"BRA",
            "operation":"UNRESTRICTED"
         }
      },
      {
         "identifier":"04543526",
         "pickupTimeWindowEnd":"2021-11-12T18:00-03:00",
         "deliveryTimeWindowStart":"2021-11-05T08:00-03:00",
         "deliveryTimeWindowEnd":"2021-11-12T18:00-03:00",
         "serviceLoadDuration":null,
         "serviceUnloadDuration":null,
         "destination":{
            "identifier":"  PFISIC01",
            "latitude":-20.306419999999999,
            "longitude":-40.350720000000003,
            "name":"VITÓRIA - ES",
            "country":"BRA",
            "operation":"UNRESTRICTED"
         },
         "weight":30,
         "volume":0.005,
         "pickupTimeWindowStart":"2021-11-05T08:00-03:00",
         "origin":{
            "identifier":"04-NEPO JUNDIAI - SP-TESTE",
            "latitude":-19.516919999999999,
            "longitude":-40.652200000000001,
            "name":"",
            "country":"BRA",
            "operation":"UNRESTRICTED"
         }
      }
   ],
   "restrictions":{
      "maxLoadingStops":1,
      "maxUnloadingStops":99,
      "maxDistanceBetweenLoadStops":9000,
      "allowInterleaving":"False",
      "maxDistanceBetweenUnloadStops":3000
   }
}


Mensagem de Resposta:

Bloco de código
collapsetrue
{
   "success":true,
   "messages":[
      {
         "messageCode":"TPRRT0000",
         "message":"Sucesso."
      }
   ]
}


Mensagem de Retorno:

Bloco de código
collapsetrue
{
   "responseDate":"2021-11-04T13:50:38.000-03:00",
   "version":null,
   "summary":{
      "totalTrips":1,
      "totalDistance":790.2284089297932,
      "totalStops":4,
      "totalVolume":0.27400800000000003,
      "totalWeight":6530.0,
      "totalDuration":3.9160278E7,
      "rejectedOrders":0,
      "rejectedWeight":0.0,
      "rejectedVolume":0.0
   },
   "tripsResults":[
      {
         "sequential":0,
         "distance":790.2284089297932,
         "numberOfStops":5,
         "volume":0.27400800000000003,
         "weight":6530.0,
         "duration":39160278,
         "extraTrip":false,
         "tollValue":0.0,
         "considerReturnDistance":true,
         "vehicle":"  000001",
         "stops":[
            {
               "sequence":0,
               "type":"LOAD",
               "locality":{
                  "identifier":"04-NEPO JUNDIAI - SP-TESTE",
                  "name":"",
                  "country":"BR",
                  "latitude":-19.51692,
                  "longitude":-40.6522,
                  "operation":"UNRESTRICTED"
               },
               "arrivalTime":"2021-11-05T08:00:00.000-03:00",
               "departureTime":"2021-11-05T08:15:00.000-03:00",
               "tollValue":0.0,
               "distance":0.0,
               "loadedOrders":[
                  {
                     "identifier":"04543517",
                     "volume":0.25,
                     "weight":1500.0
                  },
                  {
                     "identifier":"04543520",
                     "volume":0.019008,
                     "weight":5000.0
                  },
                  {
                     "identifier":"04543526",
                     "volume":0.005,
                     "weight":30.0
                  }
               ],
               "unloadedOrders":[
                  
               ]
            },
            {
               "sequence":1,
               "type":"UNLOAD",
               "locality":{
                  "identifier":"  PFISIC01",
                  "name":"VITÓRIA - ES",
                  "country":"BR",
                  "latitude":-20.30642,
                  "longitude":-40.35072,
                  "operation":"UNRESTRICTED"
               },
               "arrivalTime":"2021-11-05T10:00:37.292-03:00",
               "departureTime":"2021-11-05T10:15:37.292-03:00",
               "tollValue":0.0,
               "distance":140.82872152560284,
               "loadedOrders":[
                  
               ],
               "unloadedOrders":[
                  {
                     "identifier":"04543526",
                     "volume":0.005,
                     "weight":30.0
                  }
               ]
            },
            {
               "sequence":2,
               "type":"UNLOAD",
               "locality":{
                  "identifier":"  00458501",
                  "name":"CLIENTE LINHARES -ES",
                  "country":"BR",
                  "latitude":-19.36123,
                  "longitude":-40.05061,
                  "operation":"UNRESTRICTED"
               },
               "arrivalTime":"2021-11-05T12:04:01.970-03:00",
               "departureTime":"2021-11-05T12:19:01.970-03:00",
               "tollValue":0.0,
               "distance":144.54840026439211,
               "loadedOrders":[
                  
               ],
               "unloadedOrders":[
                  {
                     "identifier":"04543520",
                     "volume":0.019008,
                     "weight":5000.0
                  }
               ]
            },
            {
               "sequence":3,
               "type":"UNLOAD",
               "locality":{
                  "identifier":"  CLISC101",
                  "name":"CL GOV. VALADARES MG",
                  "country":"BR",
                  "latitude":-18.85791,
                  "longitude":-41.94281,
                  "operation":"UNRESTRICTED"
               },
               "arrivalTime":"2021-11-05T15:57:57.551-03:00",
               "departureTime":"2021-11-05T16:12:57.551-03:00",
               "tollValue":0.0,
               "distance":291.9018079442051,
               "loadedOrders":[
                  
               ],
               "unloadedOrders":[
                  {
                     "identifier":"04543517",
                     "volume":0.25,
                     "weight":1500.0
                  }
               ]
            },
            {
               "sequence":4,
               "type":"LOAD",
               "locality":{
                  "identifier":"04-NEPO JUNDIAI - SP-TESTE",
                  "name":"",
                  "country":"BR",
                  "latitude":-19.51692,
                  "longitude":-40.6522,
                  "operation":"UNRESTRICTED"
               },
               "arrivalTime":"2021-11-05T18:52:40.278-03:00",
               "departureTime":"2021-11-05T18:52:40.278-03:00",
               "tollValue":0.0,
               "distance":212.9494791955932,
               "loadedOrders":[
                  
               ],
               "unloadedOrders":[
                  
               ]
            }
         ]
      }
   ],
   "rejections":[
      
   ],
   "messages":[
      
   ],
   "qualifiers":"{\"sistema\":\"PROTHEUS\",\"identifier\":\"04000000108\",\"usuario\":\"Administrador\",\"modulo\":\"OMS\",\"empresa\":\"99\",\"filial\":\"04\"}"
}



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*
* implementado, mas o Protheus não vai enviar, estamos avaliando alternativa para preencher o de/para

RM

Protheus

Company_1_000.xsd

14

Filial*
* implementado, mas o Protheus não vai enviar, estamos avaliando alternativa para preencher o de/para

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






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.

Anexos