Como ordenar um block por um item que não é database?

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
dudu0566
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 74
Registrado em: Seg, 06 Ago 2007 3:59 pm
Localização: Campinas - SP
Eduardo Gomes

Gostaria de ordenar um block por um item que não é database.
O block é relacionado a uma tabela, onde existe apenas id's.
No post-query eu retorno as descrições dos mesmos, e gostaria que fosse ordenado por elas.

Grato
Eduardo Gomes
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, beleza?

Cara, dá uma olhada nesse link abaixo que pode lhe ajudar:

Ordenar por não database item


Qualquer coisa, manda pra gente.
dudu0566
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 74
Registrado em: Seg, 06 Ago 2007 3:59 pm
Localização: Campinas - SP
Eduardo Gomes

Ajudou sim!!!!

Valeu Trevisolli !!!!
dudu0566
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 74
Registrado em: Seg, 06 Ago 2007 3:59 pm
Localização: Campinas - SP
Eduardo Gomes

Trevisolli, mais uma dúvida, como faça para realizar uma pesquisa dentro de um bloco quando o item pesquisado também não é database??

grato
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Tenta fazer um like no retorno da função brow.
Talvez tenha que fazer uns esquemas na Pré-query ai.
Qualquer coisa, manda pra gente.
dudu0566
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 74
Registrado em: Seg, 06 Ago 2007 3:59 pm
Localização: Campinas - SP
Eduardo Gomes

Valeu Trevisolli!!!
Pessoal aqui no meu "trampo" deram algumas dicas, seque abaixo:

Criar um Parameter....
---- P_PARAM



....Na trigger PRE-QUERY do bloco fazer com que o parameter receba o valor do campo a ser pesquisado(argumento)....
---- :PARAMETER.P_PARAM := :BLOCO.CAMPOPESQUISADO;



....Na trigger POST-QUERY do bloco, terá o select que retorna o valor do item "Database=NO" (a função que você mencionou) ,
além de uns comandos como.....

Selecionar tudo

/* pode ser a função que você mencionou */
----
BEGIN
  SELECT DESCRICAO
    INTO :BLOCO.CAMPOPESQUISADO
    FROM TABELA
   WHERE ID= :BLOCO.IDPESQUISADO
EXCEPTION 
  WHEN OTHERS THEN
  NULL;
END;
/*como através do select acima foi feita a inserção de um valor, o form entenderá que houve alteração, e quando você for fecha-lo,
mesmo não tendo feito qualquer alteração ele pedirá para saltar as alterações, por isso o código abaixo*/

Selecionar tudo

SET_RECORD_PROPERTY(GET_BLOCK_PROPERTY('BLOCO' ,CURRENT_RECORD),'BLOCO',STATUS,QUERY_STATUS);
/*aqui é feita a verificação se o que foi encontrado é igual ao seu parametro, que na trigger PRE-QUERY foi atribuído seu argumento*/

Selecionar tudo

IF UPPER(:BLOCO.CAMPOPESQUISADO) NOT LIKE UPPER(:PARAMETER.P_PARAM) THEN
    RAISE FORM_TRIGGER_FAILURE;
END IF;
acho que é mais ou menos isso.....

Grato
Eduardo Gomes
Responder
  • Informação
  • Quem está online

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