最近のアクセス:
ビジネス プロセス ダイアグラムでパスを決定する条件またはイベントを定義する方法

ここでは、ビジネス プロセス ダイアグラムでパスを決定する条件またはイベントを定義する方法を説明し、その概要を簡潔に説明します。
次のように、これらの条件を定義するためのプロセス記号があります:
イメージ:13758.jpg 包括的なゲートウェイ: 複数の判断が可能な、フローの分岐点または合流点を示します。このゲートウェイに信号が到達すると、コントロールに指定されているすべての条件が評価されます。評価結果が True になった条件のフローに信号が出力されます。常に、True になる条件が少なくとも 1 つは存在する必要があります。
イメージ:13759.jpg イベントゲートウェイ: 条件ではなく、発生する 2 つ以上のイベントに基づいて決定される、複数のパスの分岐を設定できます。
イメージ:13760.jpg 排他的ゲートウェイ: 2 つ以上の経路にフローを分岐しますが、プロセスフローはいずれか 1 つのパスをとおります。各パスに課された条件の評価に基づき、次に進むパスが選択されます。True の条件がない場合、プロセスはゲートウェイに留まります。このため 'default' パスの使用が推奨されます。

包括的なゲートウェイ

この場合、実行する評価の複雑さに基づいて 3 つの方法で条件を定義できます。
オプションは次のとおりです:
1.各エッジの評価ルールを定義する
エッジには次のプロパティが表示されます:
イメージ:13761.jpg
上記の例では、 [ Condition type ] は [ Rule ] で演算式なので、ダイアグラムに含まれるトランザクションの項目属性と関連するデータを次の演算を使って定義できます: <、>、=、+、*、<>、-。
例:
Rental タスクで開始するレンタカーのプロセスがあります。このタスクのトランザクションではレンタルの詳細が入力されます。この詳細には、借り主、レンタル日数、レンタルする車のモデルなどがあります。次に、選択したモデルをルール RentalMake = 2 で評価します。
ここで評価されるのは、Rental トランザクションの従属項目属性です。借り主が Chevrolet を選択した場合、Chevrolet サブプロセスを介してフローが継続されます。
イメージ:13762.jpg
 
2.すべてのエッジを評価するプロシージャーを定義する
ゲートウェイには、次のプロパティが表示されます:
イメージ:13763.jpg
このプロパティで、進むパスを決定するときに実行するプロシージャーを定義します。プロシージャーを決定すると、エッジには前述の例で表示されるプロパティとは異なるプロパティが表示されます。この場合、定義する必要があるプロパティは [ Condition code ] です。この値が、プロシージャーで返される値と一致すると、このパスを通してフローが継続されます。
イメージ:13764.jpg
条件を評価するプロシージャーには、次のパラメータールールを含める必要があります。最大 100 文字まで指定できます:
Parm(in:&WorkflowProcessDefinition,in:&WorkflowProcessInstance, in: &WorkflowWorkitem, out: &conditionCode);
入力値の説明:
&WorkflowProcessDefinition 
      WorkflowProcessDefinition タイプです。
&WorkflowProcessInstance
      Workflow ProcessInstance タイプです。
&WorkflowWorkitem
      WorkflowWorkitem タイプです。
&conditionCode
      Numeric(4) タイプです。
: ユーザーは、プロシージャーが有効な値 (つまり、エッジのいずれか 1 つに一致する) を返すように定義する必要があります。
例:
上記で定義したレンタカーのプロセスの場合、条件を評価するプロシージャーに次のコードを含めます:
For each
  Where RentalId = &WorkflowProcessInstance.GetApplicationDataByName('RentalId').NumericValue
    if RentalMake = 1
        &conditionCode = 1
    Else
        If RentalMake = 2
            &conditionCode = 2
        Endif
    Endif
Endfor
また、前述のように、パラメータールールを定義する必要があります。
プロシージャーを定義したら、プロパティを設定してゲートウェイと関連付けて、各プロパティに対応する条件コードをエッジで定義する必要があります。
イメージ:13766.jpg
3.各エッジのプロシージャーを定義する
条件としてルールを定義する場合と同様に、エッジには次のプロパティが表示されます:
イメージ:13767.jpg
この場合、条件のタイプは [ Procedure ] です。次に、プロシージャーを定義する必要があり、各エッジが、関連付けられているプロシージャーに基づいて評価されます。関連付けられているプロシージャーには前述の例で定義した形式が必要です。
条件を満たしてフローを継続する必要がある場合、プロシージャーの結果は 1 でなければなりません。それ以外は 0 になる必要があります。

イベントゲートウェイ

この場合、条件で次のような中間イベントについて評価する必要があります:
  • タイマー
  • シグナル
  • 条件付き
イメージ:13768.jpg
タイマーの場合、イベントで指定した時間が経過するとプロセスが継続します。
一方、シグナルは、スロータイプのシグナルイベントが、そのイベントに並行する実行スレッドに定義された場合に継続します。

 







サブページ
Created: 14/09/18 03:07 by Admin Last update: 24/03/25 23:57 by Admin
カテゴリ
Powered by GXwiki 3.0