Azure Data Factory中SAP CDC连接器动态内容筛选的正确语法是什么?
SAP CDC链接服务在ADF复制活动中筛选表达式的正确语法
错误原因解析
出现The value of property 'selection' is in unexpected type 'List1'错误,是因为你传入的动态内容是**列表(List)类型**,而ADF要求SAP CDC的selection`参数必须是键值对JSON对象。
正确语法格式
1. 基础静态筛选(直接在动态内容中写JSON)
用JSON对象结构,键为SAP表的大写原始字段名,值为SAP支持的筛选表达式字符串:
{ "MATNR": "EQ 'M-01'", "ERSDA": "BT '20230101' AND '20231231'" }
2. 多条件组合筛选
多个字段的筛选条件直接在对象中添加键值对,SAP默认按AND逻辑组合所有条件:
{ "VBELN": "GE '100000' AND LE '200000'", "AUART": "IN ('OR', 'SO')", "ERDAT": "GT '20240101'" }
3. ADF动态内容的正确写法
在ADF动态编辑器中,需用@json()函数将JSON字符串转为对象,注意转义单引号:
@json('{"MATNR": "EQ \'M-01\'", "ERSDA": "BT \'20230101\' AND \'20231231\'"}')
4. SAP支持的核心筛选运算符
- 等于:
EQ - 不等于:
NE - 大于:
GT - 大于等于:
GE - 小于:
LT - 小于等于:
LE - 范围匹配:
BT(格式:BT '起始值' AND '结束值') - 列表匹配:
IN(格式:IN ('值1', '值2', '值3')) - 模糊匹配:
CP(格式:CP '*ABC*',*代表任意长度字符)
注意事项
- 字段名必须使用SAP表的原始大写字段名,不能用自定义别名。
- 日期字段需采用SAP内表格式
YYYYMMDD,字符串类型字段必须用单引号包裹。 - 同一字段的多逻辑条件可写在同一个值中,不同字段的条件需分开为独立键值对。
内容的提问来源于stack exchange,提问作者Maryan Oksentyuk
相关产品推荐
相关产品推荐

