OrderCopy 指令

這個指令會建立、合併或修改狀態屬性為 "P" 或 "E" 的訂單。

osocopy.gif(19245 個位元組)

參數值

http://host_name/path/
(必要)WebSphere Commerce Server 和架構路徑的完整名稱。
langId
設定或重設在階段作業期間的屬意語言; 有關商店的支援語言可在 STORELANG 表格中找到。
forUser
將代替其執行指令之使用者的登入 ID;只有具備處理訂單權限的人才可指定這個參數。
forUserId
與 forUser 相同,但卻是 USERS 表格中之內部使用者 ID 所指的使用者。
URL 
(必要)指令順利完成時要呼叫的重新導向 URL。
fromOrderId_i
指定在處理列舉群組 i 時,將從中複製出訂單項目的零或多個來源訂單。 "." 、"*"、 ".t" 、  "*t" 和 "q" 等特殊縮寫利用 memberId_i 與 storeId 來解析。
toOrderId
指定所要建立或修改的訂單。 它可以指定為訂單參考號碼,也可以指定為特殊縮寫 "."、"*"、".t"、"*t"、"**" 和 ".**." 之一。 如果沒有指定的話,會以 "**" 為預設值,這會建立一份新訂單。 如果指定了多個訂單,則視為只指定最近一次更新的一個訂單。 縮寫是利用現行客戶(執行這個指令的客戶)和 storeId 參數中所指定的商店來解析的。
copyOrderItemId_i
指定應從 fromOrderId_i 指定的來源訂單中複製出哪些訂單項目,並將之加到 toOrderId 指定的目標訂單中。
updateOrderItemId_i
指定目標訂單中將更新的訂單項目。 它更新時所用的資訊來源是 i 指定的列舉群組其中的其它參數,不是該列舉群組的來源訂單,也不是 catEntryId_ipartNumber_i。 請注意,訂單項目的型錄項目 ID 不能更新。OrderCopy 指令會呼叫 OrderItemUpdate 指令來更新目標訂單中的訂單項目。
orderInfoFrom
指定將複製其中之訂單層次資訊的訂單參考號碼 (ORDERS 表格中 DESCRIPTION、ADDRESS_ID、SEQUENCE、FIELD1、 FIELD2 與 FIELD3 直欄的值)。
payInfoFrom
指定將從中複製付款資訊(藉由呼叫 GetOrderPaymentInfoCmd 作業指令取得)之訂單的參考號碼。 如指定了多個訂單,則視為只指定這些訂單中最近一次更新的部份。

如指定 "**",將不會複製任何訂單中的訂單層次資訊。 若未指定此參數, 且 fromOrderId_i 參數只指定一個來源訂單,則視為指定該訂單。 否則,將預設為 "**"。 縮寫是利用現行客戶和 storeId 參數指定的商店來解析的。

catEntryId_i
設定列舉群組 i 中之訂單項目的型錄項目 ID。
quantity_i
設定列舉群組 i 中之訂單項目的數量。
UOM_i
quantity_i 的度量單位。
partNumber_i
要解析成型錄項目 ID 的產品編號。它會置換 catEntryId_i
addressId_i
i 指定之列舉群組中之訂單項目的出貨地址參考號碼。 此地址必須隸屬於執行此指令的購物者。
shipModeId_i
針對以 i 指定的列舉群組新增或更新目標訂單中的訂單項目時,指定要傳遞給 OrderItemUpdate 指令的出貨模式參考號碼。這個參考號碼與特定出貨服務相關。
comment_i
當目的地新增或更新訂單項目時,要傳遞給 OrderItemUpdate 指令之項目所要併入的備註。
field1_i
針對以 i 指定的列舉群組新增或更新目標訂單中的訂單項目時,指定要傳送給 OrderItemUpdate 指令的整數值。
field2_i
針對以 i 指定的列舉群組新增或更新目標訂單中的訂單項目時,指定要傳遞給 OrderItemUpdate 指令的字串。
contractId_i
當新增或更新目標中的訂單項目時,要傳遞給 OrderItemUpdate 指令的訂單合約參考號碼。
offerId_i
當建立新訂單項目時,要從中選取的優惠 ID 清單。這份清單會傳遞給 OrderItemUpdate 指令。沒有預設值。
outOrderName
指出將加到重新導向 URL 中的「名稱-值」配對名稱。 每個新增的「名稱-值」配對的值都是目標訂單的參考號碼。預設值是 "orderId"。
outOrderItemName
指出將加到重新導向 URL 中的「名稱-值」配對名稱。 每個新增的「名稱-值」配對的值都是目標訂單項目的參考號碼。預設值是 "orderItemId"。
說明
設定目標訂單的說明。如果沒有指定,但有 "orderInforFrom" 訂單的說明,就會使用這個說明。
billingAddressId
設定目標訂單的帳單地址 ID。如果沒有指定,但有 "orderInfoFrom" 訂單的帳單地址 ID,就會使用這個帳單地址 ID。
displaySeq
設定目標訂單的顯示序列。如果沒有指定,但有顯示序列 "orderInforFrom" 次序,就會使用這個次序。
field1 到 field3
分別設定目標訂單的 field1、field2 和 field3 值。如果沒有指定,但有 "orderInfoFrom" 訂單的對應欄位值,就會使用這個值。
status
指定目標訂單的狀態。 有效值只有 I(已提交)和 P(擱置)。預設值是 P。 如果指定 I,在更新目標訂單之後,就已準備好要顯示和鎖定它,如同已經呼叫 OrderPrepare 一般,之後狀態會設為 I。 這會準備好訂單讓 OrderProcess 接受它,以及防止購物者進一步修改它。
memberId_i
在特殊縮寫("."、"*"、".t", ".**." 和 "*t")出現於 fromOrderId_i 時,用來解析這些特殊縮寫的成員參考號碼。 比方說,下列指令會參照成員 1001 的所有擱置的訂單:
    fromOrderId_1=*&memberId_1=1001
預設值是現行使用者的成員 ID。
若現行購物者擅自存取其它購物者的訂單,則會擲出異常狀況。
storeId
設定目標訂單的商店 ID。 它也在特殊縮寫("."、"*"、".t", ".**." 和 "*t")出現於 fromOrderId_i、toOrderId、orderInfoFrom 和 payInfoFrom 時,用來解析這些特殊縮寫。 比方說,下列指令會參照商店 1 中之成員 1001 中的所有現行擱置訂單:
    fromOrderId_1=*&memberId_1=1001&storeId=1
attr_i_name
針對以 i 指定的列舉群組新增訂單項目到目標訂單中時,指定要傳遞給 OrderItemUpdate 指令的屬性名稱和值。 比方說,下列指令會參照含屬性 "length"=="10" 的零件 ABC123:
    partNumber_1=ABC123&attr_1_length=10
pay_payment_name
設定目標訂單的付款「名稱-值」配對。 比方說,下列指令會參照付款「名稱-值」配對 "creditCardNumber==2222222222":
    pay_creditCardNumber=2222222222
這些付款「名稱-值」配對會透過 SetOrderPaymentInfoCmd 作業指令來新增到 ORDPAYINFO 表格中。 如果沒有指定,但有 payInfoFrom 的付款「名稱-值」配對,這會使用這個配對。
partOwner_Id_i
零件擁有者的成員 ID,要搭配 partNumber_i 使用;預設值為商店擁有者。
remerge
在同一訂單中要合併於其他 OrderItems 且具有相同的 correlationGroup 屬性 (如果可能) 的 OrderItems 清單。
merge
在同一訂單中要合併於其他 OrderItems (如果可能),且不論其 correlationGroup 屬性是什麼的 OrderItems 清單。
check
CheckInventory 作業指令應該檢查的 OrderItems 清單。
allocate
應該從現有庫存來配置的 OrderItems 清單。
backorder
應該從預期庫存來配置的 OrderItems 清單。
reverse
應該釋出其配置(也就是從現有或預期庫存中適當解除配置)之 OrderItems 的清單。
configurationId_i
如果 OrderItem 代表已架構的動態套件,這就是架構 ID。

附註:只有在啟用 ATP 庫存時,才適合使用 remerge、merge、check、allocate、backorder 和 reverse 等參數(請參閱 STORE 表格中的 ALLOCATIONGOODFOR 直欄)。 它們代表要傳遞給 AllocateInventory 作業指令的 OrderItems 清單,由 AllocateInventory 作業指令依如下指定來呼叫 CheckInventoryAvailability、AllocateExistingInventory、AllocateExpectedInventory、DeallocateExistingInventory 和 DeallocateExpectedInventory 作業指令。 另外,這些參數也接受 OrderItem 縮寫,請參閱訂單子系統指令的說明,以取得詳細資料。

預設 ATP 參數值如下:

範例 1
下列範例會利用 fromOrderId_1 來複製訂單,因為預設 toOrder 是 **(新訂單),copyOrderItemId_1 的預設值是 *(所有訂單項目)。
     http://myhostname/webapp/wcs/stores/servlet/OrderCopy?fromOrderId_1=388
     &URL=OrderItemDisplay

範例 2
下列範例會建立兩份擱置訂單,再合併所有客戶擱置訂單中的所有訂單項目。
     http://myhostname/webapp/wcs/stores/servlet/OrderItemAdd?catEntryId=322200305
     &quantity=11&URL=OrderItemDisplay&storeId=32&orderId=**

     http://myhostname/webapp/wcs/stores/servlet/OrderItemAdd?catEntryId=322200301
     &quantity=11&URL=OrderItemDisplay&storeId=32&orderId=**

     http://myhostname/webapp/wcs/stores/servlet/OrderCopy?URL=OrderItemDisplay
     &fromOrderId_1=*&copyOrderItemId_1=*

範例 3
下列範例是新增一個新訂單項目到訂單 111 中。
     http://myhostname/webapp/wcs/stores/servlet/OrderCopy?fromOrderId_1=111
     &toOrderId=111&partNumber_1=PART-I312200303&quantity_1=21&memberId_1=0      &storeId=31&URL=OrderItemDisplay

範例 4
下列範例會利用 partNumber 來進行複製。 若有指定,則會忽略 catEntryId_i 參數。 您可以選取 CATENTRY 表格中的 PARTNUMBER 和 MEMBER_ID 直欄,利用 partNumber_i 參數和其它參數所指定或隱含的商店參考號碼用來判斷產品參考號碼。 此指令在執行時,會認為產品參考號碼是指定成 catEntryId_i 的值。 指令必須能夠從其它參數來判斷商店參考號碼。 結果是將新訂單項目加入訂單 111 中。
     http://myhostname/webapp/wcs/stores/servlet/OrderCopy?fromOrderId_1=111
     &toOrderId=111&partNumber_1=PART-I312200303&quantity_1=21
     &memberId_1=1&storeId=31&URL=OrderItemDisplay

規則

異常狀況

相關概念

相關參照

IBM copyright