只能對采購單題頭操作的活動有:
1.暫掛,釋放。暫掛作用防止打印單據(通過Oracle標准報表的話)。適用與未完成狀態的采購訂單;
2.凍結,解凍,凍結能夠防止對已經審批的訂單做修改,並且不能通過采購訂單錄入界面打開;
對題頭和采購訂單行都有效的活動:
3.取消。終止合同或合同行。動作不可逆。比較麻煩的是怎樣通知供應商,不同公司有不同的方式這一點在實施的時候需要考慮;
4.最終關閉,為了防止對已經完全完結(不會發生退貨)的訂單的變更,可以對其進行最終關閉。這個動作也是不可逆的。對於包含最終關閉行的采購訂單可以進行審批,對於最終關閉的訂單可以進行清除操作,但是這個功能在下沒有用過。
只適用於采購單行(這里不區分采購行和發運行)
5.接受關閉,接收打開,如果行完全接收或接收數量符合允差規定系統會自動關閉,當然為了某些目的我們可以手工關閉或打開,這個狀態會影響查找預期接收的form的查找結果。
6.發票關閉,發票打開,如果行完全匹配或匹配數量符合允差規定系統會自動關閉,這個對AP的影響在下不是很清楚。
系統會自動運行的:
7.關閉,系統會檢查發運行,采購單行的關閉狀況系統會自動的逐級關閉訂單,當然也可以手工進行。
其他:
8.刪除,對未完成狀態的訂單或訂單行(不區分采購行,發運行)進行清除,對采購訂單的刪除會產生跳號。
9.確認,會影響計划方面的數量計算,具體不是特別清除。
請問一下, PO line status 有個狀態是 closed for receiving 或者是closed for invoice
那個closed 狀態有何區別?
定義: po_line_locations_all 為A,
po_lines_all 為B
其實應該是A中的status,當接收完成后,A中的status為CLOSED FOR RECEIVING,當matched PO完成時,A中的status變成CLOSED FOR INVOICE,如果此時,A中的接收數量,Billed數量與B中的行數量完全一致時,那么B的status變成CLOSED,否則就是OPEN.
當有做RETURN時,這時A與B的status都會發生變化.
可以使用腳本查詢來驗證測試數據.
================SQL Scripts===================
SELECT ph.org_id, ph.segment1 "PO_Number", pl.line_num "Line_Number",
pl.closed_code "Closed_Code", pll.closed_code "Closed_code",
pll.quantity "Line_Quantity",
pll.quantity_received "Quantity_Received",
pll.quantity_billed "Quantity_Billed",
pll.quantity_cancelled "Quantity_Cancelled",
pll.quantity_accepted "Quantity_Accepted",
pll.quantity_rejected "Quantity_rejected"
FROM po.po_headers_all ph,
po.po_lines_all pl,
po.po_line_locations_all pll
WHERE ph.po_header_id = pl.po_header_id(+)
AND pl.po_line_id = pll.po_line_id(+)
AND ph.org_id like '&org_id'
AND ph.segment1 like '&po_number'
AND pll.closed_code LIKE 'CLOSED%'