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 | 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 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.). Apenas o envio dos cadastros irão ocorrer de forma assíncrona o envio dos processo 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 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 | Envolvido | Atualizações-> Pedidos -> Pedidos de Venda | |
MATA461 | Alteração | Atualizações-> Faturamento -> Doc.saida - Carga | Programa gerador de documento de saída por carga |
FATXFUN | Alteração | Não é executado via menu | |
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 |
OMSXCPL7 | Criação | Atualizações -> Cockpit Logistico -> Monitor de Cargas | Programa que permite consultar os dados enviados pelo Cockpit Logistico e as cargas geradas no SIGAOMS |
TMSXFUNW | Alteração | Função Genérica | Programa responsável por receber o XML da viagem do Neolog - API de Integração |
TMSXWS | Alteração | Web Service Integração | Programa que disponibiliza os clients de Web Service a serem executados pelo Cockpit Logístico |
SPEDMDFE | Alteração | Atualizações -> Faturamento -> Mdf-e | Programa responsável pela geração e envio do Mdf-e das notas fiscais 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) 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, 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 processos de "Redespacho" qual a transportadora opera como sendo uma localidade. Para seu atendimento, se faz necessário modificações no padrão do SIGAOMS e que não serão contemplados nessa versão da integração.
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 | |
"1" | orderTypeSourceId | Tipo do Pedido | |
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 | |
RTRIM(SC5->C5_FILIAL)+"-"+RTRIM(SC5->C5_NUM) + C9_ITEM | sourceId | ||
C9_PRODUTO + B1_FILIAL | 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, quando vazio será enviado por default o contéudo = 0.001 | |
B5_LARGLC | width | Quando vazio por default o contéudo enviado será = 0.001 | |
B5_COMPRLC | length | Quando vazio por default o contéudo enviado será = 0.001 | |
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. Quando vazio por default o contéudo enviado será = 0.001 | |
MV_CPLEMB | shipperId | ID do Embarcador | |
"1" | modal | ID do modal do pedido de transporte | Enviar valor fixo 1 - Rodoviário |
C5_TPFRETE | incoterm | Sendo o conteúdo C = 1 e F = 0 para o CPL, quando o campo for vazio iremos passar sempre 1. | |
MV_CPLINV | shipmentUnitWrapperCode | Invó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 (C9_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 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é
- 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 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 (CPL) - Através desta opção será possível realizar o cancelamento de um pedido enviado ao Cockpit Logístico qual não deseja mais que seja realizado 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 Liberados:
- Integração Roteirizador (C9_INTROT) - Este campo irá gravar a situação atual da integração do pedido de venda no Cockpit Logístico tendo as seguintes opções, deverá ser disponibilizado 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 (C9_DATCPL) - Data que ocorreu a integração do pedido de venda com o Cockpit Logístico.
- Hora da Integração (C9_HORCPL) - Hora 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 OMSXCPL6 no configurador.
Somente serão enviados via schedule pedidos de venda com o campo C9_INTROT igual a 1 - "Não Integrado". Pedidos com falhas deverão ser reenviados pela rotina de envio de pedidos (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 C9_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 OMSA200 (CARGAS), por meio de MsExecAuto para geração das Cargas.
Liberação de Viagem
Uma vez recebido a viagem do Cockpit e gerado a Carga no SIGAOMS, após a geração do documento fiscal da carga (NF de Saída) deverá ser enviado novamente 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_CPLLVIA (Libera viagem automático) como verdadeiro, se configurado como falso a liberação irá ocorrer através da opção "Liberar Viagem" na rotina OMSXCPL7.
Campos que irão compor a interface de Viagens do Cockpit Logistico (Cabeçalho) tabela DK0:
- Filial (DK0_FILIAL)
- Regional (DK0_REGID)
- 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)
- Sit. Integr. (DK0_SITINT)
- 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 realizado a gravação o 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 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.
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 exibidas apenas as cargas que possuir veículo associado.
Para criar a tabela CC0 (Manifesto Documentos Fiscais), caso o cliente ainda não utilize o Mdf-e é necessário 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 Protheus | Tag XML | Campo Cockpit | Observações |
---|---|---|---|
DK0_IDCESTA | basketSourceId | ID Cesta | |
DK0_REGID | regionSourceId | Identificador Regional | |
DK0_VIAGID | identifier | ID da Viagem | |
DK0_TRANSP | carrierId | ID Transportadora da Viagem | |
DK0_TIPVEI | vehicleId | ID do Tipo de Veículo da Viagem | |
DK0_DESTIP | vehicleDescription | Descrição do tipo de veículo da viagem | |
DK0_PLACA | truckLicensePlate | Placa do caminhão da viagem | |
DK0_ESTPLA | truckStateLicensePlate | Estado da placa do caminhão da viagem | |
DK0_QTDEIX | truckAxlesQuantity | Número de eixos do caminhão |
Mensagem dos itens (Pedidos) do CPL - deliveryUnit
Campo Protheus | Tag XML | Campo Cockpit | Observações |
---|---|---|---|
DK1_UNIDID | identifier | ||
DK1_REGID | RegionalSourceId | Regional | |
DK1_VIAGID | Viagem | Viagem CPL | |
DK1_PEDROT | orderSourceId | Pedido CPL | |
DK1_PRODUT | productSourceId | Produto | |
DK1_QTD | quantity | Quantidade | |
DK1_PRECO | price | Preço | |
DK1_DATENT | deliveryDate | Dt/Hr Entrg | |
DK1_ORIGEM | integrationSource | ID 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, 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 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"
Criar o novo parâmetro MV_CPLLVIA - Libera viagem automático e disponibilizar no Folder "SIGAOMS".
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 | 2 | 1=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.
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
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 |
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 |
Contexto | Real |
Help de Campo | Representa 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 Campo | Nú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 |
Contexto | Real |
Help de Campo | Có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 Campo | Código do tipo de veículo cadastrado no CPL |
Campo | DK0_DESTIP |
Tipo | C |
Tamanho | 200 |
Valor Inicial |
|
Mandatório | Sim ( ) Não ( ) |
Descrição | vehicleDescription |
Título | Desc Tipo Veic |
Tipo | Visualizar |
Contexto | Real |
Help de Campo | Descrição do tipo de veículo cadastrado no CPL |
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 Campo | Có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 Campo | UF da placa do veículo cadastrado no CPL |
Campo | DK0_SITINT |
Tipo | C |
Tamanho | 1 |
Mandatório | Sim ( ) Não ( ) |
Descrição | Situacao Cockpit |
Título | Sit. Integr |
Tipo | Visualizar |
Contexto | Real |
Valid | Pertence("01234") |
Inicializador Padrão | "0" |
CBox | 0=Recebida;1=Aguardando liberação;2=Liberada;3=Cancelada;4=Rejeitada |
Help de Campo |
Campo | DK0_DATINT |
Tipo | D |
Tamanho | 8 |
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 Campo | Data da integração da viagem gerada no CPL. |
Campo | DK0_HORINT |
Tipo | C |
Tamanho | 4 |
Valor Inicial |
|
Mandatório | Sim ( ) Não ( ) |
Descrição | Hora Integração |
Título | Hora Integr |
Tipo | Visualizar |
Contexto | Real |
Picture | @R 99:99 |
Help de Campo | Hora 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 Campo | Có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 Campo | Este campo é utilizado para selecionarmos as viagens que serão geradas cargas. |
Índice | Chave |
---|---|
1 | DK1_FILIAL+DK1_REGID+DK1_VIAGID+DK1_UNIDID |
2 | DK1_FILIAL+DK1_FILPED+DK1_PEDIDO |
3 | DK1_FILIAL+DK1_REGID+DK1_VIAGID+DK1_UNIDID+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 SXG | 033 |
Help de Campo |
Campo | DK1_REGID |
Tipo | C |
Tamanho | 30 |
Valor Inicial |
|
Mandatório | Sim ( ) Não ( ) |
Descrição | Regional |
Título | Regional |
Tipo | Visualizar |
Contexto | Real |
Help de Campo | Código da Regional do Cockpit Logístico |
Campo | DK1_VIAGID |
Tipo | C |
Tamanho | 10 |
Mandatório | Sim ( ) Não ( ) |
Descrição | Viagem Roteirizador |
Título | Viag. Rot |
Tipo | Visualizar |
Contexto | Real |
Help de Campo | Numero da viagem gerada no roteirizador. |
Campo | DK1_UNIDID |
Tipo | C |
Tamanho | 30 |
Valor Inicial |
|
Mandatório | Sim ( ) Não ( ) |
Descrição | identifier (delivery unit) |
Título | ID. Unid. Transp. |
Tipo | Visualizar |
Contexto | Real |
Picture | |
Help de Campo |
Campo | DK1_ORITID |
Tipo | C |
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 | C |
Tamanho | 2 |
Valor Inicial |
|
Mandatório | Sim ( ) Não ( ) |
Descrição | Filial Pedido |
Título | Fil. Pedido |
Tipo | Visualizar |
Contexto | Real |
Grupo SXG | 033 |
Help de Campo | có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 Campo | código do pedido de venda do Protheus |
Campo | DK1_ITEMPED |
Tipo | C |
Tamanho | 2 |
Valor Inicial |
|
Mandatório | Sim ( ) Não ( ) |
Descrição | Item Ped. Venda |
Título | Item Ped. |
Tipo | Visualizar |
Contexto | Real |
Picture | |
Help de Campo | Item do pedido de venda do Protheus |
Campo | DK1_PRODUT |
Tipo | C |
Tamanho | 30 |
Valor Inicial |
|
Mandatório | Sim ( ) Não ( ) |
Descrição | Produto |
Título | Produto |
Tipo | Visualizar |
Contexto | Real |
Grupo | 030 |
Help de Campo | Produto |
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 Campo | Quantidade 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 Campo | Preç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 | C9_INTROT |
Tipo | C |
Tamanho | 1 |
Valor Inicial |
|
Mandatório | Sim ( ) Não ( ) |
Descrição | Integracao Roteirizador |
Título | Int. Rot. |
Tipo | Visualizar |
Contexto | Real |
Valid | Pertence("123") |
Cbox | 1=Não Integrado;2=Integrado;3=Falha de Integração |
Help de Campo | Status da integração do pedido de venda com o roteirizador Cockpit Logístico. |
Campo | C9_DATCPL |
Tipo | D |
Tamanho | 8 |
Valor Inicial |
|
Mandatório | Sim ( ) Não ( ) |
Descrição | Data da integracao |
Título | Dt. Integ |
Tipo | Visualizar |
Contexto | Real |
Help de Campo | Data da integração do pedido de venda ao roteirizador Cockpit Logístico |
Campo | C9_HORCPL |
Tipo | C |
Tamanho | 8 |
Picture | 99:99:99 |
Mandatório | Sim ( ) Não ( ) |
Descrição | Hora Integracao |
Título | Hr. Int |
Tipo | Visualizar |
Contexto | Real |
Help de Campo | Hora 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) |
Usado | Sim |
Browse | Não |
Descrição | Numero da Carga |
Título | Carga |
Tipo | Visual |
Contexto | Real |
Help de Campo | Numero da Carga gerada pelo OMS. |
DJW - Registros de Falhas CPL
Índice | Chave |
---|---|
1 | DJW_FILIAL+DJW_CDREG |
2 | DJW_TABELA+DJW_CHAVE |
3 | DJW_TABELA+STR(DJW_RECTAB) |
4 | DJW_FILIAL+DTOS(DJW_DATA) |
5 | DJW_FILIAL+DJW_SITENV |
6 | DJW_FILIAL+DJW_TPREG |
Arquivo | DJW |
Ordem | 01 |
Campo | DJW_FILIAL |
Tipo | C |
Tamanho | 2 |
Formato | |
Título | Filial |
Descrição | Filial |
Nível | 01 |
Usado | Sim |
Obrigatório | Não |
Browse | Sim |
Tipo | Visualizar |
Contexto | Real |
Grupo SXG | 033 |
Help | Código do registro de falha. |
Arquivo | DJW |
Ordem | 02 |
Campo | DJW_CDREG |
Tipo | C |
Tamanho | 10 |
Formato | 9999999999 |
Título | Código |
Descrição | Código Reg. Falha |
Nível | 01 |
Usado | Sim |
Obrigatório | Sim |
Browse | Sim |
Tipo | Visualizar |
Contexto | Real |
Relação | GetSxeNum("DJW","DJW_CDREG") |
Help | Código do registro de falha. |
Arquivo | DJW |
Ordem | 03 |
Campo | DJW_TABELA |
Tipo | C |
Tamanho | 03 |
Formato | @! |
Título | Tabela |
Descrição | Tabela Originadora |
Nível | 01 |
Usado | Sim |
Obrigatório | Sim |
Browse | Sim |
Help | Tabela que originou o registro de falha. |
Arquivo | DJW |
Ordem | 04 |
Campo | DJW_CHAVE |
Tipo | C |
Tamanho | 250 |
Formato | @! |
Título | Chave Tab |
Descrição | Chave Identificadora |
Nível | 01 |
Usado | Sim |
Obrigatório | Sim |
Browse | Sim |
Help | Código que identifica o registro na tabela. |
Arquivo | DJW |
Ordem | 05 |
Campo | DJW_RECTAB |
Tipo | N |
Tamanho | 10 |
Formato | 9999999999 |
Título | Recno Tabela |
Descrição | Recno Tabela Originadora |
Nível | 01 |
Usado | Sim |
Obrigatório | Sim |
Browse | Não |
Help | Recno da tabela originadora do registro de falha. |
Arquivo | DJW |
Ordem | 06 |
Campo | DJW_ACAO |
Tipo | M |
Tamanho | 1 |
Título | Ação |
Descrição | Ação |
Nível | 01 |
Usado | Sim |
Obrigatório | Sim |
Browse | Sim |
Opções | 1=Inclusão;2=Exclusão |
Relação | "1" |
Validação | Pertence('12') |
Help | Indica a ação do registro de falha. |
Arquivo | DJW |
Ordem | 07 |
Campo | DJW_USRREG |
Tipo | C |
Tamanho | 50 |
Título | Usuário reg |
Descrição | Usuário registro falha |
Nível | 01 |
Usado | Sim |
Obrigatório | Sim |
Browse | Sim |
Relação | cUserName |
Help | Usuário logado no momento do registro da falha. |
Arquivo | DJW |
Ordem | 08 |
Campo | DJW_DATA |
Tipo | D |
Tamanho | 8 |
Título | Data reg |
Descrição | Data registro falha |
Nível | 01 |
Usado | Sim |
Obrigatório | Sim |
Browse | Sim |
Relação | DATE() |
Help | Data da última movimentação do registro de falha. |
Arquivo | DJW |
Ordem | 09 |
Campo | DJW_HORA |
Tipo | C |
Tamanho | 6 |
Formato | @R 99:99:99 |
Título | Hora reg |
Descrição | Hora registro da falha |
Nível | 01 |
Usado | Sim |
Obrigatório | Sim |
Browse | Sim |
Relação | Time() |
Help | Hora da última atualização do registro de falha. |
Arquivo | DJW |
Ordem | 10 |
Campo | DJW_TPREG |
Tipo | C |
Tamanho | 1 |
Título | Tipo Reg |
Descrição | Tipo Registro Falha |
Nível | 01 |
Usado | Sim |
Obrigatório | Sim |
Browse | Não |
Opções | 0=Não Classificado;1=Erro conexão;2=Erro Transmissão |
Relação | "0" |
Validações | Pertence("012") |
Help | Descreve o tipo de registro de falha. |
Arquivo | DJW |
Ordem | 11 |
Campo | DJW_MSGREG |
Tipo | M |
Tamanho | 10 |
Título | Msg Reg |
Descrição | Mensagem Registro Falha |
Nível | 01 |
Usado | Sim |
Obrigatório | Sim |
Browse | Não |
Help | Contém o motivo do registro de falha. |
Arquivo | DJW |
Ordem | 12 |
Campo | DJW_SITENV |
Tipo | C |
Tamanho | 1 |
Título | Sit Env Mail |
Descrição | Situação envio email |
Nível | 01 |
Usado | Sim |
Obrigatório | Sim |
Browse | Não |
Opções | 0=Não se aplica;1=Sucesso no envio;2=Falha no envio |
Relação | "0" |
Validação | Pertence("012") |
Help | Situação do envio de e-mail. |
Arquivo | DJW |
Ordem | 13 |
Campo | DJW_MSGENV |
Tipo | M |
Tamanho | 10 |
Título | Msg Env Mail |
Descrição | Mensagem envio email |
Nível | 01 |
Usado | Sim |
Obrigatório | Sim |
Browse | Não |
Help | Descriçã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_ORDEM | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
X1_PERGUNT | 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 Entrega De? | Estado de Entrega Até? | Município de Entrega | Município de Entrega Até? |
X1_TIPO | C | C | C | C | D | D | D | D | C | C | C | C | D | D | R | C | C | C | C |
X1_TAMANHO | 2 | 2 | 6 | 6 | 8 | 8 | 8 | 8 | 6 | 2 | 6 | 2 | 8 | 8 | 1 | 2 | 2 | 5 | 5 |
X1_GSC | G | G | G | G | G | G | G | G | G | G | G | G | G | G | G | G | G | G | G |
X1_VAR01 | MV_PAR01 | MV_PAR02 | MV_PAR03 | MV_PAR04 | MV_PAR05 | MV_PAR06 | MV_PAR07 | MV_PAR08 | MV_PAR09 | MV_PAR10 | MV_PAR11 | MV_PAR12 | MV_PAR13 | MV_PAR14 | MV_PAR15 | MV_PAR16 | MV_PAR17 | MV_PAR18 | MV_PAR19 |
X1_F3 | SM0 | SM0 | SA1 | SA1 | 12 | CC2 | CC2 | ||||||||||||
X1_GRPSXG | 033 | 033 | 001 | 001 | |||||||||||||||
X1_HELP | Código da Filial de Emissão do Pedido de venda | Código da Filial de Emissão do Pedido de Venda | Número do Pedido de venda | Número do Pedido de venda | Data de emissão do pedido de venda | Data de emissão do pedido de venda | Data de liberação do pedido de venda | Data de liberação do pedido de venda | Código do cliente do pedido de venda | Código da loja do cliente do pedido de venda | Código do cliente do pedido de venda | Código da loja do cliente do pedido de venda | Data de entrega do pedido de venda | Data 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. |
---|