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.