ファセット検索の結果をCSV形式でダウンロードする
上記では、クラシック・レポートの問合せコンテキストを取得し、パイプライン表関数を作っています。
最近のAPEXではAPIとして、APEX_REGION.OPEN_QUERY_CONTEXTが提供されています。このファンクションを使用することにより、面倒なパイプライン表関数の作成が不要になります。
サンプル・データセットのEMPから作成できるDemonstration - EMP / DEPT のアプリケーションに含まれているファセット検索のページに、CSV形式のダウンロードを行うボタンを実装してみます。
ファセット検索のページはページ番号3です。
ファセット検索のフィルタ済みリージョンとして指定されているクラシック・レポートのリージョンに静的IDを設定します。APEX_REGION.OPEN_QUERY_CONTEXTの引数p_region_idとして与えるリージョンIDを、ビューAPEX_APPLICATION_PAGE_REGIONSから取り出すために使用します。
今回はEMPLOYEESとしています。
Ajaxコールバックとして、CSV形式のダウンロードを実行するプロセスを作成します。識別の名前はCSVDOWNLOADとします。
PL/SQLコードとして以下を記述します。
作成したAjaxコールバックを呼び出すボタンDOWNLOADを作成します。
ボタンはどこにおいても動作します。今回はブレッドクラムの右端に配置しています。
動作のアクションとしてこのアプリケーションのページにリダイレクトを選択します。
ターゲットのページとして現在開いているページ番号である&APP_PAGE_ID.、AjaxコールバックCSVDOWNLOADを呼び出すために、リクエストに以下を記述します。
APPLICATION_PROCESS=CSVDOWNLOAD
Oracle APEXのアプリケーション作成の参考になれば幸いです。
完