Identificador de Regra
GER-135EUDLE01
Módulo: GER - Gerais.
Finalidade: Utilizado nas rotinas de pré-faturas e cargas. Antes, para fazer a sugestão de lotes, era necessário habilitar o identificador de regra GER-000EUDLE01. Desta forma, o sistema procurava os lotes percorrendo toda a tabela de Estoques - Movimentos (E210MVP), o que causava lentidão. Com o identificador GER-135EUDLE01 habilitado, o sistema primeiro irá buscar as informações na tabela Estoques - Produtos por Depósito, Data Entrada/Validade, Lote e Série (E210DLS), melhorando a performance.
Importante
Na tela Atendimento Automático de Pedidos (Análise de Embarque) (F135AEA), o identificador EST-135BLOTE01 deve ser ativado junto com o GER-135EUDLE01. Quando houver um atendimento maior que a quantidade de estoque, ele irá buscar outro lote para atender o item.
Tela: Pré-faturas e cargas.
Transação: Não se aplica.
Características:
- Ordenação montada quando a variável GerAManterOrdenacao estiver definida igual a "N - Não":
- Não podem ser usadas as palavras ASC e DESC na definição dos campos atribuídos nas variáveis VsOrdemAscSql ou VSOrdemDescSql;
- O sistema monta uma lista com todos os campos definidos nas variáveis VsOrdemAscSql e VSOrdemDescSql;
- O sistema percorre a lista de campos e verifica se o campo percorrido está definido na variável VsOrdemAscSql;
- Se estiver definido na variável VsOrdemAscSql, então este campo é concatenado para ser utilizado como ordenação ascendente;
- Caso não esteja definido na variável VsOrdemAscSql, o campo é concatenado para ser utilizado como ordenação descendente.
- Ordenação montada quando a variável GerAManterOrdenacao estiver definida igual a "S - Sim":
- A ordenação recebe a variável VsOrdemAscSql;
- Se o conteúdo da variável VSOrdemDescSql estiver vazio e existir algo definido na ordenação, é recebido a ordenação e mais o conteúdo da variável VSOrdemDescSql;
- Caso o conteúdo da variável VSOrdemDescSql estiver vazio e não existir algo definido na ordenação, é recebido somente o conteúdo da variavel VSOrdemDescSql.
Essa lógica da montagem de ordenação possibilita que a ordenação, sendo ela descendente ou ascendente, seja realizada utilizando apenas uma variável:
- Ordenação descendente:
Definir Alfa GerAManterOrdenacao;
Definir Alfa VSOrdemDescSql;
GerAManterOrdenacao = "S";
VSOrdemDescSql = "QTDEST DESC";
É definido na variável VSOrdemDescSql o campo QTDEST a ser ordenado de forma descendente (DESC). Neste caso, o sistema irá utilizar a ordenação QTDEST DESC, ou seja, será feita a ordenação de forma descendente da quantidade de estoque. Caso for definido apenas o campo QTDEST na variável VSOrdemDescSql, o sistema irá fazer a ordenação de forma ascendente, pois é o padrão do banco.
- Ordenação ascendente:
Definir Alfa GerAManterOrdenacao;
Definir Alfa VSOrdemAscSql l;
GerAManterOrdenacao = "S";
VSOrdemAscSql = "QTDEST ASC";
É definido na variável VSOrdemAscSql o campo QTDEST a ser ordenado de forma ASCENDENTE (ASC). Neste caso, o sistema irá utilizar a ordenação QTDEST ASC, ou seja, será feita a ordenação de forma ascendente da quantidade de estoque. Caso for definido apenas o campo QTDEST na variável VSOrdemAscSql , o sistema irá fazer a ordenação de forma ascendente também, pois é o padrão do banco.
Regras:
DEFINIR ALFA VsOrdemAscSql;
DEFINIR ALFA VSOrdemDescSql;
DEFINIR ALFA GerAManterOrdenacao;
VsOrdemAscSql = "DATVLT,CODLOT";
DEFINIR ALFA MULTIDEPOSITOS;
DEFINIR ALFA DEPOSITOPADRAO;
Variáveis disponibilizadas:
Nome | Tipo | Observações | Retorna Valor |
---|---|---|---|
VSOrdemDescSql | ALFA | Ordenação de forma descendente. | N |
VsOrdemAscSql | ALFA | Ordenação de forma ascendente. | N |
GerAManterOrdenacao | ALFA | Variável que controla a ordenação. Caso seja igual a "S - Sim", não irá utilizar as variáveis que fazem a ordenação Ascendente e Descendente. | S |
MULTIDEPOSITOS | ALFA | Pode ser declarada na regra e não é necessário atribuir valor. Tem como finalidade indicar o sistema que é possível analisar lotes de outros depósitos na sugestão de lotes. Quando a variável estiver declarada, a funcionalidade descrita acima será executada. Se a variável não existir, o sistema não irá considerar outros depósitos na sugestão de lotes. | N |
DEPOSITOPADRAO | ALFA | Pode ser declarada na regra e não é necessário atribuir valor. Para que essa variável funcione, a variável MULTIDEPOSITOS também deve estar declarada. Tem como finalidade indicar o sistema que deve consumir/abater primeiro do depósito padrão na sugestão de lotes. Quando a variável estiver declarada, a funcionalidade descrita acima será executada. | 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.