Identificador de Regra
GER-095FORAO01
Módulo: GER - Gerais.
Finalidade: Disponibilizar um ponto onde possam ser feitos processamentos específicos após operações realizadas sobre um registro de fornecedor (E095FOR). O identificador é chamado ao incluir, alterar ou excluir um fornecedor.
Características: Para a regra são passados todos os campos da tabela "E095FOR" com os dados antigos do fornecedor, 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" +
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;
c) "EXCLUINDO": indica que o registro está sendo excluído;
Este identificador é chamado antes da comitaçã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: F095CAD, F085CAD, F073TRA, F073MOT
Transação: Não se aplica.
Regra:
Definir Alfa VSEstado;
Definir Numero VSCodFor;
Definir Alfa VSSitFor;
Definir Alfa VSNomFor;
Definir Alfa VSTipFor;
Definir Numero VSCepFor;
Definir Alfa ENTER;
CaracterParaAlfa(10, ENTER);
Definir Alfa vCodForStr;
Definir Alfa vMsg;
Definir Alfa vStrAux1;
Definir Alfa vStrAux2;
IntParaStr(VSCodFor, vCodForStr);
se (VSEstado = "INSERINDO")
vMsg = "Fornecedor " + vCodForStr + " criado!";
senao
se (VSEstado = "ALTERANDO")
vMsg = "Fornecedor " + vCodForStr + " alterado!";
senao
se (VSEstado = "EXCLUINDO")
vMsg = "Fornecedor " + vCodForStr + " excluído!";
se (VSEstado <> "EXCLUINDO") {
vMsg = vMsg + ENTER +
"Valores antigos X novos:" + ENTER;
Definir Cursor xCur095FOR;
xCur095FOR.SQL "SELECT SITFOR, NOMFOR, TIPFOR, CEPFOR
FROM E095FOR
WHERE
CODFOR = :VSCodFor";
xCur095FOR.AbrirCursor();
vMsg = vMsg + "SitFor: " + VSSitFor + " - " + xCur095FOR.SitFor + ENTER;
vMsg = vMsg + "NomFor: " + VSNomFor + " - " + xCur095FOR.NomFor + ENTER;
vMsg = vMsg + "TipFor: " + VSTipFor + " - " + xCur095FOR.TipFor + ENTER;
IntParaStr(VSCepFor, vStrAux1);
IntParaStr(xCur095FOR.CepFor, vStrAux2);
vMsg = vMsg + "CepFor: " + vStrAux1 + " - " + vStrAux2;
xCur095FOR.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 |
VSCodFor | NÚMERO | Código do fornecedor (chave do fornecedor) | 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.