OrderSchedule コマンド
このコマンドは、スケジューラーによって処理する繰り返しオーダーを送信します。

パラメーター値
- http://host_name/path/
-
(必須) WebSphere Commerce サーバーおよび構成パスの完全修飾名
- forUser
- このコマンドの実行対象のユーザーのログオン ID。
このパラメーターを指定できるのはオーダーを処理する権限がある人だけです。
- forUserId
- forUser と同様ですが、ユーザーは USERS テーブル中にある内部ユーザー ID によって識別されます。
- langId
- セッション期間中の優先言語を設定またはリセットします。
ストアでサポートされている言語は、STORELANG テーブルにあります。
- storeId
- このコマンドに関連付けられたストアの参照番号
- URL
- (必須) コマンドが正常に完了した時に呼び出される URL
- orderId
-
繰り返しオーダーとして処理する必要のあるオーダーの参照番号
- pay_payment_name
-
payment_name は、支払い情報を処理するために DoPaymentCmd タスク・コマンドによって使用される支払いパラメーターの名前です。
payment_name は 'pay_' 接頭部が前に付いていなければならないことに注意してください。
pay_payment_name の値は、この顧客の支払い情報を処理するために DoPaymentCmd タスク・コマンドによって使用される支払いパラメーターの値です。
- start
-
(必須) このオーダーが最初に実行される時間 (YYYY:MM:DD:hh:mm:ss の形式)。 hh:mm:ss のみ必須です。
- host
-
オーダー処理を行うホスト名。
このオプションは、スケジューラーが複数のホストで実行するように構成されていて、このオーダーの処理を特定ホストに制限することが必要な場合に使用します。
- interval
-
このオーダーを連続して実行する場合の、その実行と実行の間の時間 (秒単位)。 これを省略すると、このオーダーは 1 回しか実行されません。
- attempts
-
オーダー処理障害が発生した場合にスケジューラーがこのオーダー処理を再試行する回数
- delay
-
オーダーの処理が失敗した場合にオーダー処理を再試行するまでの時間 (秒単位)。
このパラメーターは、attempts パラメーターと共に指定する必要があります。
そのいずれも指定されていない場合、失敗したオーダーは回復されません。
例 1
以下の例は、保留オーダー番号 303 を commerce scheduler に送信します。
この保留オーダーのインスタンスは当日から始めて一日の 5:25 PM に一度だけ処理されます。
オーダー処理が失敗すると、スケジューラーは 10 分後に再試行します。
http://myhostname/webapp/wcs/stores/servlet/OrderSchedule?orderId=303
&URL=OrderItemDisplay&start=17:25:00&interval=86400&attempts=1&delay=600
例 2
以下の例は、支払いパラメーター (cardNumber=2222222222、cardExpiryYear=2003、cardExpiryMonth=02、および cardBrand=ABC) を渡して、オーダー番号 123321 の処理を深夜 1 分過ぎに開始します。
http://myhostname/webapp/wcs/stores/servlet/OrderSchedule?URL=continue.html
&orderId=123321&start=00:00:01&pay_cardNumber=2222222222
&pay_cardExpiryYear=2003&pay_cardExpiryMonth=02&pay_cardBrand=ABC
動作
- ソース・オーダー・モデルからオーダー・モデルにコピーすることにより、
繰り返しオーダーを作成する。
オプションの支払い情報 (pay_payment_name コマンド・パラメーターによって指定されたもの) をこのオーダー・モデルに関連付ける。
- 支払い情報が提供されていない場合は、ソース・オーダーからコピーされる。
- 繰り返しオーダーを処理するために、スケジュールされたジョブを追加する。
- SCHORDERS テーブルにエントリーを挿入することにより、スケジュールされたオーダー (オーダー・モデル) とスケジュールされたジョブとの間の関連を作成する。
- スケジュール済みジョブは、オーダー・オーダーをオーダー・インスタンスにコピーしてから、
このオーダー・インスタンスを準備して処理する内部コマンドを実行します。
このコマンドは、OrderCopy コマンドを呼び出し、その後で OrderPrepare および OrderProcess コマンドを呼び出しします。
- 支払い情報を ORDPAYINFO テーブルに記録する。