Identificador de Regra

VEN-160SITCT01

Módulo: VEN - Vendas.

Finalidade: Realizar consistências ao alterar a situação do contrato de venda ou a situação de seus itens de serviços e produtos.

Tela: F160NOV

Transação: Não se aplica.

Regra:

DEFINIR NUMERO VenNCodEmp;
DEFINIR NUMERO VenNCodFil;
DEFINIR NUMERO VenNNumCtr;
DEFINIR NUMERO VenNCodMot;
DEFINIR ALFA VenASitCtr;
DEFINIR ALFA VenAOrigem;

DEFINIR CURSOR Cur_E160Cvs;
DEFINIR CURSOR Cur_E160Cvp;


Se (VenASitCtr = "A")
Inicio
Se (VenAOrigem = "DG") @ DADOS GERAIS @
Inicio
Cur_E160Cvs.Sql "Select E160CVS.SITCVS,E160CVS.CODMOT
From E160CVS
Where E160CVS.CodEmp = :VenNCodEmp
And E160CVS.CodFil = :VenNCodFil
And E160CVS.NumCtr = :VenNNumCtr";
Cur_E160Cvs.AbrirCursor();
Enquanto (Cur_E160Cvs.Achou)
Inicio
Se ((VenASitCtr = "A") e (Cur_E160Cvs.SitCvs = "I") e (Cur_E160Cvs.CodMot = 77))
Inicio
GeraLog("Contrato não poderá ser ativado, pois existem itens de serviço que não poderão ser ativados.");
Fim;
Cur_E160Cvs.Proximo();
Fim;
Cur_E160Cvs.FecharCursor();

Cur_E160Cvp.Sql "Select E160CVP.SITCVP,E160CVP.CODMOT
From E160CVP
Where E160CVP.CodEmp = :VenNCodEmp
And E160CVP.CodFil = :VenNCodFil
And E160CVP.NumCtr = :VenNNumCtr";
Cur_E160Cvp.AbrirCursor();
Enquanto (Cur_E160Cvp.Achou)
Inicio
Se ((VenASitCtr = "A") e (Cur_E160Cvp.SitCvp = "I") e (Cur_E160Cvp.CodMot = 77))
Inicio
GeraLog("Contrato não poderá ser ativado, pois existem itens de produto que não poderão ser ativados.");
Fim;
Cur_E160Cvp.Proximo();
Fim;
Cur_E160Cvp.FecharCursor();
Fim;

Se (VenAOrigem = "S") @ SERVIÇOS @
Inicio
Se ((VenASitCtr = "A") e (VenNCodMot = 77))
Inicio
GeraLog("Item de Serviço não poderá ser ativado.");
Fim;
Fim;

Se (VenAOrigem = "P") @ PRODUTOS @
Inicio
Se ((VenASitCtr = "A") e (VenNCodMot = 77))
Inicio
GeraLog("Item de Produto não poderá ser ativado.");
Fim;
Fim;
Fim;

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
VENNCODEMP NÚMERO Código da empresa N
VENNCODFIL NÚMERO Código da filial N
VENNNUMCTR NÚMERO Número do contrato N
VENASITCTR ALFA Situação do contrato (A=Ativo, I=Inativo) N
VENNCODMOT NÚMERO Código do motivo N
VENAORIGEM ALFA Origem (DG=Dados Gerais, P=Produtos, S=Serviços) 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ê?