这两天在做采购接收的时候有一个香港的业务实体的采购接不进去,但是其他业务实体能接进去,找错误话费了不少时间,也参考了网上好多资料,虽然最后这个方法没用但觉得还是很有用的,整理一下作为自己的一个总结
错误信息:
错误: derive_vendor_rcv_line_qty-098:1
原因:在 derive_vendor_rcv_line_qty 中出现 SQL 错误。SQL 错误为 User-Defined Exception。
措施:请记录此错误编号以及您尝试进行的活动。请与系统管理员联系以寻求更多帮助。
DEBUG方法:当然一下设置的时候最后设置在用户层,不要设置在地点层,以免影响其他人使用系统的性能
调用EBS标准API的时候,可能会返回一些让人看不懂的错误,那么我们就可以利用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,那么此错误就轻易被解决掉了。
回到这个错误,最后的原因是在库存设置的时候,组织--附加信息--会计信息哪里OU忘了设置,导致表 org_organization_definitions 里的库存业务实体和业务实体关联不上
后台信息如图
系统设置界面