populando um bloco

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
viniciusbedra
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Seg, 08 Ago 2011 11:54 am
Localização: RS

Tenho uma tela no forms, que serve para informar parametros pra gerar um relatorio.
Quero que cada vez que eu informe o fornecedor...
Popule um bloco(no base table) com todos os códigos de itens desse fornecedor...
Qual seria o melhor modo?
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

você pode fazer um cursor e depois um For Loop para popular os dados da tabela. Por exemplo:

DECLARE
CURSOR CUR_ITEM IS
Select iim.item_no codigo,
iim.item_desc1 descricao,
ili.WHSE_CODE Deposito,
ili.LOT_STATUS Status,
ilm.lot_id Lote_Id,
ilm.lot_no Lote,
ili.LOCATION Endereco,
sum(ili.loct_onhand) qtde
From APPS.ic_loct_inv ili,
APPS.IC_ITEM_MST_B iim,
APPS.ic_lots_mst ilm
Where ili.item_id = iim.item_id
and iim.item_no = :PRODUTO
and ilm.item_id = ili.item_id
and ilm.lot_id = ili.lot_id
Group by
iim.item_no,
iim.item_desc1,
ili.WHSE_CODE,
ili.LOT_STATUS,
ilm.lot_id,
ilm.lot_no,
ili.LOCATION
Having round(sum(ili.loct_onhand)) > 0
Order by
ili.WHSE_CODE DESC,
ilm.lot_id,
ili.LOCATION;

REG_ITEM CUR_ITEM%ROWTYPE;
BEGIN
OPEN CUR_ITEM;
LOOP
FETCH CUR_ITEM INTO REG_ITEM;
EXIT WHEN CUR_ITEM%NOTFOUND;
GO_BLOCK('BLOCO3');
:BLOCO3.DEPOSITO := REG_ITEM.DEPOSITO;
:BLOCO3.STATUS := REG_ITEM.STATUS;
:BLOCO3.LOTE := REG_ITEM.LOTE;
:BLOCO3.ENDERECO := REG_ITEM.ENDERECO;
:BLOCO3.ESTOQUE := REG_ITEM.QTDE;
NEXT_RECORD;
END LOOP;
CLOSE CUR_ITEM;
END;
FIRST_RECORD;

Att,
Marlon
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 15 visitantes