Identificador de Regra

GER-000PRRAT02

Módulo: GER - Gerais.

Finalidade: Possibilita "liberar" ou "manter" o aviso ou bloqueio por insuficiência de saldo no orçamento do projeto.

Características: As variáveis de controle (VSExcMes, VSExcPrj, VSExcFpj, VSExcFin e VSExcCCu) terão o valor 1 (um) quando verdadeira e 0 (zero) quando falso. Ou seja, se na regra apresentar os seguintes valores:

VSExcMes = 1
VSExcPrj = 1
VSExcFpj = 1
VSExcFin = 1
VSExcCCu = 1

Significa que o projeto atual controla orçamento em todos os níveis.

Se dada essa situação, a regra ainda apresentar a variável "VSVlrExc" com valor superior a zero (VSVlrExc > 0) significa que o lançamento atual excedeu o limite estipulado no orçamento.


Exemplo 2: se a regra apresentar a seguinte situação:

VSExcMes = 1
VSExcPrj = 0
VSExcFpj = 0
VSExcFin = 0
VSExcCCu = 1

Significa que o projeto atual controla orçamento apenas em nível de centro de custos, por períodos mensais.

Nessa situação, se a variável "VSVlrExc" apresentar valor superior a zero (VSVlrExc > 0), significa que apenas excedeu o limite orçado em nível de centro de custos.

Transação: Não se aplica.

Regra:

Definir Data VSDatBas;
Definir Alfa xFase;
Definir Alfa xMensagem;
Definir Cursor CUR_E615FPJ;

xCodEmp = CodEmp;
xNumPrj = VSNumPrj;
xCodFpj = VSCodFpj;

CUR_E615FPJ.Sql "SELECT E615FPJ.DATIFP, E615FPJ.DATFFP
FROM E615FPJ WHERE
E615FPJ.CODEMP = :xCodEmp AND
E615FPJ.NUMPRJ = :xNumPrj AND
E615FPJ.CODFPJ = :xCodFpj ";

CUR_E615FPJ.AbrirCursor();
se (CUR_E615FPJ.Achou)
inicio
se ((VSDatBas < CUR_E615FPJ.DATIFP) ou (VSDatBas > CUR_E615FPJ.DATFFP))
inicio
IntParaAlfa(xCodFpj, xFase);
xMensagem = "Fase: " + xFase + " - Período do movimento está fora do cadastro da fase.";
Mensagem(Erro,xMensagem);
fim;
fim;
CUR_E615FPJ.FecharCursor();

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
VSTipReg ALFA Regime N
VSMenOrc ALFA Mensagem N
VSDatBas DATA Data Base N
VSNumPrj NÚMERO Numero N
VSCodFpj NÚMERO Número da Fase N
VSCtaFin NÚMERO Conta Financeira N
VSCodCcu ALFA Centro de Custos N
VSExcMes NÚMERO Controle de exceção por Mês N
VSExcPrj NÚMERO Controle de exceção por Projeto N
VSExcFpj NÚMERO Controle de exceção por Fase N
VSExcFin NÚMERO Controle de exceção por Conta Financeira N
VSExcCCu NÚMERO Controle de exceção por Centro de Custo N
VSVlrOrc NÚMERO Valor orçamento N
VSPerPrj NÚMERO Tolerância N
VSOrcCal NÚMERO Valor orçamento calculado N
VSSalAlo NÚMERO Valor saldo alocado N
VSVlrDis NÚMERO ValorOrcado: Valor do orçamento do nível;
ValorAlocado: Valor já movimentado no nível;
Tolerância: Percentual de tolerância para fins de bloqueio, parametrizado no cadastro do projeto;

VSVlrDis = (ValorOrcado + (ValorOrcado * Tolerancia / 100)) - ValorAlocado
N
VSVlrAnt NÚMERO Valor anterior N
VSVlrAtu NÚMERO Valor atual N
VSVlrAlo NÚMERO Valor a alocar N
VSVlrExc NÚMERO Valor excedido N
VSRotPpj NÚMERO Número da Rotina N
VSNumRpj NÚMERO Número do endereço da rotina N
VSSeqRp1 NÚMERO 1ª Seqüência do endereço da rotina N
VSSeqRp2 NÚMERO 2ª Seqüência do endereço da rotina N
VSDatRp1 DATA 1ª Data do endereço da rotina N
VSDatRp2 DATA 2ª Data do endereço da rotina N
VSStrRp1 ALFA 1ª String do endereço da rotina N
VSStrRp2 ALFA 2ª String do endereço da rotina N
VSStrRp3 ALFA 3ª String do endereço da rotina N
VSCriOrc ALFA Critério de Bloqueio S

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ê?