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

如何从Azure Data Factory数据流传递参数至SAP HANA CDS视图?

在Azure Data Factory数据流中向SAP HANA参数化视图传递参数的解决方案

一、确认SAP HANA视图参数有效性

你的ZBSIKTSTv视图定义符合参数化视图规范,参数p_gjahr绑定gjahr类型,过滤条件gjahr = :p_gjahr正确,无需调整。

二、配置SAP CDC数据集的参数化查询

SAP CDC数据集默认选择视图的方式无法直接传递参数,需通过自定义SQL实现:

  1. 打开目标SAP CDC数据集,切换到连接选项卡
  2. 取消直接选择视图的操作,在查询输入框中填写自定义调用语句:
SELECT * FROM ZBSIKTSTv(:p_gjahr)
  1. 点击页面上方的添加参数,创建数据集级参数:
    • 参数名:GJAHR
    • 类型:匹配SAP中gjahr的类型(通常为字符串或整数)
  2. 将SQL中的:p_gjahr替换为数据集参数引用,最终SQL改为:
SELECT * FROM ZBSIKTSTv(@dataset().GJAHR)

三、在数据流活动中传递参数

  1. 进入DataFlow活动的数据源配置面板,选择上述配置好的SAP CDC数据集
  2. 在参数区域,为数据集的GJAHR参数赋值:
    • 固定值:直接输入目标年份(如'2023',注意字符串类型需加单引号)
    • 动态值:使用ADF表达式获取管道参数、变量或系统变量,例如@pipeline().parameters.TargetYear或@formatDateTime(utcNow(), 'yyyy')

四、验证与排障

  1. 保存所有配置后,触发测试管道,检查数据流输出是否仅包含目标年份的数据
  2. 若出现权限报错,确认SAP连接账号拥有该参数化视图的查询权限,以及执行自定义SQL的权限
  3. 若参数传递失效,检查数据集参数与数据流赋值的类型是否匹配(如字符串/整数类型不兼容)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 14:09:59