StringIndexOutOfBoundsException:字符串索引超出XML范围-Idoc问题

2020-08-22 06:53发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,专家 在将数据从XML传递...

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

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


嗨,专家

在将数据从XML传递到idoc时遇到问题。 我收到错误消息:

处理目标字段映射/Z371INVOICE01/IDOC [4]/Z0371_INCINV_CREATE_ITEM [4]/MAKTX时发生运行时异常; 根消息:异常:[java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:30]在com.sap.aii.mappingtool.flib7.TextFunctions方法类substring [Lemon Floor Jell 5L(EA)B006,0,30,

源wsdl(idoc dest)中的Maktx字段的最大字符长度为40,在ecc中我知道它的最大长度为60。因此,这不应该成为问题。

我已经在Notepad ++中检查了奇数字符-如附件所示,其中没有非奇数字符。

我已经使用映射中的子字符串将字段字符限制为39个,但仍然掉下来。

能否请您提供一些我可以检查的见解?

(14.8 kB)
4条回答

使用Java substring()方法时,可以将字符序列的子集 从字符串中提取。 子字符串索引必须是从0到字符串长度的任何值。 String方法抛出的java.lang.StringIndexOutOfBoundsException,指示beginIndex为负,或者endIndex大于此String对象的长度,或者beginIndex大于endIndex。

如何解决StringIndexOutOfBoundsException

  • 在使用substring()之前检查字符串的长度
  • 使用try ... catch进行异常处理。

一周热门 更多>