Histórico da Página
01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus |
---|---|
Segmento: | Supply Chain - Logística |
Módulo: | SIGAOMS - Gestão de Distribuição |
Função: | OMSXCPL6 - Envio do Pedido de Venda OMSXCPL6A - Alteração da Quantidade de Integração OMSXCPL - Funções para o Envio do XML de Integração |
02. SITUAÇÃO/REQUISITO
Necessidade da implementação da integração parcial do Pedido de Venda com o Cockpit Logístico (CPL).
03. SOLUÇÃO
Alteração da Quantidade da Integração
Para possibilitar o envio parcial do Pedido foi incluído o botão Alterar Quantidade da Integração, que também pode ser acessado via tecla de atalho F10, na rotina de Envio de Pedidos de Venda (OMSXCPL6), o qual será responsável por acessar uma tela que permite a alteração da quantidade de integração dos itens do Pedido posicionado no Browse.
Ao salvar a tela de alteração, o sistema armazenará a quantidade de envio para o item, contudo, o envio do Pedido ao CPL continuará sendo por intermédio da seleção do Pedido e utilização do botão Enviar Dados.
Se a quantidade de integração não for alterada antes do envio do Pedido, o sistema enviará a quantidade disponível total do Pedido de Venda.
Ainda sobre a tela de Alteração da Quantidade para Integração, o campo Saldo Pedido é calculado conforme informado nos parâmetros da rotina. Se este for informado serão enviadas apenas as quantidades liberadas igual à sim, sendo que o saldo do Pedido será calculado da seguinte maneira:
Informações | ||
---|---|---|
| ||
Soma da quantidade liberada do pedido (C9_QTDLIB) do produto/item menos a quantidade já integrada (DK3_QTDINT) do produto/item. |
Caso contrário, o saldo do Pedido será calculado por meio da seguinte lógica:
Informações | ||
---|---|---|
| ||
Soma da quantidade de venda do pedido (C6_QTDVEN) do produto/item menos a quantidade já integrada (DK3_QTDINT) do produto/item. |
Para garantir a integridade das informações enviadas para o CPL, antes de efetivar o envio do XML de integração com o CPL o sistema revalidará se o saldo atual do Pedido de Venda está de acordo com a quantidade digitada para a integração. Se o saldo do Pedido for menor que a quantidade de integração, o Pedido não será enviado e será gravado um registro de falha (DJW) informando que o saldo deste não encontra-se disponível.
Ao finalizar o processamento do envio dos Pedidos será apresentado um resumo do envio, o qual apresentará as falhas¹, quando existirem, e os Pedidos/sequências enviados com sucesso. Tal resumo foi desenvolvido para evidenciar as falhas ocorridas e as sequências de integração geradas para cada Pedido.
Além disso, os Pedidos com falha de integração apresentarão status de falha (vermelho) na tela de Envio de Pedidos, para melhor identificação dos Pedidos que não foram enviados.
Observamos que alguns comportamentos da rotina de Envio de Pedidos de Venda, tais como, se for selecionado para o Refresh da tela (teclas de atalho F5 e F12) e existirem quantidades integradas alteradas, estas serão perdidas, contudo, antes disso ocorrer será apresentada uma mensagem para que seja confirmada a ação de Refresh. Quando selecionado, via parâmetros do pergunte, que se deseja enviar apenas as quantidades liberadas, isso não obriga que todas as quantidades do Pedido estejam liberadas para então realizar o envio, ou seja, o sistema permitirá o envio de qualquer quantidade liberada do Pedido.
Card documentos | ||||
---|---|---|---|---|
|
¹ As falhas apresentadas são as retornadas pelo Cockpit e que, em muitos casos, pode conter apenas o código do erro, por exemplo: ObjectDoesntExist. Para visualizar a mensagem tratada, é necessário consultar via rotina de Log do próprio Cockpit.
Status da Integração
Os Pedidos da integração da tela de Envio de Pedidos passarão a contar com mais um status, denominado de Integrado Parcial, para filtro e visualização na rotina de Envio de Pedidos de Venda. Sendo assim, cada status possuirá o seguinte significado:
Estado | ||||
---|---|---|---|---|
|
Estado | ||||
---|---|---|---|---|
|
Estado | ||||
---|---|---|---|---|
|
Estado | ||||
---|---|---|---|---|
|
Status do Pedido
Os status do Pedido da tela de Envio de Pedidos não sofreram alterações, contudo, seguem as definições de quando será apresentado cada um deles:
Estado | ||||
---|---|---|---|---|
|
Estado | ||||
---|---|---|---|---|
|
Estado | ||||
---|---|---|---|---|
|
Estado | ||||
---|---|---|---|---|
|
Estado | ||
---|---|---|
|
Envio do Pedido
No momento do envio do Pedido a tag identify do XML enviado será formada pelas seguintes informações: EMPRESA¹ + FILIAL + SEQUÊNCIA DE INTEGRAÇÃO + NÚMERO DO PEDIDO.
Portanto, dentro do Cockpit Logístico o código do Pedido será uma concatenação dessas informações. Por exemplo, o Pedido da empresa 01, filial 05, sequência de integração 000002 e número do Pedido 000023 será identificado da seguinte maneira: 0105-000002-000023.
Ao confirmar o envio do Pedido para o CPL, o sistema gravará a sequência de integração², os Pedidos, os itens e as quantidades integradas na tabela de Sequência de Integração CPL (DK3). Essa tabela é responsável por manter as quantidades já enviadas para o CPL.
¹ O código da empresa apenas é enviado quando o parâmetro DefaultCompany não estiver informado no appserver.ini, na seção NEOLOG.
² A sequência de integração é gerada pelo sistema para cada vez que o Pedido é enviado para o CPL. Essa sequência é única por Pedido.
Alterações de Dicionário
As alterações de dicionário necessárias para que a funcionalidade seja utilizada são:
Tabela DK3 - Sequência de Integração CPL | ||||||||
Índice Único: DK3_FILIAL+DK3_PEDIDO+DK3_ITEMPE+DK3_PRODUT+DK3_SEQUEN | ||||||||
---|---|---|---|---|---|---|---|---|
Campo | Título | Descrição | Tipo | Tamanho | Exibe Browse | Visual | Contexto | Utilização |
DK3_FILIAL | Filial | Filial do sistema | C | 2 | Não | Alterar | Real | Não utilizado |
DK3_SEQUEN | Seq. Integ. | Sequência de Integração | C | 6 | Sim | Visualizar | Real | Utilizado por todos os módulos |
DK3_PEDIDO | Pedido | Pedido de Venda | C | 6 | Sim | Visualizar | Real | Utilizado por todos os módulos |
DK3_ITEMPE | Item Ped. | Item do Pedido de Venda | C | 2 | Sim | Visualizar | Real | Utilizado por todos os módulos |
DK3_PRODUT | Produto | Código do Produto | C | 15 | Sim | Visualizar | Real | Utilizado por todos os módulos |
DK3_QTDINT | Qtd.Integra. | Quantidade Integração | N | 9 | Sim | Alterar | Real | Utilizado por todos os módulos |
DK3_VIAGID | Viagem CPL | Identificador Viagem CPL | C | 10 | Sim | Visualizar | Real | Utilizado por todos os módulos |
DK3_STATUS | Status Int. | Status Integração | C | 1 | Sim | Visualizar | Real | Utilizado por todos os módulos |
Tabela SC6 - Itens do Pedido de Venda | |
---|---|
Campo | Lista de Opções |
C6_INTROT | 1=Não Integrado; 2=Integrado; 3=Falha de Integração; 4=Integrado Parcial |
Pergunte Grupo OMSXCPL6 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Ordem | Pergunta | Tipo | Tamanho | Objeto | Pré-seleção | Item 1 | Item 2 | Item 3 | Item 4 | Item 5 |
20 | Status Integração? | C | 1 | Combo | 5 | Não integrado | Integrado | Integrado Parci | Falha de Integr. | Todos Status |
22 | Enviar Apenas Qtd. Liberadas? | C | 1 | Combo | 1 | Sim | Não |
04. DEMAIS INFORMAÇÕES
Requisitos: DLOGWMSMSP-5569 / DLOGWMSMSP-5838
Templatedocumentos |
---|
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |