Histórico da Página
Âncora | ||||
---|---|---|---|---|
|
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
Integração OMS Protheus x Cockpit Logístico NeologContexto de Negócio (Introdução)
Com a crescente demanda por otimização nos processos logísticos de distribuição na busca por um melhor aproveitamento dos veículos, tanto na questão de carregamento quanto na roteirização das entregas, tornou-se necessário proporcionar aos cliente do OMS Protheus uma solução para atender estas necessidades.
Visando esta solução foi realizada a integração entre o módulo Gestão de Distribuição (SIGAOMS) da linha Microsiga Protheus 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 existentes do Cockpit Logístico, sem transformação de mensagens e sem a utilização de sistemas intermediários (TOTVS EAI, TOTVS ESB, entre outros).
Com esta integração o OMS passou a utilizar os recursos do Cockpit Logístico, o qual efetuará a roteirização e o arranjo das cargas com base na demanda de transportes enviados pelo OMS, devolvendo para este as cargas montadas e roteirizadas.
Para a montagem de carga serão consideradas 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.
- Redução da quantidade de viagens.
Integração OMS Protheus x Cockpit Logístico NeologSistemas Envolvidos
TOTVS Gestão de Distribuição (SIGAOMS)
A sigla OMS significa Order Management System, ou seja, gerenciamento de pedidos e serviços que 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 obter mais detalhes sobre o OMS TOTVS, acesse o 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 obter mais detalhes sobre o Cockpit Logístico Neolog, acesse o link: http://www.neolog.com.br/neolog-site/index.php/cockpit-logistico/
Integração OMS Protheus x Cockpit Logístico NeologEscopo
O escopo desta integração permitirá o envio dos pedidos de venda liberados (crédito / estoque) no OMS 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 OMS, para a geração das cargas.
Para complementar o escopo do envio dos pedidos será necessário enviar os cadastros envolvidos com as informações dos pedidos, como produtos, clientes, fornecedores, filiais, transportadoras e tipos de veículos.
Faz parte do processo de integração o recebimento das mensagens de publicação de viagens, reprogramação e cancelamento de viagens.
draw.io Diagram | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
¹ Para o cadastro de fornecedores existem particularidades que serão detalhadas nos próximos tópicos.
Para as entidades envolvidas na integração, estes são os pontos de integração que farão parte do escopo dessa integração:
Entidade | Pontos de Integração |
---|---|
Empresas/Filiais |
|
Cliente |
|
Fornecedor |
|
Transportadora |
|
Produto |
|
Tipo de Veículo |
|
Pedidos de Venda |
|
Viagens |
|
Integração OMS Protheus x Cockpit Logístico NeologPré-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 12.1.17 ou superior.
- Parâmetros de integração com Cockpit Logístico configurados (acesso pelo menu em Atualizações > Cockpit Logístico > Parâmetros Integração).
- Web Service Server para recebimento de mensagens do Cockpit Logístico.
Informações | ||||
---|---|---|---|---|
| ||||
|
Integração OMS Protheus x Cockpit Logístico NeologControle de Versão
O grupo TOTVS, representado por suas marcas, 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.
Integração OMS Protheus x Cockpit Logístico NeologSuporte
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 realizar a primeira análise e, quando necessário, repassar para a equipe mais adequada em cada caso.
Informações | ||||
---|---|---|---|---|
| ||||
Este modelo de suporte está sendo revisado pela TOTVS. |
Integração OMS Protheus x Cockpit Logístico NeologMensagens
Método | Descrição | Origem | Destino | XSD |
---|---|---|---|---|
Cadastros | Empresas/Filiais | Protheus | Cockpit Logístico | LocalityAcquisitionService |
Cliente | Protheus | Cockpit Logístico | LocalityAcquisitionService | |
Fornecedor | Protheus | Cockpit Logístico | LocalityAcquisitionService ou CarrierAcquisitionService | |
Transportadora | Protheus | Cockpit Logístico | CarrierAcquisitionService | |
Produtos | Protheus | Cockpit Logístico | ProductAcquisitionService | |
Tipo de Veículo | SIGAOMS | Cockpit Logístico | VehicleAcquisitionService | |
Processos | Pedido de Vendas | SIGAOMS | Cockpit Logístico | OrderAcquisitionService |
Cancelar Pedido de Vendas | SIGAOMS | Cockpit Logístico | OrderAcquisitionService | |
Publicar Viagens | Cockpit Logístico | SIGAOMS | PublishReleasedTrip | |
Liberar Viagens | SIGAOMS | Cockpit Logístico | UnblockReleasedTripAcquisitionService | |
Cancelar Viagens | Cockpit Logístico | SIGAOMS | CancelService | |
Reprogramar Viagens | Cockpit Logístico | SIGAOMS | ReprogramService |
Integração OMS Protheus x Cockpit Logístico NeologFluxo 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, desde que parametrizadas para serem on-line.
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 |
---|---|---|---|---|---|
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). |
Fornecedor | SA2 | LocalityAcquisitionService ou CarrierAcquisitionService | updateLocalities ou updateCarriers | Localidade | Os fornecedores serão integrados como localidade quando atender os seguintes requisitos:
Caso contrário, o fornecedor será integrado como transportadora. |
Transportadora | SA4 | CarrierAcquisitionService | updateCarriers | Transportador | |
Produto | SB1 e SB5 | ProductAcquisitionService | updateProducts | Produto | |
Tipo de Veículo | DUT | VehicleAcquisitionService | updateVehicles | Veículo | |
Pedido de Venda | SC5 / SC6 / SC9 / SB1 / SB5 | OrderAcquisitionService | createOrders | Pedidos de Transporte | O pedido de venda deve possuir, obrigatoriamente, montagem de carga. |
Filiais
Tipo de Fluxo: Protheus > Cockpit Logístico.
Mensagem: LocalityAcquisitionService.
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, assinalando 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.
Clientes
Tipo de Fluxo: Protheus > Cockpit Logístico.
Mensagem: LocalityAcquisitionService.
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.
Fornecedores
Tipo de Fluxo: Protheus > Cockpit Logístico.
Mensagem: LocalityAcquisitionService ou CarrierAcquisitionService
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 (conforme parametrização do cadastro SA2, conforme comentado acima), esses dados .
Esses dados, por sua vez, serão salvos como localidade, e e poderão ser visualizados no CPL em: Cadastro > Localidades.
Transportadores
Tipo de Fluxo: Protheus > Cockpit Logístico
Mensagem: CarrierAcquisitionService
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 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
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 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
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, 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
Ao cadastrar um Pedido de venda no Protheus, quando a integração estiver ativa , os dados são serão enviados ao Cockpit Logístico por meio do método OrderAcquisitionService, esses dados .
Esses dados, por sua vez, geram no Cockpit Logístico pedidos de transporte e poderão ser visualizados em: Programação > Analise, deve-se filtrar os sendo necessário filtrar os dados da cesta geral.
No OMS , foi disponibilizado um o programa ( OMSXCPL6) , que permite selecionar uma lista com os pedidos de venda para envio ao Cockpit Logístico. Os , sendo que 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 Cockpit Logístico , pode ser efetuado por meio de duas rotinas:
1) 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 , na confirmação da exclusão do registro , é realizado o envio do cancelamento ao Cockpit Logístico.
2) 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, 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.
Viagens
Tipo de Fluxo: Cockpit Logístico > Protheus
Mensagem: ReleaseTripPublishRequestService
O Cockpit Logístico envia as viagens geradas para o OMS para a formação das cargas.
O envio é realizado pela chamada do WebService ReleaseTripPublishRequestService, para . Para isso foi disponibilizado um programa monitor para receber estas viagens (OMSXCPL7).
Ao receber uma viagem com o campo placa (DK0_PLACA) preenchido , é realizada uma busca pela placa no cadastro de veículos (DA3), caso . Se for encontrado algum registro, o veículo será associado à carga. Para que isso ocorra é essencial que a placa recebida do CPL seja idêntica a idêntica a placa cadastrada no Protheus.
A rotina oferece a opção de marcação dos registros e um o botão "Gera Carga", para geração das Cargas cargas no OMS.
No próximo tópico são estão listadas as correspondências entre os campos de cada entidade e a respectiva tag XML da mensagem de integração.
Integração OMS Protheus x Cockpit Logístico NeologDetalhamento das Mensagens
Mensagem de
integraçãoIntegração dos
registrosRegistros do
cadastro deCadastro de Filiais
Tag XML | Campo Protheus | Campo Cockpit Logístico | Observações | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
regionSourceId | MV_CPLREG | Regional | ||||||||||||
identifier | "FIL-" + FWCodFil() | Código | O envio da concatenação de empresa + filial permanece condicionado ao fato de não existir uma empresa padrão para integração do OMS com o Cockpit Logístico. Esta empresa padrão deve ser informada no arquivo de configuração do servidor Protheus (appserver.ini) na seção [NEOLOG] na chave DefaultCompany.
| |||||||||||
name | M0_FILIAL | Nome | ||||||||||||
description | M0_NOMECOM | Descrição | ||||||||||||
addressStreet | M0_ENDENT | Endereço | Obter o conteúdo usando a função LjFiGetEnd sobre o campo M0_ENDENT | |||||||||||
addressNumber | Nº | Obter o conteúdo usando a função LjFiGetEnd sobre o campo M0_ENDENT | ||||||||||||
addressComplement | M0_COMPENT | Complemento | ||||||||||||
addressDistrict | M0_BAIRENT | Bairro | ||||||||||||
addressZipCode | M0_CEPENT | CEP | ||||||||||||
addressCity | M0_CIDENT | Cidade | ||||||||||||
addressStateAcronym | M0_ESTENT | UF | Quando a UF pertencer a lista das UFs brasileiras , será considerado a mesma, caso contrário "EX". | |||||||||||
addressCountryAcronym | "BR" ou "EX" | País | Quando a UF pertencer a lista das UFs brasileiras , será considerado "BR", caso contrário "EX". | |||||||||||
logisticRoleId | "1" | Tipo | 1=Ambos |
Mensagem de
integraçãoIntegração dos
registrosRegistros do
cadastro deCadastro de Clientes
Tag XML | Campo Protheus | Campo Cockpit Logístico | Observações |
---|---|---|---|
regionSourceId | MV_CPLREG | Regional | |
identifier | "CLI-" + RTrim(SA1->A1_COD) + "-" + RTrim(SA1->A1_LOJA) + OMSGETFIL("SA1") ² | Código | |
name | A1_NREDUZ | Nome | |
description | A1_NOME | Descrição | |
addressStreet | A1_END | Endereço | Obter o conteúdo usando utilizando a função LjFiGetEnd sobre o campo A1_END |
addressNumber | Nº | Obter o conteúdo usando utilizando a função LjFiGetEnd sobre o campo A1_END | |
addressComplement | A1_COMPLEM | Complemento | |
addressDistrict | A1_BAIRRO | Bairro | |
addressZipCode | A1_CEP | CEP | |
addressCity | A1_MUN | Cidade | |
addressStateAcronym | A1_EST | UF | Quando a UF pertencer a lista das UFs brasileiras , será considerado a mesma, caso contrário "EX". |
addressCountryAcronym | "BR" ou YA_SIGLA | País | Acessar a tabela SYA pelo campo A1_PAIS. Quando A1_PAIS estiver em branco ou igual a 105, atribuir "BR". |
logisticRoleId | "2" | Tipo | 2=Destino (por orientação da Neolog para gerar menos combinações de rota). |
Mensagem de
integração dos registros do cadastro de Fornecedor comoIntegração dos Registros de Fornecedor Como Localidade
Tag XML | Campo Protheus | Campo Cockpit Logístico | Observações |
---|---|---|---|
regionSourceId | MV_CPLREG | Regional | |
identifier | "FOR-" + RTrim(SA2->A2_COD) + "-" + RTrim(SA2->A2_LOJA) + OMSGETFIL("SA2") ² | Código | Será adicionada a sigla "FOR" para composição do código para identificação identificar que se trata de um fornecedor para uso como uma localidade, devido aos pedidos de beneficiamento do OMS. |
name | A2_NREDUZ | Nome | |
description | A2_NOME | Descrição | |
addressStreet | A2_END | Endereço | Obter o conteúdo usando utilizando a função LjFiGetEnd sobre o campo A2_END |
addressNumber | N° | Obter o conteúdo usando utilizando a função LjFiGetEnd sobre o campo A2_END | |
addressComplement | A2_COMPLEM | Complemento | |
addressDistrict | A2_BAIRRO | Bairro | |
addressZipCode | A2_CEP | CEP | |
addressCity | CC2_MUN | Cidade | Acessar a tabela CC2 pelo campo A2_MUN. |
addressStateAcronym | A2_EST | UF | Quando a UF pertencer a lista das UFs brasileiras , será considerado a mesma, caso contrário "EX". |
addressCountryAcronym | "BR" ou YA_SIGLA | País | Acessar a tabela SYA pelo campo A2_PAIS. Quando A2_PAIS estiver em branco ou igual a 105, atribuir "BR". |
logisticRoleId | "2" | Tipo | 2=Destino (por orientação da Neolog para gerar menos combinações de rota). |
Mensagem de
integraçãoIntegração dos
registros do cadastro de Fornecedor comoRegistros do Cadastro de Fornecedor Como Transportadora
Tag XML | Campo Protheus | Campo Cockpit Logístico | Observações |
---|---|---|---|
regionSourceId | MV_CPLREG | Regional | |
identifier | A2_COD + OMSGETFIL("SA2") ² | Código | |
name | A2_NREDUZ | Nome da Transportadora | |
description | A2_NOME | Descrição da Transportadora | |
A2_EMAIL | E-mail da Transportadora |
Mensagem de
integraçãoIntegração dos
registrosRegistros do
cadastro deCadastro de Transportadora
Tag XML | Campo Protheus | Campo Cockpit Logístico | Observações |
---|---|---|---|
regionSourceId | MV_CPLREG | Regional | |
identifier | A4_COD + OMSGETFIL("SA4") ² | Código | |
name | A4_NREDUZ | Nome da Transportadora | |
description | A4_NOME | Descrição da Transportadora | |
A4_EMAIL | E-mail da Transportadora |
Mensagem de
integraçãoIntegração dos
registrosRegistros do
cadastroCadastro de Tipos de Veículos
Tag XML | Campo Protheus | Campo Cockpit Logístico | Observações |
---|---|---|---|
identifier | DUT_TIPVEI+ OMSGETFIL("DUT") ² | Código | |
name | DUT_DESCRI | Nome | |
description | DUT_DESCRI | Descrição | |
priority | 0 | Prioridade | Valor fixo |
similarity | 0 | Similaridade | Valor fixo |
Mensagem de
integraçãoIntegração dos
registrosRegistros do
cadastro deCadastro de Produto
Tag XML | Campo Protheus | Campo Cockpit Logístico | Observações |
---|---|---|---|
regionSourceId | MV_CPLREG | Regional | |
shipperId | MV_CPLEMB | Embarcador | |
identifier | B1_COD + OMSGETFIL("SB1") ² | Código | |
description | B1_DESC | Descrição | |
productCategoryId | B1_GRUPO | Categoria | |
height | B5_ALTURLC | Altura | Pasta Logística |
length | B5_LARGLC | Comprimento | Pasta Logística |
width | B5_COMPRLC | Largura | Pasta Logística |
weight | B1_PESO ou B1_PESBRU | Peso | 1. Quando o parâmetro MV_PESOCAR estiver como "L" será enviado o campo B1_PESO, caso contrário B1_PESBRU. 2. Caso o parâmetro MV_CPLUMIT estiver informado para enviar a primeira unidade de medida, o peso enviado será: Peso → Campo de Peso Protheus * Fator de Conversão para KG. 3. Caso o parâmetro MV_CPLUMIT estiver informado para enviar a segunda unidade de medida, o peso enviado será: Se o tipo de conversão (B1_TIPCONV) for Divisor: Peso → (Campo de Peso Protheus * Fator de Conversão para KG) * Fator de Conversão (B1_CONV) Se o tipo de conversão (B1_TIPCONV) for Multiplicador: Peso → (Campo de Peso Protheus * Fator de Conversão para KG) / Fator de Conversão (B1_CONV) |
shape | "1" | Forma | 1=Caixa |
Mensagem de
integraçãoIntegração dos
registrosRegistros do
cadastroCadastro de
Pedido de Venda
Tag XML | Campo Protheus | Campo Cockpit Logístico | Observações |
---|---|---|---|
regionSourceId | MV_CPLREG | Regional | |
integrationDataSource | MV_CPLIDS | Integração | |
orderTypeSourceId | Nil | Tipo do Pedido | TAG não enviada |
identifier | RTrim( OMSXGETFIL("SC5",.F.)² ) + "-" +RTrim(SC5->C5_NUM) | ||
code | RTrim( OMSXGETFIL("SC5",.F.)² ) + "-" +RTrim(SC5->C5_NUM) | Código do Ped. Transp. | |
priority | "0" | Prioridade | |
erpCreationDt | Date() | Data Corrente | Data de criação do pedido. |
pickupStart | Date() ou C6_DATAEMB | Janela Embarque | |
deliveryStart | Date() ou C5_FECENT | Janela Entrega | Data corrente ou data informada no pedido de venda. |
deliveryEnd | Date() ou C6_ENTREG | Janela Entrega | |
orderId | RTrim( OMSXGETFIL("SC5",.F.)² ) + "-" +RTrim(SC5->C5_NUM) | ID do Pedido de Transporte | |
sourceId | orderId + "-" + C6_ITEM | Código do Item Ped. Transp. | Concatenação do campo anterior com o item de sequencia sequência do pedido. |
productId | C6_PRODUTO + OMSGETFIL("SB1") ² | Produto | Conforme o código enviado na mensagem de produtos. |
quantity | C9_QTDLIB ou C9_QTDLIB2 | Quantidade total de unid. | Depende do parâmetro MV_CPLUMIT Quando estiver parametrizado para enviar na 2ª UM e o produto possui um fator de conversão (B1_CONV) maior que zero , será enviado o valor do campo C9_QTDLIB2, caso . |
price | C6_VALOR | Valor Total de unid. De prod. | |
originId | "FIL-" + FWCodFil() ou "FIL-" + FWGrpCompany() + "-" + FWCodFil() | Origem Inicial | Conforme o código enviado na mensagem de localidades para os registros de filiais. |
destinationId | "FOR-" + RTrim(SC5->C5_CLIENT)+ "-" + RTrim(SC5->C5_LOJAENT) + OMSGETFIL("SA2") ² | ID da Localidade de destino do Pedido | Pode ser enviado o código do cliente ou do fornecedor conforme enviado na mensagem de localidades. Para pedidos do tipo B ou D (C5_TIPO) será enviado o código do fornecedor, para os demais será enviado o código do cliente. |
quantityInShipmentUnits | C9_QTDLIB ou C9_QTDLIB2 | Depende do parâmetro MV_CPLUMIT Quando estiver parametrizado para enviar na 2ª UM e o produto possui um fator de conversão (B1_CONV) maior que zero , será enviado o valor do campo C9_QTDLIB2, caso . | |
height | B5_ALTURLC | Quando houver relacionamento com o B1_PRODUTO, quando vazio será enviado por default padrão o contéudo conteúdo = 0.001 | |
width | B5_LARGLC | Quando vazio, por default padrão o contéudo conteúdo enviado será = 0.001 | |
length | B5_COMPRLC | Quando vazio, por default padrão o contéudo conteúdo enviado será = 0.001 | |
weight | B1_PESO ou B1_PESBRU | 1. Caso Se o parâmetro MV_CPLUMIT estiver informado para enviar a primeira unidade de medida, o peso enviado será: Peso → Campo de Peso Protheus * Fator de Conversão para KG. 2. Caso Se o parâmetro MV_CPLUMIT estiver informado para enviar a segunda unidade de medida, o peso enviado será: Se o tipo de conversão (B1_TIPCONV) for Divisor: Peso → (Campo de Peso Protheus * Fator de Conversão para KG) * Fator de Conversão (B1_CONV) Se o tipo de conversão (B1_TIPCONV) for Multiplicador: Peso → (Campo de Peso Protheus * Fator de Conversão para KG) / Fator de Conversão (B1_CONV) | |
shipperId | MV_CPLEMB | ID do Embarcador | |
modal | "1" | ID do modal do pedido de transporte | Enviar valor fixo 1 - Rodoviário. |
incoterm | C5_TPFRETE | Sendo o conteúdo C = 1 e F = 0 para o CPL, quando . Quando o campo for vazio iremos passar será passado sempre 1. | |
shipmentUnitWrapperCode | MV_CPLINV | Invólucro de embarque |
Âncora | ||||
---|---|---|---|---|
|
² Para o combinação da filial Filial para os cadastros , serão aplicadas as seguintes regras:
- Utilizando a configuração de gestão de empresas , e esta possua em sua máscara a empresa:
- Será enviado apenas o retorno da função xFilial( <TAB> ), onde TAB representa a tabela do Protheus;.
- Utilizando a configuração de gestão de empresas, sem possuir a empresa na máscara, ou não utilizando a configuração de gestão de empresas:
- Caso exista uma empresa padrão (DefaultCompany) configurada na seção [NEOLOG] do INI do servidor de aplicação , será enviado apenas o retorno da função xFilial( <TAB> ), onde TAB representa a tabela do Protheus;.
- Não existindo a empresa padrão , será enviado enviada a concatenação da função FWGrpCompany() + xFilial( <TAB> ), onde TAB representa a tabela do Protheus;.
Sempre que o retorno não for branco, o retorno este será precedido por um "-" (hífen), caso a função não receba o valor .F. no segundo parâmetro.
* Poderá ocorrer deste valor ficar permanecer em branco, em função de algumas parametrizações e configuração da tabela ser compartilhada.
Integração OMS Protheus x Cockpit Logístico NeologConfigurações Complementares
Configuração Para Envio Automático de Pedidos de Venda (Schedule)
Os pedidos de venda gerados no módulo SIGAOMS podem ser enviados automaticamente ao Cockpit Logístico, para . Para isso, deve ser configurada a execução automática (Schedule) da rotina Envio de Pedidos de Venda (OMSXCPL6).
Esta configuração pode ser executada conforme descrito no link: 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> |
Cadastro de Fator de Conversão
paraPara KG (OMSA140)
O Cockpit Logístico possuí possui como característica o tratamento de peso apenas em KG, portanto, para que o OMS envie o valor convertido é necessário cadastrar as unidades de medidas utilizadas e associar seu valor em KG.
Para realizar esse cadastro é necessário ir em SIGAOMS > Atualizações > Cockpit Logístico > Fator de Conversão. Será necessário realizar esse cadastro
Esse cadastro deve ser realizado para todas as unidades de medidas dos produtos que irão ser serão utilizadas na integração, cuja relação de peso não seja em KG.
Exemplo de cadastro: Unidade de Medida (DK2_CODUM) → TL (tonelada), Peso em KG (DK2_PESOKG) → 1000. Isso significa que a cada uma tonelada são 1000 kg.
Integração OMS Protheus x Cockpit Logístico NeologFuncionalidades Não Contempladas
Informações | ||
---|---|---|
| ||
A integração entre o OMS e o Cockpit Logísitico possuí as seguintes restrições:
|
¹ É possível que uma viagem no Cockpit Logísitico Logístico contenha pedidos de diferentes empresas/filiais, . Para para que este processo seja refletido no lado Protheus , é necessário que o Protheus este esteja configurado para ser utilizado no modelo de Gestão de Empresas, parametrizando o OMS para trabalhar no conceito de operador logísticoOperador Logístico, onde uma empresa/filial fica permanece como centralizadora das informações. Caso contrário poderá ocorrer de uma viagem que possuir pedidos de diferentes empresas/filiais seja quebrada em várias no Protheus, gravando cada parte da respectiva viagem , na empresa/filial dos pedidos, ou seja, uma viagem do Cockpit Logístico poderá gerar uma ou mais cargas no OMS, não havendo nenhuma interface que permita ao usuário consultar este relacionamento.
Integração OMS Protheus x Cockpit Logístico NeologInformações Complementares
Por uma questão técnica, em função de poderem ser enviadas informações de diversas empresas/filiais do OMS para o Cockpit Logístico, porém, este trata tudo como uma única origem de dados, dependendo .
Dependendo de configurações poderá gerar podem ser geradas viagens com dados de diferentes empresas/filiais. Sendo assim foi necessário criar no Protheus, de forma fixa, uma tabela que grave este relacionamento das viagens do Cockpit Logístico com as empresas/filiais do OMS.
Esta tabela será criada automaticamente na primeira integração de viagem recebida.
A estrutura desta tabela (VIAGEM_OMSxCPL) é lista a seguir:
Nome | Tipo | Tamanho | Observações |
---|---|---|---|
EMPRESA |
Caractere | Len(FWGrpCompany()) | Padrão 2 |
FILIAL |
Caractere | FwFilialSize() | ||
CPLMSGID | Numérico | 10 | Identificador da Mensagem do Cockpit Logístico |
VIAGEM |
Caractere | TamSx3("DK0_VIAGID")[1] | Identificador da Viagem do Cockpit Logístico | |
RECNOVIAG | Numérico | 10 | Recno() da Viagem do Protheus DK0->(Recno()) |
DATAINT |
Caractere | 8 | Data da Integração - Date() |
HORAINT |
Caractere | 8 | Hora da Integração - Time() |
Não existe uma interface de consulta para esta tabela. Ela será utilizada em processos internos para busca da empresa/filial em que a viagem está gravada para as solicitações de reprogramação e cancelamento recebidas do Cockpit Logístico.