Á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

 

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


Pedido de Venda 

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.

 

Montagem de Carga

 Deverá ser criado um novo campo na tabela de Cargas (DAK) para identificar que a carga refere-se a uma carga com origem no CockPit Logistico. 

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 

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. 

 

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    
MV_CPLINV Invólucro Padrão    
MV_CPLIDS Origem dos Dados    
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. 

Opcional

Protótipo de Tela

 Protótipo 01

 Carga de Dados 


 

 

 

 

 

 

 

 

Fluxo do Processo


 

Mapa mental do processo de cadastro


 

<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>. 

Opcional

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>

 

(Opcional)

Grupo de Perguntas

 

<Informações utilizadas na linha Protheus>.

 

Nome: FINSRF2

X1_ORDEM

01

X1_PERGUNT

Emissão De

X1_TIPO

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR01

X1_DEF01

Comum

X1_CNT01

'01/01/08'

X1_HELP

Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório 

 

(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

 

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