Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 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

 

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 de Gestão de Distribuição (SIGAOMS) com a funcionalidade Programação de Transportes do Cockpit Logístico da Neolog por intermédio de arquivos no formato XML utilizando os Web Services já existentes do Cockpit Logístico, sem transformação de mensagens e sem utilização de sistemas intermediários (TOTVS EAI, TOTVS ESB, etc.).

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 sendo 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 habilitado o mesmo seja enviado como uma "Localidade", para o Cockpit Logístico.

Além dos cadastros será realizado a integração dos pedidos de venda que utilizam a "Cargas", os pedidos de venda deverão ser enviados para o Cockpit Logístico gerando "Pedidos de Transportes", 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 
MATA410AlteraçãoAtualizações-> Pedidos -> Pedidos de Venda 
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

 

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", qual é gerado um pedido para um fornecedor "SA2".

Entidade(s) ProtheusCódigo(Alias)Web ServiceMétodoEntidade CockpitObservações
FornecedorSA2LocalityAcquisitionServiceupdateLocalitiesLocalidade Deverá ser criado uma marca para identificar que se refere ao fornecedor do SIGAOMS, devido a geração de pedido de venda do tipo "Beneficiamento"
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.

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"

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 A2_PAIS em branco ou igual a 105 atribuir "BR" 
"2"logisticRoleId  Tipo 2=Destino (por orientação da Neolog para gerar menos combinações de rota)

 

Mensagem de integração dos registros do cadastro de "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 
 orderTypeSourceId Tipo do PedidoVerificar o que iremos enviar ao CPL para este campo, no TMS foi criado parâmetro.
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 
C9_ITEMsourceId  
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

B5_LARGLCwidth  
B5_COMPRLClength  
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.

MV_CPLEMBshipperIdID do Embarcador 
"1"modalID do modal do pedido de transporteEnviar valor fixo 1 - Rodoviário


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)
  • 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 disponibilizado ao usuário uma lista de pergunte (SX1) para filtro dos pedidos, o pergunte deverá ser exibido 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é 

 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 disponibilizado uma opção de envio dos pedidos de venda, disposta na tela com a lista dos registros selecionados. Além desta opção deverá ser disponibilizado as seguintes opções:

  • Enviar Dados (CPL)
  • Desatualizar Dados (CPL)
  • Marcar / Desmarcar Todos
  • Consultar Pedido
  • Consultar Cliente

Após o envio de um pedido de venda ao Cockpit Logístico este pedido não poderá ser alterado no SIGAOMS.

 

Monitor Montagem de Carga (OMSXCPL7)

Criar um programa monitor para receber as viagens geradas pela integração com o Cockpit Logístico, afim de realizar a geração das Cargas no OMS.   

Campos que irão compor a tela: interface de Viagens do Cockpit Logistico:

  • Filial
  • Regional
  • Viagem CPL 
  • Transp CPL 
  • Cesta
  • Val. Frete
  • Tipo Veículo
  • Desc. Tipo Veic.
  • Placa Veic.
  • UF Placa
  • Sit. Veic.
  • Desc. Sit. 
  • Qtd. Eixos
  • Class CPL
  • Sit. Integr. 
  • Data Integ.
  • Hora Integ.
  • ID Msg Integ.
  • Zona Transp
  • Tp. Serv. CPL

Campos interface Pedidos do Cockpit Logístico: 

  • Filial
  • Regional
  • Viagem CPL 
  • Unid. Transp.
  • Filial Pedido OMS
  • Número Pedido OMS 
  • Item do Pedido OMS
  • Produto 
  • Quantidade
  • Preço
  • Data / Hora Entrega
  • Pedido CPL 
  • Tipo Pedido

 

 

O Cockpit Logistico terá a função de enviar as viagens geradas para o SIGAOMS para a formação das Cargas. O envio será realizado pela chamada do WebService  ReleaseTripPublishRequestService. Uma vez recebido a viagem do Cockpit e gerado a Carga no SIGAOMS deverá ser enviado novamente ao Cockpit uma mensagem de retorno com a confirmação da gravação da Carga, assim o Cockpit confirmará a viagem gerada, este retorno é feito pelo WebService publishReleasedTripResponse.

 

Desbloqueio de Viagens (Cargas)

Quando o Cockpit Logístico enviar uma viagem ao SIGAOMS, a viagem ficará bloqueada no Cockpit Logístico, até receber uma mensagem de UnblockReleasedTripAcquisition para a viagem.

Cargas com origem do Cockpit Logístico

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 deveremos 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 apresentado 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 veiculo 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. 
  • Estorno -> Não poderá ser realizado o estorno de cargas geradas pela integração com o Cockpit, assim deverá ser apresentado 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. 


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

Programa responsável para realizar o recebimento do XML de viagens do CPL e realizar a gravação dos dados no monitor de viagens (OMSXCPL7), por meio de um DE PARA entre o XML da viagem do CPL para o monitor de Viagens no OMS. Devendo gravar o XML recebido, realizar o registro do evento. 

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_BSSRIDbasketSourceIdID Cesta 
DK0_RGSRIDregionSourceIdIdentificador Regional 
DK0_VIAGIDidentifierID da Viagem 
DK0_VLFRETfreightValueValor do frete da viagem 
DK0_TRANSPcarrierIdID Transportadora da Viagem 
DK0_CODVEIvehicleIdID do Tipo de Veículo da Viagem 
DK0_DESVEIvehicleDescriptionDescriçã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_SITVEItruckStatusIdIdentificador da situação do caminhão0=Desconhecido, 1=Agregado, 2=Frota própria, 3=Frota terceirizada
DK0_DSSTVEtruckDescriptionStatusDescrição da situação do caminhão 
DK0_QTDEIXtruckAxlesQuantityNúmero de eixos do caminhão 
DK0_CLASVItripClassificationSourceIdClassificação da viagem 

Mensagem dos itens (Pedidos) do CPL - deliveryUnit

Campo ProtheusTag XMLCampo CockpitObservações
DK1_UNIDIDidentifier  
DK1_RGSRIDRegionalSourceIdRegional 
DK1_VIAGIDViagemViagem CPL 
DK1_ORSRIDorderSourceIdPedido CPL 
DK1_ORTPIDorderTypeSourceIdCódigo do tipo do pedido 
DK1_ORITIDorderItemSourceId

Tipo pedido 

 
DK1_PRODIDproductSourceIdProduto 
DK1_COMPSQsequenceCompositionSequencia 
DK1_QTDEquantityQuantidade   
DK1_PRECOpricePreço 
DK1_DTENTRdeliveryDateDt/Hr Entrg  
DK1_ORIGEMintegrationSourceID da origem de dados 

 

OMSXCPL1 - Parâmetros Integração

Deverá ser ajustada o item aListaOMSX para enviar os dados de transportadoras e fornecedores quando integração com o SIGAOMS.  Criar uma nova 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"

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 utilizadas 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á integrada 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 Produto 21=Grupo Produto;2=Padrão Cockpit    
MV_CPLINV Invólucro Padrão    
MV_CPLIDS Origem dos Dados PROTHEUS   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    

 

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. 

Protótipo de Tela

 Protótipo 01

 Carga de Dados 


 

 

 

 

 

 

 

 

Fluxo do Processo


 

Mapa mental do processo de cadastro


 

 

Dicionário de Dados

 

Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/

  

Índice

Chave

01

<FI9_FILIAL+FI9_IDDARF+FI9_STATUS>

02

<FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF>

03

<FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO>

Campo

<AAA_PERESP>

Tipo

<N>

Tamanho

<6>

Valor Inicial

<Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. 

Mandatório

Sim (  ) Não (  )

Descrição

<Referência Mínima para Cálculo>

Título

<Ref.Calc.>

Picture

<@E999.99>

Help de Campo

<Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação>

 

Grupo de Perguntas

Nome: OMSXCPL6

X1_ORDEM010203040506070809101112
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é
X1_TIPOCCCCDDDDCCCC
X1_TAMANHO226688886262
X1_GSCGGGGGGGGGGGG
X1_VAR01MV_PAR01MV_PAR02MV_PAR03MV_PAR04MV_PAR05MV_PAR06MV_PAR07MV_PAR08MV_PAR09MV_PAR10MV_PAR11MV_PAR12
X1_F3SM0SM0      SA1 SA1 
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 venda

 

 

 

 

(Opcional)

Consulta Padrão

<Informações utilizadas na linha Protheus>

 

Consulta: AMB

Descrição

Configurações de Planejamento

Tipo

Consulta Padrão

Tabela

“AMB”

Índice

“Código”

Campo

“Código”; ”Descrição”

Retorno

AMB->AMB_CODIGO

 

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.