18.12 GET_REPORTファンクション

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

構文

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 );

パラメータ

表18-12 GET_REPORTファンクションのパラメータ

パラメータ 説明

p_page_id

対話モード・レポートを含む、Application Expressのカレント・アプリケーションのページ。

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;