コンテンツにスキップ

ユーザーアプリケーション開発者操作ガイド - 文字変換

ドキュメント対応バージョン

バージョン 更新日
DBXFORM - Version 1 2024/05/31

目次

Oracle APEXでの利用例

本章は、DBXFORM帳票開発アプリにて作成した帳票テンプレートJSONファイルをもとに帳票の生成またはファイルの結合を行うための実装例を説明します。帳票テンプレートJSONファイルやその保存テーブル及びデータ取得元のテーブルが作成されていることを前提とします。

DBXFORM帳票開発アプリについてはDBXFORM帳票開発者操作ガイドを参照してください。

想定読者
アプリケーション開発者

帳票ファイルの生成

DBXFORM帳票開発アプリにて生成した帳票テンプレートJSONファイル及び、SQLグループで設定した問合せ先のテーブルデータが存在することを前提とします。

帳票テンプレートJSONファイルのテーブル保存

帳票テンプレートJSONファイルをテーブルのBLOB列に保存します。

保存テーブルの例:

create table template_json_table(
    blob_template_json_file BLOB
);

文字変換帳票ファイル生成アプリケーション作成

  1. アプリケーション・ビルダーを開き、作成をクリックします。
  2. 新規アプリケーションをクリックし、アプリケーションの作成画面に遷移します。
  3. 名前帳票ファイル生成アプリケーションを入力し、アプリケーションの作成ボタンをクリックします。
文字変換帳票ファイル生成ページの作成
  1. 帳票ファイル生成アプリケーションページ・デザイナに遷移します。
  2. ページの作成をクリックし、空白ページを選択します。
  3. ページ定義にて任意のページ名を入力し、ページ・モードにて標準を選択しページの作成をクリックします。
文字変換帳票ファイルダウンロードボタンの設定
  1. 帳票のダウンロードを行うためのTextボタンを配置します。
  2. 識別 > ラベル帳票のダウンロードと入力します。
  3. 動作 > アクションにてページの送信が選択されていることを確認してください。
文字変換帳票ファイル生成プロセスの設定
  1. ページ・デザイナ左側のプロセスタブにてAjaxコールバックにプロセスを作成します。
  2. 識別 > 名前にて任意の名称を設定します。(例: FORM_DOWNLOAD)を設定します。この名称は後程使用します。
  3. ソース > PL/SQLコードに以下のコードを入力します。
declare
    l_sql_key_json         JSON_OBJECT_T;
    l_output_file_name     VARCHAR2(255);
    l_form_template_file   BLOB;
    l_form_template_json   JSON_OBJECT_T;
    l_result_blob          BLOB;
begin
    l_sql_key_json := JSON_OBJECT_T();

    -- SQLキーJSONの生成
    -- p_sql_key_json: 保存するJSON_OBJECT_T型の変数を指定します(複数キーが存在する場合同じ変数を指定します)。
    -- p_key: 帳票テンプレートJSONファイルの、SQLグループに指定したSQLの変換するキーを指定します。 (#DEPARTMENT_ID#であれば、DEPARTMENT_IDを指定)
    -- p_data: キーの変換する値を指定します。
    -- p_value_type: 値の種類を記載してください。stringかnumberが指定できます。
    DBXFORM.ADD_SQL_KEY(
        p_sql_key_json   => l_sql_key_json,
        p_key            => 'DEPARTMENT_ID',
        p_data           => '10', -- 部門IDが10のデータを取得
        p_value_type     => 'number'
    );

    -- 帳票テンプレート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);

    -- ファイル名の指定
    l_output_file_name := 'sample_file_name.pdf';

    -- 帳票の生成
    l_result_blob := DBXFORM.GET_RESULT_FORM(
        p_template_json  => l_form_template_json,
        p_sql_key_json   => l_sql_key_json
    );

    -- 生成したファイルのダウンロード
    DBXAP_UTIL.DOWNLOAD_FILE (
        p_file_name => l_output_file_name,
        p_file_data => l_result_blob
    );

exception
    WHEN OTHERS THEN
        rollback;
        RAISE;
end;
文字変換帳票ファイル生成用ブランチの設定
  1. プロセスの後ブランチを作成します。
  2. 動作 > タイプにて、ページまたはURL(リダイレクト)を選択します。
  3. ターゲットリンクが定義されていませんをクリックしリンク・ビルダー・ターゲットに遷移します。
  4. ターゲット > ページ&APP_PAGE_ID.(現在のページ番号)を入力します。
  5. 詳細をクリックし、詳細入力項目(リクエスト、アンカー)を表示します。
  6. リクエストに、APPLICATION_PROCESS=<Ajaxコールバックに作成したプロセス名>(例: APPLICATION_PROCESS=FORM_DOWNLOAD)を入力します。

  7. DBXFORM/DBXAP_UTILパッケージのリファレンスは帳票生成API PL/SQLリファレンスを参考にしてください。

文字変換帳票ファイルのダウンロード

文字変換帳票ファイル生成アプリケーションの実行
  1. 編集内容を保存した後アプリケーションを実行し、作成したページに遷移します。
  2. 帳票のダウンロードボタンをクリックすると、帳票ファイルがダウンロードされます。