Oracle EBS R12 PL/SQL存储过程ORA-29283错误及参数获取咨询
Oracle EBS R12 并发程序问题:ORA-29283 及参数查询方案
一、ORA-29283 补充排查点
你已经完成基础验证,这里补充两个容易忽略的排查方向:
- 确认并发程序运行时的数据库用户(而非OS用户)是否通过
UTL_FILE拥有目录访问权限,可直接在数据库执行UTL_FILE.FOPEN('<目录名称>', '<测试文件名>', 'W')快速验证 - 检查文件名是否包含特殊字符,EBS部分组件对文件名大小写敏感,需确保代码中使用的文件名与实际完全一致
二、FND_REQUEST.ADD_LAYOUT 参数查询
FND_REQUEST.ADD_LAYOUT用于绑定并发程序与BI Publisher模板,所需参数可通过以下SQL查询获取:
1. 模板核心参数(TEMPLATE_APPLICATION_ID、TEMPLATE_CODE、TEMPLATE_LANGUAGE、TEMPLATE_TERRITORY)
SELECT fa.application_id AS template_application_id, xdt.template_code, xdt.language AS template_language, xdt.territory AS template_territory FROM xdo_templates_b xdt JOIN fnd_application fa ON xdt.application_short_name = fa.application_short_name WHERE xdt.template_name = '<你的RTF模板名称>'; -- 替换为实际模板名称
2. 输出格式参数(OUTPUT_FORMAT)
查询BI Publisher支持的所有输出格式:
SELECT DISTINCT output_format FROM xdo_output_formats;
常用值:PDF、RTF、EXCEL、HTML
3. 并发程序关联参数(APPLICATION_ID、PROGRAM_ID)
如果需要绑定到目标并发程序:
SELECT fa.application_id, fcp.concurrent_program_id AS program_id FROM fnd_concurrent_programs fcp JOIN fnd_application fa ON fcp.application_id = fa.application_id WHERE fcp.concurrent_program_name = '<你的并发程序名称>'; -- 替换为实际程序名称
三、mo_global.init 参数查询
mo_global.init用于初始化多组织上下文,参数为应用短名称,可通过以下方式获取:
1. 获取指定组织对应的应用短名称
SELECT fa.application_short_name FROM hr_operating_units hou JOIN fnd_application fa ON hou.application_id = fa.application_id WHERE hou.organization_id = <你的组织ID>; -- 替换为实际组织ID
2. 查询所有多组织应用短名称
SELECT application_short_name FROM fnd_application WHERE application_short_name IN ('SQLAP', 'PO', 'AR', 'OE', 'INV'); -- 覆盖常用多组织模块
四、调用注意事项
FND_REQUEST.ADD_LAYOUT参数顺序严格遵循:ADD_LAYOUT(p_application_id, p_program_id, p_template_appl_id, p_template_code, p_template_language, p_template_territory, p_output_format)mo_global.init('<应用短名称>')必须在并发程序逻辑执行前调用,确保多组织上下文正确加载
内容的提问来源于stack exchange,提问作者Henriquez
相关产品推荐
相关产品推荐

