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.