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

2020-08-22 06:53发布

         点击此处--->   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)

         点击此处--->   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条回答
bbpeas
1楼 · 2020-08-22 07:47.采纳回答

嗨,乔治!

我想您在映射中使用了Substring函数,并且设置的索引之一超出了实际的字符串长度。

关于Evgeniy。/p>

野沐沐
2楼-- · 2020-08-22 07:33

嗨,乔治!

您应该在消息映射中检查源元素的队列。 某些源值的长度很可能少于30个符号。

关于Evgeniy。

吹牛啤
3楼-- · 2020-08-22 07:49

我使用子字符串来限制字符数 字段达到maktx的限制40-失败,因此将其减小为30-但有时仍然失败。。

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

如何解决StringIndexOutOfBoundsException

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

一周热门 更多>