Esta versão do sistema foi descontinuada e não recebe atualizações e novas implementações. Acesse a documentação da versão 5.10.3 aqui

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" + (Ex.: para o campo "SitCli" a variável se chama "VSSitCli"). A tipagem das variáveis é análoga a dos campos na tabela. Assim, para se ter acesso aos novos dados do registro deve-se criar um cursor que busque tais dados já gravados no banco de dados. Nota-se que em uma exclusão não existem dados novos do registro, sendo que a busca por estes dados via cursor é ilógica e inviável, já que registro foi excluído.

É 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.

Este artigo ajudou você?