3/22/2010

業務_CST_科目別名(Account alias)

1)在系統應用時,若遇到非正常情況能夠處理的交易,也就是所謂的例外交易,常常會單獨使用科目別名(Account alias)來進行交易的輸入與記錄。

2)以下是科目別名設定的所在位置:
職責「成本管理超級用戶」->設定->科目指定->科目別名

3/16/2010

問題記錄_OFA_R12 APP-OFA-48392 Unable to Get The Concurrent Request Status Using Procedure FND_CONCURRENT.GET_REQ

Problem Description: When add a new asset till to the final step, the error request(R12 APP-OFA-48392 Unable to Get The Concurrent Request Status Using Procedure FND_CONCURRENT.GET_REQ) would be popup.

I find out the [ID 199678.1] in metalink resources, and the case just like what we happened, then I follow the steps to slove this problem.

It's what done about PL/SQL code below.
SQL> update fa_book_controls
SQL> set deprn_request_id = NULL,
SQL> deprn_status = 'E'
SQL> where deprn_status = 'S'
SQL> and book_type_code = '&book_type_code';

But it still doesn't work, we can't add new asset record. And I re-run depreciation then popup an Error winows, messeage below:
APP-OFA-48398: Program exited with errors:
ORA-00054:resource busy and acquire with NOWAIT specified
Error:function FA_CHK_BOOKSTS_PKG.faxlck returned failure
A mass transaction is pending for this book. please complete it and try again. Failed to obtain lock on FA_BOOK_CONTROLS row for book &book_type_code.
Error:function FA_CHK_BOOKSTS_PKG.faxlc returned failure
Error:function FA_CHK_BOOKSTS.faxcbs returned failure
Module CHECK_BOOK_STATUS ended with error
Error:function FA_CHK_BOOKSTS_PKG.faxcbsx returned failure

---------------------以下是回覆---------------------

Comments
--------
=== ODM Action Plan ===

Please provide the following results:

1.Please run the Diagnostics: Apps Check program for Oracle Assets and upload the output to this SR.
Sysadmin > Security > Responsibility > Request
Query the request as follows:
Group - All reports
Application - Oracle Assets

Now add the Diagnostics: Apps Check as follows
Type - Program
Name - from the list of value select Diagnostics: Apps Check
Application - Order Management
Save the changes.
Now you can run the Diagnostics: Apps Check with Assets as Parameter

2. Please run the following select script to identify any locks for FA (Fixed Assets) objects and upload the result:

SELECT *
FROM v$locked_object a , all_objects b
WHERE a.object_id = b.object_id
AND b.object_name like 'FA%';

3. Run the query below and upload the result:

select book_type_code, mass_request_id,
deprn_status,deprn_request_id from FA_BOOK_CONTROLS
where book_type_code = '&book';

------------------分隔線---------------------

Comments
--------
Hello,

Your issue has been transferred to me now. I will be helping on the same.

The Depreciation status is 'S'. Please go through Note 567038.1 where you will find the complete datafix. Please appy that datafix and provide us feedback.

Regards,

-------------------解決方案------------------


When attempting to run depreciation got APP-OFA-48397 Program exited with errors [ID 567038.1]


Modified 04-DEC-2008     Type PROBLEM     Status PUBLISHED

In this Document
  Symptoms
  Cause
  Solution
  References
Applies to:
Oracle Assets - Version: 11.5.10
This problem can occur on any platform.
Symptoms
When attempting to to run depreciation for the books 
the following error message appears in the form 
ERROR 
----------------------- 
APP-OFA-48397 Program exited with errors 
unable to get the concurrent request status using procedure 
FND_CURRENT.GET_REQUEST_STATUS 
Module CHECK_BOOK_STATUS ended with error 
Cause
The DEPRN_STATUS in the FA_BOOK_CONTROLS table was incorrectly set 
to 'S' after a failed depreciation run. 
Solution
Verify the book status -

SQL> select book_type_code, deprn_request_id, mass_request_id, deprn_status
SQL> from fa_book_controls
SQL> where book_type_code = '&book_type_code';

Please log an iTAR for guidance on the following steps:

If the deprn_status is anything other that 'S', DO NOT PROCEED with resetting
the status.

Check to make sure there are no records in FA_DEPRN_DETAIL and FA_DEPRN_SUMMARY
tables.

1. get the period_counter.

SQL> select period_counter
SQL> from fa_deprn_periods
SQL> where book_type_code = '&book_type_code'
SQL> and period_close_date is null;

The period_counter is the current period counter number associated with the
period you are trying to run depreciation for, and the book_type_code is the
name of your Asset Book.

2. Check the FA_DEPRN_DETAIL and FA_DEPRN_SUMMARY tables for records :

SQL> select count(*)
SQL> from fa_deprn_summary
SQL> where book_type_code = '&book_type_code'
SQL> and period_counter = &period_counter
SQL> and deprn_amount is not null;

SQL> select count(*)
SQL> from fa_deprn_detail
SQL> where book_type_code = '&book_type_code'
SQL> and period_counter = &period_counter
SQL> and deprn_amount is not null;

If the step 2 return rows 0 rows then run the following script
SQL> update fa_book_controls
SQL> set deprn_request_id = NULL,
SQL> deprn_status = 'E'
SQL> where deprn_status = 'S'
SQL> and book_type_code = '&book_type_code';

NOTE: Never under any circumstances update the deprn_status to 'C' for
'Complete'.
3.If the SQL in step 2 returns rows follow the below steps
This task should be performed by the System Administrator/DBA:
To implement the solution, please execute the following steps:
A) Take backup of depreciation tables:

create table FA_DEPRN_DETAIL_bkp as select * from FA_DEPRN_DETAIL
where PERIOD_COUNTER=
and book_type_code='&&book';

create table FA_DEPRN_SUMMARY_bkp as select * from FA_DEPRN_SUMMARY
where PERIOD_COUNTER=
and book_type_code='&&book';

B)Delete the lines that where inserted by depreciation process:
1. delete from FA_DEPRN_DETAIL
where PERIOD_COUNTER=
and book_type_code='&&book';

2. delete from FA_DEPRN_SUMMARY
where PERIOD_COUNTER=
and book_type_code='&&book';

commit;

C) Then update depreciation status in FA_BOOK_CONTROLS:
update fa_book_controls
set deprn_request_id = NULL,
mass_request_id = NULL,
deprn_status = 'E'
where deprn_status = 'S'
and book_type_code='&&book';
commit;

D) Submit depreciation again.


References
NOTE:438507.1 - Unable To Run Depreciation Or To Rollback Depreciation. Fail To Get Lock On FA_BOOK_CONTROLS
NOTE:199678.1 - Depreciation Ends with Error in FND_CONCURRENT.GET_REQUEST_STATUS
 Related
Products
  • Oracle E-Business Suite > Financial Management > Assets & Real Estate > Oracle Assets
Errors
APP-OFA-48397

3/15/2010

系統流程_商業發票(預付款)_會計事件流程

  • 預付發票:
    • 借:預付帳款
    • 貸:應付帳款
  • 付款:
    • 借:應付帳款
    • 貸:銀行存款
  • 材料入庫:
    • 借:材料採購           借:原材料-主要材料
    • 貸:應計負債           貸:材料採購
  • 正常發票:
    • 借:應計負債
    • 貸:應付帳款
  • 沖預付發票
    • 借:應付帳款
    • 貸:預付帳款

3/09/2010

業務_AP_商業發票輸入與驗證

業務概述:
供應商出貨至公司,經倉庫檢驗後,驗收入庫並確實有相關原物料異動資料,在系統錄入商業發票並打出檢收單。

業務作業:
1)核對公司採購單、供應商出貨單資料,並確認倉庫人員接受及檢驗。
進入「應付管理一般用戶」職責->PO查詢->檢視採購單。















2)利用採購單編號搜尋採購單,比對採購單與出貨單資料。


3)人工核對完畢後,進入「成本管理一般用戶」職責->檢視異動->原物料異動。
4)彈出「搜尋原物料異動」視窗->來源型態選擇:Purchase order,來源選擇:採購單號碼->搜尋。




















5)進入「應付管理一般用戶」職責->發票輸入。















6)輸入「供應商編號」(若是採購員現購則選擇採購員),「商業發票號碼」依規定輸入,「商業發票金額」以出貨單或發票單據為準輸入,「比對作業」選擇:收款,其餘會依照供應商設定自行帶出->儲存->對選「比對」按鈕。


7)彈出「搜尋收貨以進行比對」視窗->輸入採購單編號->搜尋。
8)彈出「與收貨比對」視窗->勾選欲比對的行資料->比對。


9)確定商業發票金額與比對之採購單行資料無誤。
10)檢查是否有保留。
10)點選作業->彈出「商業發票作業」->驗證->確定。
11)「商業發票維護作業」視窗的狀態欄位己改變為:己驗證。

3/05/2010

問題記錄_CST_原物料異動(錯誤)

1)於「成本管理用戶」職責->檢視異動->原物料異動。


2)彈出「搜尋原物料異動」視窗->搜尋條件:異動日期(依期間)、來源型態(例:Job or Schedule)、來源(例:工單編號)、計算成本(錯誤)->搜尋。


3)彈出「原物料異動」視窗->列出搜尋條件內的資料->頁籤「原因,參考」->錯誤代碼、錯誤說明欄位。






4)欄位Error Explanation:CSTPACIN.COST_INV_TXN:CSTPAVCP.compute_actual_cost (40): ORA-00001: 違反必須為唯一的限制條件 (INV.MTL_CST_ACTUAL_COST_DETAILS_U1)。

5)以下是oracle support所提供的解決方案:
Comments
--------

Please perform the below action plan in TEST instance only:

Action 1. Backup mtl_cst_actual_cost_details table.

Sql : Create table mcacd_backup as (Select * from mtl_cst_actual_cost_details
where transaction_id in (select transaction_id from mtl_material_transactions where costed_flag in ('N','E')
and transaction_id in (select transaction_id from mtl_cst_actual_cost_details)
and transaction_id not in (select transaction_id from mtl_transaction_accounts)))


Action 2. Backup mtl_material_transactions table.

Sql. : Create table MMT as (Select * from mtl_material_transactions where costed_flag in ('N','E')
and transaction_id in (select transaction_id from mtl_cst_actual_cost_details)
and transaction_id not in (select transaction_id from mtl_transaction_accounts));


Action 3. Delete the records from mtl_cst_actual_cost_details which have corresponding records in mtl_material_transactions table with costed_flag in ('N',' E') and no corresponding records in mtl_transaction_accounts

Sql : Delete from mtl_cst_actual_cost_details
Where transaction_id IN
(Select transaction_id from mtl_material_transactions where costed_flag in ('N','E')
and transaction_id in (select transaction_id from mtl_cst_actual_cost_details)
and transaction_id not in (select transaction_id from mtl_transaction_accounts));

Action 4 : Cancel the Cost Manager:
System Administrator --> Requests --> View --> Go to Specific Request and in the Name enter 'Cost Manager'.
From here cancel the Cost Manager that is Pending Scheduled.


Action 5. Re-submitt the transactions:
Update mtl_material_transactions
Set costed_flag = 'N',
transaction_group_id = null,
error_code = null,
error_explanation = null
where costed_flag in ('N','E');

Commit ;


Action 6 . Launch the Cost Manager
Inventory --> Setup --> Transactions --> Interface Managers --> Tools (Menu Bar) --> Launch Manager-->Submit
(No scheduling for the Cost Manager should be done in the Request Form)

6)以下是處理後的feedback:
Action 1. Backup mtl_cst_actual_cost_details table.


Sql : Create table mcacd_backup as (Select * from mtl_cst_actual_cost_details
where transaction_id in (select transaction_id from mtl_material_transactions where costed_flag in ('N','E')
and transaction_id in (select transaction_id from mtl_cst_actual_cost_details)
and transaction_id not in (select transaction_id from mtl_transaction_accounts)))

>>OK

Action 2. Backup mtl_material_transactions table.

Sql. : Create table MMT_BK as (Select * from mtl_material_transactions where costed_flag in ('N','E')
and transaction_id in (select transaction_id from mtl_cst_actual_cost_details)
and transaction_id not in (select transaction_id from mtl_transaction_accounts))

>>OK


Action 3. Delete the records from mtl_cst_actual_cost_details which have corresponding records in mtl_material_transactions table with costed_flag in ('N',' E') and no corresponding records in mtl_transaction_accounts

Sql : Delete from mtl_cst_actual_cost_details
Where transaction_id IN
(Select transaction_id from mtl_material_transactions where costed_flag in ('N','E')
and transaction_id in (select transaction_id from mtl_cst_actual_cost_details)
and transaction_id not in (select transaction_id from mtl_transaction_accounts));

>>OK


Action 4 : Cancel the Cost Manager:
System Administrator --> Requests --> View --> Go to Specific Request and in the Name enter 'Cost Manager'.
From here cancel the Cost Manager that is Pending Scheduled.

>>OK

Action 5. Re-submitt the transactions:
Update mtl_material_transactions
Set costed_flag = 'N',
transaction_group_id = null,
error_code = null,
error_explanation = null
where costed_flag in ('N','E');

Commit ;

>>OK

Action 6 . Launch the Cost Manager
Inventory --> Setup --> Transactions --> Interface Managers --> Tools (Menu Bar) --> Launch Manager-->Submit
(No scheduling for the Cost Manager should be done in the Request Form)

>>Please check logfile output0315.txt and 01.jpg

3/04/2010

問題記錄_CST_暫緩資源異動

事件:無法關閉分散式工單。
概述:原物料異動中有錯誤。
問題記錄:
1)「成本管理」職責下->檢視異動->暫緩資源異動。
2)彈出「搜尋暫緩的資源異動」視窗->依條件填入異動日期欄位->搜尋。
3)彈出「暫緩異動」視窗->內有暫緩狀態之資料(表示工單上有資源存在暫緩之狀態)
4)並且「重新提交」框無法勾選,工具->選取全部以重新提交,也無法執行。

5)以下為oracle support所提供的解決方案:

Comments
--------
Please perform the following action plan on TEST INSTANCE after taking appropriate back ups.

To implement the solution, please execute the following steps:
Run the following scripts to confirm that erred rows exist in the mtl_material_transactions (MMT) and mtl_cst_actual_cost_details (MCACD) tables.

Script 1. To check the erred transaction details :
Select Transaction_id , costed_flag , error_code , error_explanation , org_id ,acct_period_id ,
from mtl_material_transactions
where costed_flag='E'
-------> This script should return the erred transaction id with the error code mentioned above... The below mentioned fix is intended for this error only.


Script 2. To find out whether the erred transaction(s) have distributions created in the mtl_transaction_acconts table.:

Select * from mtl_transaction_accounts
where transaction_id in ( Select transaction_id from mtl_material_transactions where costed_flag='E')
-------> This query should not return any rows....


Script 3. To find out whether the erred transaction(s) have record(s) created in the mtl_cst_actual_cost_details
Select * from mtl_cst_actual_cost_details
where transaction_id in ( Select transaction_id from mtl_material_transactions where costed_flag='E')

------>This script will give the same transaction id which is erred out in the mtl_material_transactions.
It indicates that the erred transaction id's have reached this table.

Script 4. To find out whether the erred transaction(s) have record(s) created in the mtl_cst_txn_cost_details :
Select * from mtl_cst_txn_cost_details
where transaction_id in ( Select transaction_id from mtl_material_transactions where costed_flag='E')
-------------> This script should not return any rows, as the record will be either in the MCACD or MCTCD.

Script 5. To find out whether the erred transaction(s) have record(s) created in the mtl_actual_cost_subelement
Select * from mtl_actual_cost_subelement
where transaction_id in ( Select transaction_id from mtl_material_transactions where costed_flag='E')
------------------> This is checking in the subelement table.

After confirming the erred transaction in the above tables, the datafix will be as follows:

Create Back-tables.

Action 1. Backup mtl_cst_actual_cost_details table.
Sql : Create table MCACD as (Select * from mtl_cst_actual_cost_details
where transaction_id in (select transaction_id from mtl_material_transactions
where costed_flag in ('N','E')

Action 2. Backup mtl_material_transactions table.
Sql. : Create table MMT as (Select * from mtl_material_transactions
where costed_flag in ('N','E'));


Action 3. Delete the records from mtl_cst_actual_cost_details which have corresponding records
(same transaction_id with the same error_explanation ) in mtl_material_transactions table with costed_flag = ' E'
Sql : Delete from mtl_cst_actual_cost_details
Where transaction_id IN
(Select transaction_id from mtl_material_transactions where costed_flag IN ('E')
and organization_id = &org_id); << the organization_id which has the errors
---------> Please ensure that the transaction_id's which will be deleted by this script are the same as those returned by Script 3.

Action 4 : Cancel the Cost Manager:
System Administrator --> Requests --> View --> Go to Specific Request and in the Name enter 'Cost Manager'.
From here cancel the Cost Manager that is Pending Scheduled.

Action 5. Re-submitt the transactions:
Update mtl_material_transactions
Set costed_flag = 'N',
transaction_group_id = null,
error_code = null,
error_explanation = null
where costed_flag in ('N','E');
Commit ;

Action 6 . Launch the Cost Manager
Inventory --> Setup --> Transactions --> Interface Managers --> Tools (Menu Bar) --> Launch Manager-->Submit
(No scheduling for the Cost Manager should be done in the Request Form)
=============================================
This will resolve the erred transactions.

If the Script 2 returns any rows i.e. if the transaction(s) which is erred out in the mtl_material_transactions table, have reached in the mtl_transaction_accounts table, then, in this case, after proper scrutiny and analysis, update the costed_flag of these transactions to NULL.. This has to be done with the utmost care and it should be ensured that errred transactions have the distributions created for the same with base transaction value, which is matching with the transaction value coloumn of the mtl_material_transactions table.

業務_CST_關閉分散式工單

1)進入「成本管理用戶」->分散式工單->關閉分散式工單->關閉分散式工(表單)
2)輸入搜尋分散式條件(期間:開工日期、完工日期),主要是使用狀態(完工不計費)來進行搜尋,如下圖所示:勾選狀態->勾選下拉式選單->完工-不允許費用再入帳->搜尋。


3)彈出「結束分散式工單彙總」視窗,並依照搜尋條件列出工單、型態、組裝料號等欄位資料。


4)將游標移至欲關閉工單將其點擊、反白,選擇工具列的工具- >關閉。


5)彈出「關閉分散式工單請求」視窗,選擇:明細(使用實際完工數量) 的報表型態->確定。
p.s.實際結案日期與提交日期這兩個欄位,可使用預設值。


6)工具列的檢視->請求->搜尋->分散式工單報表->檢視輸出->結束。

3/01/2010

業務_AP_關帳例外存在

1)執行月底AP關帳,職責:AP-應付管理超級用戶->會計->控制應付帳款期間。




















2)將欲關閉的期間的「期間狀態」由開啟改為關閉。

3)由於仍存在例外,故無法關閉該期間。
4)檢視->請求->提交新請求->單一請求->「明細分類帳期間關帳例外報表」。
依照該報表所提示之資訊進行例外處理。

問題記錄_AR_應收帳自動立帳

問題描述:
本日財務人員於執行「CUX_AR_銷售發票導入接口表」時,誤將GL日期的參數設為2010-03-01,於檢視輸出時發生「錯誤:所提供的拋轉總帳日期落在關帳期間內(01-03-10)」。
「CUX_AR_銷售發票導入接口表」為一客製化程式,執行時會觸發標準程式:
1.應收款自動立帳主程式
2.應收款自動立帳轉入程式

處理記錄:
1)
檢查帳本期間的情況,職責:AR-應收管理超級用戶->控制->會計->期間開帳/關帳











2)
利用「應收款自動立帳轉入程式」檢視輸出的資料,舉例:
批次來源:OM導入
交易彈性欄位
:OM導入:8100000111.1001.2341.2337.100227003(共五段)
第一段8100000111為「需求單號」、第五段100227003為「出貨單號」。

3)
於「CUX-應用開發管理」職責->出貨工作臺,查詢交易的出貨單號,開單日期及出貨日期都不是2010-03-01。
因此判定不是開單日期2010-03-01造成的。








4)
職責:AR-應收管理超級用戶->控制->應收款自動立帳->連接明細行
介面一彈出來直接用control + F11將全部的錯誤資料取出,比對資料比數,與請求「應收款自動立帳轉入程式」的檢視輸出是一致的。









5)
將游標移至明細行型態後的任何一欄,檔案夾->顯視欄位->尋找->拋轉總帳日期,並將該欄之日期從「2010-03-01」改為「2010-02-28」。

6)
重新提交「CUX_AR_銷售發票導入接口表」,處理成功,無已拒收。