i ntra-mart The Power for Enterprise Web Solution
ワークフローモジュール

注意事項

ワークフロー・モジュールでは、データベースを使用します。
データベース環境への接続が正しくおこなわれていることを確認した上でご利用ください。

ワークフロー・モジュールでは、分岐・結合などの複雑なフローに対応しています。
基本モジュールのみの場合には、直線的なフローにしか対応していませんが、ワークフロー・デザイナをアドオンすることで、複雑なフローの設計が可能になります。

ワークフロー・モジュールでは、すべての申請案件に対して、その承認過程を履歴としてデータベースに保存しています。
このため、承認行為などのワークフローに関わるすべてのアクションに対してデータベース表内に新規レコードが追加される仕様となっています。

ワークフロー・モジュールでは申請、承認などのカスタマイズを行うため、以下のAPIを用意しています。 jp.co.intra_mart.foundation.ackwkf

詳細なプログラム・インターフェースに関しては、パッケージ jp.co.intra_mart.foundation.ackwkf を参照下さい。


処理プログラム

処理プログラムとは、フロー図中の申請者(承認者)と承認者の間の処理を定義するプログラムです。

フロー図

フロー図

フロー図

フロー図

この処理は、直線処理、分岐処理、結合処理、終結処理(terminate)の4種類が定義されています。
それぞれの処理種別に対して複数の処理(処理プログラムファイル)を定義できます。 (複数の処理プログラムの登録はワークフロー・デザイナの機能になります。 詳細は、ワークフロー・デザイナのマニュアルをご参照下さい。)

初期インストール時、及びワークフロー・デザイナを利用しない場合は、 wkf/acknowledge/programs フォルダに格納されている処理プログラムファイルが使用されます。

  • wkf/acknowledge/programs/straight/standard.js 直線部の後処理
  • wkf/acknowledge/programs/terminate/standard.js 終端処理
  • wkf/acknowledge/programs/junction/standard.js 分岐点の後処理(ワークフロー・デザイナをインストールした場合のみ)
  • wkf/acknowledge/programs/combine/standard.js 結合点の前処理(ワークフロー・デザイナをインストールした場合のみ)


※各処理プログラムファイル中の処理関数については、上記ファイルのコメントを参照して下さい。


承認ブロックとブロックコード

ワークフロー全体を承認者、および申請者によるリスト構造に模した構造体として管理しています。
この構造体の中で、承認者および申請者というリスト内の要素をブロックと呼びます。

このブロックは、フロー構造の中で一意である必要があります。
このブロックの一意性を保証するために、各ブロックには識別IDとして、ブロック・コードが割り当てられています。

ブロックコードは、ブロックの位置が右よりも左、下よりも上のほうにより若い番号が割り当てられています。

<イメージ> (※ □・・・ブロック)
□ □ □ □ □ □
□ □ □ □ □ □
□ □ □ □ □ □
というある範囲内の状態に対して、



1  2  3  4  5  6
7  8  9  10 11 12
13 14 15 16 17 18

という順番でブロックコードがふられている。
※実際のブロックコードは4桁の数字(0000?)になっている。



承認ステータスコードと承認者タイプ、その他のコード

以下、ワークフローの各API等で利用する承認ステータスコード等の一覧です。

承認ステータス一覧
(JSからはConstant.XXXX として、JavaからはAckStatusクラスを使って参照できます。)

  • IM_ACK_STS_OK    承認
    承認した。
  • IM_ACK_STS_NG    否認
    否認した。
  • IM_ACK_STS_SA    差戻し
    申請者へ差戻した。
  • IM_ACK_STS_SB    差戻し
    承認者へ差戻した。
  • IM_ACK_STS_DC    取り止め
    再申請を取りやめた。
  • IM_ACK_STS_WT    待ち
    承認処理をまっている状態。
  • IM_ACK_STS_RT    再申請
    再申請した。
  • IM_ACK_STS_AP    申請
    申請した。
  • IM_ACK_STS_PS    自動パス
    自動パスされた。
  • IM_ACK_STS_RV    保留
    保留にした。
  • IM_ACK_STS_AG    代理
    代理承認者に処理を任せた。
  • IM_ACK_STS_NA    未達
    まだ案件が到達していない。

承認者タイプコード一覧
(JSからはConstant.XXXX として、JavaからはAckTypesクラスを使って参照できます。)

  • IM_ACK_TYPE_ORGN    組織
  • IM_ACK_TYPE_USER    ユーザ

その他定数値一覧
(JSからはConstant.XXXX として、JavaからはAckConstクラスを使って参照できます。)

  • IM_ACK_FLG_ON    フラグON
  • IM_ACK_FLG_OFF    フラグOFF
  • IM_ACK_CD_FIRST_BLK    申請ブロックコード
  • IM_ACK_CD_NOTHING    "データ無し"を表すコード



ワークフローマスタメンテナンス用API

V4.0より、ワークフロー用のマスタをメンテナンスするAPIが追加されました。

APIの詳細についてはパッケージ jp.co.intra_mart.foundation.ackwkf を参照下さい。

これらのAPIを利用したサンプルとして以下の各種マスタのインポート・エクスポートが用意されています。メニューに追加すると動作を確認することができます。

サンプル 場所
承認種別ルートカテゴリ <Application Runtimeのドキュメントルート>/wkf/sample/ackcategory/im_ex_category.jsp
承認種別アクセス <Application Runtimeのドキュメントルート>/wkf/sample/ackkind/im_ex_kind.jsp
処理プログラム(※注意 <Application Runtimeのドキュメントルート>/wkf/sample/ackprogram/im_ex_program.jsp
代理承認マスタ <Application Runtimeのドキュメントルート>/wkf/sample/agentacknowledge/im_ex_acknowledge.jsp
代理申請マスタ <Application Runtimeのドキュメントルート>/wkf/sample/agentapplicant/im_ex_applicant.jsp
ルート情報 <Application Runtimeのドキュメントルート>/wkf/sample/route/route.jsp
ルートテンプレート情報 <Application Runtimeのドキュメントルート>/wkf/sample/template/template.jsp

注意:処理プログラムのサンプルはワークフローデザイナをインストールしたときのみ有効になります



添付ファイルについて

V3.1より、申請時に承認案件に添付ファイルを紐付けることができます。

添付ファイルを、一時保管フォルダ(ファイルサーバルート/basemodule/wkf/temporary/ログイングループID/申請ユーザID/承認案件番号) に保管しておくと(※1)、申請/再申請時に承認案件に紐付いた添付ファイルとして処理されます。 この場合、添付ファイルを保管した承認案件番号を利用して申請/再申請する必要があります。 それにはAckItemオブジェクトのインスタンスを作る際に、第一引数に承認案件番号を指定します。 詳細はアプリケーション共通モジュールjp.co.intra_mart.foundation.ackwkf.AckItemを参照して下さい。

申請案件に紐付けられた添付ファイルは、ファイルサーバルート/basemodule/wkf/app/ログイングループID/申請ユーザID/承認案件番号 フォルダに移動されます。移動された後の添付ファイル情報はAckUtil.getAttachData()メソッドを 利用します。詳細はアプリケーション共通モジュールjp.co.intra_mart.foundation.ackwkf.AckUtilを参照して下さい。

(※1)添付ファイルを一時保管フォルダに保管する形式
添付ファイルは様々なOS上に保管されることを考慮にいれて、添付ファイル名は ID化されることを前提にしています。従って実際にファイルサーバのディスク上に 保管するときは、半角英数字のみ(20bytes以内)に変換する必要があります。 ID化したファイル名と実際のファイル名を紐付けるために、インデックスファイルを 用意します。インデックスファイルは、 承認案件番号と同じファイル名で拡張子なしです。 フォーマットは以下の通りです。

ID	実ファイル名
(データの間はタブ区切り、レコードの区切りは改行)

保存イメージ例
ログイングループ DEFAULT
申請ユーザID     ueda
承認案件番号     bwwrf376c4h05
保存ファイル     添付1.txt、添付2.xls

d:\imv31\storage\basemodule\wkf\temporary\DEFAULT\ueda\bwwrf376c4h05\bwwrf376c4h05  (インデックスファイル)
d:\imv31\storage\basemodule\wkf\temporary\DEFAULT\ueda\bwwrf376c4h05\bwwrf37kpku06  (添付1.txt)
d:\imv31\storage\basemodule\wkf\temporary\DEFAULT\ueda\bwwrf376c4h05\bwwrf476h4h07  (添付2.xls)

インデックスファイル(bwwrf376c4h05)の中身
bwwrf37kpku06    添付1.txt
bwwrf476h4h07    添付2.xls



Copyright(C) NTT DATA INTRAMART CO.,LTD. 2000-2003 All Rights Reserved.