プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 12.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 );

パラメータ

表12-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_REPORT`、`APEX_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;