Identificador de Regra

CHA-900BACMC01

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

Finalidade: Permite manipular (alterando ou inserindo) os componentes apresentados na grade Componentes Previstos para as O.Ps./O.Ss., na aba Componentes Saída, da tela F900BAC.
A regra associada ao identificador é chamada ao clicar no botão Manip. (Regra) da tela F900BAC, o qual só está visível se este identificador estiver ativo e associado a uma regra.
Através da regra é permitido alterar a quantidade a baixar dos componentes da grade, marcá-los ou desmarcá-los, bem como incluir novos componentes na grade.

Origem do nome: F[900BAC] [M]anipular [C]omponentes

Características: Somente aplicável a componentes de saída (não para subprodutos).

As manipulações determinadas pelo identificador afetam diretamente os dados mostrados na grade, e somente são efetivadas/gravadas quando os dados da tela são processados.

O retorno de dados do identificador sobre os componente se dá através de variáveis de saída.
Como é permitido o retorno de diversos componentes, é usado um numeral sequencial no final do nome das variáveis de saída, para identificar a qual componente pertencem os dados.
Por exemplo, para o primeiro componente são informados os campos ChaACodCmp1, ChaAQtdUti1, etc. (notar o 1 no final do nome de todas as variáveis), já para o segundo componente são informados os campos ChaACodCmp2, ChaAQtdUti2, etc., e assim sucessivamente para todos os componentes.
Essa numeração deve iniciar em 1 (para o primeiro componente) e ser incrementada em 1 para cada novo componente, mas nunca pulando um número, pois todos os componentes informados após um pulo são ignorados (por exemplo, tendo a numeração final 1, 2, 3, 5 e 6; somente são considerados os três primeiros componentes numeração final 1, 2 e 3 e os demais são ignorados, pois a numeração final 4 não foi encontrada).
Sempre que o campo ChaACodCmp<9> (onde <9> é a numeração sequencial) estiver sem valor, os dados desse componente são ignorados, passando a avaliação para o componente seguinte (o com número final seguinte).
Para cada componente existem diversos dados que podem ser retornados (ver a listagem de variáveis de saída), e tais dados são alimentados nos componentes na grade da tela.
As variáveis ChaACodOri<9>, ChaNNumOrp<9>, ChaNCodEtg<9>, ChaACodCmp<9> e ChaACodDer<9> identificam qual o registro da grade será alimentado com os dados retornados, porém, caso na grade não exista um registro com esses dados, um novo registro é inserido na grade.

Tela: F900BAC

Transação: Não se aplica.

Regra:

@ INICIO - Variáveis de ENTRADA para uso em SQL/Cursor - INICIO @
definir alfa ChaAAbrOri;
definir alfa ChaAAbrOrp;
definir alfa ChaAAbrEtg;
definir numero ChaNQtdPro;
@ FIM - Variáveis de ENTRADA para uso em SQL/Cursor - FIM @

@ INICIO - Variáveis de SAÍDA para uso na grade - INICIO @
definir alfa ChaASelEci1;
definir alfa ChaACodOri1;
definir numero ChaANumOrp1;
definir numero ChaACodEtg1;
definir alfa ChaACodCmp1;
definir alfa ChaACodDer1;
definir alfa ChaACodDep1;
definir alfa ChaACodLot1;

definir numero ChaNQtdUti1; @ Quantidade Utilizada @
definir numero ChaNQtdMnc1; @ Quantidade Não Conforme @
definir numero ChaNQtdCdr1; @ Quantidade de refugo @
@ FIM - Variáveis de SAÍDA para uso na grade - FIM@

@ INICIO - Variáveis de SAÍDA para uso na grade - INICIO @
definir alfa ChaACodOri2;
definir alfa ChaACodCmp2;
definir alfa ChaACodDer2;
definir alfa ChaASelEci2;
definir numero ChaACodEtg2;
definir numero ChaANumOrp2;
definir numero ChaNQtdUti2;
definir numero ChaNQtdMnc2;
definir numero ChaNQtdCdr2;
@ FIM - Variáveis de SAÍDA para uso na grade - FIM@

@ INICIO - Variáveis de SAÍDA para uso na grade - INICIO @
definir alfa ChaACodOri3;
definir alfa ChaACodCmp3;
definir alfa ChaACodDer3;
definir alfa ChaASelEci3;
definir numero ChaACodEtg3;
definir numero ChaANumOrp3;
definir numero ChaNQtdUti3;
definir numero ChaNQtdMnc3;
definir numero ChaNQtdCdr3;
definir alfa ChaACodLot3;
@ FIM - Variáveis de SAÍDA para uso na grade - FIM@

@INICIO - Retorno do primeiro componente - INICIO@
ChaASelEci1 = "S";
ChaACodOri1 = "10";
ChaANumOrp1 = 3059;
ChaACodEtg1 = 520;
ChaACodCmp1 = "1405";
ChaACodDer1 = "030";
ChaACodDep1 = "DEP01";
ChaACodLot1 = "1";

ChaNQtdUti1 = 7;
ChaNQtdMnc1 = 1;
ChaNQtdCdr1 = 1;
@FIM - Retorno do primeiro componente - FIM@


@INICIO - Retorno do segundo componente - INICIO@
ChaASelEci2 = "S";
ChaACodOri2 = "10";
ChaANumOrp2 = 3059;
ChaACodEtg2 = 520;
ChaACodCmp2 = "1407";
ChaACodDer2 = "024";
ChaACodDep2 = "DEP01";
ChaACodLot2 = "1";

ChaNQtdUti2 = 4;
ChaNQtdMnc2 = 2;
ChaNQtdCdr2 = 2;
@FIM - Retorno do segundo componente - FIM@


@INICIO - Retorno do terceiro componente - INICIO@
ChaACodOri3 = "20";
ChaACodCmp3 = "5566";
ChaACodEtg3 = 520;
ChaANumOrp3 = 3059;
ChaACodDer3 = "003";
ChaNQtdUti3 = 4;
ChaNQtdMnc3 = 1;
ChaNQtdCdr3 = 1;
ChaASelEci3 = "S";
@FIM - Retorno do terceiro componente - FIM@

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
ChaAAbrOri ALFA Abrangência de códigos de origem (valor informado no cabeçalho da tela F900BAC) N
ChaAAbrOrp ALFA Abrangência de números de OP/OS (valor informado no cabeçalho da tela F900BAC). N
ChaAAbrEtg ALFA Abrangência de códigos de estágio (valor informado no cabeçalho da tela F900BAC). N
ChaNQtdPro NÚMERO Quantidade apontada do produto final (somente da primeira ocorrência de OP/produto/derivação primeiro registro da grade Quantidades a serem Calculadas Proporcionalmente). N
ChaASelEci<9> ALFA Indicativo se o componente deve ficar marcado ou não na grade. S
ChaACodOri<9> ALFA Código da origem da OP que contém o componente. S
ChaNNumOrp<9> NÚMERO Número da OP que contém o componente. S
ChaNCodEtg<9> NÚMERO Código do estágio que contém o componente. S
ChaACodCmp<9> ALFA Código do componente. S
ChaACodDer<9> ALFA Código da derivação do componente. S
ChaACodDep<9> ALFA Código do depósito para baixa do componente (ao deixar vazio, é usado o depósito padrão). S
ChaACodLot<9> ALFA Código do lote do componente (somente informar se o componente é controlado por lote). S
ChaANumSep<9> ALFA Número da série do componente (somente informar se o componente é controlado por série). S
ChaNQtdUti<9> NÚMERO Quantidade do componente a ser baixada. S
ChaNQtdMnc<9> NÚMERO Quantidade de material não conforme do componente. S
ChaNQtdCdr<9> NÚMERO Quantidade de refugo do componente. S
ChaDDatMov DATA Data do movimento (valor informado no cabeçalho da tela F900BAC). S

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ê?