Histórico da Página
...
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 para instalação/implantação/utilização
...
Parametrização SIGAOMS
Por meio do menu Atualizações > CockPit Logístico > Param Integração (OMSXCPL1), deve ser parametrizado o Protheus para o 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 Módulo 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 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 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 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 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) se 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. |
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 NFs 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 | 1=Impedir;2=Alertar | Alterar / 2 |
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 gerada manualmente a carga. | MV_CPLAUT | 1=Automático;2=Manual | Manual / 2 |
Informações | ||
---|---|---|
| ||
Os parâmetros na tabela abaixo devem ser preenchidos apenas se o cliente for fazer uso do protocolo de segurança HTTPS para integração com a NEOLOG, sendo necessário configurar o APPSERVER do Protheus. Para mais informações consulte os links: http://tdn.totvs.com.br/pages/viewpage.action?pageId=135496188 , http://tdn.totvs.com.br/pages/viewpage.action?pageId=6064865 |
Título | Descrição | Parâmetro | Tipo | Conteúdo | Opções |
---|---|---|---|---|---|
Endereço do web service de autenticação | Endereço do web service de autenticação | MV_CPLUAUT | Caractere |
Dever ser preenchido pelo usuário | |||
Armazena o token recuperado | Armazena o token recuperado da autenticação com a Neolog | MV_TOKCPL | Caractere |
Preenchimento automático pelo sistema | |||
Armazena a data / hora da última recuperação de token | Armazena a data / hora da última recuperação de token | MV_DTTOK | Caractere |
Preenchimento automático pelo sistema | |||||
Quantidade de horas para considerar que um token expirou | Quantidade de horas para considerar que um token expirou | MV_EXPTOK | Numérico | 24 | Deve ser preenchido pelo usuário, conteúdo em horas. O token possui validade máxima de 24 horas. |
Usuário de autenticação do web service | Usuário de autenticação do web service | MV_USRCPL | Caractere |
Deve ser preenchido pelo usuário | |||
Senha de autenticação do web service | Senha de autenticação do web service | MV_PSWCPL | Caractere |
Deve ser preenchido pelo usuário |
...
Parametrização appServer.ini exemplo de uso para configuração com o protocolo HTTP:
Para que seja possível receber as viagens do Cockpit Logístico, é necessário configurar um WebService no appserver.ini Protheus.
...
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 criada 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 o 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 o 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.
...
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 | Título Campo Protheus | Tag XML | Campo Cockpit Logístico | Observações |
MV_CPLREG | regionSourceId | Regional |
"CLI-" + RTRIM(SA1->A1_COD) + "" + RTRIM(SA1>A1_LOJA) | CLI + Código + Loja | identifier | Código |
A1_NREDUZ | N Fantasia | name | Nome |
A1_NOME | Nome | description | Descrição |
A1_END | Endereco | addressStreet | Endereço |
addressNumber | Nº | Obter o conteúdo usando a função LjFiGetEnd sobre o campo A1_END | ||
A1_COMPLEM | Complemento | addressComplement | Complemento |
A1_BAIRRO | Bairro | addressDistrict | Bairro |
A1_CEP | CEP | addressZipCode | CEP |
A1_MUN | Municipio | addressCity | Cidade |
A1_EST | Estado | addressStateAcronym | UF |
"BR" ou YA_SIGLA | addressCountryAcronym | País | Acessar a tabela SYA pelo campo A1_PAIS. Quando o campo 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 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 o campo 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 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á adicionada 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 o campo 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 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. | ||
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 Carga de Dados (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 Envio de Pedidos de Venda (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 Monitor de Cargas (OMSXCPL7) que monitora e recebe as viagens geradas no CPL para posterior geração de carga e liberação no Protheus.
...