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 |
País: | Todos Países |
Requisito/Story/Issue (informe o requisito relacionado) : | DLOGWMSMSP-5569 DLOGWMSMSP-5838 DLOGWMSMSP-5968 |
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 o parâmetro MV_CPLPELB, que indica se é permitido o envio de quantidades não liberadas do Pedido.
Se o parâmetro informado estiver igual à 2-Não , ou seja, envia apenas quantidades liberadas, o saldo do Pedido será calculado da seguinte forma:
Caso contrário, o saldo do Pedido será calculado por meio da seguinte lógica:
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.
Para que o item do Pedido não seja enviado, basta que a quantidade de integração informada seja 0 (zero). Os campos de quantidades são apresentados sempre na primeira unidade de medida do produto.IMPORTANTE!
¹ 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.
Filtro por Pedidos Completamente Liberados
Na rotina de Envio de Pedidos de Venda (OMSXCPL6) foi incluída uma opção nos filtros da tela para indicar se devem ser apresentados apenas os pedidos totalmente liberados, ou seja, quando essa opção estiver igual à 'Sim', apenas serão listados os pedidos onde todos os itens encontram-se completamente liberados, inclusive sem bloqueios de estoque e crédito.
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:
NÃO INTEGRADO - Status apresentado quando o Pedido não possuí quantidades integradas.
INTEGRADO - Status apresentado quando o Pedido possuí todas as quantidades integradas, de todos os itens.
INTEGRADO PARCIAL - Status apresentado quando o Pedido possuí alguma quantidade integrada em qualquer um dos itens, mas nem todas as quantidades foram integradas.
FALHA DE INTEGRAÇÃO - Status apresentado quando o Pedido possuí algum registro de falha gravado para qualquer um dos itens.
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:
PEDIDO EM ABERTO - Status apresentado quando o Pedido possuí quantidades que ainda não estão liberadas. Expressão: SC5.C5_LIBEROK = ' ' AND SC5.C5_NOTA = ' ' AND SC5.C5_BLQ = ' '
PEDIDO ENCERRADO - Status apresentado quando o Pedido encontra-se faturado. Expressão: SC5.C5_NOTA <> ' ' OR (SC5.C5_LIBEROK = 'E' AND SC5.C5_BLQ = ' ')
PEDIDO LIBERADO - Status apresentado quando o Pedido possuí quantidades liberadas. Expressão: SC5.C5_LIBEROK <> ' ' AND SC5.C5_NOTA = ' ' AND SC5.C5_BLQ = ' '
PEDIDO BLOQUEADO POR REGRA - Status apresentado quando o Pedido encontra-se bloqueado por regra. Expressão: SC5.C5_BLQ = '1'.
PEDIDO BLOQUEADO POR VERBA - Status apresentado quando o Pedido encontra-se bloqueado por verba. Expressão: SC5.C5_BLQ = '2'
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 | Pedido totalmente liberado? | C | 1 | Combo | 1 | Sim | Não |
Parâmetro | Descrição | Valor Default |
---|---|---|
MV_CPLPELB | Permite enviar quantidades não liberadas para o Cockpit Logístico | 2 - Não |
04. ASSUNTOS RELACIONADOS
Documento de Referência: Envio de Pedidos de Venda (OMSXCPL6 - SIGAOMS)