我一直以為在 OE_ORDER_LINES_ALL 中的 FLOW_STATUS_CODE 會等於 Form 上的 Status, 只不過一個是 Code, 一個是 Meaning, 但是, 很不巧的發現, Oracle 偷偷的留一手.....
當該 Line 已做了 Pick 時, Form 上雖然顯示 "Picked", 但在 Table 所記錄的 FLOW_STATUS_CODE 仍是 "AWAITING_SHIPPING", 不確定原因是啥, 不過 Oracle 在 Metalink 也都沒做任何的解釋, 其實就只是用了一個 Package 去做轉換的動作罷了
OE_LINE_STATUS_PUB.GET_LINE_STATUS ( LINE_ID, FLOW_STATUS_CODE)
當該 Line 已做了 Pick 時, Form 上雖然顯示 "Picked", 但在 Table 所記錄的 FLOW_STATUS_CODE 仍是 "AWAITING_SHIPPING", 不確定原因是啥, 不過 Oracle 在 Metalink 也都沒做任何的解釋, 其實就只是用了一個 Package 去做轉換的動作罷了
OE_LINE_STATUS_PUB.GET_LINE_STATUS ( LINE_ID, FLOW_STATUS_CODE)
文章標籤
全站熱搜

看了一下..oe_line_status_pub.Get_Line_Status 好像是因為這段 SELECT sum(decode(released_status, 'Y', 1, 0)), sum(1) INTO released_count, total_count FROM wsh_delivery_details WHERE source_line_id = p_line_id AND source_code = 'OE' AND released_status <> 'D'; 是不是刷出又作released吧..感覺是這樣.. 當通通作released時候顯示PICKED 真是怪異.....
Oracle 常常都會做些很怪的事 XD 反正, 要用的話就是盡量 Follow 囉...
查了一下oe_order_lines_all的flow_status_code, 沒有塞Picked這個狀態值,Line應該都一直存在AWAITING_SHIPPING這個值, 等作了Shipping出去後才會變SHIPPED的樣子, Form上的顯示.. 1.當Pick10筆這10筆都正常時會顯示Picked 2.Pick10筆...其中2筆退是顯示PICKED_PARTIAL 3.若Pick10筆..10筆都退掉,或者沒有作Pick都是顯示AWAITING_SHIPPING ... 怪怪Oracle 為啥不直接把狀態改到line的狀態就好了!
可能是因為Shipping Transaction的變化太多, 一直用Trigger去變更Line Status不好吧, 我想這樣解釋應該合理一點. 謝謝你的測試囉 ^^