tjavaFlex组件Schema中RecordCode列默认值生效条件咨询
tjavaFlex组件Schema默认值生效场景说明
可触发默认值的场景
- 组件读取输入行时,对应
RecordCode字段的输入值为null时,会自动填充设置的默认值00 - 主动新增输出行,且未对
RecordCode字段做任何赋值操作时,默认值会自动写入该字段 - 上游组件(如tMap)将当前tjavaFlex的schema作为输出目标,且未对
RecordCode字段做映射赋值时,默认值正常生效
常见未触发原因
- 输入行的
RecordCode字段实际为空字符串""而非null,schema默认值仅对null值触发,不会主动覆盖空字符串 - 代码逻辑中已对
RecordCode字段做了赋值操作(包括隐式的全局变量赋值、前置组件的字段映射传递),显式赋值优先级高于schema默认值 - schema配置未正确保存,或者运行时加载的是未修改默认值的旧版本作业配置
若需要同时兼容空字符串场景,可在tjavaFlex的代码块中补充判断逻辑:
if (RecordCode == null || RecordCode.trim().isEmpty()) RecordCode = "00";
内容的提问来源于stack exchange,提问作者mavenuser
相关产品推荐
相关产品推荐

