Páginas filhas
  • Integração TOTVS OMS x TOTVS Otimização Logística (Planejamento)

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

INTEGRAÇÃO OMS Protheus X Cockpit Logístico Neolog

Contexto de negócio (Introdução)

Foi realizada a integração entre o módulo 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 a utilização de sistemas intermediários (TOTVS EAI, TOTVS ESB, entre outros).

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 enviados pelo módulo 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 habilitada, o mesmo seja enviado como uma "Localidade" para o Cockpit Logístico.

Além dos cadastros, foi realizada 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 módulo 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, 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 saber mais sobre o Cockpit Logístico Neolog, acesse o link: http://www.neolog.com.br/neolog-site/index.php/cockpit-logistico/

Integração

O objetivo é integrar o módulo 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 a utilização de sistemas intermediários (TOTVS EAI, TOTVS ESB, entre outros).

Escopo

O escopo desta integração permitirá o envio dos pedidos de venda liberados (crédito / estoque) no módulo 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 módulo 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: 

EntidadePontos de Integração
Transportadora
  • Cadastro de Transportadoras.
  • Edição Transportadoras.
Fornecedor
  • Cadastro de Fornecedores.
  • Edição de Fornecedor.
Tipo de Veículo
  • Cadastro de Tipo Veículo.
  • Edição de Tipo Veículo.
Cliente
  • Cadastro de Cliente.
  • Edição de Cliente.
Empresas/Filiais
  • Cadastro de Empresas/Filiais.
  • Edição de Empresas/Filiais.
Produto
  • Cadastro de Produto.
  • Edição de Produto.
Pedidos de Venda
  • Envio dos Pedidos de Vendas ao Cockpit Logístico.
  • Cancelamento dos Pedidos de Vendas.
Montagem de Carga
  • Geração da viagem no Cockpit Logístico.
  • Liberação da Viagem no Cockpit Logístico.
  • Montagem de cargas OMS.
  • Liberar Viagem no OMS.

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.

Informações
titleAtençã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 visualizar o documento técnico referente a esta integração, acesse o link: 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 > Parâm Integração (OMSXCPL1), o Protheus deve ser parametrizado para o correto funcionamento da integração conforme abaixo:

Onde:

TituloDescriçãoParâmetroOpçõesValor para IntegraçãoValidaçã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 Módulo SIGAOMS 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 criadas 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 veículos criados no Protheus automaticamente no Cockpit Logístico.MV_CPLTPV Sim / 1 
Endereço WebServiceEndereço do webservice do Cockpit Logístico.MV_CPLURL Conforme clienteDeve ser obrigatoriamente preenchido quando MV_CPLINT == "1"
RegionalRegional enviada para o Cockpit Logístico.MV_CPLREG Conforme clienteDeve ser obrigatoriamente preenchido quando MV_CPLINT == "1"
Embarcador

Código de um Embarcador do Cockpit Logístico.

Todos os Produtos integrados do módulo 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 clienteDeve 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 módulo 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ãoCó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 DadosDefine o nome do ERP que da origem aos dados enviados ao Cockpit Logístico.MV_CPLIDS ProtheusDeve ser obrigatoriamente preenchido quando MV_CPLINT == "1"
E-mail do AdministradorE-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 módulo 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 cargasQuando 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 gerada 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
languageactionscript3
titleappserver.ini
collapsetrue
;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:

  1. Administração > Integração, selecione a pasta '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 módulo SIGAOMS, podem ser enviados automaticamente ao Cockpit Logístico, para isso, deve ser configurada a execução automática (Schedule) da rotina Envio de Pedidos de Venda (OMSXCPL6), está 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
languagejava
themeEclipse
titleappserver.ini
collapsetrue
[OnStart]
jobs=FWSCHDMANAG,FWSCHDQUEUE
RefreshRate=60
[FWSCHDMANAG]
Main=FWSCHDMANAG
Environment=<ambiente>
[FWSCHDQUEUE]
Main=FWSCHDQUEUE
Environment=<ambiente>

Instalação/Atualização

Nota
titleNota:
Vide tópico Pré-requisitos instalação/implantação/utilização.

Protheus

Nota
titleNota:
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.

Informações
titleObservaçã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

02FornecedorProtheusCockpit LogísticoLocalityAcquisitionService
03ProdutosProtheusCockpit LogísticoProductAcquisitionService
04Empresas/FiliaisProtheusCockpit LogísticoLocalityAcquisitionService
05Tipo de Veículo SIGAOMSCockpit LogísticoVehicleAcquisitionService
06Cliente ProtheusCockpit LogísticoupdateLocalities

Processos

07

Enviar viagens

Cockpit Logístico

SIGAOMS

ReleaseTripPublishRequestService

08

Liberar Viagens

SIGAOMS

Cockpit Logístico

UnblockReleasedTripAcquisition

09Montagem de CargaSIGAOMSCockpit LogísticoUnblockReleasedTripAcquisitionService
10Pedido de VendasSIGAOMSCockpit LogísticoOrderAcquisitionService
11Cancelar Pedido de VendasSIGAOMSCockpit LogísticoOrderAcquisitionService

Fluxo das Informações

Os cadastros devem ser realizados no módulo SIGAOMS 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) ProtheusCódigo (Alías)Web ServiceMétodoEntidade CockpitObservações
FornecedorSA2LocalityAcquisitionServiceupdateLocalitiesLocalidade Os fornecedores são enviados ao CPL como localidades quando a integração partir do SIGAOMS, devido a geração de pedido de venda do tipo "Beneficiamento" e "Devolução".
TransportadoraSA4CarrierAcquisitionServiceupdateCarriersTransportador 
Pedido de VendaSC5 / SC6 / SC9 / SB1 / SB5OrderAcquisitionServiceCreate OrdersPedidos de Transporte 
Montagem de CargaDAK / DAIUnblockReleasedTripAcquisitionService  Desbloqueio da ViagemConfirmação da inclusão da Carga no OMS, retorno ao CPL para o desbloqueio da viagem.
ProdutoSB1 e SB5ProductAcquisitionService

updateProducts

Produto 
FilialSM0 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 VehicleAcquisitionServiceupdateVehiclesVeí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 ProtheusTag XMLCampo Cockpit LogísticoObservaçõ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 ProtheusTag XMLCampo Cockpit LogísticoObservaçõ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_ESTaddressStateAcronym UF  
"BR" ou YA_SIGLA addressCountryAcronym País Acessar a tabela SYA pelo campo A1_PAIS. Quando A1_PAIS estiver 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 ProtheusTag XMLCampo Cockpit LogísticoObservações
MV_CPLREGregionSourceIdRegional 
"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 addressCityCidade  
M0_ESTENTaddressStateAcronym UF  
"BR" ou YA_SIGLA addressCountryAcronym País Acessar a tabela SYA pelo campo M0_PAIS. Quando M0_PAIS estiver em branco ou igual a 105, atribuir "BR". 
"1" logisticRoleId Tipo 1=Ambos

 

Mensagem de integração dos registros do cadastro de "Produto"

Campo ProtheusTag XMLCampo Cockpit LogísticoObservaçõ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 ProtheusTag XMLCampo Cockpit LogísticoObservações
MV_CPLREGregionSourceId Regional 
"FOR-" + RTRIM(SA2->A2_COD) + "-" + RTRIM(SA2->A2_LOJA)identifierCódigoSerá adicionada a sigla "FOR" para composição do código para identificação que se trata de um fornecedor para uso como uma localidade, devido aos pedidos de beneficiamento do OMS.
A2_NREDUZnameNome 
A2_NOMEdescriptionDescrição 
A2_ENDaddressStreetEndereço 
 addressNumberObtido por meio do campo A2_END
A2_COMPLEMaddressComplement Complemento 
A2_BAIRROaddressDistrict Bairro  
A2_CEPaddressZipCodeCEP  
A2_MUNaddressCity Cidade 
A2_ESTaddressStateAcronym UF 
A2_PAIS / "BR" ou YA_SIGLAaddressCountryAcronymPaísQuando A2_PAIS estiver 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 ProtheusTag XMLCampo Cockpit LogísticoObservações
MV_CPLREGregionSourceIdIdent. Regional 
A4_CODidentifierID da transportadora (Código) 
A4_NREDUZnameNome da Transportadora 
A4_NOMEdescriptionDescrição da Transportadora 

 

Mensagem de integração dos registros do cadastro de "Pedido de Venda"

Campo ProtheusTag XMLCampo Cockpit LogísticoObservações
MV_CPLREGregionSourceId 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)codeCódigo do Ped. Transp. 
"0"priority Prioridade 
Date()erpCreationDt Data CorrenteData de criação do pedido.
Date()pickupStartJanela Embarque 
Date() ou C5_FECENTdeliveryStartJanela EntregaData corrente ou data informada no pedido de venda.
Date() ou C6_ENTREG ou C9_DATENT deliveryEnd Janela Entrega 
C9_PEDIDOorderId ID do Pedido de Transporte 

RTRIM(SC5->C5_FILIAL)+"-"+RTRIM(SC5->C5_NUM) +  C9_ITEM

sourceId  
C9_PRODUTOproductId Produto 
C9_QTDLIB quantityQuantidade total de unid. 
C9_PRCVEN priceValor Total de unid. De prod. 
"FIL-" + RTRIM(SC5->C5_FILIAL)originIdOrigem Inicial 
"CLI-" + RTRIM(SC5->C5_CLIENT) + "-" + RTRIM(SC5->C5_LOJAENT)destinationIdID da Localidade de destino do Pedido 
C9_QTDLIB quantityInShipmentUnits   
B5_ALTURLCheight 

Quando houver relacionamento com o B1_PRODUTO, quando vazio será enviado por default o contéudo = 0.001

B5_LARGLCwidth Quando vazio, por default o contéudo enviado será = 0.001
B5_COMPRLClength Quando vazio, por default o contéudo enviado será = 0.001
B1_PESO ou B1_PESBRUweight  

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_CPLEMBshipperIdID do Embarcador 
"1"modalID do modal do pedido de transporteEnviar valor fixo 1 - Rodoviário.
C5_TPFRETEincoterm Sendo o conteúdo C = 1 e F = 0 para o CPL, quando o campo for vazio iremos passar sempre 1.
MV_CPLINVshipmentUnitWrapperCodeInvólucro de embarque 

 

Mensagem de integração das viagens geradas no CPL para posterior geração das Cargas no módulo SIGAOMS, utilizando a operação publishReleasedTrip:

Campo ProthuesTag XMLCampo Cockpit LogísticoObservações
DK0_IDCESTAbasketSourceIdID Cesta 
DK0_REGIDregionSourceIdIdentificador Regional 
DK0_VIAGIDidentifierID da Viagem 
DK0_TRANSPcarrierIdID Transportadora da Viagem 
DK0_TIPVEIvehicleIdID do Tipo de Veículo da Viagem 
DK0_DESTIPvehicleDescriptionDescrição do tipo de veículo da viagem 
DK0_PLACAtruckLicensePlatePlaca do caminhão da viagem 
DK0_ESTPLAtruckStateLicensePlateEstado da placa do caminhão da viagem 
DK0_QTDEIXtruckAxlesQuantityNúmero de eixos do caminhão 

 

Mensagem dos itens (Pedidos) do CPL - deliveryUnit

Campo ProtheusTag XMLCampo Cockpit LogísticoObservações
DK1_UNIDIDidentifier  
DK1_REGIDRegionalSourceIdRegional 
DK1_VIAGIDViagemViagem CPL 
DK1_PEDROTorderSourceIdPedido CPL 
DK1_PRODUTOproductSourceIdProduto 
DK1_QTDquantityQuantidade   
DK1_PRECOpricePreço 
DK1_DATENTdeliveryDateDt/Hr Entrg  
DK1_ORIGEMintegrationSourceID da origem de dados 

Processos

Foi realizado tratamento na rotina Carga de Dados (OMSXCPL2), para a carga de dados do módulo 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 Envio de Pedidos de Venda (OMSXCPL6), que permite a seleção e envio de pedidos de vendas criados no módulo SIGAOMS para o CPL gerando pedidos de transporte, e uma nova rotina Monitor de Cargas (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 CarrierAcquisitionServiceesses 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 ProductAcquisitionServiceesses 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 VehicleAcquisitionServiceesses 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 OrderAcquisitionServiceesses dados por sua vez geram no CPL Pedidos de transporte e poderão ser visualizados emPROGRAMAÇÃO > Analise, deve-se filtrar os dados da cesta geral.

No módulo 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. 


Cargas

Tipo de Fluxo: Cockpit LogísticoProtheus

Mensagem: ReleaseTripPublishRequestService

Versão: 1.000

O Cockpit Logístico envia as viagens geradas para o módulo 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 módulo 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)

Nota
titleNota:

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.