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 | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
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 |
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 |
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 |
Pedido de Venda
O envio dos pedidos de venda do SIGAOMS para o Cockpit Logístico deverá ocorrer apenas após a liberação de crédito e estoque.
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 | |
C5_TIPO | orderTypeSourceId | Tipo do Pedido | |
SC5->(RECNO()) | identifier | ||
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 |
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. 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.
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 -> Não poderá ser realizado associação de veículos para uma carga gerada 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, associação de veículos não permitido".
- 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.
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 |
---|---|---|---|---|---|---|
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
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
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
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|