人机交互中的字段重复

2020-09-04 01:28发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我需要重复复制该字段,直...

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

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


嗨,

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

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

请帮助我实现此逻辑

6条回答
葫芦娃快救爷爷
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

一周热门 更多>