オーケストレーション・プロセス・ステップの設定のガイドライン
分岐、計画、変更の管理など、ステップに関する詳細を指定します。
オーケストレーション・プロセスの各ステップでは、履行明細を履行するためにステップがコールするタスク・サービスを指定します。 各ステップでは、タスク・タイプ、タスク、サービス、依存関係、プランニング、変更管理など、ステップの実行方法を指定します。 ステップでブランチが指定される場合もあります。
オーケストレーション・プロセス・ステップの設定
オーケストレーション・プロセス・ステップを設定するには、「オーケストレーション・プロセス定義の編集」ページに移動し、「プロセス詳細」領域の「ステップ定義」リストを使用して各属性を指定します:
属性 |
説明 |
---|---|
ステップ・タイプ |
ステップの動作を設定します:
|
タスク・タイプ |
各タスク・タイプには、請求システムなどの履行システムとの通信に使用できるサービスが含まれます。 使用できる事前定義済タスク・タイプは次のとおりです。
オーダー管理が明細を請求にインタフェースした後は、オーダー明細を更新できないため、請求ステップの後にスケジュール、予約または出荷ステップを追加しないでください。 |
タスク |
実行するタスクを指定します。 タスクには複数のステップを含めることができます。 たとえば、出荷タスクは出荷の作成サービスを呼び出します。 また、履行システムの更新で様々なステータス値が行われるまで、出荷待ちサービスが待機します。 ノート: 実装プロジェクトを使用してオーケストレーション・プロセス・インスタンスを開発環境から本番環境に移行する場合は、どちらの環境でもタスク名を変更しないでください。 名前を変更すると、オーダー管理でオーケストレーション・プロセスの他のデータへの参照が更新されない場合があります。 詳細は、「受注から入金までの設定のガイドライン」を参照してください。
|
サービス |
このステップがコールするタスク・サービスを指定します。 |
手動 |
ユーザー入力を待機するかどうかを指定します。 手動タスクを指定した場合、オーケストレーション・プロセスは、ユーザーがオーダー管理作業領域でタスクを手動で終了するまで待機します。 たとえば、スケジュール・タスクを手動タスクとして設定し、ユーザーが1日の終了時にすべての履行明細を手動でスケジュールできるようにします。 オーケストレーション・プロセスは、ユーザーが販売オーダーを初めて送信するまで待機します。 ユーザーがオーダー明細を変更しても待機しません。 予約ステップで手動属性を有効にし、予約後の次のステップが出荷タスクであるとします。 プロセスは予約ステップで停止し、オーダー明細のステータスを「手動予約要」に設定します。 ユーザーは手動タスクを終了し、オーケストレーションは出荷タスクに移動し、ステータスを出荷待ちに設定してから、履行に進みます。 ユーザーがオーダー明細を改訂した場合、オーケストレーションはスケジュール、予約および出荷などの改訂の履行に進みますが、予約ステップでは停止しません。 |
終了基準 |
待機ステップを終了するタイミングを決定するタスク・ステータスを指定します。 たとえば、出荷タスクのステータスが出荷済に変わった場合は、待機ステップを終了します。 タスクに複数の待機ステップが含まれている場合は、これらのステップで同じ終了基準が使用されていないことを確認してください。 「タスク・ステータス条件の管理」ページを使用して、最後のステップまたは待機ステップのみが終了基準を使用するようにします。 1つのタスクに複数の待機ステップを設定する場合は、最終待機ステップの前に実行される各待機ステップの終了基準を必ず「完了としてマーク」に設定します。 同じタスクで待機ステップx、待機ステップyおよび待機ステップzを設定し、待機ステップzが最後に発生するとします:
終了基準ステータスとして取消済の値を指定して、オーケストレーション・プロセスの待機タスクを終了してください。 |
明細選択基準 |
履行明細を選択するビジネス・ルールを追加します。 オーケストレーション・プロセス・ステップでは、次の履行明細のみが処理されます:
オーケストレーション・プロセスは、履行タスクのサービスをコールするときに、すべてのオーダー明細または履行明細を必要としない場合があります。 オーダー明細の品目が保証であるとします。 通常、保証は出荷しないため、出荷しない品目を出荷しないというビジネス・ルールを作成できます。 詳細は、「オーケストレーション・プロセス・ステップの履行明細の選択」を参照してください。 |
一時停止ルール |
次のステップを呼び出す前に処理を一時停止するか、いつ処理を再開するかを指定します。 詳細は、「時間の一時停止オーケストレーション・プロセス」を参照してください。 |
プロセスの分岐
オーケストレーション・プロセス・ブランチは、フローが条件を満たしたときにプロセスが実行されるオーケストレーション・プロセス内のパスです。 オーケストレーション・プロセスは線形になるように設定でき、ステップが分岐のない順序で実行されるか、条件に応じてフローが異なるパスに沿って移動するブランチが含まれます。
分岐の設定方法を次に示します:
-
単一のオーケストレーション・プロセスで分岐条件を使用します。
-
オーケストレーション・プロセスのセットを調べ、そのブランチにその1つを割り当てる割当ルールを使用します。
使用する手法は、必要な複雑さによって部分的に異なります。 たとえば、単純な線形オーケストレーション・プロセスをいくつか作成し、割当ルールを使用して1つを選択できます。 または、分岐条件を使用する単一のオーケストレーション・プロセスにこれらのオーケストレーション・プロセスを結合できます。 より複雑な設定では、割当ルールと分岐条件が必要になる場合があります。
詳細は、「オーケストレーション・プロセスへのブランチの追加」を参照してください。
分岐時に次の属性を指定します:
属性 |
説明 |
---|---|
分岐条件 |
分岐内のステップを実行するために条件が満たす必要がある基準を指定します:
|
評価順序 |
オーケストレーション・プロセスが各ブランチ条件を評価するときに使用する順序を指定します。 オーケストレーション・プロセスを分岐する場合にのみ、評価順序を設定します。 分岐しない場合は、順序を設定できません。 |
その他 |
条件ステップの「その他」オプションにチェック・マークを追加し、分岐条件が分岐に指定した基準を満たしている場合、オーケストレーション・プロセスでは分岐条件を満たさない分岐が実行されます。 |
プロセスの計画
属性 |
説明 |
---|---|
プランニング・デフォルト・ブランチ |
オーケストレーション・プロセスがプランニングに使用するデフォルト・パスを指定します。 この設定が使用されるのは、条件ブランチが1つ以上含まれている場合のみです。 |
履行完了ステップ |
この属性にチェック・マークを追加して、このステップの終了時に履行明細が履行されることを示します:
|
デフォルト・リード・タイム |
オーケストレーション・プロセスでステップを実行する必要がある期間を指定します:
|
リード・タイム単位 |
リード・タイムの単位(日数、時間数、分数など)。 |
リード・タイム式 |
リード・タイム式は、ステップが完了する必要がある時間を決定するビジネス・ルールです:
現在の日付と予定出荷日の差異を決定する式の例を次に示します:
説明
詳細は、「オーケストレーション・プロセス・ステップのリード・タイムの追加」を参照してください。 |
変更の管理
属性 |
説明 |
---|---|
待機保留 |
オーケストレーション・プロセスが変更オーダーを受信したときに、アクティブなステップごとに履行システムにメッセージを送信します。 |
トランザクション品目属性の使用 |
トランザクション品目属性を有効にすると、ステップではこれらの属性を調べて、変更オーダーとオーダーの以前のバージョンとの間に存在する差異を判断するのに役立ちます。 |
フレックスフィールド属性の使用 |
フレックスフィールド属性を有効にすると、ステップでは、変更オーダーとオーダーの前のバージョンとの間に存在する差異を判断するために、これらの属性を調べます。 |
報酬パターン |
オーダー管理が変更オーダーを受信する前に実行された各ステップの処理方法を決定するルールのセットを指定します。 カーペットからタイルへの変更オーダー・リクエストを想定します:
報酬パターンを指定しない場合、Order Managementでは、工程のコンテキストに応じて、ステップを更新として処理できます。 いくつかのステップが再実行される可能性があります。 Order Managementでなんらかの理由でステップを補正できない場合は、ステップをバイパスして、発生した次のステップを補正します。 |
日付の計画
Order Managementは、最後のステップの必須完了日を「必須履行日」に設定し、オーケストレーション・プロセスに含まれる各ステップおよびタスクの計画日を計算して、必須履行日を満たします。
Order Managementによる処理方法は次のとおりです:
-
オーケストレーション・プロセスを最初から最後まで、時系列順の最初のステップから開始し、最終履行完了ステップから終了します。
-
完了日の識別に、発生順の最終ステップを使用しません。
-
計算された日付にリード・タイムを組み込みます。 これらのリード・タイムを設定できます。
-
計算が終了した後、再計画スケジュールが表示されます。
Order Managementで「必須履行日」を設定する方法を次に示します:
-
必須履行日をソース・システムが提供する日付に設定します。
-
ソース・システムで日付が指定されていない場合、オーダー管理では必須履行日がリクエスト出荷日に設定されます。
-
リクエスト出荷日に値が含まれていない場合、オーダー管理では必須履行日がリクエスト到着日に設定されます。
-
リクエスト到着日に値が含まれていない場合、オーダー管理では必須履行日がオーダー日に設定されます。
-
オーダー日に値が含まれていない場合、オーダー管理では必須履行日がシステム日付に設定されます。 オーダー管理を実行するコンピュータのオペレーティング・システムには、システム日付が含まれます。
オーダー管理は、日付の設定に成功するとすぐにこの順序を終了します。 たとえば、ソース・システムで日付が指定されている場合、ステップ1のみが実行され、ステップ2から5は実行されません。
統合およびオーケストレーション・プロセスを設定するときは、この順序を念頭に置いてください。
ステップの削除
ステップを削除し、そのステップがオーケストレーション・プロセスまたは履行明細からステータス値を参照する場合、ステップを削除する前にステータス値を削除する必要があります。 そうでない場合は、オーケストレーション・プロセスをリリースできません。
オーケストレーション・プロセスをコピーすると、ステップ3予約の作成およびステップ4出荷リクエストの作成が含まれます。 ステップ3は、オーケストレーション・プロセスから予約済ステータス値を参照します。 履歴需要データからは、常に十分な在庫があるので、品目の在庫を予約したくないことがわかります。 ステップ3は削除しましたが、オーケストレーション・プロセスのリリースを試行するとエラーが発生します:
Task name Reservation does not exist in the Process definition
この問題を解決する方法を次に示します:
- オーケストレーション・プロセス定義の管理タスクに移動し、オーケストレーション・プロセスを開いて編集します。
- 「オーケストレーション・プロセス定義の編集」ページのプロセス詳細領域で、「ステータス条件」をクリックします。
- 「オーケストレーション・プロセス・ステータス値」をクリックします。
ステップで履行明細値を参照している場合は、「履行明細ステータス値」>「ステータス・ルール・セットの編集」をクリックし、ルール・セットからステータス値を削除します。
- ステータス値属性で予約済の「行」をクリックし、「処理」>「削除」をクリックします。
- 「ステップ定義」をクリックします。
-
ステップ名属性に予約がある「行」をクリックし、「処理」>「削除」をクリックします。
事前定義済プロセスの複製
事前定義済オーケストレーション・プロセスの複製を作成し、プロセスの最初のステップを独自のカスタム・ステップに置き換えた場合で、最初のステップでビジネス・ルールを追加する必要がある場合は、「拡張モード」オプションを有効にし、ルールの作成時に「ツリー・モード」オプションを無効にします。 これらのオプションを設定できない場合は、ルールの検証に失敗するため、最初のステップにルールを追加しないでください。
事前定義済ルールの保持
一部の事前定義済オーケストレーション・プロセスには、最初のステップでルールが付属しています。 たとえば、ReturnOrderGenericProcessの最初のステップの名前は受信通知の作成で、行選択基準は受信です。
ReturnOrderGenericProcessに似たカスタム・プロセスを作成する必要があるとしますが、最初のステップでは輸送リクエストを送信する必要があります。 受入明細選択基準は引き続き必要ですが、第1ステップではなく第2ステップで実行する必要があります:
-
「設定および保守」作業領域に移動してから、タスクに移動します:
-
オファリング: オーダー管理
-
機能領域: オーダー
-
タスク: オーケストレーション・プロセス定義の管理
-
-
「オーケストレーション・プロセス定義の管理」ページで、ReturnOrderGenericProcessを検索し、「処理」>「複製」をクリックします。
-
「オーケストレーション・プロセス定義の編集」ページで、値を設定します。
属性
値
プロセス表示名
自分の返品オーダー・プロセス
-
プロセス詳細領域の1行目の受入通知の作成で、値を設定します。
属性
値
ステップ名
臨時
任意の値を使用できます。 すぐに変更します。
-
最初の行をクリックし、「処理」>「行の追加」をクリックします。
ページでは、ステップ100の直後に新しいステップ200が追加されます。
-
ステップ200の値を設定します。 ステップ100を複製しているため、これらの値を設定します。
属性
値
ステップ名
受入通知の作成
ステップ・タイプ
サービス
タスク・タイプ
返品
タスク
返品受入
サービス
予想受入通知の作成
更新サービス
予想受入通知の更新
取消サービス
予想受入通知の取消
-
「保存」をクリックします。
-
ステップ100のルールをコピーします。
-
ステップ100の行選択基準列で、「ルールのクリック」をクリックします。
-
「明細選択基準」ダイアログで、Receivingという名前のルールを確認し、「プロパティ」をクリックして値を設定します。
属性
値
拡張モード
チェック・マークが含まれます
ツリー・モード
チェック・マークが含まれていません
これらの値を設定する必要があります。 そうしないと、コピーは検証に失敗します。
-
受信の右側にある「リスト・ボックスの項目」にチェック・マークを追加し、はさみの横にある「下向き矢印」をクリックし、「コピー」をクリックして、「取消」をクリックします。
-
-
ルールをステップ200に貼り付けます。
-
ステップ200の行選択基準列で、「ルールのクリック」をクリックします。
-
「明細選択基準」ダイアログで、「ペースト」をクリックします。
-
検証をクリックし、メッセージに
No validation errors/warnings found!
が含まれていることを確認します。 -
「保存」をクリックします。
-
-
ステップ100で、値を設定します。
属性
値
ステップ名
輸送リクエスト
要件を満たすように他の属性を設定します。
ステータス・ルール・セットの名前変更
オーケストレーション・プロセスを複製する場合は、ステータス・ルール・セットの名前を変更する必要があります。 DOO_OrderFulfillmentGenericProcessのコピーを作成し、Vision Corporationの出荷に使用する必要があるとします:
- 「オーケストレーション・プロセス定義の管理」ページに移動し、DOO_OrderFulfillmentGenericProcessを検索し、「処理」→「複製」をクリックします。
- 作成した複製の「オーケストレーション・プロセス定義の編集」ページで、「ステータス条件>履行明細ステータス値」をクリックします。
- 「ステータス・ルール・セットの編集」をクリックします。
- 「ステータス・ルール・セットの編集」ページで、「名前」属性の値を「Vision出荷」に変更し、「保存してクローズ」をクリックします。
Order Managementでは、プロセスを複製すると、ステータス・ルール・セットの新しい名前が自動的に作成されます。 同じ名前を使用しますが、先頭にテキスト「コピー」を付けてバージョン番号を追加します。 たとえば、DOO_OrderFulfillmentGenericProcessを複製すると、Order Managementはルール・セット名をDOO_DROP_SHIP_AND_BACK_TO_BACK_ORDER_STATUS_RULE_SETのコピーxに設定します。 同じプロセスを複数回複製する場合、同じルール・セットの様々なコピー(DOO_DROP_SHIP_AND_BACK_TO_BACK_ORDER_STATUS_RULE_SETのコピー1、DOO_DROP_SHIP_AND_BACK_TO_BACK_ORDER_STATUS_RULE_SETのコピー2など)があります。 ルール・セットの名前を変更しないと、環境間でルール・セット名が重複してしまい、プロセス定義の移行時やインポートおよびエクスポートによる設定時に競合が発生する可能性があります。
すでに複製した古いオーケストレーション・プロセスがある場合は、編集して名前を変更し、変更を保存します。 別の方法として、修正し、変更してからリリースできます。
パフォーマンスの向上
オーケストレーション・プロセスおよびオーケストレーション・プロセス・ステップの設定方法は、環境のパフォーマンスに直接影響する場合があります。 次に、いくつかのヒントを示します。
-
不要な各ステップを削除します。 各ステップでリソースが消費され、処理時間が長くなります。 たとえば、事前定義のShipOrderGenericProcessを使用し、請求を実行する必要がない場合は、請求書の作成および請求書の待機ステップを削除します。
ライン選択条件を使用して不要なステップをスキップしないでください。このアプローチでは、処理時間が長くなり、「未開始」ステータスのままになるステップ、または永遠に終了するプロセスが発生する可能性があるためです。
-
各目標を達成するには、個別のオーケストレーション・プロセスを使用します。 多数の分岐があり、すべての処理を実行するステップをスキップした大規模な一体型プロセスを1つ使用しないでください。 かわりに、ブランチ数が少ない複数のプロセスを使用します。