時間のために一時停止するユースケース
このトピックを読んで、時間を一時停止するタイミングを説明する詳細な例を確認します。
顧客がレガシー・システムを使用してオーダーした場合、サプライ・チェーン分析では通常、倉庫から顧客に商品を出荷するために2日が必要であると判断したとします。 サプライ・チェーンではジャスト・イン・タイムの履行が使用されます。 リクエストされた搬送日を満たすために、必要な時間より長く在庫を予約するコストを回避するために、オーダーを出荷に早すぎないようにします。 そのため、スケジュール済出荷日の2日前にオーケストレーション・プロセスを一時停止する一時停止タスクを設定します。
ビジネス・ルールを作成します。
-
ソース・システムがレガシーの場合は、ShipDateから2を引いた状態で一時停止をリリースします。
設定の概要
-
オーケストレーション・プロセスを設定します。
-
If文を作成します。
-
Then文を作成します。
-
オーケストレーション・プロセスをデプロイします。 詳細は、「オーケストレーション・プロセスのデプロイ」を参照してください。
このトピックではサンプル値を使用します。 ビジネス要件によっては、別の値が必要になる場合があります。
バックグラウンドの詳細情報。
-
一時停止タスクに設定したプロパティについては、「オーケストレーション・プロセスの一時停止の概要」を参照してください。
-
ビジネス・ルールについては、「オーダー管理でのビジネス・ルールの使用の概要」を参照してください。
オーケストレーション・プロセスの設定
-
「設定および保守」作業領域に移動してから、タスクに移動します。
-
オファリング: オーダー管理
-
機能領域: オーダー
-
タスク: オーケストレーション・プロセス定義の管理
-
-
「オーケストレーション・プロセス定義の管理」ページで、「処理」>「作成」をクリックします。
-
「オーケストレーション・プロセス定義の作成」ページで値を設定し、「保存」をクリックします。
属性
値
プロセス名
Pause_for_Time
プロセス表示名
Pause_for_Time
プロセス区分
出荷オーダー区分
セット
共通セット
-
オーケストレーション・プロセス・ステップを設定します。
オーケストレーション・プロセス・ステップの定義サブ・トピックで説明されている内容を実行します。 詳細は、「イベントが発生するまでオーケストレーション・プロセスを一時停止」を参照してください。
If文の作成
ソース・システムがレガシーかどうかを決定するIf文を作成します。
If文を作成します。
-
ルールを作成します。
-
一時停止ステップの一時停止ルール列で、「ルールのクリック」をクリックします。
-
「Start After条件」ダイアログで、「プロパティ」をクリックし、値を設定します。
属性
値
名前
出荷準備ができるまで一時停止するルール
説明
ソース・システムがレガシーの場合は、ShipDateから2を引いた状態で一時停止をリリースします。
拡張モード
チェック・マークが含まれます。
ツリー・モード
チェック・マークは含まれません。
-
-
ヘッダーを指定します。
-
IF領域のLeft Value属性に、
Header
と入力します。 -
Is Aの右にあるフィールドをDooSeededOrchestrationRules.DOOHeaderに設定します。
-
IF領域で、虫眼鏡の横にある「下向き矢印」をクリックし、「テストの削除」をクリックします。
-
-
明細を指定します。
-
「パターンの追加」をクリックします。
-
左側のフィールドのテストの追加に、
Line
と入力します。 -
Is Aの右にあるフィールドをDooSeededOrchestrationRules.DOOFLineに設定します。
-
-
テストを追加します。
-
値Lineを含む左側のフィールドのすぐ下にある「下矢印>単純テスト」をクリックします。
-
「左の値」をクリックします。
-
条件ブラウザで、「ヘッダー」を展開します。
リストには、調査する属性を指定するために使用できるオーダー・ヘッダー属性が表示されます。 この例では、このIf文により、ソース・オーダー・システム属性の値がLEGであるソース・オーダーのみをルールで考慮するフィルタが作成されます。LEGはレガシーという用語の略称です。
-
sourceOrderSystem > OKをクリックします。
-
右の値属性に、
"LEG"
と入力します。
-
Then文の作成
この文は、一時停止を追加し、予定出荷日の2日前にリリースすることを指定します。
Then文を作成します。
-
結果を割り当てます。
Code 説明 Assign new DooSeededOrchestrationRules.SacResult SAC = new DooSeededOrchestrationRules.SacResult()
SACという名前の新しい変数を作成し、DooSeededOrchestrationRulesメソッドでSacResultタイプに設定します。
Assign Header.sacResult = SAC
オーダー・ヘッダーのsacResultオブジェクトの値を、SACに含まれる値に設定します。
簡潔にするために、画面印刷ではルール辞書およびヘッダーの結果は割り当てられませんが、その結果を割り当てる必要があります。 詳細は、「オーケストレーション・プロセスを一時停止するためのガイドライン」の「結果の割当」サブトピックを参照してください。
-
新規割当を使用して、DateTimeという名前の変数を作成します。 この変数を使用して、出荷を遅延させる時間を計算します。
-
Then領域で、「処理の追加」>「新規割当」をクリックします。
-
「ターゲットの選択> DooSeededOrchestrationRules.Timestamp」をクリックします。
-
ターゲットの選択のすぐ右にある空の属性に、
DateTime
と入力します。引用符を含めないでください。 この属性にDateTimeを追加すると、この例で日付計算に使用される変数が作成されます。
-
-
日付の計算に使用する履行明細属性を選択します。
-
「式値」をクリックします。
-
条件ブラウザで、「明細」を展開します。
ダイアログに、履行明細属性のリストが表示されます。 これらの属性のいずれかの値が考慮されるようにルールを設定できます。
-
scheduleShipDate > OKをクリックします。
-
DateTimeを追加した属性にまだDateTimeが含まれていることを確認してください。
-
「アクションの追加>変更」をクリックします。
-
「ターゲットの選択> DateTime」をクリックします。
-
-
出荷を遅延させるまでの時間を計算します。
-
「プロパティの編集」をクリックします。
-
プロパティ・ダイアログの時間行で、「値」をクリックします。
-
条件ブラウザで、DateTimeを展開し、「時間」をクリックします。
条件ブラウザでは、属性式に
DateTime.time
の値が追加されることに注意してください。 -
式属性で、
DateTime.time
の末尾に-(2*24*60*60*1000)
を追加します。説明
-
2は日数です。
-
24は1日の時間数です。
-
60は、1時間の分数です。
-
60は、1時間の秒数です。
-
1000は、1秒のミリ秒数です。
この値はミリ秒数を計算し、オーケストレーション・プロセスがオーダー明細を出荷のためにスケジュールする2日前に一時停止タスクが終了します。
DateTime.timeのかわりにgetAdjustedDate関数を使用できます。
-
-
式属性に
DateTime.time-(2*24*60*60*1000)
が含まれていることを確認し、OKをクリックします。たとえば:
-
プロパティ・ダイアログに時間プロパティの値が含まれていることを確認します。
-
「OK」をクリックします。
-
-
オーケストレーション・プロセスを一時停止します。
これらのプロパティを設定します。
( reevaluateFlag:"N", sacType:DooSeededOrchestrationRules.SacResult.SAC_TYPE_TIMER, waitDateTime:DateTime )
-
「Add Action」>「Assert New」をクリックします。
-
「ターゲットの選択> DooSeededOrchestrationRules.SacResult」をクリックします。
-
「プロパティの編集」をクリックします。
-
プロパティ・ダイアログのreevaluateFlag行の値属性に、
"N"
と入力します。 二重引用符を含める必要があります。 -
sacType行で、「値」をクリックします。
-
「条件ブラウザ」ダイアログで、DooSeededOrchestrationRules > SacResultを展開し、SAC_TYPE_TIMERをクリックして、をクリックします。
一時停止タイプがTIMERの場合、オーケストレーション・プロセスは時間が経過するまで一時停止します。
-
プロパティ・ダイアログのwaitDateTime行で、「値」をクリックします。
-
条件ブラウザで、DateTimeをクリックし、OKをクリックします。
-
プロパティ・ダイアログにこれらの値が含まれていることを確認します。
-
-
OKをクリックし、「ルール」の一時停止ダイアログで「保存」をクリックします。
-
「オーケストレーション・プロセス定義の編集」ページで、「保存してクローズ」をクリックします。