Árvore de páginas

Tempo aproximado para leitura: 11 min


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:

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:

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.

IMPORTANTE!

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.

¹ 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
CampoTítuloDescriçãoTipoTamanhoExibe BrowseVisualContextoUtilização
DK3_FILIALFilialFilial do sistemaC2NãoAlterarRealNão utilizado
DK3_SEQUENSeq. Integ.Sequência de IntegraçãoC6SimVisualizarRealUtilizado por todos os módulos
DK3_PEDIDOPedidoPedido de VendaC6SimVisualizarRealUtilizado por todos os módulos
DK3_ITEMPEItem Ped.Item do Pedido de VendaC2SimVisualizarRealUtilizado por todos os módulos
DK3_PRODUTProdutoCódigo do ProdutoC15SimVisualizarRealUtilizado por todos os módulos
DK3_QTDINTQtd.Integra.Quantidade IntegraçãoN9SimAlterarRealUtilizado por todos os módulos
DK3_VIAGIDViagem CPLIdentificador Viagem CPLC10SimVisualizarRealUtilizado por todos os módulos
DK3_STATUSStatus Int. Status IntegraçãoC1SimVisualizarRealUtilizado 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âmetroDescriçãoValor Default
MV_CPLPELB Permite enviar quantidades não liberadas para o Cockpit Logístico2 - Não


04. ASSUNTOS RELACIONADOS

Documento de Referência: Envio de Pedidos de Venda (OMSXCPL6 - SIGAOMS)