将字符串拆分为多个并控制发生

2020-09-21 22:10发布

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

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


专家们,

我在映射中有要求将输入字符串分别分割为30个字符,并且目标字段的出现应由分割后获得的字符串数控制。 拆分后获得的每个拆分字符串将填充到相应的目标字段出现位置。 假设例如我在输入字段中输入的字符串包含110个字符,那么目标XML中应在目标字段中每次出现的30、30、30、20个字符中出现4次目标字段。

谢谢

拉姆。

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

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


专家们,

我在映射中有要求将输入字符串分别分割为30个字符,并且目标字段的出现应由分割后获得的字符串数控制。 拆分后获得的每个拆分字符串将填充到相应的目标字段出现位置。 假设例如我在输入字段中输入的字符串包含110个字符,那么目标XML中应在目标字段中每次出现的30、30、30、20个字符中出现4次目标字段。

谢谢

拉姆。

付费偷看设置
发送
7条回答
Climb_Ma
1楼-- · 2020-09-21 22:30

您可以使用UDF中的QUEUE上下文来拆分字符串。

huskylover
2楼-- · 2020-09-21 22:32

Hi Experts,

有人可以帮助UDF实现吗?

谢谢

Ramu。

灬番茄
3楼-- · 2020-09-21 22:40

嗨,

UDF将长度大于70的输入字符串分割为目标字段中每个具有70个字符的字符串。 请对此UDF提供帮助。

谢谢

Ramu。

尝试使用以下UDF。

公共无效splitInputString(String [] inputData,ResultList结果,容器容器)引发StreamTransformationException {
List 字符串= new ArrayList ();
int索引= 0;
而 (index strings.add(inputData [0] .substring(index,Math.min(index + 30,inputData [0] .length()))); < br> index + = 30;
}

Iterator itr = strings.iterator();
字符串currentString ="";

while(itr.hasNext()){
currentString = itr.next();
result.addValue(currentString);
}
}

--- Priyanka# p #
Alawn_Xu
5楼-- · 2020-09-21 22:47

嗨Ramu,

尝试在UDF之下按您的要求正常工作:

public void Split(String [] input,ResultList result,Container container)引发StreamTransformationException {

int计数= input [0] .length()/30;

int index = 30;

int j = 1; for(int i = 0; i <= count; i ++)

{if(i == count)

result.addValue(input [0] .substring((i * index),input [0] .length()));

其他

result.addValue(input [0] .substring(i * index,(30 * j)));

j = j + 1;

}

谢谢

Ashish

天桥码农
6楼-- · 2020-09-21 22:47

您好,Ramu,我有一个类似的要求,并使用了UDFNodePool中的fragmentSingleValue。 问候

Peter

一周热门 更多>