Identificador de Regra
GER-095ORMAO01
Módulo: GER - Gerais.
Finalidade: Disponibilizar um ponto onde possam ser feitos processamentos específicos após operações realizadas sobre um registro de endereço de origem das mercadorias de fornecedor (E095ORM). Chamado ao 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 "E095ORM" com os dados antigos do endereço de origem das mercadorias, 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 através 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 antes da gravação das operações no base de dados, logo qualquer erro que ocorra na regra cancelará a operação.
Tela: F095ORM
Transação: Não se aplica.
Regra:
Definir Alfa VSEstado;
Definir Numero VSCodFor;
Definir Numero VSSeqOrm;
Definir Alfa VSSitOrm;
Definir Alfa VSEndOrm;
Definir Alfa VSCidOrm;
Definir Numero VSCepOrm;
Definir Alfa ENTER;
CaracterParaAlfa(10, ENTER);
Definir Alfa vCodForStr;
Definir Alfa vSeqOrmStr;
Definir Alfa vMsg;
Definir Alfa vStrAux1;
Definir Alfa vStrAux2;
IntParaAlfa(VSCodFor, vCodForStr);
IntParaAlfa(VSSeqOrm, vSeqOrmStr);
se (VSEstado = "INSERINDO")
vMsg = "Endereço de origem da mercadoria " + vSeqOrmStr + " criado para o fornecedor " + vCodForStr + "!";
senao
se (VSEstado = "ALTERANDO")
vMsg = "Endereço de origem da mercadoria " + vSeqOrmStr + " alterado no fornecedor " + vCodForStr + "!";
senao
se (VSEstado = "EXCLUINDO")
vMsg = "Endereço de origem da mercadoria " + vSeqOrmStr + " excluído do fornecedor " + vCodForStr + "!";
se (VSEstado <> "EXCLUINDO") {
vMsg = vMsg + ENTER +
"Valores antigos X novos:" + ENTER;
Definir Cursor xCur095ORM;
xCur095ORM.SQL "SELECT SITORM, ENDORM, CIDORM, CEPORM \
FROM E095ORM \
WHERE \
CODFOR = :VSCodFor AND \
SEQORM = :VSSeqOrm";
xCur095ORM.AbrirCursor();
vMsg = vMsg + "SitOrm: " + VSSitOrm + " - " + xCur095ORM.SitOrm + ENTER;
vMsg = vMsg + "EndOrm: " + VSEndOrm + " - " + xCur095ORM.EndOrm + ENTER;
vMsg = vMsg + "CidOrm: " + VSCidOrm + " - " + xCur095ORM.CidOrm + ENTER;
IntParaStr(VSCepOrm, vStrAux1);
IntParaStr(xCur095ORM.CepOrm, vStrAux2);
vMsg = vMsg + "CepOrm: " + vStrAux1 + " - " + vStrAux2;
xCur095ORM.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 endereço) | N |
VSSeqOrm | NÚMERO | Sequência do endereço (chave do endereç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.