Identificador de Regra
GER-075PPCAO01
Módulo: GER - Gerais.
Finalidade: Disponibilizar um ponto onde possam ser feitos processamentos específicos após operações realizadas sobre um registro de ligação de produto/derivação com cliente (E075PPC).
O identificador é chamado ao incluir, alterar ou excluir uma ligação nas telas em que foi implementado.
Características: Para a regra são passados todos os campos da tabela "E075PPC" com os dados antigos da ligação, ou seja, dados de antes da realização da operação.
Tais dados servem, principalmente, para verificar as mudanças ocorridas.
Estes dados são passados através de variáveis que seguem a nomenclatura "VS" +
A tipagem das variáveis é análoga a dos campos na tabela.
Nota-se que em uma inserção não existem dados antigos do registro, logo estes campos possuem valor nulo.
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 de ligação está sendo inserido;
b) "ALTERANDO": indica que o registro de ligação está sendo alterado;
c) "EXCLUINDO": indica que o registro de ligação está sendo excluído;
Este identificador é chamado após a realização das operações no base de dados, porém dentro de transação, logo qualquer erro que ocorra na regra cancelará a operação.
Tela: F075PPC, F075PCA, F075PGA
Transação: Não se aplica.
Regra:
Definir Alfa VSEstado;
Definir Numero VSCodEmp;
Definir Alfa VSCodPro;
Definir Alfa VSCodDer;
Definir Numero VSCodCli;
Definir Numero VSPerIpi;
Definir Alfa VSUniMed;
Definir Alfa VSTemIcm;
Definir Alfa ENTER;
CaracterParaAlfa(10, ENTER);
Definir Alfa vCodEmp;
Definir Alfa vCodCli;
Definir Alfa vMsg;
Definir Alfa VStrAux1;
Definir Alfa VStrAux2;
IntParaAlfa(VSCodEmp, vCodEmp);
IntParaAlfa(VSCodCli, vCodCli);
se (VSEstado = "INSERINDO")
vMsg = "Ligação do produto '" + VSCodPro + "', derivação '" + VSCodDer + "' com o cliente " + vCodCli + " criada para empresa " + vCodEmp + "!";
senao
se (VSEstado = "ALTERANDO")
vMsg = "Ligação do produto '" + VSCodPro + "', derivação '" + VSCodDer + "' com o cliente " + vCodCli + " alterada na empresa " + vCodEmp + "!";
senao
se (VSEstado = "EXCLUINDO")
vMsg = "Ligação do produto '" + VSCodPro + "', derivação '" + VSCodDer + "' com o cliente " + vCodCli + " excluída da empresa " + vCodEmp + "!";
se (VSEstado <> "EXCLUINDO") {
vMsg = vMsg + ENTER +
"Valores antigos X novos:" + ENTER;
Definir Cursor xCur075Ppc;
xCur075Ppc.SQL "SELECT PERIPI, UNIMED, TEMICM
FROM E075PPC
WHERE
CODEMP = :VSCodEmp AND
CODPRO = :VSCodPro AND
CODDER = :VSCodDer AND
CODCLI = :VSCodCli";
xCur075Ppc.AbrirCursor();
IntParaAlfa(VSPerIpi, vStrAux1);
IntParaAlfa(xCur075Ppc.PerIpi, vStrAux2);
vMsg = vMsg + "PerIpi: " + vStrAux1 + " - " + vStrAux2 + ENTER;
vMsg = vMsg + "UniMed: " + VSUniMed + " - " + xCur075Ppc.UniMed + ENTER;
vMsg = vMsg + "TemIcm: " + VSTemIcm + " - " + xCur075Ppc.TemIcm;
xCur075Ppc.FecharCursor();
}
Mensagem(Retorna, vMsg);
Variáveis Disponibilizadas:
Nome | Tipo | Observações | Retorna Valor |
---|---|---|---|
VSEstado | ALFA | Indicativo da operação sendo realizada sobre a ligação ("INSERINDO", "ALTERANDO" ou "EXCLUINDO") | N |
VSCodEmp | NÚMERO | Código da empresa (chave da ligação) | N |
VSCodPro | ALFA | Código do produto (chave da ligação) | N |
VSCodDer | ALFA | Código da derivação (chave da ligação) | N |
VSCodCli | NÚMERO | Código do cliente (chave da ligação) | 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.