Identificador de Regra

CPR-435UNMED01

Módulo: CPR - Compras.

Finalidade: permite a conversão de unidades de medida do produto recebido, por exemplo, KG's (quilos) para TO's (toneladas).

Características: a rotina é executada no momento em que o sistema efetua a conversão de unidades de medidas, desde que possua regra vinculada ao identificador.

Tela: F435CCC

Transação: Não se aplica.

Regra:

@Exemplo de regra: @

Definir Numero CprNCodEmp;
Definir Numero CprNCodFil;
Definir Numero CprNDatEnt;
Definir Numero CprNSeqEnt;
Definir Numero CprNCodFor;
Definir Numero CprNPesEnt;
Definir Numero CprNPesSai;
Definir Numero CprNQtdOri;
Definir Numero CprNQtdDec;
Definir Numero CprNPesConv;
Definir Alfa CprAProPes;
Definir Alfa CprADerPes;
Definir Alfa CprAUniMed_De;
Definir Alfa CprAUniMed_Para;
Definir Numero obtValorNumero_CodIcl;
Definir Numero obtValorNumero_SeqIcl;
Definir Numero obtValorNumero_CodMph;
Definir Numero obtValorNumero_VphIni;
Definir Numero obtValorNumero_UmiIni;
Definir Numero obtValorNumero_UmiFin;
Definir Numero obtValorNumero_VlrMel;
Definir Numero obtValorNumero_VphFin;
Definir Numero obtValorNumero_PesAmo;
Definir Numero obtValorNumero_ResAmo;
Definir Numero obtValorNumero_PerApu;
Definir Numero obtValorNumero_PerDsc;
Definir Numero obtValorNumero_QtdBas;
Definir Numero obtValorNumero_QtdDsc;
Definir Alfa obtValorAlfa_AltIde;
Definir Alfa obtValorAlfa_IndObg;
Definir Alfa obtValorAlfa_ProGer;
Definir Alfa obtValorAlfa_DerGer;
Definir Alfa obtValorAlfa_TnsGer;
Definir Alfa obtValorAlfa_UsaAmo;
Definir Numero CprNListaCla;
Definir Alfa CprA_S_N;

ListaRegraPrimeiro(CprNListaCla, CprA_S_N); /*Posiciona no primeiro registro da lista*/

se (CprA_S_N = "S")
	inicio
		CprA_S_N = "N";
		enquanto (CprA_S_N <> "S") /*Enquanto não estiver no final da lista entra no laço.*/
		inicio
			ListaRegraObterValorNumero(CprNListaCla, "CodIcl", obtValorNumero_CodIcl, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "SeqIcl", obtValorNumero_SeqIcl, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "CodMph", obtValorNumero_CodMph, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "VphIni", obtValorNumero_VphIni, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "UmiIni", obtValorNumero_UmiIni, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "UmiFin", obtValorNumero_UmiFin, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "VlrMel", obtValorNumero_VlrMel, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "VphFin", obtValorNumero_VphFin, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "PesAmo", obtValorNumero_PesAmo, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "ResAmo", obtValorNumero_ResAmo, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "PerApu", obtValorNumero_PerApu, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "PerDsc", obtValorNumero_PerDsc, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "QtdBas", obtValorNumero_QtdBas, CprA_S_N);
			ListaRegraObterValorNumero(CprNListaCla, "QtdDsc", obtValorNumero_QtdDsc, CprA_S_N);
			ListaRegraObterValorAlfa(CprNListaCla, "AltIde", obtValorAlfa_AltIde, CprA_S_N);
			ListaRegraObterValorAlfa(CprNListaCla, "IndObg", obtValorAlfa_IndObg, CprA_S_N);
			ListaRegraObterValorAlfa(CprNListaCla, "ProGer", obtValorAlfa_ProGer, CprA_S_N);
			ListaRegraObterValorAlfa(CprNListaCla, "DerGer", obtValorAlfa_DerGer, CprA_S_N);
			ListaRegraObterValorAlfa(CprNListaCla, "TnsGer", obtValorAlfa_TnsGer, CprA_S_N);
			ListaRegraObterValorAlfa(CprNListaCla, "UsaAmo", obtValorAlfa_UsaAmo, CprA_S_N);
			ListaRegraProximo(CprNListaCla, CprA_S_N); /*Posiciona no próximo registro;*/
			ListaRegraFim(CprNListaCla, CprA_S_N); /*Atualiza variável final de lista*/
		fim
	fim

ListaRegraSalvarLista(CprNListaCla, "C:\\ERP", "listaCSV", "C");
CprNPesConv = CprNQtdOri / 1000;

x=y;

Variáveis disponibilizadas:

Nome Tipo Observações Retorna Valor
CprNCodEmp NÚMERO Código da empresa N
CprNCodFil NÚMERO Código da filial N
CprNDatEnt NÚMERO Data de entrada da pesagem N
CprNSeqEnt NÚMERO Sequência de entrada da pesagem N
CprNCodFor NÚMERO Código do Fornecedor. N
CprNPesEnt NÚMERO Peso de entrada do veículo na unidade de peso da balança. N
CprNPesSai NÚMERO Peso de saída do veículo na unidade de peso da balança. N
CprNQtdOri NÚMERO Quantidade que deve ser convertida, equivalente a (CprNPesEnt - CprNPesSai). N
CprNQtdDec NÚMERO Quantidade de decimais que deve ser utilizada para arredondamento de cálculos. N
CprAProPes ALFA Código do produto que está sendo pesado. N
CprADerPes ALFA Código da derivação do produto que está sendo pesado. N
CprAUniMed_De ALFA Código da Unidade de medida de origem, exemplo KG. N
CprAUniMed_Para ALFA Código da unidade de medida de destino, exemplo MT³. N
CprNPesConv NÚMERO Variável que deve ser utilizada para retornar o peso convertido. S

Variáveis disponibilizadas dentro da lista CprNListaCla:

Nome Tipo Observações Retorna Valor
CodIcl NÚMERO Código do item de classificação. N
SeqIcl NÚMERO Sequência do item de classificação. N
CodMph NÚMERO Código de melhoria de pH. N
VphIni NÚMERO pH inicial. N
UmiIni NÚMERO Umidade inicial da regra de pH. N
UmiFin NÚMERO Umidade final da regra de pH. N
VlrMel NÚMERO Valor de melhoria de pH. N
VphFin NÚMERO pH final N
PesAmo NÚMERO Peso da amostra N
ResAmo NÚMERO Resultado da amostra N
PerApu NÚMERO Percentual apurado N
PerDsc NÚMERO Percentual de desconto N
QtdBas NÚMERO Quantidade que foi base de cálculo utilizada no cálculo do desconto N
QtdDsc NÚMERO Quantidade de desconto calculada N
AltIde ALFA Desconto alterado via identificador de regras? N
IndObg ALFA Indicativo de obrigatoriedade do item de classificação N
ProGer ALFA Código do subproduto gerado N
DerGer ALFA Código da derivação do subproduto gerado N
TnsGer ALFA Transação da derivação do subproduto gerado N
UsaAmo ALFA Utiliza amostra? 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ê?