Identificador de Regra
GER-085HCLAO01
Módulo: GER - Gerais.
Finalidade: Disponibilizar um ponto onde possam ser feitos processamentos específicos após operações realizadas sobre um registro de definições/histórico de clientes (tabela Cadastros - Clientes - Históricos (E085HCL)). É chamado ao incluir, alterar ou excluir definições/histórico de cliente.
Características: Para a regra são passados todos os campos da tabela "E085HCL" com os dados antigos das definições/histórico de cliente, ou seja, dados de antes da realização da operação. Tais dados servem, principalmente, para verificar as mudanças ocorridas. Nota-se que em uma inserção não existem dados antigos do registro, logo estes campos possuem valor nulo.
Estes dados são passados por meio de variáveis que seguem a nomenclatura "VS" +
É disponibilizada a variável "VSEstado" que indica a operação sendo realizada e pode assumir os seguintes valores:
a) "INSERINDO": indica que o registro está sendo inserido;
b) "ALTERANDO": indica que o registro está sendo alterado;
c) "EXCLUINDO": indica que o registro está sendo excluído;
Este identificador é chamado, para algumas telas rotinas, antes da comitação das operações no base de dados, logo qualquer erro que ocorra na regra cancelará a operação.
Telas:
- F085CAD;
- F085HCL;
- F085AHC;
- F085HDU;
- F085ATR;
- SID.Cli.GravarDefinicoes;
- E085HCL;
- F085ARE;
- F302FSC;
- F140CAN;
- F140LCR;
- F140LOT;
- F143ASC;
- F160NOV;
- F140NFR;
- F120GPC;
- F120GPD;
- F424OCE;
- F140GNF.
Observação
Nas telas F301TCR, F301BMA, F085CAD e F085HCL a variável VSTela recebe o nome da respectiva tela que chamou o identificador, podendo dessa forma ser realizada uma condição, conforme exemplo abaixo.
Definir Alfa VSTela;
se ((VSTela <> "F301TCR") e (VSTela <> "F301BMA"))
{ @código que será executado quando não forem as telas acima mencionadas@ x=y; }
Transação: Não se aplica.
Regra:
Definir Alfa VSEstado;
Definir Numero VSCodCli;
Definir Numero VSCodEmp;
Definir Numero VSCodFil;
Definir Numero VSVlrLim;
Definir Alfa VSCodCpg;
Definir Alfa ENTER;
CaracterParaAlfa(10, ENTER);
Definir Alfa vCodCliStr;
Definir Alfa vCodEmpStr;
Definir Alfa vCodFilStr;
Definir Alfa vMsg;
Definir Alfa vStrAux1;
Definir Alfa vStrAux2;
IntParaStr(VSCodCli, vCodCliStr);
IntParaStr(VSCodEmp, vCodEmpStr);
IntParaStr(VSCodFil, vCodFilStr);
se (VSEstado = "INSERINDO")
vMsg = "Definição de cliente " + vCodCliStr + ", empresa " + vCodEmpStr + ", filial " + vCodFilStr + ", criada!";
senao
se (VSEstado = "ALTERANDO")
vMsg = "Definição de cliente " + vCodCliStr + ", empresa " + vCodEmpStr + ", filial " + vCodFilStr + ", alterada!";
senao
se (VSEstado = "EXCLUINDO")
vMsg = "Definição de cliente " + vCodCliStr + ", empresa " + vCodEmpStr + ", filial " + vCodFilStr + ", excluída!";
se (VSEstado <> "EXCLUINDO") {
vMsg = vMsg + ENTER +
"Valores antigos X novos:" + ENTER;
Definir Cursor xCur085HCL;
xCur085HCL.SQL "SELECT VLRLIM, CODCPG
FROM E085HCL
WHERE
CODCLI = :VSCodCli AND
CODEMP = :VSCodEmp AND
CODFIL = :VSCodFil";
xCur085HCL.AbrirCursor();
IntParaStr(VSVlrLim, vStrAux1);
IntParaStr(xCur085HCL.VlrLim, vStrAux2);
vMsg = vMsg + "VlrLim: " + vStrAux1 + " - " + vStrAux2 + ENTER;
vMsg = vMsg + "CodCpg: " + VSCodCpg + " - " + xCur085HCL.CodCpg;
xCur085HCL.FecharCursor();
}
Mensagem(Retorna, vMsg);
Variáveis Disponibilizadas:
Nome | Tipo | Observações | Retorna Valor |
---|---|---|---|
VSEstado | ALFA | Indicativo da operação sendo realizada ("INSERINDO", "ALTERANDO" ou "EXCLUINDO") | N |
VSCodCli | NÚMERO | Código do cliente (chave das definições/histórico de cliente) | N |
VSCodEmp | NÚMERO | Código da empresa (chave das definições/histórico de cliente) | N |
VSCodFil | NÚMERO | Código da filial (chave das definições/histórico de cliente) | 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.