人机交互中的字段重复

2020-09-04 01:28发布

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

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


嗨,

我需要重复复制该字段,直到源字段超过200个。

如果field_name(源字段)超过200个字符,则目标字段(Tag_name,0 .. *)应更新为200 char。 现在,应该复制目标字段(Tag_name,0 .. *),并使用下一个超过200个字符(依此类推)进行更新。

请帮助我实现此逻辑

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

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


嗨,

我需要重复复制该字段,直到源字段超过200个。

如果field_name(源字段)超过200个字符,则目标字段(Tag_name,0 .. *)应更新为200 char。 现在,应该复制目标字段(Tag_name,0 .. *),并使用下一个超过200个字符(依此类推)进行更新。

请帮助我实现此逻辑

付费偷看设置
发送
6条回答
葫芦娃快救爷爷
1楼 · 2020-09-04 01:54.采纳回答

您好,阿努拉格

您需要完成两件事:

  1. 提取与包含字符串" MessageText"的FieldName元素配对的FieldValue元素的值
  2. 将该值拆分为多个长度为200的字符串,最后一个短于200个字符的字符串

您可以在一个脚本中完成这两个任务。 这是代码:

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

 def void splitString(String [] fieldName,String [] fieldValue,String [] newLength,输出输出,MappingContext上下文){
    
    //查找属于FieldName值" MessageText"的FieldValue。
     def originalText = fieldValue [fieldName.findIndexOf {名称->名称==" MessageText"}]
     def len = newLength [0] .toInteger()
     def smallStrings = originalText.toList()。collat​​e(len)
    
     smallStrings.each {l->
         output.addValue(l.join())
     }

 } 

以下是在映射中连接脚本的方法:

请注意,FieldName和FieldValue元素都将其上下文设置为root元素,以删除所有上下文更改。

还请注意,我传递了要将字符串拆分为参数的长度。 我使用值10进行测试。 将其更改为200,或更新脚本以对该值进行硬编码。

执行映射时,结果如下:

通过将该originalText.toList()。collat​​e(len)构造体将字符串拆分为较小的字符串。 有更有效的方法可以做到这一点,但没有比这更短的方法了:-)

问候

Morten

宇峰Kouji
2楼-- · 2020-09-04 01:59

Hi Anurag

如果您显示了一些输入示例和所需的输出示例,将对您有所帮助,以使映射关系更加清晰。

请注意

Morten

Nan4612
3楼-- · 2020-09-04 02:06

你好摩登威特洛克

我有类似的情况,我必须从字段0:1移到

field1:"值1,值2,值3"

到结构0:*

value1

value2

value2

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

谢谢

问候。

昵称总是被占用
4楼-- · 2020-09-04 02:00

嗨,Morten,

以下是我的要求

MessageText

文本(无限制)

目标

<标记名>最多200个字符

<标记名> 201到400个字符

。 。

..

..

..

因此,如果源FieldName是" MessageText",而FieldValue是Text(可以是任何数字),则

每个都应截断为200个字符。如果假设为600个字符,则应每个200个字符创建三个

的创建次数应与的创建次数相同。

野沐沐
5楼-- · 2020-09-04 01:52
悠然的二货
6楼-- · 2020-09-04 01:57

您好,Miguel

请将其作为新问题发布。

问候,

Morten

一周热门 更多>