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-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" + (Ex.: para o campo "SitCto" a variável se chama "VSSitCto"). 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 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.

Este artigo ajudou você?