Identificador de Regra
VEN-135EUDLE02
Módulo: VEN - Vendas.
Finalidade: Sugerir lotes e suas respectivas quantidades.
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.