华为MetaERP Oracle Fusion Cloud 用 Examine 抓取页面原生 SQL 完整标准化操作流程一、前置必备:管理员开启诊断权限(菜单灰色必做)1. 配置文件开启诊断模式
Oracle Fusion Cloud 用 Examine 抓取页面原生 SQL 完整标准化操作流程
一、前置必备:管理员开启诊断权限(菜单灰色必做)
1. 配置文件开启诊断模式
- 路径:设置与维护 (Setup and Maintenance) → 任务:管理配置文件值(Manage Profile Options)
- 搜索配置文件代码:
FND_DIAGNOSTICS_MODE - 层级选择用户层,选中你当前登录账号,值设置为
Yes; - 保存配置,退出 Fusion 账号完全重登,
Help→Tools→Examine才会解除置灰可用Oracle。
配套校验配置(避免菜单隐藏)
检索配置项Hide Diagnostics menu entry,对当前用户设为No。
二、标准实操步骤(以采购订单详情页抓取 SQL 为例)
步骤 1:进入目标页面并完成数据加载
- 采购工作台 →管理采购订单,查询并打开任意一张 PO 详情页面;
- 等待页面全部加载完毕(头信息、订单行、收货汇总全部渲染完成);
- 鼠标左键点击页面任意有效业务字段(订单号、供应商名称、订购数量均可,不要点空白区域)。
步骤 2:打开 Examine 诊断窗口
顶部全局菜单栏:Help(帮助) → Tools(工具) → Examine(检查)弹出「检查字段和取值」弹窗。
步骤 3:固定参数抓取全局最后执行 SQL(核心配置)
在弹窗中严格填写:
- 块 (Block):
System - 字段 (Field):
LAST_QUERY点击下方【Find(查找)】按钮。
步骤 4:提取 Value 区域的原生 SQL
下方Value输入框会返回当前页面 ADF 框架执行的完整后台物理 SQL,复制全部文本即可。
抓取示例返回 SQL 片段:
sql
SELECT poh.PO_HEADER_ID, poh.SEGMENT1 PO_NUMBER, poh.AUTHORIZATION_STATUS, pol.PO_LINE_ID, pol.QUANTITY ORDERED_QTY, plship.QUANTITY_RECEIVED FROM PO_HEADERS_F poh INNER JOIN PO_LINES_F pol ON poh.PO_HEADER_ID = pol.PO_LINE_ID INNER JOIN PO_SHIPMENTS_F plship ON pol.PO_LINE_ID = plship.PO_LINE_ID WHERE poh.PO_HEADER_ID = :Bind_PO_HEADER_ID AND poh.BU_ID = :Bind_BU_ID;从 SQL 里可直接识别:PO_HEADERS_F、PO_LINES_F、PO_SHIPMENTS_F三张底层物理表与关联关系。
三、进阶用法:精准定位单个页面字段对应的表。字段
- 鼠标精准选中页面上目标字段(如 “订单总金额”);
- 打开 Examine,此时 Block、Field 会自动回显当前界面数据块与字段;
- 点击 Find,Value 直接展示该字段绑定的
表名.字段名。
四、常见失败问题排查
问题 1:Examine 菜单灰色不可点击
- 根因:
FND_DIAGNOSTICS_MODE未设为 Yes、未重登账号; - 解决:管理员配置生效后彻底退出浏览器会话重新登录。
问题 2:LAST_QUERY 查询结果为空空白
- 页面没加载完成就执行 Examine:刷新页面,等待页面全部渲染结束再操作;
- 鼠标选中空白区域:务必点在可编辑 / 展示的有效业务字段上;
- 当前页面是缓存渲染,无新 SQL 执行:重新切换 PO 单据、刷新页面触发一次数据查询。
问题 3:SQL 中表名是 T1/T2 别名
复制完整 SQL,结合官方 OER 表字典,通过 JOIN 关联关系反向解析真实物理表名称。
问题 4:SQL 带有绑定变量:Bind_XXX
这是 Fusion 中间层标准绑定变量,不影响识别表名、关联逻辑,无需解析变量值。
五、拿到 SQL 后的核验流程
- 从 SQL 提取物理表名(
XX_F格式业务表); - 进入 Oracle 官方 OER 文档核对表结构、字段释义;
- 在 BIP 数据模型新建测试 SQL 验证表合法性(仅 SELECT 只读):
sql
SELECT PO_HEADER_ID, SEGMENT1 FROM PO_HEADERS_F WHERE ROWNUM <= 5;六、关键限制说明
- Examine 抓取的是ADF 应用层下发至数据库的物理执行 SQL,只能看表结构、关联关系;
- 你依旧没有直连数据库权限,不能直接在本地客户端执行该 SQL;
- 页面弹窗、下拉筛选、子行展开都需要单独选中对应区域重新抓取 SQL。
七、日常溯源固定工作流
打开 PO 单据→等待加载→选中字段→Help→Tools→Examine→System+LAST_QUERY→Find 复制 SQL→提取物理表→OER 校验。