2009年10月7日 星期三

[OM] 訂單Line狀態:AWAITING INVOICE INTERFACE - PENDING COMPLETE DELIVERY

環境:EBS 11.5.10.2

簡述:訂單已出貨成功,存貨帳已扣,AR INTERFACE 無資料,懷疑workflow拋轉

            失敗沒Rollback。經過Load TAR後,測試結果是workflow拋轉另一張訂單失

            敗造成同一批次的其他單子卡單。

解決方案:

1. 先select wf_item_activity_statuses_v,找出error的order line id。

2.

set serveroutput on
Declare
l_line_id NUMBER := &line_id;
l_org_id NUMBER;
l_count NUMBER;
l_result VARCHAR2(30);
l_activity_label VARCHAR2(30);
l_file_val VARCHAR2(200);

Begin

fnd_client_info.set_org_context('&org_id');
oe_debug_pub.debug_on;
oe_debug_pub.initialize;
l_file_val := OE_DEBUG_PUB.Set_Debug_Mode('FILE');
oe_debug_pub.setdebuglevel(5);

select activity_label
into l_activity_label
from wf_item_activity_statuses_v
where item_type='OEOL'
and activity_name = 'INVOICE_INTERFACE'
and activity_status_code = 'ERROR'
and item_key = to_char(l_line_id);

dbms_output.put_line('activity label : '||l_activity_label);

OE_Standard_WF.OEOL_SELECTOR
(p_itemtype => 'OEOL'
,p_itemkey => to_char(l_line_id)
,p_actid => 12345
,p_funcmode => 'SET_CTX'
,p_result => l_result
);

wf_engine.handleError('OEOL', to_char(l_line_id), l_activity_label, 'RETRY',nu
ll);
dbms_output.put_line('File name '||OE_DEBUG_PUB.G_DIR||'/'||OE_DEBUG_PUB.G_FILE);
End;
/
commit;

 

2009年8月26日 星期三

[PO] MTL_SUPPLY table 在PO模組下的異動變化

今天剛好有需求,找到以前網路上收集的一些資料,講得蠻清楚的。
1、當請購單建立、核准後,mtl_supply的變化

a.當建立完請購單,MTL_SUPPLY為空
b.當核准後,mtl_supply中產生一條資料,supply_type_code=REQ
c.當請購單核准後,請購頭與請購行存入MS.REQ_HEADER_ID, MS.REQ_LINE_ID,此時MS.SUPPLY_TYPE_CODE=REQ


2、當PO建立、核准後,mtl_supply的變化

a.當請購單轉換成po後,在未核准時,MTL_SUPPLY為空
b.當核准後,mtl_supply中原有的supply_type_code=REQ被更改為supply_type_code=PO
c.一般而言,當請購單自動建立為採購單時,其supply_type_code=REQ被更改為supply_type_code=PO
d.當核准後的po做取消時,MTL_SUPPLY中supply_type_code=PO被更改為supply_type_code=REQ
e.--當調用由請購單自動開採購單的程式時,如果未核准,MS.PO_HEADER_ID,MS.PO_LINE_ID,MS.PO_RELEASE_ID,MS.PO_LINE_LOCATION_ID,MS.PO_DISTRIBUTION_ID,為空,如果已核准MS.REQ_HEADER_ID,MS.REQ_LINE_ID被清空,MS.SUPPLY_TYPE_CODE=PO,對於在po單中修改數量或添加新的採購訂單行而未核准,原有已核准的採購訂單行資料不變,但新添加的行未錄入該表當核准後的po做取消時,MTL_SUPPLY中supply_type_code=PO被更改為supply_type_code=REQ,MS.REQ_HEADER_ID, MS.REQ_LINE_ID被填入原有的請購單的頭和行值,同時,MS.PO_HEADER_ID,MS.PO_LINE_ID,MS.PO_RELEASE_ID,MS.PO_LINE_LOCATION_ID,MS.PO_DISTRIBUTION_ID, MS.NEED_BY_DATE,MS.RECEIPT_DATE,
MS.EXPECTED_DELIVERY_DATE, 被清空


3、當PO接收後,mtl_supply的變化

a.當po完全接收後,mtl_supply中原有的supply_type_code=PO被更改為supply_type_code=RECEIVING
b.當採購單做完接收後,MTL_SUPPLY中supply_type_code=PO被更改為supply_type_code=RECEIVING,同時MS.SHIPMENT_HEADER_ID,MS.SHIPMENT_LINE_ID,  MS.RCV_TRANSACTION_ID,存入shipment的頭資訊,行資訊,及rcv_transaction的transaction_id


4、當PO某行部分接收後,mtl_supply的變化

a.當PO某行部分接收後,接受行中原有的supply_type_code=PO被更改為supply_type_code=RECEIVING


5、當PO檢驗後,mtl_supply有什麼變化

a.當PO檢驗後,接受行中原有的supply_type_code=RECEIVING不變


6、當PO部分入庫後,mtl_supply有什麼變化,全部入庫後

a.當PO部分入庫後,mtl_supply中該行記錄被刪除,而全部入庫則該採購單所有行記錄被刪除涉及的表

2009年7月15日 星期三

[COST] Oracle ERP系統借貸關係表

網路上收集的,因為很久了忘了出處,覺得常用到,所以放上來。

Oracle ERP系統借貸關係表

成本核算會計資訊歸納
按照交易處理的來源類型歸納。
一、 採購接收入庫和退貨:
1.接收: 借:材料採購 (訂單價格)
貸:應計負債 (訂單價格)
2.入庫: 借:原材料 (標準成本)
貸:材料採購 (訂單價格)
借或貸:材料成本差異_材料訂單價格
3.退貨至接收時產生與上面第2步相反的分錄,退貨至供應商時產生與上面第1步相反的分錄。
二、 子庫存轉移:只有轉出子庫產生分錄
借:原材料(自製半成品、庫存商品)
貸:原材料(自製半成品、庫存商品)
三、 雜項交易處理:
1.庫存增加:借:原材料(自製半成品、庫存商品)
貸:帳戶別名(或自訂帳戶)
2.庫存減少:與上面相反的分錄
四、 採購發票匹配:借:應計負債 (訂單價格)
應交稅金_增值稅_進項稅
貸:應付帳款 (發票價格)
借或貸:材料成本差異_材料發票價格差異
五、 生產環節:
1. 標準工單:
① 標準工單領料:借:生產成本_直接生產成本_材料
貸:原材料(自製半成品、庫存商品)
② 標準工單退料:與上面相反的分錄
③ 標準工單資源交易處理(即人工):雖然我司沒有在WIP模組進行實際的人工成本核算,但系統會自動核算一筆,基於在定義資源時的吸收帳戶為“生產成本_直接生產成本_直接人工”,系統產生以下分錄:
借:生產成本_直接生產成本_直接人工 (包含成本中心資訊)
貸:生產成本_直接生產成本_直接人工
(值為零,且只有裝配件定義了資源、工藝路線的工單才會產生此分錄)
因此,在總帳模組處理實際人工和製造費用時,建議:
借:生產成本_生產成本差異_人工 (實發工資)
貸:應付工資
借:生產成本_生產成本差異_費用 (實際發生的製造費用)
貸:製造費用
④ 標準工單完工入庫:借:原材料(自製半成品、庫存商品)
貸:生產成本_直接生產成本_直接材料
生產成本_直接生產成本_直接人工
生產成本_直接生產成本_直接費用
(僅庫存商品會有人工和費用科目)
⑤ 如果按照標準成本生產,即發生成本和沖減成本一致,則工單關閉時沒有差異;
⑥ 工單關閉時,如果材料的發生成本比沖減成本大,即多耗料:
借:生產成本_生產成本差異_材料
貸:生產成本_直接生產成本_直接材料
如果少耗料則產生相反分錄。
生產環節只產生量差,不產生價差。
⑦ 工單關閉時,對於人工和費用產生的分錄恒定為:
借:生產成本_直接生產成本_直接人工 (標準)
生產成本_直接生產成本_直接費用 (標準)
貸:生產成本_生產成本差異_人工
生產成本_生產成本差異_費用
2. 非標工單:(對一般性分錄不歸納,如領材料等)
① 有完工入庫的非拆卸工單
發出成品時:借:生產成本_直接生產成本_直接材料 (標準)
生產成本_直接生產成本_直接人工 (標準)
生產成本_直接生產成本_直接費用 (標準)
貸:產成品
完工入庫時:借:庫存商品
貸:生產成本_直接生產成本_直接材料 (標準)
生產成本_直接生產成本_直接人工 (標準)
生產成本_直接生產成本_直接費用 (標準)
關閉時:借:生產成本_直接生產成本_直接人工 (標準)
生產成本_直接生產成本_直接費用 (標準)
貸:生產成本_生產成本差異_人工
生產成本_生產成本差異_費用
借:生產成本_生產成本差異_材料
貸:生產成本_直接生產成本_直接人工 (標準)
生產成本_直接生產成本_直接費用 (標準)
② 拆卸工單:
發出成品,同上;
發放負組件:借:原材料(自製半成品)
貸:生產成本_直接生產成本_直接材料
返還負元件,產生與之相反分錄;
關閉時:借:生產成本_生產成本差異_材料
貸:生產成本_直接生產成本_直接材料 (標準)
生產成本_直接生產成本_直接人工 (標準)
生產成本_直接生產成本_直接費用 (標準)
3. 其它委外加工、外協加工、編碼拆分等類型類似工單處理(因為科目設置一樣)
六、 銷售環節:
1. 挑庫:借:分期收款發出商品
貸:庫存商品(自製半成品、原材料)
2. 發運:借:分期收款發出商品
貸:分期收款發出商品
七、 成本更新:
1. 對庫存的影響:
如果單位成本增加,則 借:原材料(自製半成品、庫存商品)
貸:材料成本差異_材料成本更新差異
如果單位成本降低,則產生相反分錄
2. 對在製品的影響,需要區分不同的工單狀態
① 工單已發放狀態,元件尚未發,裝配件未入庫,裝配件物料、人工和製造費用及元件的更新均不產生影響;
② 工單已發放狀態,元件已發,未有裝配件入庫,裝配件物料、人工和製造費用的更新不產生影響,某元件的成本更新會產生影響,
借(貸):生產成本_直接生產成本_直接材料
貸(借):生產成本_生產成本差異_在製品成本
③ 工單已發放狀態,元件已發,裝配件部分入庫,如果是裝配件某一元件更新引起裝配件成本更新,則元件和裝配件的更新都會產生影響:
(元件成本增加)元件產生的影響:
借:生產成本_直接生產成本_直接材料(已發料數量*更新值)
貸:生產成本_生產成本差異_在製品成本
裝配件產生的影響:
借:生產成本_生產成本差異_在製品成本
貸:生產成本_直接生產成本_直接材料(已入庫數量*更新值)
對於以後再入庫的按新裝配件成本沖減。
元件成本減少產生相反分錄。
④ 工單已發放狀態,元件已發,裝配件部分入庫,物料沒有更新,裝配件的資源或製造費用更新(人工定義非累計的更新)對已入庫部分產生影響:
成本增加:借:生產成本_生產成本差異_在製品成本
貸:生產成本_直接生產成本_直接人工(已入庫數量*更新值)
(或 貸:生產成本_直接生產成本_直接費用)
成本減少產生相反分錄。
⑤ 工單已完成狀態,元件已發,某個元件更新(但裝配件並沒更新),對元件的發料會產生影響:
成本增加:借:生產成本_直接生產成本_直接材料 (已發料數量*更新值)
貸:生產成本_生產成本差異_在製品成本
成本減少產生相反分錄。
⑥ 工單已完成狀態,元件已發,某個元件更新引起裝配件物料成本更新,對元件發放和裝配件入庫都會產生影響:
成本增加:借:生產成本_直接生產成本_直接材料 (已發料數量*更新值)
貸:生產成本_生產成本差異_在製品成本
借:生產成本_生產成本差異_在製品成本
貸:生產成本_直接生產成本_直接材料(入庫數量*更新值)
成本減少產生相反分錄。
⑦ 工單已完成狀態,元件已發,物料沒有更新,資源或製造費用更新(人工定義非累計):
成本增加:借:生產成本_生產成本差異_在製品成本
貸:生產成本_直接生產成本_直接人工(直接費用)
成本減少產生相反分錄。
八、 根據開票資訊在總帳結轉銷售成本:
借:主營業務成本(其它業務支出_材料)
貸:分期收款發出商品
九、 匯總各個差異帳戶,按規則在總帳中分攤。
1.採購驗收作業,產生會計分錄如下:(
借):收貨科目 (Receiving Inventory) @ PO Price
(貸):存貨AP應計額 (Inventory AP Accrual) @ PO Price
2.入庫作業,有應付帳款立帳資訊,則依循立帳資訊,無立帳資訊,則採用採購單資訊,產生會計分錄如下 (假設有應付帳款立帳資訊):
(借):原物料科目 (Material Account) @應付帳款立帳本幣金額
(貸):收貨科目 (Receiving Inventory) @ PO Price
(借 或 貸):商業發票價格差異(Invoice Price Variance, IPV)
採購單匯差收益/損失(Rate Variance Gain/Loss)
3.應付帳款立帳作業,產生會計分錄如下:
(借):存貨AP應計額 (Inventory AP Accrual) @ PO Price
(貸):應付帳款科目 @應付帳款立帳本幣金額
(借 或 貸):商業發票價格差異(Invoice Price Variance, IPV)
採購單匯差收益/損失(Rate Variance Gain/Loss)
4. 在週期性成本之下,若原物料採購的發票在立帳時有做Match Receipt的動作,則週期性成本會將此發票的商業發票價格差異(IPV)轉變成原物料成本,但若本期的發票Match前期的Receipt,則此發票產生的IPV將不會被週期性成本納入本期的料件成本計算.
關與在製品會計分類(WIP Accounting Class)
1. 直接材料的發料
分錄的金額為「當期週期性成本」
(借):在製品計價科目 (WIP Valuation) @ 當期週期性成本
(貸):存貨科目 (MTL Account) @當期週期性成本
2. 直接人工的成本處理
分錄的金額為「當期維護的工資率」
(借):在製品計價科目 (WIP Valuation) @ 當期維護工資率
(貸):已分攤直接人工(Absorption) @當期維護工資率
3.製造費用 / 委外加工費用的成本處理
製造費用的成本反應會產生如下的分錄,分錄的金額為「當期維護的部門分攤率」
(借):在製品計價科目 (WIP Valuation) @ 當期維護分攤率
(貸):已分攤製造費用(Absorption) @當期維護分攤率
委外加工費用的成本反應會產生如下的分錄
分錄的金額為「當期維護的部門分攤率」
(借):在製品計價科目 (WIP Valuation) @ 當期維護分攤率
(貸):已分攤加工費用(Absorption) @當期維護分攤率
如果採用標準外包作業流程,則于驗收作業時產生如下之分錄:
(借):收貨科目 (Receiving Inventory) @ PO Price
(貸):存貨AP應計額 (Inventory AP Accrual) @ PO Price?
應付帳款立帳作業,產生會計分錄如下:
(借):存貨AP應計額 (Inventory AP Accrual) @ PO Price
(貸):應付帳款科目 @應付帳款立帳本幣金額
(借 or貸):商業發票價格差異(Invoice Price Variance, IPV)
採購單匯差收益/損失(Rate Variance Gain/Loss)
收回工單時,有應付帳款立帳信息,則依循立帳資訊,無立帳資訊,則採用採購單資訊,產生會計分錄如下 (假設有應付帳款立帳資訊):
(借):在製品-委外加工(WIP-Outside Process)@應付帳款立帳本幣金額
(貸):收貨科目 (Receiving Inventory) @ PO Price
(借 or貸):商業發票價格差異(Invoice Price Variance, IPV)
採購單匯差收益/損失(Rate Variance Gain/Loss)
工單完工入庫時會產生如下的分錄,其中借方科目依據完工入庫的成品/半成品料號所對應的分類(Category),讀取「週期性成本」的「週期性科目指定」貸方科目為「在製品會計分類」的「計價科目」。
(借):存貨科目 (MTL Valuation)
(貸):在製品計價科目 (WIP Valuation)
工單完工入庫數 = 工單開立數時,系統會將狀態切換為「完工(Complete)」。
生管於月底結帳前,需檢視所有未結工單是否仍會有交易會發生,針對可結案的工單,需將工單狀態切換為「完工 – 不允許費用再入帳(Complete-No Charge)」。
成會于月底結帳時,查詢所有狀態為「完工 – 不允許費用再入帳(Complete-No Charge)」的工單,執行工單成本結案動作。
工單結案時,如果工單上仍有剩餘在製品價值,會依成本元素分別結至「在製品會計分類」的對應「差異科目」,產生如下之分錄:
(借or 貸):在製品計價科目 (WIP Valuation)
(貸 or 借):在製品差異科目 (WIP Variance)
RMA 作業
有「銷退」、「退修」與「換貨」三種型態。
換貨作業採用訂單出貨與RMA收貨方式處理,並用「暫領待退料」來表達尚未歸還的部分,並需透過輔助報表協助表達已歸還部分是否有差異發生,如有差異,於總帳進行調整,調至「製造費用」科目。
上述差異的發生,一方面可能是領出與歸還的料號不同,這部分確實屬於差異,另一方面即使同一料號,因為領出與歸還的期間不同,亦會有差異的發生,照道理說,這部分的差異是不應該發生的。
假設 H 出原物料給 W,在途資產屬於接收方W,則H出貨時產生如下分錄(Transfer Credit 為轉撥利得):
(借) 在途存貨(Intransit, W) 應收帳款(Receivable, H)
(貸) 原物料(Material, H) 移轉銷退折讓(Transfer Credit, H)
應付帳款(Payable, W)?
W收貨時,產生如下的分錄:
(借) 原物料(Material, W)
(貸) 在途存貨(Intransit, W)
週期性成本,成品或半成品完工入庫時之成本計算
依據各站的單位成本貢獻加總而得,表達上有區分成本要素(Cost Elements)。
當站的單位貢獻成本 = (當站發生的成本 – 工單入庫, 當站已Relief 成本) / (當站移轉數 – 工單入庫數)。

2009年7月7日 星期二

關於Form中各種commit的說明

1. Commit針對Form操作和代碼進行Commit,若Form上的異動和代碼中的資料異動有衝突,以介面上的為主。

2. Commit_form
針對Form上的資料異動做Commit,對於代碼中的類似update、insert語句也進行提交,如果Form上的資料異動和代碼中的異動有衝突,以介面上的為主。

3. do_key(‘commit_form’)
首先會觸發Form下的KEY-COMMIT這個Trigger。若沒有KEY-COMMIT這個Trigger,則直接提交Form和代碼資料。如果Form上的資料異動和代碼中的資料異動有衝突,以介面上的為主。

4. forms_ddl(‘commit’)
只針對代碼中的update、insert、delete等語句進行Commit,Form上的異動不會提交。資料異動有衝突時,依據Trigger先後順序覆蓋,例如Post-Forms-Commit中的UPDATE就會覆蓋掉介面。