uCosminexus 電子フォームワークフロー 解説

[目次][用語][索引][前へ][次へ]

付録H.1 BLC帳票の添付ファイルの使用方法

ここでは,BLC帳票から添付ファイルを操作する手順を説明します。

<この項の構成>
(1) BLC帳票の添付ファイルを使うための環境設定
(2) BLC帳票の添付ファイルの使い方
(3) BLC帳票の添付ファイルを使う上での注意事項

(1) BLC帳票の添付ファイルを使うための環境設定

BLC帳票から添付ファイルを操作するには,添付ファイル情報格納用テーブルを作成して環境設定をします。

BLCでは,データベース(HiRDB,OracleおよびSQL Server)用に,添付ファイルを操作するためのテーブル情報を定義したファイル(BLCFile.txt)をサンプルとして提供しています。サンプルファイルは,アプリケーションサーバの次のディレクトリに格納されています。

Windows版の場合
<BLC2のインストールディレクトリ>\blc\setup\sql\<データベース種別>
HiRDBを使う場合の注意事項
  • HiRDB用のサンプルファイル(BLCFile.txt)では,LOB列格納用RDエリアにRLOB2を指定しています。
    変更する場合は,サンプルファイル(BLCFile.txt)のRLOB2を,環境に合わせて変更してください。
  • HiRDBを使う場合,BLOB型のカラムに指定するRECOVERYオペランドには,必ず"ALL"または"PARTIAL"を指定します。

(2) BLC帳票の添付ファイルの使い方

BLC帳票から添付ファイルをアップロード,ダウンロードまたは削除する方法を説明します。

(a) 添付ファイルのアップロード機能

各帳票から案件開始,作業完了,保留などの処理を実行するときに,添付ファイルをアップロードできます。

操作手順

  1. 添付ファイルのアップロード機能を利用する場合,ユーザ追加処理(ufcl_OnLoad)を使って,ユーザ定義スクリプトのOnLoadイベントに次の設定を追加します。
    document.forms[0].encoding="multipart/form-data";
    なお,「forms[0]」の値はご利用の環境に合わせて修正してください。
  2. 帳票内に,最大ファイルサイズ,添付ファイル最大数,ファイル,およびファイル参照名を設定する次のタグを指定します。
    タグの設定値に基づいてアップロードの処理が実行されます。
    <input type="hidden" name="A_BLC_TOTAL_FILE_SIZE" value="最大ファイルサイズ">
    <input type="hidden" name="A_BLC_FILE_NUM" value="添付ファイル最大数">
    <input type="hidden" name="A_BLC_FILE_1" value="ファイル">
    <input type="hidden" name="A_BLC_FILE_NAME_1" value="ファイル参照名">
    タグはすべて設定してください。指定していないタグがある場合,正常に添付ファイルをアップロードできません。
    なお,上記タグのtypeおよびvalueには,任意の数値または値を指定してください。また,上記のタグは,BLSGに帳票モジュールとして指定するHTMLファイル内には設定しないで,ユーザ定義クラスのユーザ追加処理(ufsv_overrideCommentArea)の中で実行してください。
    各タグの詳細を次の表に示します。

    表H-1 アップロード機能のタグ

    種類 項目 説明
    最大ファイルサイズ type属性 任意※1
    name属性※2 A_BLC_TOTAL_FILE_SIZE
    value属性 アップロードできる最大ファイルサイズ(バイト)
    指定範囲:1〜2147483647
    説明 value属性に指定したサイズが,アップロードできる添付ファイルの最大ファイルサイズになります。
    なお,最大ファイルサイズとあわせて,帳票サイズの上限値も指定することを推奨します。
    指定したサイズ以上のファイルをアップロードした場合は,エラーメッセージが表示されます。
    また,複数の添付ファイルをアップロードする場合は,全ファイルのファイルサイズの合計が最大ファイルサイズを超えると,エラーメッセージが表示されます。
    添付ファイル最大数 type属性 任意※1
    name属性※2 A_BLC_FILE_NUM
    value属性 添付するファイルの数(個数)
    指定範囲:1〜32767
    説明 value属性に指定した値が,アップロードできる添付ファイルの最大ファイル数になります。
    ファイル数には「1」以上の数値を指定してください。
    ファイル数に「0」を指定した場合は,ファイルのアップロードは実行されません。
    ファイル type属性 file
    name属性※2 A_BLC_FILE_[n]
    value属性 ファイル本体
    ファイルの入力フォームから指定されます。
    説明 value属性に指定したファイルがアップロードできます。
    このタグを複数配置することで,複数の添付ファイルをアップロードできます。
    添付ファイルが一つの場合,name属性の「[n]」に「1」を指定してください。
    また,添付ファイルが複数の場合,「1」から始まる連番を指定してください。
    なお,ファイルタグはファイル参照名タグと対で指定してください。対になっていない場合はファイルのアップロードができません。
    ファイル参照名 type属性 任意※1
    name属性※2 A_BLC_FILE_NAME_[n]
    value属性 A_BLC_FILE_[n]のファイル名
    説明 ファイルタグ「A_BLC_FILE_[n]」のvalue属性に指定したファイルのファイル名を指定します。
    ファイル参照名タグはファイルタグと対で指定してください。対になっていない場合はファイルのアップロードができません。
    各タグには上記以外の属性値を指定することもできます。ただし,その場合はBLCのチェック対象外になるため,各属性の仕様を確認して追加してください。不正な値を指定した場合は,添付ファイルをアップロードできないことがあります。
    注※1
    type属性には,各値の仕様を参照して任意の値を指定してください。不正な値を指定した場合は,添付ファイルをアップロードできないことがあります。
    注※2
    name属性の値は変更できません。name属性を変更した場合は,添付ファイルをアップロードできません。

注意事項

各タグの設定内容に誤りがあると,誤りのあるファイルがアップロードされなかったり,アップロードの処理自体がエラーになったりすることがあります。アップロードに失敗する場合の動作の種類を次に示します。

表H-2 アップロード実行時の動作

動作 説明
無視 無視されたファイルはアップロードされませんが,処理自体は正常とみなされます。
同時に処理されたほかのファイルはアップロードされます。
警告 トレースファイルが出力されます。
警告が出たファイルはアップロードされません。
エラー 例外が発生し,アップロードの処理が失敗します。
同時に処理されたほかのファイルもすべてエラーになります。

動作の詳細を説明します。

実装例

ユーザ追加処理でタグを出力する実装例を次に示します。

StringBuilder strOut = new StringBuilder(4096);
 
strOut.append("<input type='hidden' name='A_BLC_TOTAL_FILE_SIZE' value='1000000'>");
strOut.append("<input type='hidden' name='A_BLC_FILE_NUM' value='5'>");
strOut.append("<input type='file' name='A_BLC_FILE_1' value='' size='50'>");
strOut.append("<br>");
strOut.append("<input type='file' name='A_BLC_FILE_2' value='' size='50'>");
strOut.append("<br>");
strOut.append("<input type='file' name='A_BLC_FILE_3' value='' size='50'>");
strOut.append("<br>");
strOut.append("<input type='file' name='A_BLC_FILE_4' value='' size='50'>");
strOut.append("<br>");
strOut.append("<input type='file' name='A_BLC_FILE_5' value='' size='50'>");
strOut.append("<br>");
strOut.append("<input type='hidden' name='A_BLC_FILE_NAME_1' value='a1.txt'>");
strOut.append("<input type='hidden' name='A_BLC_FILE_NAME_2' value='a2.txt'>");
strOut.append("<input type='hidden' name='A_BLC_FILE_NAME_3' value='a3.txt'>");
strOut.append("<input type='hidden' name='A_BLC_FILE_NAME_4' value='a4.txt'>");
strOut.append("<input type='hidden' name='A_BLC_FILE_NAME_5' value='a5.txt'>");
strOut.append("<br>");
(b) 添付ファイルのダウンロード機能

帳票に添付ファイルのダウンロード用のリンクを追加することで,リンクのクリック時に添付ファイルをダウンロードできます。

添付ファイルダウンロード機能では,申請IDとファイルIDを用いてDBからファイル本体を取得し,呼び出し元に返します。

操作手順

  1. 次に示すスクリプトファイルを取り込みます。
    /form/include/BLCFMCParts.jsc
    BLCFMCParts.jscファイルの取り込みは,<head>タグと</head>タグの間に,<script>タグのオプションとして記述します。
    BLCFMCParts.jscを取り込む記述例を次に示します。
    <script type="text/javascript" src="../../form/include/BLCFMCparts.jsc"></script>
  2. 帳票内に,ダウンロードリンクを設定する次のタグを指定します。
    タグの設定値に基づいてダウンロードの処理が実行されます。
    <a href='' onclick='BLC_DownloadFile(“申請ID”,”ファイルID” ); return false;' >ファイル名</a>
    タグの詳細を次の表に示します。

    表H-3 ダウンロード機能のタグ

    種類 項目 説明
    ダウンロードリンク href 任意
    onclick BLC_DownloadFile(”申請ID”,”ファイルID”)を呼び出します。
    BLC_DownloadFile 申請IDおよびファイルIDを指定し,app/main/BLCFileDownload.jspを呼び出します。app/main/BLCFileDownload.jspでは,添付ファイルダウンロード画面を表示し,BLC_FILE_Tテーブルから申請IDとファイルIDに該当するファイルを取得します。
    引数の取得方法 申請IDはBLCValDicクラスのitemメソッドから,ファイルIDはBLCFileAccessクラスのgetInfoメソッドから取得してください。
    説明 ファイル名はリンクの文字列に相当します。
    ファイル名をデータベースから取得するにはBLCFileAccessクラスのgetInfoメソッドから取得してください。
    注※
    href属性には,値の仕様を参照して任意の値を指定してください。不正な値を指定した場合は,添付ファイルをダウンロードできないことがあります。

注意事項

ファイルのダウンロード画面は開いたままの状態で放置しないでください。ファイルのダウンロード画面を開いたままの状態にすると,J2EEサーバの実行スレッドが使用されたままになります。

実装例

ダウンロード機能および削除機能を実装すると,BLC帳票のコメント記述欄の上に添付ファイル名のリンクと削除用チェックボックスが表示されます。

リンクをクリックすることで添付ファイルをダウンロードできます。また,チェックボックスをチェックすることで添付ファイルを削除できます。

ダウンロード機能および削除機能の実装例を次に示します。

[図データ]

[図データ]

(c) 添付ファイルの削除機能

各帳票から案件開始,作業完了,保留などの処理を実行するときに,添付ファイルを削除できます。

操作手順

  1. 添付ファイルの削除機能を利用する場合,帳票内に削除ファイルを設定する次のタグを設定します。
    タグの設定値に基づいてファイルが削除されます。
    <input type="値" name="A_BLC_DELETE_FILE_1" value="削除ファイル">
    <input type="値" name="A_BLC_DELETE_FILE_NUM" value="削除ファイル最大数">
    なお,上記タグのvalue=""には,任意の数値または値を指定してください。
    各タグの詳細を次の表に示します。

    表H-4 削除機能のタグ

    種類 項目 説明
    削除ファイル type属性 任意※1
    name属性※2 A_BLC_DELETE_FILE_[n]
    value属性 削除するファイルのファイルID(”NUFID”)
    BLCFileAccessクラスのgetInfoメソッドで取得できます。
    説明 type属性に指定した入力形式で,削除処理が実行されます。
    このタグを複数配置することで,複数の添付ファイルを削除できます。
    削除する添付ファイルが一つの場合,name属性の「[n]」に「1」を指定します。また,削除するファイルが複数の場合は,「1」から始まる連番を指定します。
    削除ファイル最大数 type属性 任意※1
    name属性※2 A_BLC_DELETE_FILE_NUM
    value属性 削除するファイルの数(個数)
    指定範囲:1〜32767
    説明 value属性の値が削除ファイル数に指定されます。
    value属性に指定した値が,削除できるファイル数になります。
    ファイル数には「1」以上の数値を指定してください。1からvalue属性値までの連番を指定されたファイルが削除対象になります。
    ファイル数に「0」を指定した場合は,ファイルは削除されません。
    各タグには上記以外の属性値を指定することもできます。ただし,その場合はBLCのチェック対象外になるため,各属性の仕様を確認して追加してください。不正な値を指定した場合は,添付ファイルを削除できないことがあります。
    注※1
    type属性には,各値の仕様を参照して任意の値を指定してください。不正な値を指定した場合は,添付ファイルを削除できないことがあります。
    注※2
    name属性の値は変更できません。name属性を変更した場合は,添付ファイルを削除できません。

注意事項

各タグの設定内容に誤りがあると,誤りのあるファイルが削除されなかったり,削除の処理自体がエラーになったりすることがあります。削除に失敗する場合の動作の種類を次に示します。

表H-5 削除実行時の動作

動作 説明
無視 無視されたファイルは削除されませんが,処理自体は正常とみなされます。
同時に処理されたほかのファイルは削除されます。
警告 トレースファイルが出力されます。
警告が出たファイルは削除されません。
エラー 例外が発生し,削除の処理が失敗します。
同時に処理されたほかのファイルもすべてエラーになります。

動作の詳細を説明します。

実装例

削除機能の実装例については,「(b) 添付ファイルのダウンロード機能」の実装例を参照してください。

(3) BLC帳票の添付ファイルを使う上での注意事項

添付ファイル処理とユーザ業務で追加した処理やセションのメモリ使用量の合計がCosminexusの最大ヒープサイズを超えていないか,次の計算式を基に確認してください。なお,次の計算式の単位はMB(メガバイト)です。

最大ヒープサイズ > 添付ファイルサイズ×係数※1×多重度+100※2+ユーザ追加業務処理やセションの消費メモリ
注※1
BLC帳票のアップロードおよびダウンロードの場合,係数は5です。
注※2
Cosminexusが消費するメモリです。

なお,Cosminexusの最大ヒープサイズの指定方法は,マニュアル「Cosminexus V9 アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。