第4章 ケース定義の設計

Business Central のプロセスデザイナーを使用してケースを設計できます。ケース設計は、ケース管理に基づいて、各ケースに固有の目的およびタスクを設定します。ケースフローは、動的タスクまたはプロセスを追加して、実行時に動的に変更できます。この手順では、同じケース定義を作成して、ケース定義設計プロセスを学びます。

Business Central の IT_Orders サンプルプロジェクトには次の orderhardware ビジネスプロセスケース定義が含まれています。

図4.1 orderhardware ビジネスプロセスケース定義

IT Orders case design

前提条件

手順

  1. Business Central にログインし、MenuDesignProjects の順にクリックし、IT_Orders_New をクリックします。
  2. Add AssetCase Definition の順にクリックします。
  3. Create new Case definition ウィンドウで、次の必要な情報を追加します。

    • Case definition: orderhardware を入力します。これは通常、ケース管理されているケースまたはプロジェクトの主題です。
    • Package: com.myspace.it_orders_new を選択して、ケースファイルの作成場所を指定します。
  4. OK をクリックしてプロセスデザイナーを開きます。
  5. ケース内で使用されるサブプロセス、サブケース、およびビジネスルールにアクセス可能なケースファイル変数に値を定義します。

    1. 右上の Diagram properties diagram properties アイコンをクリックします。
    2. 下方向にスクロールして Case Management を展開し、Case File Variables セクションの btn plus をクリックして、次の値を入力します。

      図4.2 orderhardware ケースファイル変数

      Case file variables
    注記

    次のケースファイル変数は、カスタムのデータ型です。

    • hwSpec: org.jbpm.document.Document (この値の型)
    • survey: Survey [com.myspace.it_orders_new] (この値を選択)
  6. Save をクリックします。
  7. ケースに関係するロールを定義します。

    1. 右上の Diagram properties diagram properties アイコンをクリックします。
    2. 下方向にスクロールして Case Management を展開し、Case Roles セクションの btn plus をクリックして、次の値を入力します。

      図4.3 orderhardware ケースロール

      Case roles
      • owner: ハードウェア注文リクエストを行う従業員。ロールの基数は 1 に設定します。これは、このロールに割り当てるユーザーまたはグループが 1 つであることを示しています。
      • manager: 従業員のマネージャー。リクエストされたハードウェアを承認または却下する担当者。ロールの基数は 1 に設定します。これは、このロールに割り当てるユーザーまたはグループが 1 つであることを示しています。
      • supplier: システム内の IT ハードウェアの利用可能なサプライヤー。ロールの基数は 2 に設定します。つまり、このロールに複数のサプライヤーを割り当てることができます。
  8. Save をクリックします。

4.1. Place order サブプロセスの作成

Place order サブプロセスを作成します。これは、別のビジネスプロセスで、サプライヤーが実行します。このサブプロセスは、4章ケース定義の設計 で説明されているように、ケースの実行中に発生する再利用可能なプロセスです。

前提条件

手順

  1. Business Central にログインし、MenuDesignProjectsIT_Orders_New の順にクリックします。
  2. プロジェクトメニューから Add AssetBusiness Process の順にクリックします。
  3. Create new Business Process ウィザードで、以下の値を入力します。

    • Business Process: place-order
    • Package: Select com.myspace.it_orders_new
  4. OK をクリックすると、ダイアグラムエディターが開きます。
  5. キャンバスの空きスペースをクリックし、右上隅の Diagram properties diagram properties アイコンをクリックします。
  6. 下方向にスクロールして Process Data を展開し、Process Variables セクションの btn plus をクリックして、次の値を入力します。

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

    start event
    new task
    user task
  9. ユーザータスクをクリックし、Diagram Properties パネルの Name フィールドに Place order を入力します。
  10. Implementation/Execution を展開し、Groups メニューで Add をクリックし、さらに SelectNew をクリックして supplier を入力します。
  11. Assignments フィールドの diagram properties をクリックし、以下を追加します。

    place order io1

    初めて入力を割り当てる場合は、Data TypeCustom を選択して、org.jbpm.document.Document と入力します。

  12. Save をクリックします。
  13. Skippable チェックボックスを選択し、Description フィールドに次の文字を入力します。

    Approved order #{CaseId} to be placed

    skip description
  14. Place order ユーザータスクから外向き接続を作成し、終了イベントに接続します。

    create end event
    sub proc
  15. Save をクリックして、変更を確定します。

4.2. マネージャー承認のビジネスプロセスの作成

マネージャーの承認プロセスは、注文を受ける否かを決定します。

手順

  1. Business Central で、MenuDesignProjectsIT_Orders_Neworderhardware Business Process の順にクリックします。
  2. 「prepare hardware spec」ユーザータスクを作成して設定します。

    1. 開始イベントをキャバスにドラッグして、開始イベントからタスクに外向き接続を作成し、新しいタスクをユーザータスクに変換します。
    2. 新規ユーザータスクをクリックして、画面の右上隅の Properties diagram properties アイコンをクリックします。
    3. Name フィールドに Prepare hardware spec と入力します。
    4. Implementation/Execution を展開し、Groups メニューで Add をクリックし、さらに SelectNew をクリックして supplier を入力します。
    5. Task Name フィールドに PrepareHardwareSpec と入力します。
    6. Skippable チェックボックスを選択し、Description フィールドに次の文字を入力します。

      Prepare hardware specification for #{initiator} (order number #{CaseId})

    7. Assignments フィールドの diagram properties をクリックし、以下を追加します。

      Prepare hardware I/O values
    8. Save をクリックします。
  3. 「manager approval」ユーザータスクを作成して構成します。

    1. Prepare hardware spec ユーザータスクをクリックして、新しいユーザータスクを作成します。
    2. 新規ユーザータスクをクリックして、画面の右上隅の Properties diagram properties アイコンをクリックします。
    3. ユーザータスクをクリックし、Properties パネルの Name フィールドに Manager approval と入力します。
    4. Implementation/Execution を展開し、Actors メニューで Add をクリックし、さらに SelectNew をクリックして manager と入力します。
    5. Task Name フィールドに ManagerApproval と入力します。
    6. Assignments フィールドの diagram properties をクリックし、以下を追加します。

      Manager approval I/O values
    7. Save をクリックします。
    8. Skippable チェックボックスを選択し、Description フィールドに次の文字を入力します。

      Approval request for new hardware for #{initiator} (order number #{CaseId})

    9. On Exit Action フィールドに、以下の Java 式を入力します。

      kcontext.setVariable("caseFile_managerDecision", approved);

    10. Save をクリックします。
  4. Manager approval ユーザータスクをクリックして、データに基づく排他的論理和 (XOR) ゲートウェイを作成します。

    Creating a gateway
    Creating a Data-based Exclusive (XOR) gateway
  5. 「place order」の再利用可能なサブプロセスを作成して設定します。

    1. Object Library から Subprocesses を展開して、Reusable をクリックします。データに基づく排他的論理和 (XOR) ゲートウェイの右側のキャンバスに新しい要素をドラッグします。

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

      Creating a Data-based Exclusive (XOR) gateway to subprocess
    3. 新規サブユーザータスクをクリックして、画面の右上隅の Properties diagram properties アイコンをクリックします。
    4. Name フィールドに Place order と入力します。
    5. Data Assignments を展開し、Assignments フィールドの diagram properties をクリックし、以下を追加します。

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

      Sequence flow conditions
    8. Place order ユーザータスクをクリックし、終了イベントを作成します。
  6. 「order rejected」ユーザータスクを作成して設定します。

    1. データに基づく排他的論理和 (XOR) ゲートウェイをクリックして、新規ユーザータスクを作成します。
    2. 新規タスクを Place order タスクの下に並ぶようにドラッグします。

      Align new task
    3. 新規ユーザータスクをクリックして、画面の右上隅の Properties diagram properties アイコンをクリックします。
    4. Name フィールドに Order rejected と入力します。
    5. Implementation/Execution を展開し、Task Name フィールドに OrderRejected と入力します。
    6. Actors メニューで Add をクリックし、さらに SelectNew をクリックして owner と入力します。
    7. Assignments フィールドの diagram properties をクリックし、以下を追加します。

      Order rejected I/O values
    8. Save をクリックします。
    9. Skippable チェックボックスを選択し、Description フィールドに次の文字を入力します。

      Order #{CaseId} has been rejected by manager

    10. Order rejected ユーザータスクをクリックし、終了イベントを作成します。
    11. Save をクリックします。
  7. データに基づく排他的論理和 (XOR) ゲートウェイから Order rejected ユーザータスクへの接続をクリックし、Properties diagram properties アイコンをクリックします。
  8. Implementation/Execution を手内して Condition を選択肢、以下の条件式を設定します。

    Sequence flow conditions
  9. Save をクリックします。

    図4.4 マネージャー承認のビジネスプロセス

    Manager approval business process