Identificador de Regra

CHA-900CQCOP02

Módulo: CHA - Chão de Fábrica.

Finalidade: Valida a quantidade que está sendo baixada ou estornada de um componente de OP, independentemente de lote ou série.

Características: Similar ao identificador CHA-900CQCOP01 (similar a parte das funcionalidades do mesmo), porém sem considerar os vários lotes e séries do componente sendo baixado.

TelaS: F900BAC e F900ECS.

Transação: Não se aplica.

Regra:

@Impedir a baixa/estorno de componente em que a quantidade total baixada fique 10% inferior ou 10% superior à quantidade prevista@

Definir Alfa ChaACodOri;
Definir Numero ChaNNumOrp;
Definir Numero ChaNCodEtg;
Definir Numero ChaASeqCmp;
Definir Alfa ChaACodCmp;
Definir Alfa ChaACodDer;
Definir Alfa ChaAOprBxa;
Definir Numero ChaNQtdPrv;
Definir Numero ChaNQtdMvp;
Definir Numero ChaNQtdUti;

Definir Alfa ANumOrp;
Definir Alfa ACodEtg;
Definir Alfa ASeqCmp;
Definir Alfa ARetorno;

Se (ChaNQtdPrv > 0)
  @Se possui quantidade prevista (ignora os componentes novos, previstos na OP)@
  {
    Se (ChaAOprBxa = "E")
         ChaNQtdUti = ChaNQtdUti * -1;

Se ((ChaNQtdMvp + ChaNQtdUti) > (ChaNQtdPrv * 1.1))
   {
        IntParaAlfa(ChaNNumOrp, ANumOrp);
        IntParaAlfa(ChaNCodEtg, ACodEtg);
        IntParaAlfa(ChaNSeqCmp, ASeqCmp);

    ARetorno = "Quantidade do componente " + ChaACodCmp + ", derivação " + ChaACodDer + ", sequência " + ASeqCmp + ", estágio " + ACodEtg + ", da OP " + ANumOrp + ", origem " + ChaACodOri + ", é maior que quantidade prevista mais 10%.";
    GeraLog(ARetorno);
    }

Se ((ChaNQtdMvp + ChaNQtdUti) < (ChaNQtdPrv * 0.9))
   {
   IntParaAlfa(ChaNNumOrp, ANumOrp);
   IntParaAlfa(ChaNCodEtg, ACodEtg);
   IntParaAlfa(ChaNSeqCmp, ASeqCmp);

   ARetorno = "Quantidade do componente " + ChaACodCmp + ", derivação " + ChaACodDer + ", sequência " + ASeqCmp + ", estágio " + ACodEtg + ", da OP " + ANumOrp + ", origem " + ChaACodOri + ", é menor que quantidade prevista menos 10%.";
   GeraLog(ARetorno);

   }

}

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
ChaACodOri ALFA Origem da OP N
ChaNNumOrp NÚMERO Número da OP N
ChaNCodEtg NÚMERO Código do estágio do componente N
ChaNSeqCmp NÚMERO Sequência do componente (pode ser zero, caso seja um componente não previsto na OP) N
ChaACodCmp ALFA Código de produto do componente N
ChaADerCmp ALFA Código de derivação do componente N
ChaAOprBxa ALFA Indicativo da operação de baixa de componente ("B" para baixa; "E" para estorno) N
ChaNQtdPrv NÚMERO Quantidade prevista do componente (pode ser zero, caso seja um componente não previsto na OP) N
ChaNQtdMvp NÚMERO Quantidade já movimentada do componente (em outras baixas de componente) N
ChaNQtdUti NÚMERO Quantidade a ser baixada/estornada do componente 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ê?