Lov cascading Mestre/Detalhe

Oracle Application Express - web application development tool (antigamente conhecido como Oracle HTML-DB)
Responder
marnufer
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Ter, 13 Mar 2007 11:30 am
Localização: são leopoldo

Ola,

há como efetuar uma lov para um campo detalhe, onde a clausula where restrinja a um campo mestre ?? Por exemplo, uma requisicao de materiais, onde no mestre tenho a EMPRESA/data/centro custo e no detalhe os itens e seuas respectivas qtdes. A lov de itens deverá trazer apenas os itens relativos a EMPRESA inserida no registro mestre. A opção cascading, traz somente os campos da tabela detalhe ...

alguma sugestao ??
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Ola marnufer,

Sim e possivel, faça 2 campos tipo lov, no segundo lov vai no List of Values --> Cascading LOV Parent Item(s) e coloque o nome da 1º lov.

Com isso quando a 1º lov estivar por exemplo '001' a segunda lov vai trazer resultado com a clausula where codigo = '001'

Espero ter ajudado.

Douglas - Madmax
marnufer
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Ter, 13 Mar 2007 11:30 am
Localização: são leopoldo

Ola Douglas

Obrigado pelo retorno


Mas a situacao é que a minha primeira Lov esta no bloco mestre e a segunda no bloco detalhe, então na aparece o campo para fazer o cascateamento, aparecem apenas os campos da tabela detalhe.

No anexo tento mostrar visualmente a situacao
Anexos
lov
lov
chunning
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 41
Registrado em: Seg, 28 Mar 2011 11:39 am
Localização: Feliz - RS

Marnufer

Tu podes referenciar qualquer campo de qualquer página. Basta saber se o campo referenciado possui valor.
Na segunda lov que tu podes usar:

Selecionar tudo

SELECT IDEMP, NOMEMP FROM TABELA_XXX WHERE EMPRESA=:P2_EMPRESA
(considerando que este campo p2_empresa foi carregado na primeira lov)

Abraço!
marnufer
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Ter, 13 Mar 2007 11:30 am
Localização: são leopoldo

Ola,

obrigado pelo retorno, mas infelizmente não funciona como citou, tanto que na lista para selecionar a "parent column" não aparece o e a coluna bo bloco master que eu quero refenciar. Se coloco o nome dela manualmente, não retorna nada na Lov.
chunning
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 41
Registrado em: Seg, 28 Mar 2011 11:39 am
Localização: Feliz - RS

Marnufer

Pelo que vi no print, a única coisa errada é o nome do campo PARENT.
Tu colocou :EMPRESA sendo que deve ser o nome completo do campo :EMPRESA_MESTRE.

Veja o anexo que eu coloquei onde tenho Comarcas e Foros. Quando a comarca é grande (ex Porto Alegre) daí pode ter vários Foros. Quando o usuário escolhe a comarca, o sistema popula a lov de Foros de acordo com a comarca informada.
Anexos
Lov_Cascata.jpg
marnufer
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Ter, 13 Mar 2007 11:30 am
Localização: são leopoldo

Certo,

mas tanto comarca e foro estao dentro de "Outros". O que não consigo e se puder fazer o teste ai, é tentar relacionar a algum campo dentro de "valores", tipo se o campo p18_cod_comarca estivesse lá.
Anexos
tela.jpg
chunning
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 41
Registrado em: Seg, 28 Mar 2011 11:39 am
Localização: Feliz - RS

Fiz o teste e funciona normalmente.

A configuração que tu mostrou no print está certa, só tens que selecionar o campo EMPRESA_MESTRE no campo "Cascading Lov Parent Item(s)". Ali aparecem todos os campos da página.
Também o "SQL Query" do campo :CODIGO_ITEM deixe sem aspas e conforme abaixo:

Selecionar tudo

 select descricaoItem d,
        codItem r
  from ItensEmEstoqueSap
 where codFilial = :EMPRESA_MESTRE
SDs,
Responder
  • Informação
  • Quem está online

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