依存関係のオーケストレーション・プロセスの一時停止
一時停止タスクを設定して、依存関係が解決されるまでオーケストレーション・プロセスの実行を一時的に停止します。
請求前の全明細の出荷待ち
この例の依存関係は、すべての明細が出荷されるまで待機してから請求ステップに進むことです。

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