Oracle Reportsは非推奨です。Oracle APEXはどのように役立ちますか? (2024/11/05)

Oracle Reportsは非推奨です。Oracle APEXはどのように役立ちますか? (2024/11/05)

https://blogs.oracle.com/apex/post/oracle-reports-is-deprecated

投稿者: Monica Godoy | Senior Principal Product Manager


リリース・ノートfor Oracle Forms 12.2.1.4に公開されているように、Oracle ReportsはFusion Middleware 12cリリース2 (12.2.1.3.0)の時点で非推奨になりました。

Oracle Reportsの今後の開発は予定されていません。将来のリリースが使用可能になった場合、Oracleは、新しいサポート・テクノロジ・スタックとの互換性を確保するために必要な重要なバグ修正および変更以外のOracle Reportsの機能拡張を計画していません。詳細は、ここにある「Reports Statement of Direction」を参照してください。


このブログ投稿の目的は、Oracle APEXを使用してOracle Reportsで探索できる様々な選択肢を紹介することです。Oracle APEXは、エンタープライズ・アプリケーション向けの世界で最も人気のあるローコード・プラットフォームであり、どこにでもデプロイできる世界クラスの機能を備えたスケーラブルでセキュアなエンタープライズ・アプリケーションを構築できます。また、APEXはOracle Databaseの完全にサポートされている追加ライセンスコストなしで利用可能な機能です。つまり、Oracle Databaseを使用している場合は、追加のライセンス・コストなしでAPEXの使用を開始できます。APEXには、4つのレポート印刷構成オプションがあります。


  • なし(ネイティブ) - 外部印刷サーバーを使用しない場合は、このオプションを選択します。このオプションを使用すると、CSV、HTML、PDFおよびXLSXを含む基本的な印刷機能を使用できます。
  • Oracle BI Publisher - このオプションには、Oracle BI Publisher (Oracle XML Publisherとも呼ばれる)の有効なライセンスが必要です。これにより、Oracle BI Publisherを使用して、レポート問合せ結果を取得し、XMLからRTF形式に変換できます。APEX内のレポートの印刷用にカスタマイズしたRTFまたはXSL-FOテンプレートをアップロードするには、このオプションを選択します。Oracle BI Publisherでは、Adobe Portable Document Format (PDF)、Microsoft Word Rich Text Format (RTF)またはMicrosoft Excelフォーマット(XLS)またはExtensible Markup Language (XML)がサポートされています。他のサードパーティ製のレンダリング エンジンを使用する場合は、他の出力フォーマットも設定できます。
  • 外部(Apache FOP) - 外部J2EEサーバーでApache FOPを使用している場合、このオプションを選択します。このオプションを使用すると、基本的な印刷機能を使用できます。これには、APEXで提供されるデフォルト・テンプレートを使用したレポート問合せの作成およびレポート・リージョンの印刷、および独自のカスタマイズ済XSL-FOテンプレートの使用が含まれます。
  • Oracle REST Data Services - Oracle REST Data Services (ORDS)を使用している場合は、このオプションを選択します。このオプションを使用すると、基本的な印刷機能を使用できます。これには、APEXで提供されるデフォルト・テンプレートを使用したレポート問合せの作成およびレポート・リージョンの印刷、および独自のカスタマイズ済XSL-FOテンプレートの使用が含まれます。


レポートに関しては、次の2つのタイプのレポートがあります。


  • 列ヘッダーとデータを含む単純なプレーン・レポート。Oracle Reportsでは、表形式、グループ上、マトリックスとも呼ばれます。
  • ピクセルパーフェクトの定義済レポート。Oracle Reportsでは、フォーム、フォーム・レターとも呼ばれます。


このReports Builderを使用したレポートの手動作成チュートリアルで使用可能な、サンプルのOracle Reports問合せを使用して、APEXの各タイプのレポートを確認します。


SELECT ALL DEPARTMENTS.DEPARTMENT_NAME, EMPLOYEES.FIRST_NAME, EMPLOYEES.LAST_NAME, EMPLOYEES.SALARY, LOCATIONS.CITY, COUNTRIES.COUNTRY_NAME, EMPLOYEES.HIRE_DATE
FROM OEHR_EMPLOYEES EMPLOYEES, OEHR_DEPARTMENTS DEPARTMENTS, OEHR_LOCATIONS LOCATIONS, OEHR_COUNTRIES COUNTRIES
WHERE EMPLOYEES.HIRE_DATE > to_date('01-01-2000','dd-mm-yyyy')
AND ((EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID)
AND (DEPARTMENTS.MANAGER_ID = EMPLOYEES.EMPLOYEE_ID)
AND (DEPARTMENTS.LOCATION_ID= LOCATIONS.LOCATION_ID)
AND (LOCATIONS.COUNTRY_ID=COUNTRIES.COUNTRY_ID))
ORDER BY DEPARTMENTS.DEPARTMENT_NAME ASC


単純なプレーン・レポート


APEXには、ニーズに応じてデータを表示するのに役立ついくつかのコンポーネントがあります。


  • ファセット検索またはスマート・フィルタを使用すると、ユーザーは様々な列をフィルタして、必要なデータのみを取得するようにレポートできます。この機能と、クラシック・レポート、カード、マップまたはカレンダ・リージョンを組み合せて使用できます。
  • 対話モード・レポートは、検索、フィルタリング、ソート、ハイライト、グループ化、ピボット、集計、計算、チャートなど、レポートをカスタマイズするための強力な機能を提供します。
  • 対話グリッドには、対話モード・レポートで使用できるほとんどのカスタマイズ機能が含まれています。さらに、ユーザーは、セルをクリックしてその値を編集するだけで、複数のデータ行をすばやく編集できます。
  • クラシック・レポートには、SQL問合せの書式設定された結果に基づく単純なレポート・ページがあります。
  • PDF、CSV、Excel、HTML、JSONおよびXMLファイルをプログラムで生成するためのAPEX_REGION.EXPORT_DATAおよびAPEX_DATA_EXPORT API。


表形式レポートの場合、ファセット検索/スマート・フィルタ・ページおよびクラシック・レポートを使用して、データをさらにフィルタ処理したり、チャートを表示したり、データをダウンロードしたりできます。ウィザードを使用してAPEXアプリケーションのページを作成するだけです:


図1. SQL問合せに基づいた新規ファセット検索ページの作成


レポートを生成するには、次の2つの方法があります。


ダウンロード: このオプションは、「クラシック・レポート」リージョンで有効にできます。これにより、ユーザーはレポートのコンテンツをCSVファイルにダウンロードできます。

  • 印刷: 「クラシック・レポート」リージョンでこのオプションを有効にすることもできます。このリージョンでは、レポート出力形式(PDF、Word、Excel、HTMLおよびXML)とレポート・レイアウトを選択できます。
  • レポート・レイアウトをレポート・リージョンまたはレポート問合せとともに使用して、リモート印刷サーバーがサポートするプリンタ対応形式でデータをレンダリングします。レポートレイアウトは、リモート印刷サーバーのタイプに応じて、次のものを使用して設計できます。
    • Template Builder Wordプラグインで、RTFまたはXSL-FOタイプのファイルとしてアップロードされます。
    • 特殊なテンプレート構文を使用するWordドキュメント。


リモート印刷サーバーの場合、Oracle Analytics Publisherドキュメント・ジェネレータ関数またはAPEX Office印刷を選択できます。これらのいずれかを使用すると、カスタム・レポート・レイアウトを使用してデータをダウンロードできます。


図2. プロパティのダウンロードと印刷


上のグループ・レポートでは、対話モード・レポートまたは対話グリッドを使用できます。ウィザードを使用してページを作成し、そのページを実行して、要件を満たすようにレポートをカスタマイズします。


図3. レポートのカスタマイズ


ページにレポート・リージョンがない場合でも、APEXページでプロセスを作成して、APEX_DATA_EXPORT APIを使用してデータをエクスポートできます。次に例を示します:


declare
    l_highlights     apex_data_export.t_highlights;
    l_context        apex_exec.t_context;
    l_export         apex_data_export.t_export;
    l_print_config    apex_data_export.t_print_config;
begin

    l_context := apex_exec.open_query_context(
        p_location    => apex_exec.c_location_local_db,
        p_sql_query   => 'SELECT ALL DEPARTMENTS.DEPARTMENT_NAME "Department Name", EMPLOYEES.FIRST_NAME "First Name", EMPLOYEES.LAST_NAME "Last Name", 
        EMPLOYEES.SALARY "Salary", LOCATIONS.CITY "City", COUNTRIES.COUNTRY_NAME "Country Name", EMPLOYEES.HIRE_DATE "Hire Date"
FROM OEHR_EMPLOYEES EMPLOYEES, OEHR_DEPARTMENTS DEPARTMENTS, OEHR_LOCATIONS LOCATIONS, OEHR_COUNTRIES COUNTRIES
WHERE EMPLOYEES.HIRE_DATE > to_date(''01-01-2000'',''dd-mm-yyyy'')
AND ((EMPLOYEES.DEPARTMENT_ID = DEPARTMENTS.DEPARTMENT_ID) 
AND (DEPARTMENTS.MANAGER_ID = EMPLOYEES.EMPLOYEE_ID) 
AND (DEPARTMENTS.LOCATION_ID= LOCATIONS.LOCATION_ID) 
AND (LOCATIONS.COUNTRY_ID=COUNTRIES.COUNTRY_ID))
ORDER BY DEPARTMENTS.DEPARTMENT_NAME ASC' );

l_print_config := apex_data_export.get_print_config(
        p_body_font_color             => '#4B4540',
        p_page_header                 => 'Report of Employees',
        p_page_header_font_color      => '#4B4540',
        p_page_header_font_size       => 14,
        p_page_header_font_weight     => apex_data_export.c_font_weight_bold,
        p_page_footer                 => 'Your Company',
        p_page_footer_font_color      => '#4B4540',
        p_page_footer_font_size       => 14,   
        p_page_footer_font_weight     => apex_data_export.c_font_weight_bold,
        p_border_width                => 1,
        p_border_color                => '#4B4540');                            

    l_export := apex_data_export.export (
                        p_context      => l_context,
                        p_format       => apex_data_export.c_format_pdf,
                        p_print_config => l_print_config );

    apex_exec.close( l_context );

    apex_data_export.download( p_export => l_export );

exception
    when others then
        apex_exec.close( l_context );
        raise;
end;



図4. APEX_DATA_EXPORT APIを使用したSQL問合せデータのエクスポート


APIの使用方法の詳細は、APEX 20.2でのレポート印刷の調査を参照してください。


ピクセルパーフェクトレポート


このブログ投稿の冒頭で説明したリリース・ノートは、Oracleがレポート目的でOracle BI Publisherへの移行を推奨していることを示しています。ピクセルパーフェクト・レポートの場合の代替方法を確認します。


Oracle Analytics Publisher


APEXアプリケーションを使用してOracle Analyticsを構成するには、次のステップに従います。

1.    クラウドまたはオンプレミスのOracle Analyticsインスタンスを、APEXワークスペース上の印刷サーバーとして構成します。

2.    レポート・レイアウトを作成します。レイアウトは、MS Word用のOracle BI Publisherプラグインを使用して作成できます。これにより、簡単なドラッグ・アンド・ドロップ・インタフェースを提供することで、レポート・レイアウトを簡単に設計できます。

3.    レポート問合せを作成します。

4.    ページからレポートを起動します。


ドキュメント・ジェネレータの事前作成機能: JSONデータとMS Wordテンプレートの組合せからPDF文書を生成する最近の関数。APEX 24.1では、ドキュメント・ジェネレータ・サービスをリモート印刷サーバーとして構成することで、簡単に統合できるようになりました。印刷テンプレートはWordドキュメントで開発できます。PDFエンジンはアプリケーション・データと組み合せて、最終的な出力をレンダリングします。詳細: Oracle APEXとOCI Document GeneratorによるシームレスなPDF生成


APEX Office Print (AOP): Oracle APEXがPDF、Word、Excel、PowerPointおよびHTMLドキュメントを生成できるようにする柔軟なエンジン。詳細: https://www.apexofficeprint.com/docs/category/getting-started


JasperReportsIntegrationは、Oracleデータベース・アプリケーション(特にOracle APEX)でJasperReportsレポート・エンジンを使用するためのインタフェースを提供します。詳細: https://github.com/daust/JasperReportsIntegration/blob/main/src/doc/github/installation-quickstart.md



まとめ


Oracle APEXは、APEXを使用してFormsアプリケーションを最新化する場合でも、クラウドまたはオンプレミスでアプリケーションを最初から作成する場合でも、ビジネス要件を満たすことができる完全なエンタープライズ・アプリケーション・プラットフォームです。apex.oracle.comでAPEXを無料でお試しください。


コメント

このブログの人気の投稿

Oracle APEXのInteractive Gridで、Oracle Formsと比較して、重複行の検証を制御/通過させる方法 (2022/07/21)

Oracle APEX 24.1の一般提供の発表 (2024/06/17)

Oracle Cloudのデータベースをオブジェクト・ストレージにバックアップする3つの方法 (2021/12/13)