Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais 

Especificação

Produto

Microsiga Protheus

Módulo

SIGAOMS

Segmento Executor

 

Projeto1

LOGTMS01

IRM1

LOGTMS01-69

Requisito1

 

Subtarefa1

 

Chamado2

 

País

( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

 

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

Objetivo

Integrar o módulo Gestão de Distribuição (SIGAOMS) com a funcionalidade de 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). Apenas o envio dos cadastros irão ocorrer de forma Assíncrona, o envio dos processos serão Síncronos. 

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 esta integração serão 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.

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. 

Os cadastros básicos serão utilizados os já disponibilizados na integração entre o SIGATMS x Cockpit Logístico.

São eles: 

  • Produto,
  • Filial,
  • Cliente,
  • Tipo de Veículo,
  • Fornecedores.

Será disponibilizado apenas um novo cadastro para a integração "Transportadoras". O cadastro de fornecedor deverá ser 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 será realizada a integração dos pedidos de venda que utilizam "Cargas", os pedidos de venda deverão ser enviados para o Cockpit Logístico gerando "Pedidos de Transportes", ao qual o Cockpit Logístico irá realizar a análise e geração da viagem. 

Após a geração da viagem no Cockpit Logístico, deverá ocorrer a integração com o SIGAOMS para a geração das Cargas. 

 

Definição da Regra de Negócio 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

OMSXCPL

Alteração

Não é executado via menu

Programa "proxy" que intermedia o envio de dados do Protheus para o Cockpit Logístico.

OMSXCPL1

Alteração

Atualizações -> Cockpit Logistico -> Param. Integração

Programa que disponibiliza para edição dos usuários, os parâmetros (SX6) usados na integração.

OMSXCPL2

Alteração

Atualizações -> Cockpit Logistico -> Carga de Dados

Programa que possibilita o envio dos cadastros em lote.

OMS11R103CriaçãoNão é executado via menuPrograma compatibilizador de Dicionário de Dados.
MATA020AlteraçãoAtualizações -> Cadastros - > Fornecedores 
MATA050AlteraçãoAtualizações -> Cadastros -> Transportadoras 
MATA410EnvolvidoAtualizações-> Pedidos -> Pedidos de Venda 
MATA461AlteraçãoAtualizações-> Faturamento -> Doc.saida - CargaPrograma gerador de documento de saída por carga.
FATXFUNAlteraçãoNão é executado via menu 
OMSA200AlteraçãoAtualizações-> Cargas -> Montagem de Carga 
OMSXCPL6CriaçãoAtualizações -> Cockpit Logistico -> Envio de Pedidos de VendaPrograma para seleção e envio dos pedidos de venda ao Cockpit Logístico.
OMSXCPL7CriaçãoAtualizações -> Cockpit Logistico -> Monitor de CargasPrograma que permite consultar os dados enviados pelo Cockpit Logistico e as cargas geradas no SIGAOMS.
TMSXFUNWAlteraçãoFunção GenéricaPrograma responsável por receber o XML da viagem do Neolog - API de Integração.
TMSXWSAlteraçãoWeb Service IntegraçãoPrograma que disponibiliza os clientes de Web Service a serem executados pelo Cockpit Logístico.
SPEDMDFEAlteraçãoAtualizações -> Faturamento -> Mdf-ePrograma responsável pela geração e envio do Mdf-e das notas fiscais de saída.
MATA521AlteraçãoAtualizações -> Faturamento -> Excl.saida - CargaPrograma responsável pelo estorno de documentos de saída.

Alterar a rotina OMSXCPL para permitir o envio do cadastro de "Transportadora" e "Fornecedores" para o Cockpit Logístico, montando a mensagem de integração (XML) dos dados cadastrados no SIGAOMS. Utilizando a mensagem esperada pelo método "update" do Web Service do Cockpit Logístico. O cadastro de fornecedor deverá ser utilizado como uma localidade devido a geração de pedidos de venda do tipo "beneficiamento" ou "devolução de compras", qual é gerado um pedido para um fornecedor "SA2".

Entidade(s) ProtheusCódigo(Alias)Web ServiceMétodoEntidade CockpitObservações
FornecedorSA2LocalityAcquisitionServiceupdateLocalitiesLocalidade 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".
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.

A integração da operação de eliminação de registros não está disponível para todos os cadastros, por isso somente haverá integração nas ações de alteração e inclusão, limitação do Cockpit Logístico.

A seguir, são listadas as correspondências entre os campos de cada entidade e as tags da sua respectiva mensagem de integração.

Mensagem de integração dos registros do cadastro de "Fornecedor".

Observação:   

Não será realizado tratamento para os processos de "Redespacho", ao qual a transportadora opera como sendo uma localidade. Para seu atendimento, se faz necessária modificações no padrão do SIGAOMS e que não serão contemplados nessa versão da integração.

Campo ProtheusTag XMLCampo CockpitObservações
MV_CPLREGregionSourceId Regional 
"FOR-" + RTRIM(SA2->A2_COD) + "-" + RTRIM(SA2->A2_LOJA)identifierCódigoSerá 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_NREDUZnameNome 
A2_NOMEdescriptionDescrição 
A2_ENDaddressStreetEndereço 
 addressNumberObter o conteúdo usando a função LjFiGetEnd sobre o campo A2_END.
A2_COMPLEMaddressComplement Complemento  
A2_BAIRROaddressDistrict Bairro  
A2_CEPaddressZipCodeCEP  
A2_MUNaddressCity Cidade 
A2_ESTaddressStateAcronym UF 
A2_PAIS / "BR" ou YA_SIGLAaddressCountryAcronymPaísAcessar a tabela SYA pelo campo A2_PAIS. Quando o campo A2_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 "Transportadora"

Campo ProtheusTag XMLCampo CockpitObservaçõ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 CockpitObservaçõ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_PRODUTO + B1_FILIALproductId 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 


Envio Pedido de Venda (OMSXCPL6) 

Criar um programa que permita 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, somente pedidos com o campo "Carga" (C5_TPCARGA) configurados igual a 1 = Utiliza

As colunas que irão compor a tela para seleção dos pedidos de venda para envio ao CockPit Logístico são:

  • Status do Pedido (Legenda).
  • Situação CPL (C6_INTROT) - Criar legenda, apresentando os status do campo.
  • Filial (C9_FILIAL)
  • Pedido (C9_PEDIDO)
  • Item (C9_ITEM)
  • Cliente (C9_CLIENTE)
  • Loja (C9_LOJA)
  • Nome Cliente (A1_NOME)
  • Produto (C9_PRODUTO)
  • Qtd liberada (C9_QTDLIB)
  • Data Liberação (C9_DATALIB)
  • Data Entrega (C9_DATENT)

Deverá ser disponibilizada ao usuário uma lista de pergunte (SX1) para filtro dos pedidos, o pergunte deverá ser apresentado na abertura do programa, antes de apresentar a lista dos pedidos de venda em tela. Após a apresentação da tela base, o usuário poderá refazer a seleção utilizando a ação relacionada "Parâmetros"; ao acioná-la o "pergunte" é novamente apresentado, possibilitando nova seleção de pedidos.

  • Filial De
  • Filial Até
  • Pedido De
  • Pedido Até 
  • Emissão De
  • Emissão Até
  • Data Liberação De
  • Data Liberação Até
  • Cliente De
  • Loja De
  • Cliente Até 
  • Loja Até 
  • Data de Entrega De
  • Data de Entrega Até
  • Tipo do Pedido de Venda
  • Estado De 
  • Estado Até
  • Município De 
  • Município Até

Após a seleção inicial, o usuário poderá selecionar manualmente, um ou mais registros para integração (seleção múltipla). 

Deverá ser disponibilizada uma opção de envio dos pedidos de venda, dispostos na tela com a lista dos registros selecionados. Além desta opção, deverá ser disponibilizada as seguintes opções:

  • Enviar Dados (CPL)
  • Desatualizar (CPL) - Por meio desta opção, será possível realizar o cancelamento de um pedido enviado ao Cockpit Logístico ao qual não deseja mais que seja realizada a roteirização. Assim, será realizado o cancelamento do pedido apenas no CPL, permanecendo no OMS como um pedido liberado. 
  • Marcar / Desmarcar Todos
  • Consultar Pedido
  • Consultar Cliente

Será disponibilizado três novos campos na tabela de Pedidos (SC6): 

  • Integração Roteirizador (C6_INTROT): Este campo irá gravar a situação atual da integração do pedido de venda no Cockpit Logístico contendo as opções Não Integrado, Integrado e Falha de Integração e deverá ser disponibilizada uma legenda na tela para o status do campo. 
    • 1 = Não Integrado - Legenda (Amarelo).
    • 2 = Integrado - Legenda (Verde).
    • 3 = Falha de Integração - Legenda (Vermelho).
  • Data da Integração (C6_DATCPL): Data em que ocorreu a integração do pedido de venda com o Cockpit Logístico. 
  • Hora da Integração (C6_HORCPL): Hora em que ocorreu a integração do pedido de venda com o Cockpit Logístico. 

Envio Pedido de Venda por agendamento (SCHEDULE)

Os pedidos de venda poderão ser enviados ao Cockpit Logístico de forma automática por meio de um agendamento (schedule) da rotina Envio de Pedidos de Venda (OMSXCPL6) no configurador.

Somente serão enviados via schedule pedidos de venda com o campo C6_INTROT igual a 1 - "Não Integrado". Pedidos com falhas deverão ser reenviados pela rotina de Envio de Pedidos de Venda (OMSXCPL6) de forma manual.

 

Quebra de Pedido de Venda: 

Os pedidos de venda enviados ao CPL não poderão sofrer quebras, uma vez que o pedido foi liberado no SIGAOMS, o CPL deverá respeitar esta quantidade para a formação da viagem. 


Envio do Cancelamento do pedido de venda para o CockPit Logístico:

Para realizar o cancelamento do pedido no CPL, deverá ser verificado se o campo C6_INTROT está preenchido com conteúdo igual a 2 - integrado

Cancelamento via rotina MATA460:

  • 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 na tabela SC9, deverá ser realizado o envio do cancelamento ao CockPit Logístico.

Cancelamento via rotina 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 na SC9, assim deverá ser 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 na tabela SC9 e recria um novo registro com as informações da alteração. Assim, deverá ser realizado o envio do cancelamento para o Cockpit Logístico e o envio de um novo pedido liberado. 


Monitor Montagem de Carga (OMSXCPL7)

O Cockpit Logistico terá a função de enviar as viagens geradas para o SIGAOMS para a formação das Cargas. O envio é realizado pela chamada do WebService ReleaseTripPublishRequestService, assim devemos criar um programa monitor para receber estas viagens. O programa deverá ser composto de cabeçalho e itens. O cabeçalho irá possuir as informações referente a viagem gerada no "Cockpit logístico" e os itens serão compostos pelos dados do pedido de transporte que compõem a viagem. 

A rotina terá uma opção de marcação dos registros e um botão "Gera Carga". Quando selecionado, deverá chamar a rotina Cargas (OMSA200), por meio de MsExecAuto para geração das Cargas.  

 

Liberação de Viagem

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), deverá ser enviada ao Cockpit uma mensagem de retorno com a confirmação da gravação da Carga e documento de saída, assim o Cockpit confirmará a viagem gerada, este retorno será realizado pelo WebService publishReleasedTripResponse, mensagem UnblockReleasedTripAcquisition. O retorno poderá ocorrer de forma automática após a geração da Nota Fiscal de Saída, desde que configurado o novo parâmetro MV_CPLLVA (Libera viagem automático) como Verdadeiro, se configurado como falso a liberação irá ocorrer por meio da opção "Liberar Viagem" na rotina OMSXCPL7.

O envio será realizado sem validar se a NFE encontra-se ou não autorizada, pois esse processo poderá ocorrer em um segundo momento após a integração.

Qualquer tipo de necessidade de acompanhamento ou monitoramento da situação da viagem, deverá ser realizado via Cockpit Logístico.  

Campos que irão compor a interface de Viagens do Cockpit Logistico (Cabeçalho) tabela DK0:

  • Filial (DK0_FILIAL)
  • Regional (DK0_REGID)
  • Situação Cockpit (DK0_SITINT)
  • Viagem Roteirizador (DK0_VIAGID)
  • Transportadora Roteirizador (DK0_TRANSP)
  • Cesta Roteirizador (DK0_IDCESTA)
  • Tipo Veículo (DK0_TIPVEI)
  • Desc. Tipo Veic. (DK0_DESTIP)
  • Placa Veic. (DK0_PLACA)
  • UF Placa (DK0_ESTPLA)
  • Qtd. Eixos (DK0_QTDEIX)
  • Data Integ. (DK0_DATINT)
  • Hora Integ. (DK0_HORINT)
  • Carga (DK0_CARGA)

Campos interface Pedidos do Cockpit Logístico (Itens) tabela DK1: 

  • Filial (DK1_FILIAL)
  • Regional (DK1_REGID)
  • Viagem Roteirizador (DK1_VIAGID)
  • Unid. Transp. (DK1_UNIDID)
  • Filial Pedido OMS (DK1_FILPED)
  • Número Pedido OMS (DK1_PEDIDO)
  • Item do Pedido OMS  (DK1_ITEMPED)
  • Produto (DK1_PRODUT)
  • Quantidade (DK1_QTD)
  • Preço (DK1_PRECO)
  • Data / Hora Entrega (DK1_DATENT)
  • Pedido Roteirizador (DK1_PEDROT)

Montagem de Cargas (OMSA200)

A rotina de geração de cargas deverá ser preparada para geração de dados via rotina automática (MsExecAuto). 

Será criado na tabela "Cargas" (DAK) um novo campo "Viag. Rot." (Viagem Rot.), para controlar se a carga foi gerada por meio da integração, neste campo será gravado o número da viagem gerada no Cockpit Logístico.

Ao realizar a gravação da carga na rotina OMSA200, deverá ser realizada a gravação do número da carga gerada no campo (DK0_CARGA). 

Quando a carga se referir a integração com o Cockpit Logístico, estes registros no SIGAOMS não poderão sofrer modificações, bloqueando algumas opções no menu. 

  • Manutenção de Cargas: Deverá ser verificado se a carga refere-se a uma carga gerada pela integração, se for devemos apresentar uma mensagem ao usuário informando "Carga gerada pela integração com o Cockpit Logístico, manutenção não permitida".
  • Agrupa: O agrupamento entre cargas, não deverá ocorrer quando uma das cargas selecionadas for de integração com o Cockpit, assim deverá ser apresentada uma mensagem ao usuário informando "Carga gerada pela integração com o Cockpit Logístico, agrupamento não permitido".
  • Associa Veículo: Ao associar um veículo, deverá ser realizado um tratamento para verificar se o tipo do veículo que está sendo informado é o mesmo tipo enviado pelo Cockpit Logístico. Realizar tratamento na rotina para utilizar o parâmetro MV_CPLTVO (Tipo Veículo Otimização), se configurado com a opção 1 = Impedir, irá impedir que seja informado um veículo de tipo diferente na carga, se configurado com 2 = Alertar, irá apresentar um alerta ao usuário que o tipo de veículo informado é diferente do enviado no CockPit Logístico. 
  • Estorno: Não poderá ser realizado o estorno de cargas geradas pela integração com o Cockpit, assim deverá ser apresentada uma mensagem ao usuário informando "Carga gerada pela integração com o Cockpit Logístico, estorno não permitido." Havendo a necessidade do estorno / cancelamento de uma carga gerada pela integração com o Cockpit Logístico, este cancelamento deverá ocorrer no Cockpit e então o CockPit deverá enviar o cancelamento para o SIGAOMS. Porém, este cancelamento só poderá ocorrer desde que a carga esteja com o status "Totalmente em Aberto" no SIGAOMS

 

Mdf-e por carga

Será disponibilizado no menu do OMS a funcionalidade Mdf-e por Carga, permitindo a geração e envio dos manifestos das notas fiscais de saída. Facilitando a pesquisa e associação das notas fiscais, atualmente o sistema permite a pesquisa apenas das notas fiscais vinculadas ao veículo. Com a melhoria será possível gerar o manifesto eletrônico para todas as notas fiscais da carga.

Para emitir o Mdf-e por Carga é necessário que exista um veículo associado a "Carga" e o serviço do TSS configurado. 

Na rotina Mdf-e será disponibilizado um novo campo "Carga" (CC0_CARGA) e uma consulta por cargas, na consulta serão apresentadas apenas as cargas que possuem veículo associado. 

Para criar a tabela CC0 (Manifesto Documentos Fiscais), caso o cliente ainda não utilize o Mdf-e, é necessária a execução do update NFE11R157 da Nota Fiscal eletrônica.

 

Recebimento das Viagens (API Integração - TMSXFUNW)

Este é o programa responsável para realizar o recebimento do XML de viagens geradas no Cockpit Logístico via JOB, e realizar a gravação dos dados no monitor de viagens (OMSXCPL7). 

Realizar a conversão do XML, para uma viagem recebida e criar a Carga no OMS. Permitir realizar o cancelamento da viagem excluindo o movimento no CPL.  

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

Campo ProtheusTag XMLCampo CockpitObservaçõ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 CockpitObservações
DK1_UNIDIDidentifier  
DK1_REGIDRegionalSourceIdRegional 
DK1_VIAGIDViagemViagem CPL 
DK1_PEDROTorderSourceIdPedido CPL 
DK1_PRODUTproductSourceIdProduto 
DK1_QTDquantityQuantidade   
DK1_PRECOpricePreço 
DK1_DATENTdeliveryDateDt/Hr Entrg  
DK1_ORIGEMintegrationSourceID da origem de dados 

 

TMSXWS - Web Service Integração

Com a integração entre o SIGAOMS e o Cockpit Logístico, será necessário realizar tratamento na rotina TMSXWS, para permitir a utilização do módulo SIGAOMS alterando a função TMSXSTART, a qual seta atualmente apenas o módulo SIGATMS e inicializa o ambiente. 

Alterar a chave do INI do AppServer TMSPREPAREIN passando como terceiro parâmetro o módulo. 

 

OMSXCPL1 - Parâmetros Integração

Deverá ser ajustado o item aListaOMSX para enviar os dados de transportadoras e fornecedores quando da integração com o SIGAOMS. Criar um novo folder para os parâmetros que serão disponibilizados para a integração entre o SIGAOMS e o Cockpit Logístico

Bloquear o folder SIGATMS, caso o parâmetro MV_INTTMS esteja desabilitado, evitando assim a configuração desnecessária de parâmetros. 

Criar o novo parâmetro MV_CPLTRA - Integrar Transportadora On Line e disponibilizar no Folder "Geral" no item de "Integração".

Criar o novo parâmetro MV_CPLLVA - Libera viagem automático e disponibilizar no Folder "SIGAOMS".

Parâmetros utilizados para a integração já existentes: 

ParâmetroTipoDescriçãoConteúdo PadrãoOpçãoValidaçãoAplicação
MV_CPLINT Integração Cockpit Logístico?21=Sim;2=Não Indica se a integração está ativa.
MV_CPLURL Endereço WebService  Deve ser obrigatoriamente preenchido quando MV_CPLINT == "1"URL dos Web Services do Cockpit Logístico utilizados pelo TMS / OMS para envio de dados.
MV_CPLREG Regional  Deve ser obrigatoriamente preenchido quando MV_CPLINT == "1"Código da Regional da instalação do Cockpit Logístico que está integrado ao TMS / OMS.
MV_CPLEMB Embarcador  Deve ser obrigatoriamente preenchido quando MV_CPLINT == "1"Código de um Embarcador do Cockpit Logístico.
MV_CPLCAT Categoria de Produto21=Grupo Produto;2=Padrão Cockpit   
MV_CPLINV Invólucro Padrão    
MV_CPLIDS Origem dos DadosPROTHEUS  Deve ser obrigatoriamente preenchido quando MV_CPLINT == "1" 
MV_CPLMAL E-mail administrador    
MV_CPLDBG Modo Debug    
MV_CPLLOG Caminho da pasta de Mensagens    
MV_CPLCLI Integrar Clientes On Line    
MV_CPLFOR Integrar Fornecedores On Line    
MV_CPLPRO Integrar Produtos On Line    
MV_CPLTPV Integrar Tipos de Veículo On Line    
MV_CPLTVO Tipo Veículo Otimização? 1=Impedir;2=Alertar 

Quando for 1 = Impedir - No vínculo 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_CPLAUT Geração das cargas 1=Automático;2=Manual 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_CPLLVA Liberação automática da viagem? 1=Sim;2=Não Quando for 1 = Sim - As viagens vindas do CPL são liberadas automaticamente pelo SIGAOMS.
Quando for 2 = Não - As viagens devem ser liberadas manualmente. 

 

OMSXCPL2 - Carga de Dados para o Cockpit Logístico

Deverá ser 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. 

 

OMS11R103 - Update

Deverá ser disponibilizado um novo fonte de update que permita atualizar o dicionário de dados do cliente para contemplar os novos campos e tabelas referente a integração entre o OMS x CPL, o update será composto pela criação dos seguintes itens: 

  • SX2 (Tabelas)
    • DK0
    • DK1
    • DJW
  • SX3 (Campos)
  • SIX (Índices)
  • SX1 (Pergunte)
    • OMSXCPL6


Protótipo de Tela

 Protótipo 01

 Carga de Dados 


Fluxo do Processo


 Cancelamento de Pedido de venda integrado ao CPL


Mapa mental do processo de cadastro


 

 

Dicionário de Dados

 

Arquivo ou Código do Script: DK0 – Viagem CPL   

Índice

Chave

01

DK0_FILIAL+DK0_REGID+DK0_VIAGID

02DK0_FILIAL+DK0_CARGA

Campo

DK0_FILIAL

Tipo

C

Tamanho

2

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Filial

Título

Filial

Grupo SXG

033

Help de Campo

Filial do sistema 

Campo

DK0_REGID

Tipo

C

Tamanho

30

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

RegionSourceId

Título

Regional

Grupo SXG

 

Tipo

Visualizar
ContextoReal
Help de CampoRepresenta a tag regionsourceid do xml de documentos

Campo

DK0_VIAGID

Tipo

Caracter

Tamanho

10

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Identifier

Título

Viagem CPL

Tipo

Visualizar

Contexto

Real 

Help de CampoNúmero da Viagem gerada no Cockpit Logístico

Campo

DK0_TRANSP

Tipo

C

Tamanho

30

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

carrierId

Título

Transp CPL

Grupo SXG

 

Tipo

 

Visualizar
ContextoReal
Help de CampoCódigo da transportadora (terceiro) informada no CPL para realização da entrega da carga.

Campo

DK0_IDCESTA

Tipo

C

Tamanho

30

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

basketSourceId

Título

Cesta

Tipo

Visualizar

Contexto

Real 


Help de Campo 

Campo

DK0_TIPVEI

Tipo

C

Tamanho

30

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

vehicleId

Título

Tipo Veículo

Tipo

Visualizar

Contexto

Real

Help de CampoCódigo do tipo de veículo cadastrado no CPL

Campo

DK0_DESTIP

Tipo

C

Tamanho

30

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

vehicleDescription

Título

Desc Tipo Veic

Tipo

Visualizar

Contexto

Virtual

Help de CampoDescrição do tipo de veículo cadastrado no CPL
Inic. PadrãoIf(Inclui,"",Posicione("DUT",1,xFilial("DUT")+DK0->DK0_TIPVEI,'DUT_DESCRI '))

Campo

DK0_PLACA

Tipo

C

Tamanho

10

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

truckLicensePlate

Título

Placa Veic

Tipo

Visualizar

Contexto

Real

Help de CampoCódigo da placa do veículo cadastrado no CPL

Campo

DK0_ESTPLA

Tipo

C

Tamanho

2

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

truckLicensePlateState

Título

UF Placa

Tipo

Visualizar

Contexto

Real

Help de CampoUF da placa do veículo cadastrado no CPL

Campo

DK0_DATINT

Tipo

D

Tamanho

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Data Integração

Título

Data Integr

Tipo

Visualizar

Contexto

Real

Relação

Date() 

Help de CampoData da integração da viagem gerada no CPL

Campo

DK0_HORINT

Tipo

C

Tamanho

 5

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Hora Integração

Título

Hora Integr

Tipo

Visualizar

Contexto

Real

Picture99:99
Help de CampoHora da integração da viagem gerada no CPL

Campo

DK0_CPLMSG

Tipo

N

Tamanho

10

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

messageId

Título

Id Mensagem

Tipo

Visualizar

Contexto

Real

Picture@E 9,999,999,999
Help de Campo 

Campo

DK0_CARGA

Tipo

C

Tamanho

6

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Codigo da Carga

Título

Cod. Carga  

Tipo

Visualizar

Contexto

Real

Picture@!
Help de CampoCódigo da Carga gerada no OMS após a efetivação da integração

Campo

DK0_MARK

Tipo

C

Tamanho

1

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Marca

Título

Marca  

Tipo

Visualizar

Contexto

Real

Picture@!
Help de CampoEste campo é utilizado para selecionarmos as viagens que serão geradas cargas

Campo

DK0_SITINT

Tipo

C

Tamanho

1

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Situacao Cockpit

Título

Sit. Integr

Tipo

Visualizar

Contexto

Real

Picture@!
ValidPertence("0123456")
CBox0=Recebida;1=Aguardando liberacao;2=Liberada;3=Falha liberacao;4=Reprogramada;5=Cancelada;6=Rejeitada
Help de CampoStatus da situação da viagem integrada ao Cockpit Logístico

Campo

DK0_CARGER

Tipo

C

Tamanho

1

Valor Inicial

1

Mandatório

Sim (  ) Não (  )

Descrição

Carga gerada

Título

Carga gerada

Tipo

Visualizar

Contexto

Real

Picture@!
ValidPertence("12")
CBox1=Carga Gerada;2=Carga não gerada
Help de Campo

Determina se foi gerada ou não a carga para a viagem correspondente, sendo as opções:
1 = Carga gerada.
2 = Carga não gerada.

ÍndiceChave
1DK1_FILIAL+DK1_REGID+DK1_VIAGID+DK1_UNIDID+DK1_ITEMPE
2DK1_FILIAL+DK1_FILPED+DK1_PEDIDO+DK1_ITEMPE

Campo

DK1_FILIAL

Tipo

C

Tamanho

2

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Filial

Título

Filial

Tipo

Visualizar

Contexto

Real

Grupo SXG033
Help de Campo 

Campo

DK1_REGID

Tipo

Tamanho

30 

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Regional 

Título

Regional

Tipo

Visualizar

Contexto

Real

Help de CampoCódigo da Regional do Cockpit Logístico

Campo

DK1_VIAGID

Tipo

Tamanho

10 

Mandatório

Sim (  ) Não (  )

Descrição

Viagem Roteirizador 

Título

Viag. Rot 

Tipo

Visualizar

Contexto

Real

Help de CampoNúmero da viagem gerada no roteirizador

Campo

DK1_UNIDID

Tipo

Tamanho

30 

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

identifier (delivery unit) 

Título

 ID. Unid. Transp.

TipoVisualizar

Contexto

Real

Picture 
Help de Campo 

Campo

DK1_ORITID

Tipo

Tamanho

30 

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

 orderItemSourceId

Título

 Rec. Item   

Contexto

 

Picture 
Help de Campo 

Campo

DK1_FILPED

Tipo

Tamanho

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Filial Pedido 

Título

Fil. Pedido 

Tipo

Visualizar

ContextoReal
Grupo SXG033
Help de CampoCódigo da filial do pedido de venda do Protheus

Campo

DK1_PEDIDO

Tipo

 C

Tamanho

 6

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

 Pedido Venda

Título

Pedido 

Tipo

 

Contexto

 

Picture 
Help de CampoCódigo do pedido de venda do Protheus

Campo

DK1_ITEMPED

Tipo

Tamanho

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Item Ped. Venda 

Título

Item Ped. 

Tipo

 Visualizar

Contexto

Real 

Picture 
Help de CampoItem do pedido de venda do Protheus

Campo

DK1_PRODUT

Tipo

Tamanho

30 

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Produto

Título

Produto 

Tipo

Visualizar

Contexto

Real

Grupo030
Help de CampoProduto

Campo

DK1_QTD

Tipo

N

Tamanho

16

Decimal

4

Mandatório

Sim (  ) Não (  )

Descrição

Quantidade  

Título

Quantidade  

Tipo

Visualizar

Contexto

Real

Picture@E 99,999,999,999.9999
Help de CampoQuantidade de produto do pedido

Campo

DK1_PRECO

Tipo

N

Tamanho

16

Decimal

4

Mandatório

Sim (  ) Não (  )

Descrição

Preço

Título

Preço

Tipo

Visualizar

Contexto

Real

Picture@E 99,999,999,999.9999
Help de CampoPreço

Campo

DK1_DATENT

Tipo

C

Tamanho

29

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Data / Hora Entrega 

Título

Dt/Hr Entrg 

Tipo

Visualizar

Contexto

Real

Picture 
Help de Campo 

Campo

DK1_PEDROT

Tipo

C

Tamanho

30

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Pedido Roteirizador

Título

Ped. Rot.

Tipo

Visualizar

Contexto

Real

Picture 
Help de Campo 

Campo

DK1_ORIGEM

Tipo

C

Tamanho

30

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Origem Int. 

Título

Origem Int. 

Tipo

Visualizar

Contexto

Real

Picture 
Help de Campo 

 

SC9 - Pedidos Liberados

Campo

C6_INTROT

Tipo

C

Tamanho

1

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Integracao Roteirizador

Título

Int. Rot. 

Tipo

Visualizar

Contexto

Real

ValidPertence("123")
Cbox1=Não Integrado;2=Integrado;3=Falha de Integração
Help de CampoStatus da integração do pedido de venda com o roteirizador Cockpit Logístico

Campo

C6_DATCPL

Tipo

D

Tamanho

8

Valor Inicial

 

Mandatório

Sim (  ) Não (  )

Descrição

Data da integracao

TítuloDt. Integ

Tipo

Visualizar

Contexto

Real

Help de CampoData da integração do pedido de venda ao roteirizador Cockpit Logístico

Campo

C6_HORCPL

Tipo

C

Tamanho

8

Picture

99:99:99

Mandatório

Sim (  ) Não (  )

Descrição

Hora Integracao

TítuloHr. Int

Tipo

Visualizar

Contexto

Real

Help de CampoHora da integração do pedido de venda ao roteirizador Cockpit Logístico

 

CC0 - Manifesto Documentos Fiscais

Campo

CC0_CARGA

Tipo

C

Tamanho

6

Picture

@!

Mandatório

Sim (  ) Não (X)

UsadoSim
BrowseNão

Descrição

Numero da Carga

Título

Carga

Tipo

Visual

Contexto

Real

Help de CampoNúmero da Carga gerada pelo OMS

 

DJW - Registros de Falhas CPL

ÍndiceChave
1DJW_FILIAL+DJW_CDREG
2DJW_TABELA+DJW_CHAVE
3DJW_TABELA+STR(DJW_RECTAB)
4DJW_FILIAL+DTOS(DJW_DATA)
5DJW_FILIAL+DJW_SITENV
6DJW_FILIAL+DJW_TPREG
ArquivoDJW
Ordem01

Campo

DJW_FILIAL

Tipo

C

Tamanho

2

Formato 

Título

Filial

Descrição

Filial

Nível01

Usado

Sim

Obrigatório

Não

Browse

Sim

TipoVisualizar

Contexto

Real

Grupo SXG033
HelpCódigo do registro de falha
ArquivoDJW
Ordem02

Campo

DJW_CDREG

Tipo

C

Tamanho

10

Formato9999999999

Título

Código

Descrição

Código Reg. Falha

Nível01

Usado

Sim

Obrigatório

Sim

Browse

Sim

TipoVisualizar

Contexto

Real

RelaçãoGetSxeNum("DJW","DJW_CDREG")
HelpCódigo do registro de falha
ArquivoDJW
Ordem03

Campo

DJW_TABELA

Tipo

C

Tamanho

03

Formato@!

Título

Tabela

Descrição

Tabela Originadora

Nível01

Usado

Sim

Obrigatório

Sim

Browse

Sim

HelpTabela que originou o registro de falha
ArquivoDJW
Ordem04

Campo

DJW_CHAVE

Tipo

C

Tamanho

250

Formato@!

Título

Chave Tab

Descrição

Chave Identificadora

Nível01

Usado

Sim

Obrigatório

Sim

Browse

Sim

HelpCódigo que identifica o registro na tabela
ArquivoDJW
Ordem05

Campo

DJW_RECTAB

Tipo

N

Tamanho

10

Formato9999999999

Título

Recno Tabela

Descrição

Recno Tabela Originadora

Nível01

Usado

Sim

Obrigatório

Sim

Browse

Não

HelpRecno da tabela originadora do registro de falha
ArquivoDJW
Ordem06

Campo

DJW_ACAO

Tipo

M

Tamanho

1

Título

Ação

Descrição

Ação
Nível01

Usado

Sim

Obrigatório

Sim

Browse

Sim

Opções1=Inclusão;2=Exclusão
Relação"1"
ValidaçãoPertence('12')
HelpIndica a ação do registro de falha
ArquivoDJW
Ordem07

Campo

DJW_USRREG

Tipo

C

Tamanho

50

Título

Usuário reg

Descrição

Usuário registro falha
Nível01

Usado

Sim

Obrigatório

Sim

Browse

Sim

RelaçãocUserName
HelpUsuário logado no momento do registro da falha
ArquivoDJW
Ordem08

Campo

DJW_DATA

Tipo

D

Tamanho

8

Título

Data reg

Descrição

Data registro falha

Nível01

Usado

Sim

Obrigatório

Sim

Browse

Sim

RelaçãoDATE()
HelpData da última movimentação do registro de falha
ArquivoDJW
Ordem09

Campo

DJW_HORA

Tipo

C

Tamanho

6

Formato@R 99:99:99

Título

Hora reg

Descrição

Hora registro da falha

Nível01

Usado

Sim

Obrigatório

Sim

Browse

Sim

RelaçãoTime()
HelpHora da última atualização do registro de falha
ArquivoDJW
Ordem10

Campo

DJW_TPREG

Tipo

C

Tamanho

1

Título

Tipo Reg

Descrição

Tipo Registro Falha

Nível01

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções0=Não Classificado;1=Erro conexão;2=Erro Transmissão
Relação"0"
ValidaçõesPertence("012")
HelpDescreve o tipo de registro de falha
ArquivoDJW
Ordem11

Campo

DJW_MSGREG

Tipo

M

Tamanho

10

Título

Msg Reg

Descrição

Mensagem Registro Falha

Nível01

Usado

Sim

Obrigatório

Sim

Browse

Não

HelpContém o motivo do registro de falha 
ArquivoDJW
Ordem12

Campo

DJW_SITENV

Tipo

C

Tamanho

1

Título

Sit Env Mail

Descrição

Situação envio email

Nível01

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções0=Não se aplica;1=Sucesso no envio;2=Falha no envio
Relação"0"
ValidaçãoPertence("012")
HelpSituação do envio de e-mail
ArquivoDJW
Ordem13

Campo

DJW_MSGENV

Tipo

M

Tamanho

10

Título

Msg Env Mail

Descrição

Mensagem envio email

Nível01

Usado

Sim

Obrigatório

Sim

Browse

Não

HelpDescrição do status do envio do email 

 

Consulta Padrão (SXB) - DAK1

Alias

DAK1

Tipo

1- Consulta

Sequência

01

Coluna

DB

Descrição

Cargas MDF-e

Alias

DAK1

Tipo

2 - Ordens

Sequência

01

Coluna

01

Descrição

Cod. Carga + Seq. Ca

Alias

DAK1

Tipo

4- Colunas

Sequência

01

Coluna

01

Descrição

Cod. Carga

Contêm

DAK_COD

Alias

DAK1

Tipo

4- Colunas

Sequência

01

Coluna

02

Descrição

Veiculo

Contêm

DAK_CAMINH

Alias

DAK1

Tipo

4- Colunas

Sequência

01

Coluna

03

Descrição

Motorista

Contêm

DAK_MOTORI

Alias

DAK1

Tipo

5- Retorno

Sequência

01

Contêm

DAK->DAK_COD

Alias

DAK1

Tipo

6- Filtro

Sequência

01

Contêm

DAK->DAK_CAMINH <> " "

Grupo de Perguntas

Nome: OMSXCPL6

X1_ORDEM01020304050607080910111213141516171819
X1_PERGUNTFilial DeFilial AtéPedido DePedido AtéEmissão DeEmissão AtéData Liberação DeData Liberação AtéCliente DeLoja DeCliente AtéLoja AtéData de Entrega De?Data de Entrega AtéTipo do Pedido de VendaEstado de Entrega De?Estado de Entrega Até?Município de EntregaMunicípio de Entrega Até?
X1_TIPOCCCCDDDDCCCCDDRCCCC
X1_TAMANHO2266888862628812255
X1_GSCGGGGGGGGGGGGGGGGGGG
X1_VAR01MV_PAR01MV_PAR02MV_PAR03MV_PAR04MV_PAR05MV_PAR06MV_PAR07MV_PAR08MV_PAR09MV_PAR10MV_PAR11MV_PAR12MV_PAR13MV_PAR14MV_PAR15MV_PAR16MV_PAR17MV_PAR18MV_PAR19
X1_F3SM0SM0      SA1 SA1    12 CC2CC2
X1_GRPSXG033033      001 001        
X1_HELPCódigo da Filial de Emissão do Pedido de vendaCódigo da Filial de Emissão do Pedido de VendaNúmero do Pedido de vendaNúmero do Pedido de vendaData de emissão do pedido de vendaData de emissão do pedido de vendaData de liberação do pedido de vendaData de liberação do pedido de vendaCódigo do cliente do pedido de vendaCódigo da loja do cliente do pedido de vendaCódigo do cliente do pedido de vendaCódigo da loja do cliente do pedido de vendaData de entrega do pedido de vendaData de entrega do pedido de venda

Tipo do pedido de venda. Opções:

N=Normal;

C=Compl.Precos;

I=Compl.ICMS;

P=Compl.IPI;

D=Dev.Compras;

B=Utiliza Fornecedor 

Estados (UF) dos pedidos de venda.Estados (UF) dos pedidos de venda.Código do Município de entrega dos pedidos de venda.Código do Município de entrega dos pedidos de venda.

  

 

Estrutura de Menu

Criar o agrupador "CockPit Logístico" sob a opção "Atualizações" e disponibilizar as rotinas: 

  • OMSXCPL1 - Param Integração
  • OMSXCPL2 - Carga de Dados
  • OMSXCPL6 - Envio de Pedidos de Venda
  • OMSXCPL7 - Monitor de Cargas 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.