Oracle EBS標準錯誤信息追蹤(Debug)
調用EBS標準API的時候,可能會返回一些讓人看不懂的錯誤,比如最近我在開發rcv_transaction_interface的時候,數據卡在接口表里沒有過去,但是返回的錯誤令人費解。
例如如下兩個錯誤就讓人費解:
*******************
Error: derive_vendor_rcv_line_qty-098: 1
Cause: A SQL error has occurred in derive_vendor_rcv_line_qty. The SQL error is User-Defined Exception.
Action: Take note of both this error number and the actions you were trying to perform. Contact your system administrator for further assistance.
********************
RVTSH-189:子例行程序 rvtshiline() 返回的錯誤
原因:子例行程序 rvtshiline() 返回時出現內部錯誤。
措施:請記錄此錯誤編號以及您嘗試進行的活動。 請與系統管理員聯系以尋求幫助
Concurrent program RVCTP returned error
Cause: RVCTP encountered an internal error. Parameters: RVCTP,IMMEDIATE,4686,
Action: Note both this error number and the actions you are trying to perform. Contact your system admi
RVTBM-008: Subroutine rvtbm_immediate_mngr() returned error
Cause: Subroutine rvtbm_immediate_mngr() returned an internal error.
Action: Note this error number and the actions you are trying to perform. Contact your syste
RVTBM-120: Subroutine rvtptcontrol() returned error
Cause: Subroutine rvtptcontrol() returned an internal error.
Action: Note this error number and the actions you are trying to perform. Contact your system administrator
Concurrent Manager encountered an error while attempting to start your immediate concurrent program RVCTP. Routine &ROUTINE received a return code of failure.
Contact your support representative.
****************************************
那么我們就可以利用EBS標準的Debug方法來輕易的追蹤到錯誤原因:
******************
首先,我們需要在admin職責下設置一些Profile:
----------------------------------------------
a. RCV: Debug Mode=Yes
b. FND: Debug Log Enabled=Yes
c. FND: Debug Log Level=Statement
d. FND: Debug Log Module=po%
----------------------------------------------
a. TP:INV Transaction processing mode=On-line
b. INV: Debug Trace=Yes
c. INV:Debug Level=11
d. INV: Debug file (Including the complete path)=<valid directory path ----------------------------------------------
a. OM: Debug Level = 5
b. OM: Debug Log Directory = <valid directory path>
然后可以用如下SQL查看Debug信息:
select to_char(timestamp, 'DD-MON-YY HH24:MI:SS'),
message_text,
module,
log_sequence
from fnd_log_messages
WHERE trunc(timestamp) = trunc(sysdate)
AND process_id = (SELECT os_process_id
FROM fnd_concurrent_requests
WHERE request_id = &p_request_id)
AND module not like 'fnd%'
ORDER BY log_sequence;
*********************************************
例如錯誤:Error: derive_vendor_rcv_line_qty-098的Debug信息如下:
|
Match Option:RProfile value ALLOW_RATE_OVERRIDE_FOR_USER_RATE_TYPE:N
|
po.plsql.RCV_ROI_TRANSACTION.RCV_ROI_TRANSACTION.4731
|
|
No of Distributions:1:: Rate and Rate_date in po distributions7.468200216771979::16-JAN-08
|
po.plsql.RCV_ROI_TRANSACTION.RCV_ROI_TRANSACTION.4757
|
|
Exception in derive_vendor_rcv_line_qty
|
po.plsql.RCV_ROI_TRANSACTION.RCV_ROI_TRANSACTION.5011
|
由此,我們可以看到在Package:RCV_ROI_TRANSACTION中,4757行 - 5011行之間發生錯誤,引發Exception報錯:Error: derive_vendor_rcv_line_qty-098,那么此錯誤就輕易被解決掉了。

浙公網安備 33010602011771號