2

これは私たちに関連する質問です: APEX LOV Display value look up where Tony Andrews recommend using:

select display_value
from apex_application_lov_entries
where application_id = 123
and list_of_values_name = 'DEPT_LOV'
and return_value = :p1_deptno;

これは、アプリケーション レベルの LOV エントリを参照しているように見えます。ページアイテムで定義された LOV を照会する方法はありますか?

私ができるようにしたいのは、変数を使用して、戻り値の代わりに LOV の表示値を参照することです。したがって、呼び出されたアイテムにLOVがあるP2_TERM_SELECT場合 :P2_TERM_SELECT.、その戻り値が返されますが、表示値用の別の変数はありますか?

4

2 に答える 2

0

便宜上、ページ アイテム lov を共有コンポーネントの lov に変換してみませんか? つまり、アイテムからそれを取得する方法があるかもしれませんが、それは同じように厄介ではないでしょうか? 表示値はどこに必要ですか: plsql またはページ自体ですか? ページ自体にある場合は、常に JavaScript があります。

Tony が使用するクエリは、静的な LOV からエントリを取得するクエリです。LOV に SQL が含まれている場合は、それほど明確ではありません。

ページ アイテム LOV の設定を取得できます。

SELECT lov_definiation
FROM APEX_APPLICATION_PAGE_ITEMS
WHERE application_id = 123
AND page_id = 1
AND item_name = 'P1_DEPTNO';

ただし、これは単なる文字列を返します。select ステートメントは文字列になります。静的な値のリストを定義した場合、戻り値も文字列になります: 定義に表示されるものと同じです。例:

STATIC2:SALES;10,RESEARCH;20

おそらくapex_plugin_utilを除いて、それを解析する組み込みの方法はわかりませんが、これを使用する場所はほとんどないと主張します。自分でロールしたい場合を除きます(編集: で試しましたが、フォーマットapex_plugin_util.get_dataでは機能しません)。STATIC2

あなたが何をしているのか、そしてそれがどのように複雑になるのかを真剣に検討したいと思います。静的な lov を使用する場合は、共有コンポーネントの LOV を使用するか、値にルックアップ テーブルを使用することを検討することをお勧めします。

于 2012-11-06T18:20:36.253 に答える
0
  1. apex にはページレベルの lov のようなものはありません。lov を作成すると、それは常に共有コンポーネントの一部となり、アプリケーション レベルになります。

  2. P2_TERM_SELECT lov item は常に、戻り値で指定したものを返します。

    したがって、あなたのシナリオでは、 :P2_TERM_SELECT から説明値が必要な場合、次の例のように LOV クエリを作成することをお勧めします。

    display_value disp、return_value || を選択します。':' || some_table からの display_value ret。

    次に、P2_TERM_SELECT アイテムから表示値を取得するには、substr(:P2_TERM_SELECT,INSTR(:P2_TERM_SELECT,':') + 1,LENGTH(:P2_TERM_SELECT)) を実行します。

thnx

MK

于 2012-11-06T20:19:30.957 に答える