uCosminexus 電子フォームワークフロー 解説
ここでは,BLC帳票から添付ファイルを操作する手順を説明します。
BLC帳票から添付ファイルを操作するには,添付ファイル情報格納用テーブルを作成して環境設定をします。
BLCでは,データベース(HiRDB,OracleおよびSQL Server)用に,添付ファイルを操作するためのテーブル情報を定義したファイル(BLCFile.txt)をサンプルとして提供しています。サンプルファイルは,アプリケーションサーバの次のディレクトリに格納されています。
BLC帳票から添付ファイルをアップロード,ダウンロードまたは削除する方法を説明します。
各帳票から案件開始,作業完了,保留などの処理を実行するときに,添付ファイルをアップロードできます。
操作手順
document.forms[0].encoding="multipart/form-data"; |
<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="ファイル参照名"> |
表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属性に指定したファイルのファイル名を指定します。 ファイル参照名タグはファイルタグと対で指定してください。対になっていない場合はファイルのアップロードができません。 |
注意事項
各タグの設定内容に誤りがあると,誤りのあるファイルがアップロードされなかったり,アップロードの処理自体がエラーになったりすることがあります。アップロードに失敗する場合の動作の種類を次に示します。
表H-2 アップロード実行時の動作
動作 | 説明 |
---|---|
無視 | 無視されたファイルはアップロードされませんが,処理自体は正常とみなされます。 同時に処理されたほかのファイルはアップロードされます。 |
警告 | トレースファイルが出力されます。 警告が出たファイルはアップロードされません。 |
エラー | 例外が発生し,アップロードの処理が失敗します。 同時に処理されたほかのファイルもすべてエラーになります。 |
動作の詳細を説明します。
図H-1 添付ファイルが無視される場合の例
添付ファイル最大数に指定されている連番1のファイルだけがアップロードされます。図H-2 警告が表示される場合の例
図H-3 エラーが発生する場合の例
処理自体が中断されるため,正しく指定された連番1および連番3のファイルもアップロードされません。実装例
ユーザ追加処理でタグを出力する実装例を次に示します。
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>"); |
帳票に添付ファイルのダウンロード用のリンクを追加することで,リンクのクリック時に添付ファイルをダウンロードできます。
添付ファイルダウンロード機能では,申請IDとファイルIDを用いてDBからファイル本体を取得し,呼び出し元に返します。
操作手順
/form/include/BLCFMCParts.jsc |
<script type="text/javascript" src="../../form/include/BLCFMCparts.jsc"></script> |
<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メソッドから取得してください。 |
注意事項
ファイルのダウンロード画面は開いたままの状態で放置しないでください。ファイルのダウンロード画面を開いたままの状態にすると,J2EEサーバの実行スレッドが使用されたままになります。
実装例
ダウンロード機能および削除機能を実装すると,BLC帳票のコメント記述欄の上に添付ファイル名のリンクと削除用チェックボックスが表示されます。
リンクをクリックすることで添付ファイルをダウンロードできます。また,チェックボックスをチェックすることで添付ファイルを削除できます。
ダウンロード機能および削除機能の実装例を次に示します。
各帳票から案件開始,作業完了,保留などの処理を実行するときに,添付ファイルを削除できます。
操作手順
<input type="値" name="A_BLC_DELETE_FILE_1" value="削除ファイル"> <input type="値" name="A_BLC_DELETE_FILE_NUM" 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」を指定した場合は,ファイルは削除されません。 |
注意事項
各タグの設定内容に誤りがあると,誤りのあるファイルが削除されなかったり,削除の処理自体がエラーになったりすることがあります。削除に失敗する場合の動作の種類を次に示します。
表H-5 削除実行時の動作
動作 | 説明 |
---|---|
無視 | 無視されたファイルは削除されませんが,処理自体は正常とみなされます。 同時に処理されたほかのファイルは削除されます。 |
警告 | トレースファイルが出力されます。 警告が出たファイルは削除されません。 |
エラー | 例外が発生し,削除の処理が失敗します。 同時に処理されたほかのファイルもすべてエラーになります。 |
動作の詳細を説明します。
図H-4 削除ファイルが無視される場合の例
削除ファイル最大数に指定されている連番1のファイルだけが削除されます。図H-5 警告が表示される場合の例
添付ファイル最大数の範囲内の連番1および連番3のファイルは削除されます。実装例
削除機能の実装例については,「(b) 添付ファイルのダウンロード機能」の実装例を参照してください。
添付ファイル処理とユーザ業務で追加した処理やセションのメモリ使用量の合計がCosminexusの最大ヒープサイズを超えていないか,次の計算式を基に確認してください。なお,次の計算式の単位はMB(メガバイト)です。
最大ヒープサイズ > 添付ファイルサイズ×係数※1×多重度+100※2+ユーザ追加業務処理やセションの消費メモリ |
なお,Cosminexusの最大ヒープサイズの指定方法は,マニュアル「Cosminexus V9 アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。
All Rights Reserved. Copyright (C) 2010, 2014, Hitachi, Ltd.