依存関係のオーケストレーション・プロセスの一時停止
一時停止タスクを設定して、依存関係が解決されるまでオーケストレーション・プロセスの実行を一時的に停止します。
請求前の全明細の出荷待ち
この例の依存関係は、すべての明細が出荷されるまで待機してから請求ステップに進むことです。
ノート
-
一時停止ステップは一時停止タスクを参照します。 一時停止ステップは、オーケストレーション・プロセスの出荷ステップと請求ステップの間に存在します。
-
IF文にいずれかの条件を満たす履行明細がない場合、すべての履行明細が出荷され、ルールによって一時停止が解除され、フローは次のオーケストレーション・プロセス・ステップに進みます。
-
簡潔にするために、この画面印刷では、ルール辞書およびヘッダーの結果は割り当てられませんが、その結果を割り当てる必要があります。 詳細は、「オーケストレーション・プロセスを一時停止するためのガイドライン」の「結果の割当」サブトピックを参照してください。
コードは次のとおりです。
コード |
説明 |
---|---|
|
ヘッダー変数を宣言し、メソッドDooSeededOrchestrationRulesのオブジェクトDOOHeaderからヘッダーに値をロードします。 DOOHeaderには、オーダー・ヘッダー属性とその値が含まれます。 |
|
質問をしてください。 販売オーダーには、オーダー履行が出荷されておらず、そのオーダー履行が出荷できる履行ラインが少なくとも1つ含まれていますか? |
|
変数Fline (履行明細)を宣言し、メソッドDooSeededOrchestrationRulesのオブジェクトDOOFlineから値をFlineにロードします。 DOOFline (分散オーダー・オーケストレーション履行明細)には、履行明細属性とその値が含まれます。 |
|
オーケストレーション・プロセスが現在処理していない明細を含め、販売オーダーのすべての履行明細を確認します。 オーケストレーション・プロセスが現在処理している履行明細と、販売オーダー内の他の履行明細との間に依存関係が存在する場合があるため、これらすべてを検査する必要があります。 |
|
履行明細のshippableFlag属性がYの場合は、続行します。 各履行明細が出荷可能であることを確認してください。 サブスクリプションなど、一部の品目は出荷できません。 履行明細にサブスクリプションが含まれている場合、明細のshippableFlagはNで、ルールは明細を無視し、次の行に移動します。 |
|
履行明細のactualShipDate属性に値が含まれていない場合は、履行明細が出荷されていないことを示し、ルールはオーケストレーション・プロセスを一時停止する必要があります。 |
|
履行明細のorderedQty属性が0の場合、履行明細が取消済明細であることを示し、ルールは明細を無視して次の明細に移動します。 |
|
SAC_SYSTEM_EVENT_IPC_PAUSEを使用します。IPCはプロセス間通信を意味します。 ルールは、履行明細ごとにタスクが終了するたびに、このタイプの一時停止を評価します。 |
|
オーケストレーション・プロセス・ステップが終了するたびに条件を評価します。 この例では、出荷ステップは履行明細を出荷するため、オーダー履行がすべての履行明細を出荷したかどうかを判断するために、各履行明細の出荷ステップが終了した後にルールを評価する必要があります。 |