第4章 ケース定義の設計
Business Central のプロセスデザイナーを使用してケースを設計できます。ケース設計は、ケース管理に基づいて、各ケースに固有の目的およびタスクを設定します。ケースフローは、動的タスクまたはプロセスを追加して、実行時に動的に変更できます。この手順では、同じケース定義を作成して、ケース定義設計プロセスを学びます。
Business Central の IT_Orders サンプルプロジェクトには次の orderhardware ビジネスプロセスケース定義が含まれています。
図4.1 orderhardware ビジネスプロセスケース定義

前提条件
- Business Central で新しいケースを作成している。詳細については、2章新しい IT_Orders ケースプロジェクトの作成 を参照してください。
- データオブジェクトを作成している。詳細については、3章データオブジェクト を参照してください。
手順
- Business Central にログインし、Menu → Design → Projects の順にクリックし、IT_Orders_New をクリックします。
- Add Asset → Case Definition の順にクリックします。
Create new Case definition ウィンドウで、次の必要な情報を追加します。
-
Case definition:
orderhardwareを入力します。これは通常、ケース管理されているケースまたはプロジェクトの主題です。 - Package: com.myspace.it_orders_new を選択して、ケースファイルの作成場所を指定します。
-
Case definition:
- OK をクリックしてプロセスデザイナーを開きます。
ケース内で使用されるサブプロセス、サブケース、およびビジネスルールにアクセス可能なケースファイル変数に値を定義します。
-
右上の Diagram properties
アイコンをクリックします。
下方向にスクロールして Case Management を展開し、Case File Variables セクションの
をクリックして、次の値を入力します。
図4.2 orderhardware ケースファイル変数

注記次のケースファイル変数は、カスタムのデータ型です。
- hwSpec: org.jbpm.document.Document (この値の型)
- survey: Survey [com.myspace.it_orders_new] (この値を選択)
-
右上の Diagram properties
- Save をクリックします。
ケースに関係するロールを定義します。
-
右上の Diagram properties
アイコンをクリックします。
下方向にスクロールして Case Management を展開し、Case Roles セクションの
をクリックして、次の値を入力します。
図4.3 orderhardware ケースロール

-
owner: ハードウェア注文リクエストを行う従業員。ロールの基数は1に設定します。これは、このロールに割り当てるユーザーまたはグループが 1 つであることを示しています。 -
manager: 従業員のマネージャー。リクエストされたハードウェアを承認または却下する担当者。ロールの基数は1に設定します。これは、このロールに割り当てるユーザーまたはグループが 1 つであることを示しています。 -
supplier: システム内の IT ハードウェアの利用可能なサプライヤー。ロールの基数は2に設定します。つまり、このロールに複数のサプライヤーを割り当てることができます。
-
-
右上の Diagram properties
- Save をクリックします。
4.1. Place order サブプロセスの作成
Place order サブプロセスを作成します。これは、別のビジネスプロセスで、サプライヤーが実行します。このサブプロセスは、4章ケース定義の設計 で説明されているように、ケースの実行中に発生する再利用可能なプロセスです。
前提条件
- Business Central で新しいケースを作成している。詳細については、2章新しい IT_Orders ケースプロジェクトの作成 を参照してください。
- データオブジェクトを作成している。詳細については、3章データオブジェクト を参照してください。
手順
- Business Central にログインし、Menu → Design → Projects → IT_Orders_New の順にクリックします。
- プロジェクトメニューから Add Asset → Business Process の順にクリックします。
Create new Business Process ウィザードで、以下の値を入力します。
-
Business Process:
place-order -
Package: Select
com.myspace.it_orders_new
-
Business Process:
- OK をクリックすると、ダイアグラムエディターが開きます。
-
キャンバスの空きスペースをクリックし、右上隅の Diagram properties
アイコンをクリックします。
下方向にスクロールして Process Data を展開し、Process Variables セクションの
をクリックして、次の値を入力します。

- Save をクリックします。
開始イベントをキャバスにドラッグして、開始イベントからタスクに外向き接続を作成し、新しいタスクをユーザータスクに変換します。



-
ユーザータスクをクリックし、Diagram Properties パネルの Name フィールドに
Place orderを入力します。 -
Implementation/Execution を展開し、Groups メニューで Add をクリックし、さらに Select → New をクリックして
supplierを入力します。 Assignments フィールドの
をクリックし、以下を追加します。

初めて入力を割り当てる場合は、Data Type に Custom を選択して、
org.jbpm.document.Documentと入力します。- Save をクリックします。
Skippable チェックボックスを選択し、Description フィールドに次の文字を入力します。
Approved order #{CaseId} to be placed
Place order ユーザータスクから外向き接続を作成し、終了イベントに接続します。


- Save をクリックして、変更を確定します。
4.2. マネージャー承認のビジネスプロセスの作成
マネージャーの承認プロセスは、注文を受ける否かを決定します。
手順
- Business Central で、Menu → Design → Projects → IT_Orders_New → orderhardware Business Process の順にクリックします。
「prepare hardware spec」ユーザータスクを作成して設定します。
- 開始イベントをキャバスにドラッグして、開始イベントからタスクに外向き接続を作成し、新しいタスクをユーザータスクに変換します。
-
新規ユーザータスクをクリックして、画面の右上隅の Properties
アイコンをクリックします。
-
Name フィールドに
Prepare hardware specと入力します。 -
Implementation/Execution を展開し、Groups メニューで Add をクリックし、さらに Select → New をクリックして
supplierを入力します。 -
Task Name フィールドに
PrepareHardwareSpecと入力します。 Skippable チェックボックスを選択し、Description フィールドに次の文字を入力します。
Prepare hardware specification for #{initiator} (order number #{CaseId})Assignments フィールドの
をクリックし、以下を追加します。

- Save をクリックします。
「manager approval」ユーザータスクを作成して構成します。
- Prepare hardware spec ユーザータスクをクリックして、新しいユーザータスクを作成します。
-
新規ユーザータスクをクリックして、画面の右上隅の Properties
アイコンをクリックします。
-
ユーザータスクをクリックし、Properties パネルの Name フィールドに
Manager approvalと入力します。 -
Implementation/Execution を展開し、Actors メニューで Add をクリックし、さらに Select → New をクリックして
managerと入力します。 -
Task Name フィールドに
ManagerApprovalと入力します。 Assignments フィールドの
をクリックし、以下を追加します。

- Save をクリックします。
Skippable チェックボックスを選択し、Description フィールドに次の文字を入力します。
Approval request for new hardware for #{initiator} (order number #{CaseId})On Exit Action フィールドに、以下の Java 式を入力します。
kcontext.setVariable("caseFile_managerDecision", approved);- Save をクリックします。
Manager approval ユーザータスクをクリックして、データに基づく排他的論理和 (XOR) ゲートウェイを作成します。


「place order」の再利用可能なサブプロセスを作成して設定します。
Object Library から Subprocesses を展開して、Reusable をクリックします。データに基づく排他的論理和 (XOR) ゲートウェイの右側のキャンバスに新しい要素をドラッグします。

データに基づく排他的論理和 (XOR) ゲートウェイをサブプロセスに接続します。

-
新規サブユーザータスクをクリックして、画面の右上隅の Properties
アイコンをクリックします。
-
Name フィールドに
Place orderと入力します。 Data Assignments を展開し、Assignments フィールドの
をクリックし、以下を追加します。

-
データに基づく排他的論理和 (XOR) ゲートウェイからサブプロセスへの接続をクリックし、Properties
アイコンをクリックします。
Implementation/Execution を手内して Condition を選択肢、以下の条件式を設定します。

- Place order ユーザータスクをクリックし、終了イベントを作成します。
「order rejected」ユーザータスクを作成して設定します。
- データに基づく排他的論理和 (XOR) ゲートウェイをクリックして、新規ユーザータスクを作成します。
新規タスクを Place order タスクの下に並ぶようにドラッグします。

-
新規ユーザータスクをクリックして、画面の右上隅の Properties
アイコンをクリックします。
-
Name フィールドに
Order rejectedと入力します。 -
Implementation/Execution を展開し、Task Name フィールドに
OrderRejectedと入力します。 -
Actors メニューで Add をクリックし、さらに Select → New をクリックして
ownerと入力します。 Assignments フィールドの
をクリックし、以下を追加します。

- Save をクリックします。
Skippable チェックボックスを選択し、Description フィールドに次の文字を入力します。
Order #{CaseId} has been rejected by manager- Order rejected ユーザータスクをクリックし、終了イベントを作成します。
- Save をクリックします。
-
データに基づく排他的論理和 (XOR) ゲートウェイから Order rejected ユーザータスクへの接続をクリックし、Properties
アイコンをクリックします。
Implementation/Execution を手内して Condition を選択肢、以下の条件式を設定します。

Save をクリックします。
図4.4 マネージャー承認のビジネスプロセス
