Identificador de Regra

VEN-135EUDLE02

Módulo: VEN - Vendas.

Finalidade: Sugerir lotes e suas respectivas quantidades. Para saber mais sobre todas as possibilidades de sugestão de lotes e séries, clique aqui.

Tela: Rotinas de formação de carga.

Transação: Não se aplica.

Regra:

@Finalidade: Sugerir lotes e suas respectivas quantidades

Definir Cursor Cur_E210DLS;
Definir numero VSCodEmp;
Definir alfa VSCodPro;
Definir alfa VSCodDer;
Definir alfa VSCodDep;
Definir numero VSQtdFat;

Cur_E210DLS.SQL"Select CodEmp, CodPro, CodDer, CodDep, CodLot, QtdEst
From E210DLS
Where CodEmp = :vsCodEmp
and codpro = :vsCodPro
and CodDer = :vsCodDer
and CodDep = :vsCodDep
and QtdEst > 0
and QtdRes = 0 Order by CodLot Desc";

Cur_E210DLS.AbrirCursor();
Enquanto(Cur_E210DLS.Achou)
inicio
@ Soma a quantidade de estoque que encontrou@
TotQtdEst = TotQtdEst + Cur_E210DLS.QtdEst;
Cur_E210DLS.Proximo();
fim;
Cur_E210DLS.FecharCursor();

@Verifica se o total dos lotes encontrados atende a quantidade a faturar@
Se (TotQtdEst < VSQtdFat)
Mensagem(Erro,"Não existem lotes disponíveis para atender a quantidade do item.");

Cur_E210DLS.AbrirCursor();
xTotalADistribuir = VSQtdFat;

@Distribui a quantidade encontrada nos lotes até atender a quantidade a faturar@
Enquanto (xTotalADistribuir > 0)
Inicio
xQtdDistribuir = Cur_E210DLS.QtdEst;
Se (xQtdDistribuir > xTotalADistribuir)
xQtdDistribuir = xTotalADistribuir;

MontaListaLotesSugeridos(VSCodEmp,VSCodPro,VSCodDer,VSCodDep,Cur_E210DLS.CodLot,xQtdDistribuir);

xTotalADistribuir = xTotalADistribuir - xQtdDistribuir;
Cur_E210DLS.Proximo();
Fim;

Cur_E210DLS.FecharCursor();

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
VSCodEmp NÚMERO Código da empresa N
VSCodFil NÚMERO Código da filial N
VSNumAne NÚMERO Número da análise de embarque N
VSNumPfa NÚMERO Número da pré-fatura N
VSSeqPes NÚMERO Sequencia do item da pré-fatura N
VSFilPed NÚMERO Filial do pedido N
VSNumPed NÚMERO Número do pedido N
VSSeqIpd NÚMERO Sequencia do item do pedido N
VSCodPro ALFA Código do produto N
VSCodDer ALFA Código da derivação N
VSCodDep ALFA Código do depósito N
VSQtdFat NÚMERO Quantidade faturada N

Atenção

Caso o parâmetro global LisVarReg esteja habilitado, a variável ListaVariaveis estará disponível em todos os identificadores de regras do sistema. O conteúdo desta variável lista os campos disponibilizados no identificador de regras em questão.

Não é aconselhada a ativação desse parâmetro global para o uso cotidiano. Esse recurso de listagem dos campos de identificadores auxilia a construção de regras e o Suporte para, por exemplo, depuração ou quando não houver acesso à documentação dos identificadores de regras.

Este artigo ajudou você?