点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我的平面文件排序脚本有问题,但我不明白为什么会收到此错误。 可能与数据有关,因为我在测试过程中没有得到它。
脚本
导入com.sap.gateway.ip.core.customdev.util.Message; 导入java.util.HashMap; 导入groovy.xml.StreamingMarkupBuilder; 导入groovy.xml。*; 导入groovy.util。*; 导入groovy.time。*; 导入org.codehaus。*; def消息processData(消息消息){ //身体 def主体= message.getBody(); int len = body.length()-2 def条= body.take(len) def testArray = strip.split('\ r \ n') testArray = testArray.sort {it.substring(2,11)} def stringArray = testArray.join('\ r \ n') message.setBody(stringArray); 返回消息; }
我要尝试的是从正文中删除最后两个字节,因为它们包含crlf。 最后一个crlf导致分割问题。
但是我在length()方法上遇到此错误,我不知道为什么
java.lang.NoSuchMethodException:方法没有签名:[B.length()适用于参数类型:()值:[] 可能的解决方案:getAt(groovy.lang.IntRange),with(groovy.lang.Closure),每个(groovy.lang.Closure),getAt(groovy.lang.ObjectRange),getAt(groovy.lang.Range),getAt( java.util.Collection)
输入的主体包含多行,末尾带有\ r \ n。
我不删除正文的最后两个字节时遇到的错误是
java.lang.NoSuchMethodException:方法的无签名:[B.split()适用于参数类型:(java.lang.String)值:[ ] 可能的解决方案:split(groovy.lang.Closure),wait(),toList(),wait(long),print(java.lang.Object),sprintf(java.lang.String,java.lang.Object) pre>[和]之间的长字符串使我相信最后一个空记录存在问题。 但是我可能是错的。
非常感谢您的帮助...谢谢
汤姆
汤姆你好,
如果能为上述脚本提供一些示例输入数据,那就太好了。
此致
Sriprasad Shivaram Bhat
你好,Sirprasad,
我的数据如下所示。 记录很长,我只给出了一部分
所以排序在0005751和0005752上。如果我将此主体粘贴到content修饰符中并执行脚本,一切都将顺利进行,但是以某种方式处理真实数据时,它将崩溃。 如果您愿意,我可以邮寄邮件正文。
致谢
汤姆
一周热门 更多>