OrderSchedule 指令
這個指令會提交重新發出的訂單,以交由排程器處理。

參數值
- http://host_name/path/
-
(必要)WebSphere Commerce Server 和架構路徑的完整名稱。
- 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
-
接連執行此訂單間的相隔秒數。如省略,則只會處理一次此訂單。
- attempts
-
如果訂單處理失敗,排程器要重新嘗試處理這份訂單的次數。
- delay
-
當訂單處理失敗時,在重新嘗試處理訂單之前所要經歷的時間量(秒)。
此參數應搭配 attempts 參數一起使用。
如皆未指定,將不會復原處理失敗的訂單。
範例 1
下列範例會將擱置的訂單號碼 303 提交給商務排程器。
從今天開始,將在每天 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
下列範例會在午夜過後一分鐘開始處理訂單號碼 123321,它會將付款參數傳遞給 DoPaymentCmd 作業:cardNumber=2222222222、cardExpiryYear=2003、cardExpiryMonth=02 及 cardBrand=ABC。
http://myhostname/webapp/wcs/stores/servlet/OrderSchedule?URL=continue.html
&orderId=123321&start=00:00:01&pay_cardNumber=2222222222
&pay_cardExpiryYear=20013&pay_cardExpiryMonth=02&pay_cardBrand=ABC
規則
- 從來源訂單複製到訂單模式,以建立重新發出的訂單。
讓選用的付款資訊(藉由 pay_payment_name
指令參數指定)連結此訂單模式。
- 若未提供付款資訊,將從來源訂單中複製。
- 新增已排定的工作,以處理重新發出的訂單。
- 在 SCHORDERS 表格中插入一項目,建立已排定訂單(訂單模式)與已排定工作間的連結關係。
- 已排定的工作會執行一個內部指令來將訂單模型複製到訂單案例中,再準備和處理這個訂單案例。
這個指令會呼叫 OrderCopy 指令,再呼叫 OrderPrepare 和 OrderProcess 指令。
- 將付款資訊記錄於 ORDPAYINFO 表格中。