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

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

付録B.2 ビジネスプロセス定義に対応するユーザ追加処理の例

BLCのユーザ追加処理で実行できる帳票のカスタマイズの例を紹介します。

<この項の構成>
(1) 分業ノードに対応するカスタマイズ
(2) 並列作業に対応するカスタマイズ
(3) ノードごとに表示する帳票を変更するカスタマイズ

(1) 分業ノードに対応するカスタマイズ

分業ノードを持つビジネスプロセスに対応する帳票のカスタマイズの例を次に示します。

図B-6 分業ノードを持つビジネスプロセス

[図データ]

操作手順

  1. 分業ノードの前のノード(図B-6のstep1)で,案件属性の項目を設定するAPIを利用して,BLC_INBOX_TテーブルのNMITEM1カラムに分業ノードBの作業者を格納します。
  2. BLC_INBOX_TテーブルのNMITEM1カラムに格納されたユーザが作業者になるように,分業ノードBの振り分けルールを作成します。
  3. 分業ノードAと分業ノードBの両方で帳票項目を更新する場合は,分業ノードAと分業ノードBで異なる帳票項目を更新するように,帳票を作成する必要があります。
    なお,分業ノードAと分業ノードBのユーザが同時に案件を処理すると,帳票データが上書きされます。そのため,先に処理したユーザが更新した帳票項目の値は,更新されてしまいます。
    分業ノード上で更新する帳票項目の値は業務DBに格納しておき,帳票を開くときに業務DBから値を取得して帳票項目に設定することで,分業ノード上のユーザが同時に案件を処理した場合にも対応できます。

(2) 並列作業に対応するカスタマイズ

並列作業を持つビジネスプロセスに対応する,帳票のカスタマイズの例を次に示します。

図B-7 並列作業を持つビジネスプロセス

[図データ]

操作手順

  1. 並列作業用テーブルを用意します。
  2. 並列作業の前の作業(図B-7のstep1)で,並列作業用テーブルに,子作業1と子作業2の子作業名,および作業者を格納します。
  3. step2の並列作業が並列作業用テーブルを参照し,子作業を生成します。子作業生成ルールの指定例を次に示します。

    [図データ]

  4. 子作業1と子作業2の振り分けルールが並列作業用テーブルを参照するように,振り分けルールを作成します。子作業1および子作業2の振り分けルールの指定例を以下に示します。

    [図データ]

  5. 子作業1と子作業2の両方で帳票項目を更新する場合は,子作業1と子作業2では異なる帳票項目を更新するように,帳票を作成する必要があります。
  6. 子作業の完了と同時に,ユーザ追加処理(ufsv_addButtonExecution)を実装して,該当する子作業のレコードを削除します。子作業のレコードを削除するには,次のようなSQLを実行します。

    [図データ]

    <子作業名>は,BLC_NodeInstNameタグのハイフン以降を切り出すことで取得できます。<案件名>は,BLC_PINameタグで取得できます。

    [図データ]

  7. 業務ステップの終了条件を追加して,子作業ステップがすべて完了した際に,業務ステップを完了させます。業務ステップを完了させるには,次のような完了条件を追加します。

    [図データ]

    業務ステップの完了条件のSQL文の指定で,「True/Falseの結果を反対にする」をチェックします。

(3) ノードごとに表示する帳票を変更するカスタマイズ

帳票は,基本的に一つのビジネスプロセスに対して一つだけ存在します。ただし,ビジネスプロセスの途中で,一時的に帳票を変更できます。