34.14 GET_REPORTファンクション(非推奨)

ノート:

このファンクションは非推奨であり、将来のリリースで削除される予定です。

かわりに、APEX_REGIONのOPEN_QUERY_CONTEXTファンクションを使用します。

このファンクションは、対話モード・レポートの実行時の問合せを戻します。

構文

APEX_IR.GET_REPORT(
    p_page_id   IN NUMBER,
    p_region_id IN NUMBER,
    p_report_id IN NUMBER   DEFAULT NULL,
    p_view      IN VARCHAR2 DEFAULT c_view_report )
    RETURN t_report;

パラメータ

パラメータ 説明
p_page_id 対話モード・レポートが含まれている現在のOracle APEXアプリケーションのページ。
p_region_id 対話モード・レポート・リージョンのID。
p_report_id カレント・アプリケーション・ページで保存したレポートID。p_report_idがNULLの場合、最後に表示されたレポート問合せが取得されます。
p_view

レポートで使用できるビュー・タイプ。値は、APEX_IR.C_VIEW_REPORTAPEX_IR.C_VIEW_GROUPBY,またはAPEX_IR.C_VIEW_PIVOTです。

p_viewがNULLの場合、レポートで現在使用されているビューを取得します。渡されたp_viewが現在のレポートに存在しない場合は、エラーが発生します。

例1

次の例に、GET_REPORTファンクションを使用して、カレント・アプリケーションのページ1にレポートID880629800374638220、リージョン2505704029884282を持つ実行時のレポート問合せをバインド変数情報とともに取得する方法を示します。

DECLARE
   l_report apex_ir.t_report;
   l_query varchar2(32767);
BEGIN 
    l_report := APEX_IR.GET_REPORT (
                    p_page_id => 1,
                    p_region_id => 2505704029884282,
                    p_report_id => 880629800374638220);
    l_query := l_report.sql_query;
    sys.htp.p('Statement = '||l_report.sql_query);
    for i in 1..l_report.binds.count
    loop
        sys.htp.p(i||'. '||l_report.binds(i).name||' = '||l_report.binds(i).value);
    end loop;
END;

例2

次の例では、GET_REPORTファンクションを使用して、リージョン2505704029884282で現在のレポート・ページに定義されている問合せのGroup Byビューを取得します。

DECLARE
   l_report APEX_IR.T_REPORT;
BEGIN
   l_report := APEX_IR.GET_REPORT (
                   p_page_id        => :APP_PAGE_ID,
                   p_region_id      => 2505704029884282,
                   p_view           => APEX_IR.C_VIEW_GROUPBY );
   sys.htp.p( 'Statement = '||l_report.sql_query );
END;