Identificador de Regra

EST-207LEIBA01

Módulo: EST - Estoques.

Finalidade: Ler o código informado no campo Cod. Barras da tela F210ARC. Para utilizar a tela F210ARC, é obrigatório que seja retornado qual produto (através da variável EstACodPro), qual derivação (através da variável EstACodDer) serão atendidos da requisição que foi carregada na tela no momento de informar o código de barras. No caso do produto controlado por lote, deve ser obrigatoriamente retornado qual o lote será utilizado para o atendimento (através da variável EstACodLot).

Características: O código do lote informado na regra será consistido, mas o produto e a derivação não serão, pois, como será feito o atendimento da requisição através do "rastreamento" do produto e derivação pela grade, não há necessidade de consistir. Não é necessário informar a quantidade a ser atendida, pois por padrão, o valor para ela será um. Caso seja declarada a quantidade na regra, ela não pode ser menor ou igual a zero, e, caso seja, a quantidade atendida será alterada para um.

Tela: F210ARC

Transação: Não se aplica.

Regra:

Definir Numero EstNCodEmp;
Definir Alfa EstACodBar;
Definir Alfa EstACodPro;
Definir Alfa EstACodDer;
Definir Alfa EstACodLot;
Definir Alfa xCursor_E075DER;
Definir Alfa xQuery_E075DER;
Definir Alfa xCursor_E210DLS;
Definir Alfa xQuery_E210DLS;

SQL_Criar(xCursor_E075DER);
xQuery_E075DER = "SELECT CODPRO,CODDER \ 
                   FROM E075DER \
                  WHERE CODEMP = :CODEMP \
                    AND CODBAR = :CODBAR";

SQL_DefinirComando(xCursor_E075DER,xQuery_E075DER);
SQL_DefinirInteiro(xCursor_E075DER, "CODEMP", EstNCodEmp);
SQL_DefinirAlfa(xCursor_E075DER, "CODBAR", EstACodBar);

SQL_AbrirCursor(xCursor_E075DER);

/* Buscar na derivação o Código do Produto e Derivação baseado no código
   de barras informado na tela */
Se (SQL_EOF(xCursor_E075DER) = 0)
  {
    SQL_RetornarAlfa(xCursor_E075DER,"CODPRO",EstACodPro);
    SQL_RetornarAlfa(xCursor_E075DER,"CODDER",EstACodDer);
  }
  
/* Se não encontrar na E075DER, pode ser que seja um produto controlado por 
   lote, então busca o produto/derivação da E210DLS. */     
Senao
  {
     SQL_Criar(xCursor_E210DLS);
     xQuery_E210DLS = "SELECT CODPRO,CODDER \ 
                        FROM E210DLS \
                       WHERE CODEMP = :CODEMP \
                         AND CODLOT = :CODLOT";
      
     SQL_DefinirComando(xCursor_E210DLS,xQuery_E210DLS);
     SQL_DefinirInteiro(xCursor_E210DLS, "CODEMP", EstNCodEmp);
     SQL_DefinirAlfa(xCursor_E210DLS, "CODLOT", EstACodBar);
      
     SQL_AbrirCursor(xCursor_E210DLS);
     
     Se (SQL_EOF(xCursor_E210DLS) = 0)
     { 
       SQL_RetornarAlfa(xCursor_E210DLS,"CODPRO",EstACodPro);
       SQL_RetornarAlfa(xCursor_E210DLS,"CODDER",EstACodDer);
       /* Retorna o lote a ser atendido, que é o próprio código informado 
          na tela e foi utilizado para buscar o produto e derivação da tabela
          E210DLS */
       EstACodLot = EstACodBar;
     }
    SQL_FecharCursor(xCursor_E210DLS);
    SQL_Destruir(xCursor_E210DLS);      
  }
      
SQL_FecharCursor(xCursor_E075DER);
SQL_Destruir(xCursor_E075DER); 

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
EstNCodEmp NÚMERO Código da Empresa. N
EstNNumEme NÚMERO Número da Requisição. N
EstNSeqEme NÚMERO Número da sequência da requisição. N
EstACodTns ALFA Código da transação. N
EstACodDep ALFA Código do depósito. N
EstACodBar ALFA Código de barras. N
EstACodPro ALFA Código do produto (obrigatório retornar o produto). S
EstACodDer ALFA Código da derivação (obrigatório retornar a derivação). S
EstACodLot ALFA Código do lote (obrigatório retornar o lote se o produto é controlado por lote). S
EstNQtdPro NÚMERO Quantidade a ser atendida por leitura. 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ê?