OrderItemDisplay 指令
這個指令會列出所有在擱置狀態的訂單項目。

參數值
- http://host_name/path/
- (必要)WebSphere Commerce Server 和架構路徑的完整名稱。
- forUser
- 將代替其執行指令之使用者的登入 ID;只有具備處理訂單權限的人才可指定這個參數。
- forUserId
- 與 forUser 相同,但卻是 USERS 表格中之內部使用者 ID 所指的使用者。
- langId
- 設定或重設在階段作業期間的屬意語言;
有關商店的支援語言可在 STORELANG 表格中找到。
- storeId
- 要列示訂單之商店的參考號碼。如果您省略此參數,則會列出該客戶在所有商店中的訂單。
- URL
- 當指令順利完成時所要呼叫的 URL
- orderId
- 使用訂單參考號碼或下列特殊縮寫之一來指定零或多項訂單:"."、"*"、".t"、"*t"。
請參閱訂單縮寫,以取得這些縮寫的說明。
若未指定 storeId 參數,
將會評估商場內每一家商店的現行擱置中訂單。如省略這個參數,則預設值為 "*"。
-
- 隱含的 orderId 必須屬於隱含的 storeId。如果不符合的話,會傳回錯誤:_ERR_INVALID_ORDER_REFNUM。
如果沒有指定參數的話,會顯示現行商店中的所有訂單,如同已指定了下列項目一般:
orderId=*&storeId=xxx
- 其中 xxx 是現行隱含 storeId
- outOrderName
- 指出將加到重新導向 URL 中的「名稱-值」配對名稱。
每一個新增之「名稱 / 值」配對的值為目標訂單的參考號碼。
- addressId
- 要顯示的項目之地址參考號碼。
- remerge
- 在同一訂單中要合併於其他 OrderItems 且具有相同的 correlationGroup 屬性 (如果可能) 的 OrderItems 清單。
- merge
- 在同一訂單中要合併於其他 OrderItems (如果可能),且不論其 correlationGroup 屬性是什麼的 OrderItems 清單。
- check
- CheckInventory 作業指令應該檢查的 OrderItems 清單。
- allocate
- 應該從現有庫存來配置的 OrderItems 清單。
- backorder
- 應該從預期庫存來配置的 OrderItems 清單。
- reverse
- 應該釋出其配置(也就是從現有或預期庫存中適當解除配置)的 OrderItems 清單。
附註:
只有在啟用 ATP 庫存時,才適合使用 remerge、merge、check、allocate、backorder 和 reverse 等參數(請參閱 STORE 表格中的 ALLOCATIONGOODFOR 直欄)。
它們代表要傳遞給 AllocateInventory 作業指令的 OrderItems 清單,由 AllocateInventory 作業指令依如下指定來呼叫
CheckInventoryAvailability、AllocateExistingInventory、AllocateExpectedInventory、DeallocateExistingInventory 和 DeallocateExpectedInventory 作業指令。
另外,這些參數也接受 OrderItem 縮寫,請參閱訂單子系統指令的說明,以取得詳細資料。
預設 ATP 參數值如下:
- remerge=*n
- merge=*n
- check=***
- allocate=*n
- backorder=*n
- reverse=*n
範例 1
下列範例顯示地址參考號碼 2 及所有購物者的擱置訂單所對應的所有產品和項目。這些訂單的參考號碼會利用 orderId 參數而傳遞到 OrderItemDisplay 指令。
http://myhostname/webapp/wcs/stores/servlet/OrderItemDisplay?addressId=2
範例 2
下列範例會先利用 OrderItemAdd 來新增一份訂單,再顯示項目的出貨明細:
http://myhostname/webapp/wcs/stores/servlet/OrderItemAdd?catEntryId=322200305
&quantity=1&URL=OrderItemDisplay&orderId=**
http://myhostname/webapp/wcs/stores/servlet/OrderItemDisplay?orderId=111
規則
- 視需要呼叫 ResolveOrdersCmd 作業指令,
以取得現行擱置的訂單。
- 呼叫 GetContractUnitPriceCmd 作業指令來處理每個產品和項目,以取得合約價格,但管理者利用商店設定的 PRICEREFFLAGS 值所指示的交易協定(合約)而產生或手動置換其價格者除外。
如果價格重新整理旗號 (PRICEREFFLAGS) 是:
- 這表示 useCurrentOnly。這會使用 OrderItems 所直接參照的價格。
如果它們已無法使用,就會失敗。
- 這表示 useCurrentOrSearchAgain。這與 useCurrentOnly 相同,但無法使用它們時,不會失敗,而會搜尋原先在建立 OrderItems 時所搜尋者。
這是預設行為。
- 這表示 alwaysSearchAgain。這個選項永遠會搜尋原先在建立 OrderItems 時所搜尋的價格。
- 將 GetContractUnitPriceCmd 作業指令所傳回的 CURRENCY 與 PRICE 輸出參數,儲存在 ORDERITEMS 表格的對應直欄中。
- 若有指定 addressId,則指令會設定 OrderItemDisplayViewShiptoDsp 檢視
指令,以顯示特定的出貨明細頁面;否則,會設定
OrderItemDisplayViewShiptoAssoc 檢視指令,顯示一般的出貨明細
頁面。
- 呼叫 ResolveFulfillmentCenter 與 GetBaseUnitPriceCmd 作業指令。
異常狀況
如果符合下列中的任何情況的話,指令會擲出 ECApplicationException 異常狀況,指定 RetrievePriceErrorView 錯誤檢視指令:
- 輸入交易協定無效,或沒有使用資格。
- 訂單中所用的交易協定套用不相容的付款方法。
- 無法擷取任何產品或項目的標價。