Identificador de Regra
GER-095CTOAO01
Módulo: GER - Gerais.
Finalidade: Disponibilizar um ponto onde possam ser feitos processamentos específicos após operações realizadas sobre um registro de contato de fornecedor (E095CTO). O identificador é chamado após incluir, alterar ou excluir um fornecedor nas telas em que foi implementado.
Características: Para a regra são passados todos os campos da tabela e campos de usuário "E095CTO" com os dados antigos do contato, 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 depois da gravação das operações no base de dados, logo qualquer erro que ocorra na regra cancelará a operação.
Tela: F095CTO
Transação: Não se aplica.
Regra:
Definir Alfa VSEstado;
Definir Numero VSCodFor;
Definir Numero VSSeqCto;
Definir Alfa VSSitCto;
Definir Alfa VSNomCto;
Definir Alfa VSFonCto;
Definir Numero VSRamCto;
Definir Alfa ENTER;
CaracterParaAlfa(10, ENTER);
Definir Alfa vCodForStr;
Definir Alfa vSeqCtoStr;
Definir Alfa vMsg;
Definir Alfa vStrAux1;
Definir Alfa vStrAux2;
IntParaAlfa(VSCodFor, vCodForStr);
IntParaAlfa(VSSeqCto, vSeqCtoStr);
se (VSEstado = "INSERINDO")
vMsg = "Contato " + vSeqCtoStr + " criado para o fornecedor " + vCodForStr + "!";
senao
se (VSEstado = "ALTERANDO")
vMsg = "Contato " + vSeqCtoStr + " alterado no fornecedor " + vCodForStr + "!";
senao
se (VSEstado = "EXCLUINDO")
vMsg = "Contato " + vSeqCtoStr + " excluído do fornecedor " + vCodForStr + "!";
se (VSEstado <> "EXCLUINDO") {
vMsg = vMsg + ENTER +
"Valores antigos X novos:" + ENTER;
Definir Cursor xCur095CTO;
xCur095CTO.SQL "SELECT SITCTO, NOMCTO, FONCTO, RAMCTO
FROM E095CTO
WHERE
CODFOR = :VSCodFor AND
SEQCTO = :VSSeqCto";
xCur095CTO.AbrirCursor();
vMsg = vMsg + "SitCto: " + VSSitCto + " - " + xCur095CTO.SitCto + ENTER;
vMsg = vMsg + "NomCto: " + VSNomCto + " - " + xCur095CTO.NomCto + ENTER;
vMsg = vMsg + "FonCto: " + VSFonCto + " - " + xCur095CTO.FonCto + ENTER;
IntParaStr(VSRamCto, vStrAux1);
IntParaStr(xCur095CTO.RamCto, vStrAux2);
vMsg = vMsg + "RamCto: " + vStrAux1 + " - " + vStrAux2;
xCur095CTO.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 contato) | N |
VSSeqCto | NÚMERO | Sequência do contato (chave do contato) | 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.