Histórico da Página
INTEGRAÇÃO OMS Protheus X Cockpit Logístico Neolog
Contexto de negócio (Introdução)
Integrar o módulo de Gestão de Distribuição (SIGAOMS) com a funcionalidade Programação de Transportes do Cockpit Logístico da Neolog por intermédio de arquivos no formato XML utilizando os Web Services já existentes do Cockpit Logístico, sem transformação de mensagens e sem utilização de sistemas intermediários (TOTVS EAI, TOTVS ESB, etc.).
Para esta integração foram consideradas as alterações necessárias para que o planejamento das montagens de cargas do módulo Gestão de Distribuição (SIGAOMS) da linha Microsiga Protheus utilize os recursos de Programação de Transportes do Cockpit Logístico. A Programação de Transportes fará a roteirização e o arranjo das cargas com base na demanda de transportes enviadas pelo SIGAOMS considerando as configurações das restrições logísticas e as funções-objetivos de otimização registradas no Cockpit Logístico. São exemplos de funções-objetivo: máxima ocupação dos veículos, diminuição dos prazos de entrega e redução da quantidade de viagens.
Para tanto, são utilizados os cadastros básicos já disponibilizados na integração entre o SIGATMS x Cockpit Logístico, sendo eles:
- Produto
- Filial
- Cliente
- Tipo de veículo
- Fornecedores
Foi disponibilizado apenas um novo cadastro para a integração "Transportadoras". O cadastro de fornecedor foi ajustado permitindo que quando a integração OMS x CPL estiver habilitado o mesmo seja enviado como uma "Localidade", para o Cockpit Logístico.
Além dos cadastros, foi realizado a integração dos pedidos de venda que utilizam as "Cargas", os pedidos de venda são enviados para o Cockpit Logístico gerando "Pedidos de Transportes", para estes, o Cockpit Logístico realiza a análise e geração da viagem.
Após a geração da viagem no Cockpit Logístico, este se integra com o SIGAOMS para a geração das Cargas.
Sistemas Envolvidos
Descrição dos sistemas envolvidos no contexto de negócio (e que serão envolvidos na integração).
- TOTVS Gestão de Distribuição (SIGAOMS)
A sigla OMS significa Order Management System, ou seja, gerenciamento de pedidos e serviços e compreende as fases de captação, validação, avaliação, formação de carga e geração de mapa de separação ou, como é também conhecido, lista de separação.
Para saber mais sobre o OMS TOTVS clique no link: https://www.totvs.com/mktfiles/tdiportais/helponlineprotheus/portuguese/sigaoms.htm - Cockpit Logístico Neolog
O Cockpit Logístico é um sistema vertical desenvolvido pela Neolog, empresa do ecossistema TOTVS, que dispõe de módulos para Planejamento da Malha de Distribuição, Programação de Transportes e Monitoramento de Cargas.
Para saber mais sobre o Cockpit Logístico Neolog clique no link: http://www.neolog.com.br/neolog-site/index.php/cockpit-logistico/
Integração
O objetivo é integrar o módulo de Gestão de Distribuição (SIGAOMS) com a funcionalidade Programação de Transportes do Cockpit Logístico da Neolog por intermédio de arquivos no formato XML utilizando os Web Services já existentes do Cockpit Logístico, sem transformação de mensagens e sem utilização de sistemas intermediários (TOTVS EAI, TOTVS ESB, etc.).
Escopo
O escopo desta integração permitirá o envio dos pedidos de venda liberados (crédito / estoque) no SIGAOMS para a formação das viagens no Cockpit Logístico. E o recebimento dessas viagens geradas no Cockpit Logístico por meio de um XML no SIGAOMS para a geração das CARGAS.
As entidades e os pontos de integração que farão parte do escopo dessa integração são:
Entidade | Pontos de Integração |
---|---|
Transportadora |
|
Fornecedor |
|
Tipo de Veículo |
|
Cliente |
|
Empresas/Filiais |
|
Produto |
|
Pedidos de Venda |
|
Montagem de Carga |
|
Pré-requisitos instalação/implantação/utilização
Cockpit Logístico
Cockpit Logístico na versão\release 5.6.1.
Parâmetros de aquisição ativos (acesso pelo menu em Administração - Cockpit Logístico).
Web Services ativos.
Protheus
Protheus versão 11.8 ou superior.
Parâmetro de integração com Cockpit Logístico ativo (MV_CPLINT == .T.)
Web Service de integração válido informado (MV_CPLURL)
Todos os parâmetros citados encontram-se no programa Parâm Integração (OMSXCPL1) que pode ser acessado pelo menu Atualizações - Cockpit Logístico.
Atenção: Não é escopo desse documento descrever a instalação do ERP Protheus e do Cockpit Logístico Neolog nem suas configurações básicas.
É imprescindível a atualização do Protheus 11.8 por meio da execução do compatibilizador OMSP11R1.
Para ver o documento técnico referente a esta integração utilize este link: DT_Integracao_OMS_LOGTMS01-69 DT Integração OMS x Neolog
Para que a integração possa funcionar corretamente, o ambiente deve conter o módulo SIGAOMS e o Cockpit Logístico devidamente configurados.
Parametrização SIGAOMS
Por meio do menu Atualizações > CockPit Logístico > Param Integração, deve ser parametrizado o Protheus para correto funcionamento da integração conforme abaixo:
Onde:
Titulo | Descrição | Parâmetro | Opções | Valor para Integração | Validação |
---|---|---|---|---|---|
Integração Cockpit Logístico? | Indica se a integração com o cockpit logístico está ativa. | MV_CPLINT | Sim / 1 | ||
Integração Suspensa? | Identifica se o Modulo do OMS não esta integrado temporariamente aos outros módulos | MV_CPLSTP | Não / 2 | ||
Integrar Clientes On line? | Salvar os dados dos clientes criados no Protheus automaticamente no Cockpit Logístico | MV_CPLCLI | Sim / 1 | ||
Integrar Fornecedores On line? | Salvar os dados dos fornecedores criados no Protheus automaticamente no Cockpit Logístico(Localidades) | MV_CPLFOR | Sim / 1 | ||
Integrar Transportadora On line? | Salvar os dados das transportadoras criados no Protheus automaticamente no Cockpit Logístico | MV_CPLTRA | Sim / 1 | ||
Integrar Produtos On Line? | Salvar os dados dos produtos criados no Protheus automaticamente no Cockpit Logístico | MV_CPLPRO | Sim / 1 | ||
Integrar Tipos de Veículos On Line? | Salvar os dados dos tipos de veiculos criados no Protheus automaticamente no Cockpit Logístico | MV_CPLTPV | Sim / 1 | ||
Endereço WebService | Endereço do webservice do Cockpit Logístico | MV_CPLURL | Conforme cliente | Deve ser obrigatoriamente preenchido quando MV_CPLINT == "1" | |
Regional | Regional enviada para o Cockpit Logístico | MV_CPLREG | Conforme cliente | Deve ser obrigatoriamente preenchido quando MV_CPLINT == "1" | |
Embarcador | Código de um Embarcador do Cockpit Logístico. Todos os Produtos integrados integrados do OMS para o Cokpit Logístico serão relacionados a um mesmo Embarcador no Cockpit Logístico, pois no OMS a relação variável de produto x cliente é utilizada (opcionalmente) apenas na importação de Notas Fiscais de Cliente pelo EDI. | MV_CPLEMB | Conforme cliente | Deve ser obrigatoriamente preenchido quando MV_CPLINT == "1" | |
Categoria de Produto? | Para o Cockpit Logístico, categorias de Produto são agrupamentos relevantes de produtos com características logística semelhantes. Com esse parâmetro pode-se determinar se a categoria dos produtos integrados do OMS para o Cockpit Logístico: (1=Grupo Produto) será o código do grupo do produto do OMS ou (2=Padrão Cockpit) será informada por alteração manual em cada produto no Cockpit Logístico. Com a opção deve-se cadastrar as Categorias de Produtos no Cockpit Logístico com os mesmos códigos dos Grupos de Produtos do OMS pois não há Web Serivce de integração para essa tabela. | MV_CPLCAT | 1=Grupo Produto; 2=Padrao Cockpit. | 2=Padrao Cockpit. | |
Invólucro Padrão | Código de um Invólucro (~ embalagem) do Cockpit Logístico. Todos os itens de Pedidos de Transporte recebidos do OMS no Cockpit Logístico serão associados a esse invólucro pois não há uma entidade no OMS que corresponda exata e obrigatoriamente a esse dado do Cockpit Logístico. Recomenda-se informar um invólucro cujas medidas sejam obtidas do item do pedido (essa característica é parametrizada no Cockpit Logístico). | MV_CPLINV | Conforme cliente | ||
Origem dos Dados | Define o nome do ERP que da origem aos dados enviados ao Cockpit Logístico. | MV_CPLIDS | Protheus | Deve ser obrigatoriamente preenchido quando MV_CPLINT == "1" | |
E-mail do Administrador | E-mail do administrador para notificações de falha de conexão | MV_CPLMAL | Conforme cliente | ||
Modo Debug? | Salva as mensagens enviadas e recebidas na pasta do log. | MV_CPLDBG | |||
Caminho da Pasta de Mensagens | Caminho do log de mensagens. Recomendado utilizar o caminho relativo a \system\ | MV_CPLLOG | \system\ | ||
Liberação automática da viagem? | O uso deste parâmetro ocorre somente para o SIGAOMS, quando habilitado, ao realizar a geração das NF de Saída automaticamente o sistema irá realizar o envio da liberação de viagens no Cockpit Logístico. | MV_CPLLVA | Sim / 1 | ||
Tipo Veículo Otimização? | Quando for 1 = Impedir - No vinculo do veículo na carga se o usuário informar um tipo de veículo diferente do que consta na viagem do CPL, não permitimos apresentando um Help. Se for 2 = Alertar - O sistema avisa que o tipo informado é diferente do tipo da viagem no CPL e o usuário define se permite o vinculo ou não. | MV_CPLTVO | 2 / Alertar | ||
Geração das cargas | Quando for 1 = Automático - Para as viagens vindas do CPL o SIGAOMS gera a carga automaticamente. Quando for 2 = Manual - Para as viagens deve ser gerado manualmente a carga. | MV_CPLAUT | 2 / Manual |
Parametrização appServer.ini
Para que seja possível receber as viagens do Cockpit Logístico, é necessário configurar um WebService no appserver.ini Protheus. É recomendado criar um webservice com as seguintes configurações(modificando o arquivo appserver.ini):
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
;Serviço webserver HTTP [HTTP] ENABLE=1 PATH=<Caminho_Cache_imagens>;C:\TOTVS 11\Prottheus\Protheus_data\web PORT=<porta>;8080 INSTANCES=<nInicio>,<nMaximo>;1,10 SESSIONTIMEOUT=60 INSTANCENAME=WS_HTTP ;URL de resposta [<ip ou nome>:<porta>/neolog] ENABLE=1 PATH=<Caminho_Cache_imagens>;C:\TOTVS 11\Prottheus\Protheus_data\web ENVIRONMENT=<ambiente> INSTANCENAME=WS_NEOLOG RESPONSEJOB=JOB_WS_NEOLOG DEFAULTPAGE=wsindex.apw ;JOB de resposta [JOB_WS_NEOLOG] TYPE=WEBEX ENVIRONMENT=<ambiente> INSTANCES=<nInicio>,<nMaximo>;1,10 INSTANCENAME=JOB_WS_NEOLOG ONSTART=TMSXStart ;ponto de inicio obrigatório ONCONNECT=TMSXConnect ;ponto de inicio obrigatório TMSPREPAREIN=<empresa>,<filial>;obrigatório |
Para testar o serviço, basta iniciar um navegador e digitar : http://<ip ou nome>:<porta>/neolog/PublishReleasedTrip.APW?WSDL
Um WSDL (Descrição do serviço em xml) deve exibir no navegador.
Parametrização Cockpit Logístico
Para configurar o envio de viagens do cockpit ao webservice protheus, entre no Cockpit Logístico e acesse:
- Administração -> Integração, selecione a aba 'Fontes de Dados' e clique em 'Inserir'.
2. Digite o Código, Descrição e Código da base. Sugestão: PROTHEUS
3. Seção "Cancelamento de Viagem Liberada"
- No campo 'URL' da seção ' digite: http://<ip ou nome>:<porta>/neolog/CancelService.APW
- No campo 'Tempo Máximo de Espera por Resposta' coloque o timeout do serviço. Recomendado 30000.
4. Seção "Execução da Viagem"
- No campo 'URL', digite: NA (Não Atribuído)
- No campo 'Tempo Máximo de Espera por Resposta' coloque o timeout do serviço. Recomendado 1000.
5. Seção "Solicitação de liberação de Viagem"
- No campo 'URL', digite: http://<ip ou nome>:<porta>/neolog/PublishReleasedTrip.APW
- No campo 'Tempo Máximo de Espera por Resposta' coloque o timeout do serviço. Recomendado 30000.
6. Seção "Solicitação de Reprogramação de Viagem"
- No campo 'URL', digite: http://<ip ou nome>:<porta>/neolog/ReprogramService.APW
- No campo 'Tempo Máximo de Espera por Resposta' coloque o timeout do serviço. Recomendado 30000.
7. Selecione a opção "Salvar".
Configuração para envio automático de pedidos de venda (Schedule)
Os pedidos de venda gerados no SIGAOMS podem ser enviados automaticamente ao Cockpit Logístico, para isso deve ser configurada a execução automática (Schedule) da rotina OMSXCPL6, está configuração pode ser executada conforme descrito no link a seguir http://tdn.totvs.com/display/framework/Schedule+Protheus.
No arquivo appserver.ini é necessário inserir a configuração abaixo:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
[OnStart] jobs=FWSCHDMANAG,FWSCHDQUEUE RefreshRate=60 [FWSCHDMANAG] Main=FWSCHDMANAG Environment=<ambiente> [FWSCHDQUEUE] Main=FWSCHDQUEUE Environment=<ambiente> |
Instalação/Atualização
Vide tópico Pré-requisitos instalação/implantação/utilização.
Protheus
Vide tópico Pré-requisitos instalação/implantação/utilização.
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 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
Método | ID | Descrição | Origem | Destino | XSD (versões podem variar) |
Cadastros | 01 | Transportadora | Protheus | Cockpit Logístico | updateCarriers |
02 | Fornecedor | Protheus | Cockpit Logístico | LocalityAcquisitionService | |
03 | Produtos | Protheus | Cockpit Logístico | ProductAcquisitionService | |
04 | Empresas/Filiais | Protheus | Cockpit Logístico | LocalityAcquisitionService | |
05 | Tipo de Veículo | SIGAOMS | Cockpit Logístico | VehicleAcquisitionService | |
06 | Cliente | Protheus | Cockpit Logístico | updateLocalities | |
Processos | 07 | Enviar viagens | Cockpit Logístico | SIGAOMS | ReleaseTripPublishRequestService |
08 | Liberar Viagens | SIGAOMS | Cockpit Logístico | UnblockReleasedTripAcquisition | |
09 | Montagem de Carga | SIGAOMS | Cockpit Logístico | UnblockReleasedTripAcquisitionService | |
10 | Pedido de Vendas | SIGAOMS | Cockpit Logístico | OrderAcquisitionService | |
11 | Cancelar Pedido de Vendas | SIGAOMS | Cockpit Logístico | OrderAcquisitionService |
Fluxo das Informações
Os cadastros devem ser realizados no OMS Protheus e integrados para o Cockpit Logístico, a ativação da integração, no entanto, não impede a inclusão, alteração e exclusão de registros no Cockpit Logístico, mas esse procedimento não é recomendado pois as operações realizadas sobre os cadastros no Cockpit Logístico não são replicadas para os respectivos cadastros no Protheus.
Apenas as operações de inclusão e alteração são consideradas na integração e são efetuadas sempre que ocorrerem. A operação de eliminação sobre os registros de cadastros não é integrada pois não é possível verificar a integridade referencial no sistema de destino para considerá-la como restrição de eliminação dos registros no Protheus.
O sucesso das operações de inclusão e alteração de registros pode ser verificado acessando o programa de consulta no menu do Cockpit Logístico em: Interface - Log. O sistema de origem dos dados não recebe o status do processamento dos registros enviados, por isso considera integrado com base apenas na confirmação de recepção da mensagem de integração.
Entidade (s) Protheus | Código (Alías) | Web Service | Método | Entidade Cockpit | Observações |
---|---|---|---|---|---|
Fornecedor | SA2 | LocalityAcquisitionService | updateLocalities | Localidade | Deverá ser criado uma marca para identificar que se refere ao fornecedor do SIGAOMS, devido a geração de pedido de venda do tipo "Beneficiamento" |
Transportadora | SA4 | CarrierAcquisitionService | updateCarriers | Transportador | |
Pedido de Venda | SC5 / SC6 / SC9 / SB1 / SB5 | OrderAcquisitionService | Create Orders | Pedidos de Transporte | |
Montagem de Carga | DAK / DAI | UnblockReleasedTripAcquisitionService | Desbloqueio da Viagem | Confirmação da inclusão da Carga no OMS, retorno ao CPL para o desbloqueio da viagem. | |
Produto | SB1 e SB5 | ProductAcquisitionService | updateProducts | Produto | |
Filial | SM0 | LocalityAcquisitionService | updateLocalities | Localidade | As filiais assumem o papel de localidade quando são locais de carga ou descarga. Quando MV_CPLEX == "2" não integrar filial cuja unidade de federação não faça parte da lista de unidades de federação do Brasil. |
Cliente | SA1 | LocalityAcquisitionService | updateLocalities | Localidade | Quando MV_CPLEX == "2" não integrar cliente com país informado diferente de 105 (Brasil). |
Tipo de Veículo | DUT | VehicleAcquisitionService | updateVehicles | Veículo |
No próximo tópico são listadas as correspondências entre os campos de cada entidade e a respectiva tag XML da mensagem de integração.
Cadastros
Mensagem de integração dos registros do cadastro de "Tipo de Veículo"
Campo Protheus | Tag XML | Campo Cockpit Logístico | Observações |
---|---|---|---|
MV_CPLREG | regionSourceId | Regional | |
DUT_TIPVEI | identifier | Código | |
DUT_DESCRI | name | Nome | |
DUT_DESCRI | description | Descrição | |
"0" | priority | Prioridade | |
"0" | similarity | Similaridade |
Mensagem de integração dos registros do cadastro de "Clientes"
Campo Protheus | Tag XML | Campo Cockpit Logístico | Observações |
---|---|---|---|
MV_CPLREG | regionSourceId | Regional | |
"CLI-" + RTRIM(SA1->A1_COD) + "-" + RTRIM(SA1->A1_LOJA) | identifier | Código | |
A1_NREDUZ | name | Nome | |
A1_NOME | description | Descrição | |
A1_END | addressStreet | Endereço | |
addressNumber | Nº | Obter o conteúdo usando a função LjFiGetEnd sobre o campo A1_END | |
A1_COMPLEM | addressComplement | Complemento | |
A1_BAIRRO | addressDistrict | Bairro | |
A1_CEP | addressZipCode | CEP | |
A1_MUN | addressCity | Cidade | |
A1_EST | addressStateAcronym | UF | |
"BR" ou YA_SIGLA | addressCountryAcronym | País | Acessar a tabela SYA pelo campo A1_PAIS. Quando A1_PAIS em branco ou igual a 105 atribuir "BR" |
"2" | logisticRoleId | Tipo | 2=Destino (por orientação da Neolog para gerar menos combinações de rota) |
Mensagem de integração dos registros do cadastro de "Filiais"
Campo Protheus | Tag XML | Campo Cockpit Logístico | Observações |
---|---|---|---|
MV_CPLREG | regionSourceId | Regional | |
"FIL-" + FWCodFil(SM0->M0_CODFIL) | identifier | Código | |
M0_FILIAL | name | Nome | |
M0_NOMECOM | description | Descrição | |
M0_ENDENT | addressStreet | Endereço | |
addressNumber | Nº | Obter o conteúdo usando a função LjFiGetEnd sobre o campo M0_ENDENT | |
M0_COMPENT | addressComplement | Complemento | |
M0_BAIRENT | addressDistrict | Bairro | |
M0_CEPENT | addressZipCode | CEP | |
M0_CIDENT | addressCity | Cidade | |
M0_ESTENT | addressStateAcronym | UF | |
"BR" ou YA_SIGLA | addressCountryAcronym | País | Acessar a tabela SYA pelo campo M0_PAIS. Quando M0_PAIS em branco ou igual a 105 atribuir "BR" |
"1" | logisticRoleId | Tipo | 1=Ambos |
Mensagem de integração dos registros do cadastro de "Produto"
Campo Protheus | Tag XML | Campo Cockpit Logístico | Observações |
---|---|---|---|
MV_CPLREG | regionSourceId | Regional | |
MV_CPLEMB | shipperId | Embarcador | |
B1_COD | identifier | Código | |
B1_DESC | description | Descrição | |
B1_GRUPO | productCategoryId | Categoria | |
B5_ALTURA | height | Altura | |
B5_COMPR | length | Comprimento | |
B5_LARG | width | Largura | |
B1_PESBRU | weight | Peso | |
"1" | shape | Forma | 1=Caixa |
Mensagem de integração dos registros do cadastro de "Fornecedor"
Campo Protheus | Tag XML | Campo Cockpit Logístico | Observações |
---|---|---|---|
MV_CPLREG | regionSourceId | Regional | |
"FOR-" + RTRIM(SA2->A2_COD) + "-" + RTRIM(SA2->A2_LOJA) | identifier | Código | Será adicionado a sigla "FOR" para composição do código para identificação que se trata de um fornecedor para uso como uma localide devido aos pedidos de beneficiamento do OMS. |
A2_NREDUZ | name | Nome | |
A2_NOME | description | Descrição | |
A2_END | addressStreet | Endereço | |
addressNumber | N° | Obtido por meio do campo A2_END | |
A2_COMPLEM | addressComplement | Complemento | |
A2_BAIRRO | addressDistrict | Bairro | |
A2_CEP | addressZipCode | CEP | |
A2_MUN | addressCity | Cidade | |
A2_EST | addressStateAcronym | UF | |
A2_PAIS / "BR" ou YA_SIGLA | addressCountryAcronym | País | Quando A2_PAIS em branco ou igual a 105 atribuido "BR" |
"2" | logisticRoleId | Tipo | 2=Destino (por orientação da Neolog para gerar menos combinações de rota) |
Mensagem de integração dos registros do cadastro de "Transportadora"
Campo Protheus | Tag XML | Campo Cockpit Logístico | Observações |
---|---|---|---|
MV_CPLREG | regionSourceId | Ident. Regional | |
A4_COD | identifier | ID da transportadora (Código) | |
A4_NREDUZ | name | Nome da Transportadora | |
A4_NOME | description | Descrição da Transportadora |
Mensagem de integração dos registros do cadastro de "Pedido de Venda"
Campo Protheus | Tag XML | Campo Cockpit Logístico | Observações |
---|---|---|---|
MV_CPLREG | regionSourceId | Regional | |
MV_CPLIDS | integrationDataSource | Integração | |
"1" | orderTypeSourceId | Tipo do Pedido | |
RTRIM(SC5->C5_FILIAL) + "-" + RTRIM(SC5->C5_NUM) | identifier | SC5->(RECNO()) | |
RTRIM(SC5->C5_FILIAL) + "-" + RTRIM(SC5->C5_NUM) | code | Código do Ped. Transp. | |
"0" | priority | Prioridade | |
Date() | erpCreationDt | Data Corrente | Data de criação do pedido |
Date() | pickupStart | Janela Embarque | |
Date() ou C5_FECENT | deliveryStart | Janela Entrega | Data corrente ou data informada no pedido de venda |
Date() ou C6_ENTREG ou C9_DATENT | deliveryEnd | Janela Entrega | |
C9_PEDIDO | orderId | ID do Pedido de Transporte | |
RTRIM(SC5->C5_FILIAL)+"-"+RTRIM(SC5->C5_NUM) + C9_ITEM | sourceId | ||
C9_PRODUTO | productId | Produto | |
C9_QTDLIB | quantity | Quantidade total de unid. | |
C9_PRCVEN | price | Valor Total de unid. De prod. | |
"FIL-" + RTRIM(SC5->C5_FILIAL) | originId | Origem Inicial | |
"CLI-" + RTRIM(SC5->C5_CLIENT) + "-" + RTRIM(SC5->C5_LOJAENT) | destinationId | ID da Localidade de destino do Pedido | |
C9_QTDLIB | quantityInShipmentUnits | ||
B5_ALTURLC | height | Quando houver relacionamento com o B1_PRODUTO, quando vazio será enviado por default o contéudo = 0.001 | |
B5_LARGLC | width | Quando vazio por default o contéudo enviado será = 0.001 | |
B5_COMPRLC | length | Quando vazio por default o contéudo enviado será = 0.001 | |
B1_PESO ou B1_PESBRU | weight | De acordo com a configuração do parâmetro MV_PESOCAR, verificar o conteúdo do parâmetro por meio da função OsPesoProd e enviar os dados. Quando vazio por default o contéudo enviado será = 0.001 | |
MV_CPLEMB | shipperId | ID do Embarcador | |
"1" | modal | ID do modal do pedido de transporte | Enviar valor fixo 1 - Rodoviário |
C5_TPFRETE | incoterm | Sendo o conteúdo C = 1 e F = 0 para o CPL, quando o campo for vazio iremos passar sempre 1. | |
MV_CPLINV | shipmentUnitWrapperCode | Invólucro de embarque |
Mensagem de integração das viagens geradas no CPL para posterior geração das Cargas no SIGAOMS, utilizando a operação publishReleasedTrip:
Campo Prothues | Tag XML | Campo Cockpit Logístico | Observações |
---|---|---|---|
DK0_IDCESTA | basketSourceId | ID Cesta | |
DK0_REGID | regionSourceId | Identificador Regional | |
DK0_VIAGID | identifier | ID da Viagem | |
DK0_TRANSP | carrierId | ID Transportadora da Viagem | |
DK0_TIPVEI | vehicleId | ID do Tipo de Veículo da Viagem | |
DK0_DESTIP | vehicleDescription | Descrição do tipo de veículo da viagem | |
DK0_PLACA | truckLicensePlate | Placa do caminhão da viagem | |
DK0_ESTPLA | truckStateLicensePlate | Estado da placa do caminhão da viagem | |
DK0_QTDEIX | truckAxlesQuantity | Número de eixos do caminhão |
Mensagem dos itens (Pedidos) do CPL - deliveryUnit
Campo Protheus | Tag XML | Campo Cockpit Logístico | Observações |
---|---|---|---|
DK1_UNIDID | identifier | ||
DK1_REGID | RegionalSourceId | Regional | |
DK1_VIAGID | Viagem | Viagem CPL | |
DK1_PEDROT | orderSourceId | Pedido CPL | |
DK1_PRODUTO | productSourceId | Produto | |
DK1_QTD | quantity | Quantidade | |
DK1_PRECO | price | Preço | |
DK1_DATENT | deliveryDate | Dt/Hr Entrg | |
DK1_ORIGEM | integrationSource | ID da origem de dados |
Processos
Foi realizado tratamento na rotina OMSXCPL2 para a carga de dados do SIGAOMS para o Cockpit Logístico, permitindo a sincronização dos cadastros de Filiais, Clientes, Produtos, Tipos de Veículos, Fornecedores e Transportadora.
Além disso, foi disponibilizada uma nova rotina(OMSXCPL6) que permite a seleção e envio de pedidos de vendas criados no OMS para o CPL gerando pedidos de transporte, e uma nova rotina(OMSXCPL7) que monitora e recebe as viagens geradas no CPL para posterior geração de carga e liberação no Protheus.
Fluxo do Processo
Clientes
Tipo de Fluxo: Protheus -> Cockpit Logístico
Mensagem: LocalityAcquisitionService
Versão: 1.000
Ao cadastrar um cliente no Protheus, quando a integração estiver ativa, os dados serão enviados ao Cockpit Logístico por meio do método updateLocalities, esses dados por sua vez serão salvos como localidade, e poderão ser visualizados no CPL em: CADASTRO -> Localidades
Filiais
Tipo de Fluxo: Protheus -> Cockpit Logístico
Mensagem: LocalityAcquisitionService
Versão: 1.000
O envio de empresas/filiais não é automático, ou seja, ao cadastrar no Protheus uma nova empresa/filial, para que essas informações sejam replicadas para o Cockpit Logístico, é necessário executar a carga de dados disponível em: SIGAOMS -> Atualizações -> Cockpit Logístico -> Carga de dados marcando a opção SM0 Cadastro de Filiais, os dados serão enviados ao Cockpit Logístico por meio do método updateLocalities, esses dados por sua vez serão salvos como localidade, e poderão ser visualizados no CPL em: CADASTRO -> Localidades
Fornecedores
Tipo de Fluxo: Protheus -> Cockpit Logístico
Mensagem: LocalityAcquisitionService
Versão: 1.000
Ao cadastrar um Fornecedor no Protheus, quando a integração estiver ativa, os dados serão enviados ao Cockpit Logístico por meio do método updateLocalities, esses dados por sua vez serão salvos como localidade, e poderão ser visualizados no CPL em: CADASTRO -> Localidades
Transportadores
Tipo de Fluxo: Protheus -> Cockpit Logístico
Mensagem: CarrierAcquisitionService
Versão: 1.000
Ao cadastrar um Transportador no Protheus, quando a integração estiver ativa, os dados serão enviados ao Cockpit Logístico por meio do método CarrierAcquisitionService, esses dados por sua vez serão salvos como Transportadoras e poderão ser visualizados no CPL em: CADASTRO -> Transportadoras.
Produtos
Tipo de Fluxo: Protheus -> Cockpit Logístico
Mensagem: ProductAcquisitionService
Versão: 1.000
Ao cadastrar um Produto no Protheus, quando a integração estiver ativa, os dados serão enviados ao Cockpit Logístico por meio do método ProductAcquisitionService, esses dados por sua vez serão salvos como Produtos Simples e poderão ser visualizados no CPL em: CADASTRO -> Produtos Simples
Tipos de veículo
Tipo de Fluxo: Protheus -> Cockpit Logístico
Mensagem: VehicleAcquisitionService
Versão: 1.000
Ao cadastrar um Tipo de veículo no Protheus, quando a integração estiver ativa, os dados serão enviados ao Cockpit Logístico por meio do método VehicleAcquisitionService, esses dados por sua vez serão salvos como Veículos e poderão ser visualizados no CPL em: CADASTRO -> Veículos
Pedidos de venda
Tipo de Fluxo: Protheus -> Cockpit Logístico
Mensagem: OrderAcquisitionService
Versão: 1.000
Ao cadastrar um Pedido de venda no Protheus, quando a integração estiver ativa, os dados são enviados ao Cockpit Logístico por meio do método OrderAcquisitionService, esses dados por sua vez geram no CPL Pedidos de transporte e poderão ser visualizados em: PROGRAMAÇÃO -> Analise, deve-se filtrar os dados da cesta geral.
No SIGAOMS, foi disponibilizado um programa(OMSXCPL6) que permite selecionar uma lista com os pedidos de venda para envio ao Cockpit Logístico. Os pedidos deverão estar liberados por crédito e estoque e com o campo "Carga" igual a 1 = Utiliza.
O cancelamento do pedido no CPL pode ser feito por meio de duas rotinas:
Cancelamento via rotina Preparação dos Documentos de Saída (MATA460A):
- Quando houver o cancelamento de uma liberação do pedido de venda por meio da rotina "Preparação dos Documentos de Saída", opção "Ações Relacionadas" "Estor. Docs" na confirmação da exclusão do registro, é realizado o envio do cancelamento ao CockPit Logístico.
Cancelamento via rotina Pedido de Venda (MATA410):
- Alteração de um pedido de venda já liberado na rotina "Pedido de Venda" (MATA410):
- Ao confirmar a alteração o sistema realiza a exclusão do registro liberado, assim é realizado o envio do cancelamento ao CockPit Logístico.
- Alteração de pedido de venda já liberado e com nova liberação na própria rotina (MATA410):
- Ao confirmar a alteração com nova liberação o sistema exclui o registro anterior e recria um novo registro com as informações da alteração. Assim é realizado o envio do cancelamento para o Cockpit Logístico e o envio de um novo pedido liberado.
- Alteração de um pedido de venda já liberado na rotina "Pedido de Venda" (MATA410):
Cargas
Tipo de Fluxo: Cockpit Logístico -> Protheus
Mensagem: ReleaseTripPublishRequestService
Versão: 1.000
O Cockpit Logistico envia as viagens geradas para o SIGAOMS para a formação das Cargas. O envio é realizado pela chamada do WebService ReleaseTripPublishRequestService, para isso foi disponibilizado um programa monitor para receber estas viagens(OMSXCPL7).
A rotina oferece a opção de marcação dos registros e um botão "Gera Carga" para geração das Cargas no OMS.
Uma vez recebida a viagem do Cockpit e gerada a Carga no SIGAOMS, após a geração do documento fiscal da carga (NF de Saída) é enviada novamente ao Cockpit uma mensagem de retorno com a confirmação da gravação da Carga e documento de saída, assim o Cockpit confirma a viagem gerada, este retorno é realizado pelo WebService publishReleasedTripResponse, mensagem UnblockReleasedTripAcquisition. Esta chamada ocorre por meio da opção "Liberar Viagem".
Como fazer (opcional)
Ver item "Procedimento para Utilização" no documento técnico DT_Integracao_OMS_Neolog
Checklist de suporte da aplicação
Instalação/Configuração
- Pelo programa Parâm Integração (OMSXCPL1) informe e teste a URL do Web Service do Cockpit Logístico.
Checklist de Verificações:
- Configuração dos parâmetros de integração