機械翻訳について

現在の時間に従って一時停止

システム・クロックの時間に従ってオーケストレーション・プロセスの実行を一時的に停止する一時停止タスクを設定します。

現在の時間の場合。

  • 「午後1時10分10分前」 すべての履行ラインを現在の日の午後1:10:10まで一時停止し、リリースします。

  • 「午後1:10:10以降」 すべての履行ラインを翌日の午後1:10:10まで一時停止し、リリースします。

これがルールです。

現在の時間に従ってすべての行を一時停止する必要があるとします。

ノート

コード

説明

Header is a DOOSeededOrchestrationRules.DOOHeader

ヘッダー変数を宣言し、オーケストレーション・プロセスが現在処理しているオーダー・ヘッダーの属性をこの変数に格納します。

currentdate is a DOOSeededOrchestrationRules.Timestamp

currentdate変数を宣言し、Oracleサーバーの現在のタイムスタンプをこの変数に格納します。

Assign new DooSeededOrchestrationRules.SacResult SAC = new DooSeededOrchestrationRules.SacResult()

SACという名前の新しい変数を作成し、DooSeededOrchestrationRulesメソッドでSacResultタイプに設定します。

Assign Header.sacResult = SAC

オーダー・ヘッダーのsacResultオブジェクトの値を、SACに含まれる値に設定します。

Assign Header.sacResult.sacType = DooSeededOrchestrationRules.SacResult.SAC_TYPE_TIMER

一時停止のタイプをタイマーとして指定します。

Assign new DooSeededOrchestrationRules.Timestamp cdate = Header.current_date

cdate変数を宣言し、その値をOracleサーバーの現在のシステム・タイムスタンプに設定します。

Assign cdate.hours = 13

Oracleサーバーのタイム・ゾーンでcdate変数の時間を1PMに設定します。

ルールでは24時間制が使用されます。

Assign cdate.minutes = 10

cdate変数の分を10に設定します。

Assign cdate.seconds = 10

cdate変数の秒を10に設定します。

cdateに13:10:10が含まれるようになりました。

Assign Header.sacResult.waitDateTime = cdate

cdate変数の値を、オーダー・ヘッダーのsacResultオブジェクトのwaitDateTimeパラメータに格納します。

If cdate.before(currentdate) is true

cdate属性の値がcurrentdate属性の値の前に発生した場合。

Assign cdate = Header.getAdjustedDate(cdate,1)

cdateの値をcdateに1日加算して設定します。

getAdjustedDate関数は、2番目のパラメータの値を日数として最初のパラメータcdateに追加します。

Assign Header.sacResult.waitDateTime = cdate

cdate変数の値を、オーダー・ヘッダーのsacResultオブジェクトのwaitDateTimeパラメータに格納します。

次の例について考えてみます。 現在の時間が正午12:00:00とします。

コード

値の例

currentdate is a DOOSeededOrchestrationRules.Timestamp

タイムスタンプは12:00:00で、24時間制の書式HH:MM:SSを使用します。

currentdateは12:00:00です。

Assign new DooSeededOrchestrationRules.Timestamp cdate = Header.current_date

cdateは12:00:00です。

Assign cdate.hours = 13

cdateは13:00:00です。

Assign cdate.minutes = 10

cdateは13:10:00です。

Assign cdate.seconds = 10

cdateは13:10:10です。

Assign Header.sacResult.waitDateTime = cdate

waitDateTimeは13:10:10です。

If cdate.before(currentdate) is true

cdateには13:10:10が含まれ、currentdateには12:00:00が含まれるため、条件はfalseと評価されます。

ルールは、このIf文のThen句には進みません。 かわりに、ルールによってすべての履行明細が現在の日の午後13時10分10分まで一時停止され、リリースされます。

現在の時間が14:00:00または2 PMであるとします。

コード

値の例

currentdate is a DOOSeededOrchestrationRules.Timestamp

タイムスタンプは14:00:00で、24時間制の書式HH:MM:SSを使用します。

currentdateは14:00:00です。

Assign new DooSeededOrchestrationRules.Timestamp cdate = Header.current_date

cdateは14:00:00です。

Assign cdate.hours = 13

cdate は13:00:00です。

Assign cdate.minutes = 10

cdate は13:10:00です。

Assign cdate.seconds = 10

cdate は13:10:10です。

Assign Header.sacResult.waitDateTime = cdate

waitDateTimeは13:10:10です。

If cdate.before(currentdate) is true

cdate には13:10:10が含まれ、currentdate には14:00:00が含まれるため、条件はTrueと評価されます。

ルールは、このIf文のThen句に進みます。

Assign cdate = Header.getAdjustedDate(cdate,1)

cdateは13:10:10に1日を加えた値になります。

Assign Header.sacResult.waitDateTime = cdate

waitDateTimeは13:10:10に1日を加えた値になります。

このルールは、すべての履行明細を翌日の午後13時10分10分まで一時停止してからリリースします。