UDF SPLIT单值到多结构

2020-09-03 21:41发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我需要从0:1字段移出

field1:" value1,value2,value3"

到结构0:*

value1

value2

value2

我是UDF的新手,需要帮助和任何建议。

常规代码:
导入com.sap.it.api.mapping。*

def void extParam(String [] P1,输出输出,MappingContext上下文){

字符串[]列表= P1 [0] .split(",");

如果(list.length> 0){

for(int j = 0; j

output.addValue(list [j]);

}

}

}

谢谢

问候。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我需要从0:1字段移出

field1:" value1,value2,value3"

到结构0:*

value1

value2

value2

我是UDF的新手,需要帮助和任何建议。

常规代码:
导入com.sap.it.api.mapping。*

def void extParam(String [] P1,输出输出,MappingContext上下文){

字符串[]列表= P1 [0] .split(",");

如果(list.length> 0){

for(int j = 0; j

output.addValue(list [j]);

}

}

}

谢谢

问候。

付费偷看设置
发送
2条回答
灬番茄
1楼 · 2020-09-03 22:36.采纳回答

嗨Miguel

您非常亲密。 您的功能是正确的,您只需要连接它即可。 函数的输出应该映射到item元素,以创建三个映射到field1元素的和,以添加实际值。

对于后者, 您需要创建上下文更改,以便可以将三个值正确分配给三个field1元素。

以下是映射:

您将在"节点函数"下找到splitByValue函数。 使用其默认配置,即在每个值之后添加上下文更改。

我得到以下输出:

如果您不立即了解上下文更改的想法,请不要担心。 没有人第一次遇到它们:-)

关于您的功能:我认为,它需要一个更好的名称。 而且,代码本身可能更像Groovy(同时更短)。 这是更新的版本:

导入com.sap.it.api.mapping。*

 def void splitByComma(String []输入,输出输出,MappingContext上下文){
     input [0] .split(",")。每个{v-> output.addValue(v)}
 } 

玩得开心,

Morten

风早神人
2楼-- · 2020-09-03 22:20

嗨,Morten,

由于功能和名称的更新,我没有想到上下文会发生变化。

这真的很有帮助。

注意。

一周热门 更多>