获取Oracle EBS预置/自定义报表及关联运行与职责信息的查询语句
Oracle EBS 提取预置/自定义报表及相关信息的SQL查询
以下SQL可提取Oracle EBS中所有预置(Seeded)和自定义(Custom)并发报表/程序的信息,包含程序长名称、最后运行时间及所属职责:
SELECT cp.concurrent_program_name AS 程序短名称, cp.user_concurrent_program_name AS 程序长名称, CASE WHEN cp.seeded_flag = 'Y' THEN '预置(Seeded)' ELSE '自定义(Custom)' END AS 程序类型, r.responsibility_name AS 所属职责名称, r.responsibility_key AS 职责键, MAX(cr.requested_start_date) AS 最后运行时间, fu.user_name AS 最后运行提交用户 FROM FND_CONCURRENT_PROGRAMS cp LEFT JOIN FND_CONCURRENT_REQUESTS cr ON cp.concurrent_program_id = cr.concurrent_program_id AND cp.application_id = cr.program_application_id LEFT JOIN FND_RESPONSIBILITY r ON cr.responsibility_id = r.responsibility_id AND cr.responsibility_application_id = r.application_id LEFT JOIN FND_USER fu ON cr.requested_by = fu.user_id GROUP BY cp.concurrent_program_name, cp.user_concurrent_program_name, cp.seeded_flag, r.responsibility_name, r.responsibility_key, fu.user_name ORDER BY cp.seeded_flag DESC, cp.user_concurrent_program_name;
关键说明
- 程序类型区分:通过
seeded_flag字段判断,Y为预置程序,N为自定义程序 - 最后运行时间:使用
MAX(requested_start_date)获取该程序在对应职责下的最后一次运行记录,若程序从未运行则返回NULL - 职责关联:通过并发请求表关联职责表,获取提交该程序时使用的职责信息
可选调整
- 若仅需查看有运行记录的程序,将所有
LEFT JOIN改为INNER JOIN - 如需过滤特定应用的程序,添加
WHERE cp.application_id = [应用ID](例如总账应用ID为101) - 可根据需求修改
ORDER BY子句调整排序逻辑
内容的提问来源于stack exchange,提问作者bumbi28
相关产品推荐
相关产品推荐

