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.