2023年6月7日水曜日

APEX_REGION.EXPORT_DATAを使ってみる

 ファセット検索の結果をHTMLでエクスポートするには、との相談がありました。Oracle APEX 20.2よりAPEX_REGION.EXPORT_DATAというAPIが提供されており、APEX_REGION.OPEN_QUERY_CONTEXTを使わずに実装できるようになっています。

サンプル・データセットのEMP/DEPTの表EMPを使ったファセット検索のページより、HTML形式でエクスポートを行う機能を実装してみます。

EMPソースとしたファセット検索のページを含むアプリケーションを作成します。


ページ・デザイナファセット検索のページを開きます。

プロセス・ビューを開き、AjaxコールバックとしてHTML形式でエクスポートするプロセスEXPORTを作成します。

ソースPL/SQLコードとして以下を記述します。APIリファレンスに例として紹介されているコードを、ほぼそのまま利用しています。



ファセット検索の検索結果を表示するクラシック・レポートに、静的IDとしてempを設定します。


ボタンを作成し、Ajaxコールバックとして作成したEXPORTを呼び出します。

識別ボタン名EXPORTラベルExport動作アクションとしてこのアプリケーションのページにリダイレクトを選択します。


ターゲットをクリックし、リンク・ビルダーを開きます。

ターゲットページとしてを指定し、詳細リクエストとしてAPPLICATION_PROCESS=EXPORTを指定します。この指定により、Ajaxコールバックとして作成したプロセスEXPORTが実行されます。


以上で実装は完了です。

今回作成したアプリケーションのエクスポートを以下に置きました。
https://github.com/ujnak/apexapps/blob/master/exports/html-export-apex-region-export-data.zip

Oracle APEXのアプリケーション作成の参考になれば幸いです。