Oracle ODI映射中变量调用与赋值方法咨询(含状态设置)
解决ODI映射中变量的使用与赋值问题
一、在映射查询中引用项目级变量
- 确认项目级数值变量已创建完成(范围设为“项目”)。
- 在映射的查询组件或表达式组件中,直接通过
#PROJECT.<变量名>语法引用变量。比如变量名为RUN_STATUS,查询逻辑示例:SELECT id, name, amount FROM sales WHERE amount > CASE WHEN #PROJECT.RUN_STATUS = 0 THEN 5000 ELSE 10000 END - 执行映射前,确保变量已有初始值,或通过包提前赋值。
二、根据映射执行结果为变量赋值
ODI映射本身无法直接在执行结束后触发变量赋值,需要通过**包(Package)**来实现分支逻辑:
- 新建包,添加「映射」步骤,选择目标映射。
- 添加两个「变量赋值」步骤:
- 第一个赋值步骤:设置静态值为
0,将其通过绿色成功箭头连接到映射步骤。 - 第二个赋值步骤:设置静态值为
1,将其通过红色失败箭头连接到映射步骤。
- 第一个赋值步骤:设置静态值为
- 保存包并执行,映射成功时变量被设为0,失败则设为1。
注意事项
- 变量的「刷新」属性保持默认的「不刷新」即可,避免自动覆盖赋值结果。
- 确保包中步骤的分支连接正确,成功/失败路径对应到正确的赋值操作。
内容的提问来源于stack exchange,提问作者user2755525
相关产品推荐
相关产品推荐

