You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Factory连接多SAP表失败及自定义RFC参数配置求助

解决方案:ADF连接多SAP表及自定义RFC报错处理

问题根源

报错提示Element QUERY_TABLE of container metadata ZZ_READ_VM unknown,说明你指定的自定义RFC函数模块ZZ_READ_VM不包含ADF读取SAP表时默认依赖的QUERY_TABLE参数,导致调用失败。

具体解决步骤

1. 校验自定义RFC函数模块的参数结构

ADF的SAP表连接器要求自定义RFC函数模块必须包含以下标准参数:

  • 输入参数:QUERY_TABLE(指定目标表名)、DELIMITER(字段分隔符)、ROWSKIPS(跳过行数)、ROWCOUNT(读取行数)
  • TABLES参数:DATA(输出表数据)、FIELDS(指定读取字段)、OPTIONS(筛选条件)

如果ZZ_READ_VM缺少上述参数,需要在SAP系统中通过SE37事务码修改该函数模块,补充对应参数;或者更换为符合该结构的自定义RFC模块。

2. 正确配置ADF数据集的自定义RFC参数

在SAP表数据集的连接配置中:

  • 找到customRfcReadTableFunctionModule配置项,填入参数结构符合要求的自定义RFC函数模块名称
  • 若不需要自定义逻辑,可直接使用SAP标准RFC模块RFC_READ_TABLE,无需指定自定义模块

3. 实现多表批量读取的配置

要适配多表场景,无需依赖自定义RFC,通过数据集参数化+ForEach迭代即可实现:

  • 在SAP表数据集中添加参数(例如TableName),将表名设置为@dataset().TableName
  • 创建ForEach活动,传入多表名称列表(可通过参数或数据源获取)
  • 在ForEach内部配置复制活动,将当前迭代的表名传入数据集的TableName参数,完成单表复制的批量执行

4. 额外排查点

  • 权限校验:确保ADF使用的SAP账号拥有调用目标RFC模块、访问所有待读取SAP表的权限
  • RFC功能测试:在SAP系统中用SE37测试ZZ_READ_VM(或标准RFC_READ_TABLE),传入合法参数确认能正常返回数据,排除函数本身的逻辑问题

内容的提问来源于stack exchange,提问作者Ajax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 19:27:15