Histórico da Página
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 |
OMS11R103 | Criação | Não é executado via menu | Programa compatibilizador de Dicionário de Dados |
MATA020 | Alteração | Atualizações -> Cadastros - > Fornecedores | |
MATA050 | Alteração | Atualizações -> Cadastros -> Transportadoras | |
MATA410 | Alteração | Atualizações-> Pedidos -> Pedidos de Venda | |
OMSA200 | Alteração | Atualizações-> Cargas -> Montagem de Carga | |
OMSXCPL6 | Criação | Atualizações -> Cockpit Logistico -> Envio de Pedidos de Venda | Programa 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) Protheus | Código(Alias) | Web Service | Método | Entidade Cockpit | Observações |
---|---|---|---|---|---|
Fornecedor | SA2 | LocalityAcquisitionService | updateLocalities | Localidade | 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" |
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. |
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 Protheus | Tag XML | Campo Cockpit | Observações |
---|---|---|---|
MV_CPLREG | regionSourceId | Regional | |
"FOR-" + RTRIM(SA2->A2_COD) + "-" + RTRIM(SA2->A2_LOJA) | identifier | Código | Será 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_NREDUZ | name | Nome | |
A2_NOME | description | Descrição | |
A2_END | addressStreet | Endereço | |
addressNumber | N° | Obter o conteúdo usando a função LjFiGetEnd sobre o 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 | Acessar 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 Protheus | Tag XML | Campo Cockpit | 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 | Observações |
---|---|---|---|
MV_CPLREG | regionSourceId | Regional | |
MV_CPLIDS | integrationDataSource | Integração | |
orderTypeSourceId | Tipo do Pedido | Verificar 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) | 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 | |
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 | |
B5_LARGLC | width | ||
B5_COMPRLC | length | ||
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 |
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âmetro | Tipo | Descrição | Conteúdo Padrão | Opção | Validação | Aplicação |
---|---|---|---|---|---|---|
MV_CPLINT | Integração Cockpit Logístico? | 2 | 1=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. |
---|