機械翻訳について

オーケストレーション・プロセス・ステップの設定のガイドライン

分岐、計画、変更の管理など、ステップに関する詳細を指定します。

オーケストレーション・プロセスの各ステップでは、履行明細を履行するためにステップがコールするタスク・サービスを指定します。 各ステップでは、タスク・タイプ、タスク、サービス、依存関係、プランニング、変更管理など、ステップの実行方法を指定します。 ステップでブランチが指定される場合もあります。

  • オーケストレーション・プロセス・ステップを設定するには、「オーケストレーション・プロセス定義の編集」ページを開き、プロセス詳細領域のステップ定義リストを使用します。

  • オーダー管理が明細を請求にインタフェースした後は、オーダー明細を更新できないため、請求ステップの後にスケジュール、予約または出荷ステップを追加しないでください。

オーケストレーション・プロセス・ステップの設定

属性

説明

ステップ・タイプ

オーケストレーション・プロセス・ステップの動作を設定します。

  • Conditional. 条件の結果に従ってオーケストレーション・プロセスのパスを実行します。 条件付きステップの直後にステップで分岐条件を指定する必要があります。

  • マージ 2つ以上のオーケストレーション・パスが再統合されるポイントを識別します。

  • サービス このステップを使用してサービスをコールします。

タスク・タイプ

各タスク・タイプには、請求システムなどの履行システムとの通信に使用できるサービスが含まれます。 使用できる事前定義済のタスク・タイプを次に示します。

  • スケジュール

  • 予約

  • 出荷

  • 請求書

  • 返品

タスク

実行するタスクを指定します。 タスクには複数のステップを含めることができます。 たとえば、出荷タスクは出荷の作成サービスを呼び出します。 また、履行システム更新で様々なステータス値が発生するのを待機するために、出荷待機サービスが呼び出されます。

注意: 実装プロジェクトを使用してオーケストレーション・プロセス・インスタンスを開発環境から本番環境に移行する場合は、どちらの環境でもタスク名を変更しないでください。 名前を変更すると、オーダー管理でオーケストレーション・プロセスの他のデータへの参照が更新されない場合があります。 詳細は、「受注から入金までの設定のガイドライン」を参照してください。

サービス

このステップがコールするタスク・サービスを指定します。

手動

ユーザー入力を待機するかどうかを指定します。 手動タスクを指定した場合、オーケストレーション・プロセスは、ユーザーがオーダー管理作業領域でタスクを手動で終了するまで待機します。

たとえば、ユーザーが1日の終わりにすべての履行明細を手動でスケジュールできるように、スケジュール・タスクを手動タスクとして設定します。

オーケストレーション・プロセスは、ユーザーが販売オーダーを初めて送信するまで待機します。 ユーザーがオーダー明細を変更しても待機しません。 予約ステップで手動属性を有効にし、予約後の次のステップが出荷タスクであるとします。 実行時に、プロセスは予約ステップで停止し、オーダー明細のステータスを「手動予約必須」に設定します。 ユーザーは手動タスクを終了し、オーケストレーションは出荷タスクに移動し、ステータスを出荷待ちに設定してから、履行に進みます。 ユーザーがオーダー明細を改訂した場合、オーケストレーションはスケジュール、予約および出荷などの改訂の履行に進みますが、予約ステップでは停止しません。

終了基準

待機ステップを終了するタイミングを決定するタスク・ステータスを指定します。 たとえば、出荷タスクのステータスが出荷済に変わった場合は、待機ステップを終了します。

タスクに複数の待機ステップが含まれている場合は、これらのステップで同じ終了基準が使用されていないことを確認してください。

「タスク・ステータス条件の管理」ページを使用して、最後のステップまたは待機ステップのみが終了基準を使用するようにします。

1つのタスクに複数の待機ステップを設定する場合は、最終待機ステップの前に発生した各待機ステップの終了基準を完了としてマークに設定してください。 たとえば:

  • 同じタスクで待機ステップx、待機ステップyおよび待機ステップzを設定し、その待機ステップzが最後に発生したとします。

  • ステップxの終了基準を設定し、ステップyを完了としてマークに設定してください。

  • 履行システムがステップxまたはステップyに返信せず、かわりにステップzにのみ返信した場合、ステップxおよびステップyが終了するのを待たずにフローを続行できます。

  • xおよびyに対して完了としてマークを設定しない場合、オーケストレーション・プロセスはxまたはyのままとなり、次のタスクに進まない可能性があります。

  • 終了基準ステータスとして取消済の値を指定して、オーケストレーション・プロセスの待機タスクを終了してください。

明細選択基準

履行明細を選択するビジネス・ルールを追加します。 オーケストレーション・プロセス・ステップでは、これらの履行明細のみが処理されます。

  • このルールでは、選択した履行明細を識別する履行明細IDが結果に移入されます。

  • ルールは、オーケストレーション・プロセスが処理している履行明細ごとに実行されます。

  • ルールで履行明細が選択されていない場合、オーケストレーション・プロセスはステップをスキップします。

オーケストレーション・プロセスでは、履行タスク・サービスをコールするときに、すべてのオーダー明細または履行明細を必要としない場合があります。 たとえば、オーダー明細の品目が保証であるとします。 通常、保証は出荷しないため、出荷しない品目を出荷しないというビジネス・ルールを作成できます。

詳細は、「オーケストレーション・プロセス・ステップの履行明細の選択」を参照してください。

一時停止ルール

次のステップを呼び出す前に処理を一時停止するか、いつ処理を再開するかを指定します。 詳細は、「時間経過までオーケストレーション・プロセスを一時停止」を参照してください。

プロセスの分岐

オーケストレーション・プロセス・ブランチは、フローが条件を満たしたときにプロセスが実行されるオーケストレーション・プロセス内のパスです。

ステップが分岐のない順序で発生するようにオーケストレーション・プロセスを設定するか、条件に応じて異なるパスに沿ってフローが移動する分岐を含むように設定できます。

分岐の設定方法を次に示します。

  • 単一のオーケストレーション・プロセスで分岐条件を使用します。

  • オーケストレーション・プロセスのセットを調べ、ブランチ用に割り当てる割当ルールを使用します。

使用する手法は、必要な複雑さによって異なります。 たとえば、単純な線形オーケストレーション・プロセスをいくつか作成し、割当ルールを使用して1つを選択できます。 または、分岐条件を使用する単一のオーケストレーション・プロセスにこれらのオーケストレーション・プロセスを結合できます。 より複雑な設定では、割当ルールと分岐条件が必要になる場合があります。

詳細は、「オーケストレーション・プロセスへのブランチの追加」を参照してください。

分岐用に設定した属性は次のとおりです。

属性

説明

分岐条件

ブランチ内のステップを実行するために条件が満たす必要がある基準を指定します。

  • ブランチの最初のステップ(条件ステップの直後に最初のステップ)に条件を追加します。

  • 条件ステップのその他オプションにチェック・マークを追加しない場合は、分岐条件を含める必要があります。

評価順序

オーケストレーション・プロセスが各ブランチ条件を評価するときに使用する順序を指定します。

評価順序は、オーケストレーション・プロセスで分岐が使用されている場合にのみ設定します。 分岐を使用しない場合は、順序を設定できません。

その他

条件ステップのその他オプションにチェック・マークを追加し、分岐条件がブランチに指定した基準を満たしている場合、オーケストレーション・プロセスは分岐条件を満たさないブランチを実行します。

プロセスの計画

属性

説明

プランニング・デフォルト・ブランチ

オーケストレーション・プロセスがプランニングに使用するデフォルト・パスを指定します。 この設定が使用されるのは、条件ブランチが1つ以上含まれている場合のみです。

履行完了ステップ

このステップが終了したときに履行明細が履行されることを示すチェック・マークをこの属性に追加します。

  • オーケストレーション・プロセスでは、この設定がリクエスト日を満たしていることを確認する計画時に使用されます。

  • プロセスの日付順に発生する最後のステップは、必ずしも履行完了ステップとは限りません。 たとえば、完了日を示すために、オーケストレーション・プロセスでは、出荷日を使用するかわりに、リクエスト出荷日を最終ステップとして使用できます。

デフォルト・リード・タイム

オーケストレーション・プロセスがステップを実行するために必要な期間を指定します。

  • このプロセスでは、リード・タイムを使用して計画し、完了日を予測します。

    リード・タイムとは、待機ステップや一時停止ステップなど、プロセスがステップを完了する必要がある時間のことです。

  • ステップのリード・タイム式を指定しない場合、プロセスではデフォルト・リード・タイムに設定した値が使用されます。

  • 実際の完了日が使用可能な場合は、見積日ではなく実際の日付が使用されます。

  • オーダー管理作業領域のガント・チャートには、計画オーケストレーション・プロセスが表示されます。 オーダー管理では、危険性の計算時にリード・タイムを過ぎた日数が使用されます。

リード・タイム単位

リード・タイムの単位(日数、時間数、分数など)。

リード・タイム式

リード・タイム式は、ステップが終了する必要がある予定時間を決定するビジネス・ルールです。

  • これを使用して、オーケストレーション・プロセスのプランニングを計算します。 たとえば、複雑な梱包を使用する品目では、出荷のリード・タイムが長くなる場合があります。

  • ルールによって、リード・タイムを表す数値が結果に移入されます。

  • リード・タイム式ではBigDecimalを使用する必要があります。

現在の日付と予定出荷日の差異を決定する式の例を次に示します。

BigDecimal.valueOf((DooSeededOrchestrationRules.DOOHeader/childFLines.scheduleShipDate.time-CurrentDate.date.timeInMillis)/(1000*60*60*24))

説明

  • BigDecimalは、任意の精度、符号付き、10進数を指定するパブリックJavaクラスです。

  • DooSeededOrchestrationRulesは、オーケストレーション・プロセスの事前定義済ビジネス・ルールのセットを含むメソッドです。

  • DOOHeader/childFLinesは、親オーダー・ヘッドと子履行明細の間の関係を指定します。 スラッシュ( / )は、親と子を区切ります。

  • scheduleShipDateは販売オーダー属性です。

  • CurrentDateは、現在の日付を返す関数です。

  • timeInMillisは、現在の日付をミリ秒に変換します。

  • 1000は、1秒のミリ秒数です。

  • 60は、1時間の分数です。

  • 60は、1時間の秒数です。

  • 24は1日の時間数です。

詳細は、「オーケストレーション・プロセス・ステップのリード・タイムの追加」を参照してください。

変更の管理

属性

説明

待機保留

オーケストレーション・プロセスが変更オーダーを受信したときに、アクティブな各ステップの履行システムにメッセージを送信します。

トランザクション品目属性の使用

トランザクション品目属性を有効にすると、変更オーダーと以前のバージョンのオーダーとの間に存在する差異を判断できるように、トランザクション品目属性が検証されます。

フレックスフィールド属性の使用

フレックスフィールド属性を有効にすると、ステップによって、変更オーダーと以前のバージョンのオーダーとの間に存在する差異を判断しやすくなります。

報酬パターン

オーダー管理が変更オーダーを受信する前に実行された各ステップの処理方法を決定するルールのセットを指定します。

たとえば、変更オーダーがカーペットからタイルへの変更をリクエストするとします。

  • オーケストレーション・プロセスでは、実行したいくつかの前のステップを取り消す必要があります。

  • 出荷用にカーペットをすでにスケジュールしている場合は、出荷をスケジュールしたステップを取り消す必要があります。

  • オーダー管理では、変更オーダーの処理時にタイルに対して異なる履行明細のセットが作成されるため、タイル・オーダーでは履行に時間がかかり、異なる契約者を使用するため、別のオーケストレーション・プロセスを使用する必要があります。

  • オーダー管理では、前のステップのほとんどを取り消す必要がありますが、部屋ディメンションがまだ正確であるため、メジャー・ステップは取り消されません。

報酬パターンを指定しない場合、オーダー管理では、操作のコンテキストに応じてステップが更新として処理されます。 いくつかのステップが再実行される可能性があります。 オーダー管理でなんらかの理由でステップを補正できない場合は、ステップをバイパスし、次のステップを補正します。

日付の計画

オーダー管理は、オーケストレーション・プロセスの最後のステップの必須完了日をRequired Fulfillment Date(必須履行日)に設定し、オーケストレーション・プロセスに含まれる各ステップおよびタスクの計画日を計算して、Required Fulfillment Date(必須履行日)を満たします。

オーダー管理の仕組みは次のとおりです。

  • オーケストレーション・プロセスを最初から最後まで実行し、最初のステップから時系列順、ステップ最終履行完了で終了します。

  • 完了日を識別するために日付順の最後のステップを使用しません。

  • 計算された日付にリード・タイムを組み込みます。 これらのリード・タイムを設定できます。

  • 計算が終了した後、再計画スケジュールが表示されます。

オーダー管理で必要な履行日を設定する方法を次に示します。

  1. 必須履行日をソース・システムが提供する日付に設定します。

  2. ソース・システムで日付が指定されていない場合、オーダー管理では必須履行日がリクエスト出荷日に設定されます。

  3. リクエスト出荷日に値が含まれていない場合、オーダー管理では必須履行日がリクエスト到着日に設定されます。

  4. リクエスト到着日に値が含まれていない場合、オーダー管理では必須履行日がオーダー日に設定されます。

  5. オーダー日に値が含まれていない場合、オーダー管理では必須履行日がシステム日付に設定されます。 オーダー管理を実行するコンピュータのオペレーティング・システムには、システム日付が含まれます。

オーダー管理は、日付の設定に成功するとすぐにこの順序を終了します。 たとえば、ソース・システムで日付が指定されている場合、ステップ1のみが実行され、ステップ2から5は実行されません。

統合およびオーケストレーション・プロセスを設定するときは、この順序を念頭に置いてください。

ステップの削除

ステップを削除し、そのステップがオーケストレーション・プロセスまたは履行明細からステータス値を参照する場合、ステップを削除する前にステータス値を削除する必要があります。 そうでない場合は、オーケストレーション・プロセスをリリースできません。

オーケストレーション・プロセスをコピーすると、ステップ3予約の作成およびステップ4出荷リクエストの作成が含まれます。 ステップ3は、オーケストレーション・プロセスから予約済ステータス値を参照します。 履歴需要データから、常に十分な在庫があり、品目の在庫を予約しないことがわかっています。 そのため、ステップ3を削除し、オーケストレーション・プロセスを解放しようとするとエラーが発生します。

Task name Reservation does not exist in the Process definition

これを修正する方法を次に示します。

  1. オーケストレーション・プロセス定義の管理タスクに移動し、オーケストレーション・プロセスを開いて編集します。
  2. 「オーケストレーション・プロセス定義の編集」ページのプロセス詳細領域で、「ステータス条件」をクリックします。
  3. 「オーケストレーション・プロセス・ステータス値」をクリックします。

    ステップで履行明細値を参照している場合は、「履行明細ステータス値」>「ステータス・ルール・セットの編集」をクリックし、ルール・セットからステータス値を削除します。

  4. ステータス値属性で予約済の「行」をクリックし、「処理」>「削除」をクリックします。
  5. 「ステップ定義」をクリックします。
  6. ステップ名属性に予約がある「行」をクリックし、「処理」>「削除」をクリックします。

事前定義済プロセスの複製

事前定義済オーケストレーション・プロセスの複製を作成し、プロセスの最初のステップを独自のカスタム・ステップに置き換えた場合で、最初のステップでビジネス・ルールを追加する必要がある場合は、「拡張モード」オプションを有効にし、ルールの作成時に「ツリー・モード」オプションを無効にします。 これらのオプションを設定できない場合は、ルールの検証に失敗するため、最初のステップにルールを追加しないでください。

事前定義済ルールの保持

一部の事前定義済オーケストレーション・プロセスには、最初のステップでルールが付属しています。 たとえば、ReturnOrderGenericProcessの最初のステップの名前は受信通知の作成で、行選択基準は受信です。

ReturnOrderGenericProcessに似たカスタム・プロセスを作成する必要があるとしますが、最初のステップでは輸送リクエストを送信する必要があります。 受入明細選択基準は必要ですが、最初のステップではなく、2番目のステップで必要です。

  1. 「設定および保守」作業領域に移動してから、タスクに移動します。

    • オファリング: オーダー管理

    • 機能領域: オーダー

    • タスク: オーケストレーション・プロセス定義の管理

  2. 「オーケストレーション・プロセス定義の管理」ページで、ReturnOrderGenericProcessを検索し、「処理」>「複製」をクリックします。

  3. 「オーケストレーション・プロセス定義の編集」ページで、値を設定します。

    属性

    プロセス表示名

    自分の返品オーダー・プロセス

  4. プロセス詳細領域の1行目の受入通知の作成で、値を設定します。

    属性

    ステップ名

    臨時

    任意の値を使用できます。 すぐに変更します。

  5. 最初の行をクリックし、「処理」>「行の追加」をクリックします。

    ページでは、ステップ100の直後に新しいステップ200が追加されます。

  6. ステップ200の値を設定します。 ステップ100を複製しているため、これらの値を設定します。

    属性

    ステップ名

    受入通知の作成

    ステップ・タイプ

    サービス

    タスク・タイプ

    返品

    タスク

    返品受入

    サービス

    予想受入通知の作成

    更新サービス

    予想受入通知の更新

    取消サービス

    予想受入通知の取消

  7. 「保存」をクリックします。

  8. ステップ100のルールをコピーします。

    • ステップ100の行選択基準列で、「ルールのクリック」をクリックします。

    • 「明細選択基準」ダイアログで、Receivingという名前のルールを確認し、「プロパティ」をクリックして値を設定します。

      属性

      拡張モード

      チェック・マークが含まれます

      ツリー・モード

      チェック・マークが含まれていません

      これらの値を設定する必要があります。 そうしないと、コピーは検証に失敗します。

    • 受信の右側にある「リスト・ボックスの項目」にチェック・マークを追加し、はさみの横にある「下向き矢印」をクリックし、「コピー」をクリックして、「取消」をクリックします。

  9. ルールをステップ200に貼り付けます。

    • ステップ200の行選択基準列で、「ルールのクリック」をクリックします。

    • 「明細選択基準」ダイアログで、「ペースト」をクリックします。

    • 検証をクリックし、メッセージにNo validation errors/warnings found!が含まれていることを確認します。

    • 「保存」をクリックします。

  10. ステップ100で、値を設定します。

    属性

    ステップ名

    輸送リクエスト

    要件を満たすように他の属性を設定します。

パフォーマンスの向上

オーケストレーション・プロセスおよびオーケストレーション・プロセス・ステップの設定方法は、環境のパフォーマンスに直接影響する場合があります。 ここにいくつかのヒントがあります。

  • 不要な各ステップを削除します。 各ステップでリソースが消費され、処理時間が長くなります。 たとえば、事前定義のShipOrderGenericProcessを使用し、請求を実行する必要がない場合は、請求書の作成および請求書の待機ステップを削除します。

    ライン選択基準を使用して不要のステップをスキップしないでください。このアプローチでは処理時間が長くなり、未開始ステータスのステップが長時間続くか、永久に終了するプロセスになる可能性があります。

  • 各目標を達成するには、個別のオーケストレーション・プロセスを使用します。 多数の分岐があり、すべての処理を実行するステップをスキップした大規模な一体型プロセスを1つ使用しないでください。 かわりに、ブランチ数が少ない複数のプロセスを使用します。