ユーザーアプリケーション開発者操作ガイド - ファイルフォーマット変換
ドキュメント対応バージョン
バージョン | 更新日 |
---|---|
DBXFORM - Version 1 | 2024/05/31 |
目次
Oracle APEXでの利用例
本章は、DBXFORM帳票開発アプリにて作成した帳票テンプレートJSONファイルをもとに帳票の生成またはファイルの結合を行うための実装例を説明します。帳票テンプレートJSONファイルやその保存テーブル及びデータ取得元のテーブルが作成されていることを前提とします。
DBXFORM帳票開発アプリについてはDBXFORM帳票開発者操作ガイド
を参照してください。
想定読者 |
---|
アプリケーション開発者 |
ファイルフォーマットの変換
DBXFORM帳票開発アプリにて生成したファイル変換用帳票テンプレートJSONファイル及び、変換するファイル(markdownに変換するdocjsonファイル等)が存在することを前提とします。
ファイル変換用帳票テンプレートJSONファイルのテーブル保存
ファイル変換用帳票テンプレートJSONファイルをテーブルのBLOB列に保存します。
保存テーブルの例:
create table template_json_table(
blob_template_json_file BLOB
);
フォーマット変換するファイルのテーブル保存
フォーマット変換するファイルをテーブルのBLOB列に保存します。
保存テーブルの例:
create table convert_file_sample_table(
convert_file BLOB
);
ファイル変換アプリケーション作成
アプリケーション・ビルダー
を開き、作成
をクリックします。新規アプリケーション
をクリックし、アプリケーションの作成画面に遷移します。名前
にファイル変換アプリケーション
を入力し、アプリケーションの作成
ボタンをクリックします。
ファイル変換ページの作成
ファイル変換アプリケーション
のページ・デザイナ
に遷移します。ページの作成
をクリックし、空白ページ
を選択します。ページ定義
にて任意のページ名を入力し、ページ・モード
にて標準
を選択しページの作成
をクリックします。
ファイル変換ダウンロードボタンの設定
- 変換されたファイルのダウンロードを実行する為の
Text
ボタンを任意の場所に配置します。 識別
>ラベル
に変換されたファイルのダウンロード
と入力します。動作
>アクション
にてページの送信
が選択されていることを確認してください。
ファイル変換プロセスの設定
- ページ・デザイナ左側の
プロセス
タブにてAjaxコールバック
にプロセス
を作成します。 識別
>名前
にて任意の名称を設定します。(例: FORM_DOWNLOAD)を設定します。この名称は後程使用します。ソース
>PL/SQLコード
に以下のコードを入力します。
declare
l_output_file_name VARCHAR2(255);
l_form_template_file BLOB;
l_form_template_json JSON_OBJECT_T;
l_convert_file BLOB;
l_result_blob BLOB;
begin
-- ファイル変換用帳票テンプレートJSONファイルを保存したテーブルからBLOBを取得
select blob_template_json_file
into l_form_template_file
from template_json_table;
-- 取得したBLOBファイルをJSONオブジェクトに変換
l_form_template_json := JSON_OBJECT_T(l_form_template_file);
-- 変換後のフォーマットを指定(マークダウン)
DBXFORM.SET_OUTPUT_FORMAT(
p_template_json => l_form_template_json,
p_extension => 'md'
);
-- 変換ファイル(docjson)を取得し、JSONオブジェクトに変換
select convert_file
into l_convert_file
from convert_file_sample_table;
-- 変換ファイルをテンプレートJSONオブジェクトに追加
DBXFORM.ADD_TEMPLATE_FILE(
p_template_json => l_form_template_json,
p_file => l_convert_file
);
-- ファイル変換用帳票テンプレートJSONの変換ファイルを取得
l_result_blob := DBXFORM.GET_RESULT_FORM(
p_template_json => l_form_template_json
);
-- ダウンロードするファイル名
l_output_file_name := 'sample_file_name.zip';
-- 生成したファイルのダウンロード
DBXAP_UTIL.DOWNLOAD_FILE(
p_file_name => l_output_file_name,
p_file_data => l_result_blob
);
exception
WHEN OTHERS THEN
rollback;
RAISE;
end;
ファイル変換用ブランチの設定
プロセスの後
にブランチ
を作成します。動作
>タイプ
にて、ページまたはURL(リダイレクト)
を選択します。ターゲット
のリンクが定義されていません
をクリックし、リンク・ビルダー-ターゲット
に遷移します。ターゲット
>ページ
に&APP_PAGE_ID.
(現在のページ番号)を入力します。詳細
をクリックし、詳細入力項目(リクエスト、アンカー)を表示します。-
リクエスト
に、APPLICATION_PROCESS=<Ajaxコールバックに作成したプロセス名>
(例: APPLICATION_PROCESS=FORM_DOWNLOAD)を入力します。 -
DBXFORM/DBXAP_UTILパッケージのリファレンスは帳票生成API PL/SQLリファレンスを参考にしてください。
変換したファイルのダウンロード
ファイル変換アプリケーションの実行
- 編集内容を保存した後アプリケーションを実行し、作成したページに遷移します。
変換されたファイルのダウンロード
ボタンをクリックすると、変換を行ったファイルがダウンロードされます。