Identificador de Regra
GER-085CLIAO01
Módulo: GER - Gerais.
Finalidade: Disponibilizar um ponto onde possam ser feitos processamentos específicos após operações realizadas sobre um registro de cliente (E085CLI). Chamado ao incluir, alterar ou excluir um cliente nas telas em que foi implementado.
Características: Para a regra são passados todos os campos da tabela "E085CLI" com os dados antigos do 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 pelas 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 gravação das operações no base de dados, logo qualquer erro que ocorra na regra cancelará a operação.
Nota
Este identificador pode ser utilizado para realização de consistências nas rotinas de inclusão e alteração de registros de clientes e fornecedores ligados entre si, ou seja, quando é inserido ou alterado um cadastro de cliente que está vinculado a um fornecedor, assim como quando é inserido ou alterado um cadastro de fornecedor vinculado a um cliente, o identificador será executado, pois a tabela Cadastros - Clientes (E085CLI) ou a tabela Cadastros - Fornecedores - Cadastros (E095FOR) está sendo alterada através do registro do cliente/fornecedor ou do fornecedor/cliente. A diferença é que este identificador recebe apenas os dados originais, antes da alteração dos respectivos cadastros. É necessário, então, a construção de um cursor para acessar os dados atualizados do cadastro, pois o identificador é executado após a gravação dos registros.
Tela: F085CAD, F095FOR
Transação: Não se aplica.
Regra:
Definir Alfa VSEstado;
Definir Numero VSCodCli;
Definir Alfa VSSitCli;
Definir Alfa VSNomCli;
Definir Alfa VSTipCli;
Definir Numero VSCepCli;
Definir Alfa ENTER;
CaracterParaAlfa(10, ENTER);
Definir Alfa vCodCliStr;
Definir Alfa vMsg;
Definir Alfa vStrAux1;
Definir Alfa vStrAux2;
IntParaStr(VSCodCli, vCodCliStr);
se (VSEstado = "INSERINDO")
vMsg = "Cliente " + vCodCliStr + " criado!";
senao
se (VSEstado = "ALTERANDO")
vMsg = "Cliente " + vCodCliStr + " alterado!";
senao
se (VSEstado = "EXCLUINDO")
vMsg = "Cliente " + vCodCliStr + " excluído!";
se (VSEstado <> "EXCLUINDO") {
vMsg = vMsg + ENTER +
"Valores antigos X novos:" + ENTER;
Definir Cursor xCur085CLI;
xCur085CLI.SQL "SELECT SITCLI, NOMCLI, TIPCLI, CEPCLI
FROM E085CLI
WHERE
CODCLI = :VSCodCli";
xCur085CLI.AbrirCursor();
vMsg = vMsg + "SitCli: " + VSSitCli + " - " + xCur085CLI.SitCli + ENTER;
vMsg = vMsg + "NomCli: " + VSNomCli + " - " + xCur085CLI.NomCli + ENTER;
vMsg = vMsg + "TipCli: " + VSTipCli + " - " + xCur085CLI.TipCli + ENTER;
IntParaStr(VSCepCli, vStrAux1);
IntParaStr(xCur085CLI.CepCli, vStrAux2);
vMsg = vMsg + "CepCli: " + vStrAux1 + " - " + vStrAux2;
xCur085CLI.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 do 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.