SAP STRING_OFFSET_TOO_LARGE 处理记录

问题记录:

使用SAP系统标准类/UI2/CL_JSON将JSON数据转为ABAP数据时,发生STRING_OFFSET_TOO_LARGE异常;

问题原因:

通过ST22查看异常明细,调试后与阅读源码后发现,发现是/UI2/CL_JSON存在bug,解析特殊数据时错误地处理了字符串,使用了超出字符串长度的偏移量。系统试图访问长度1024的字符串变量json,使用的offset为1024,导致访问偏移量为1025,触发STRING_OFFSET_TOO_LARGE异常。

解决方案:

在自开发时,可以通过Try Catch捕获异常CX_SY_RANGE_OUT_OF_BOUNDS避免程序直接Dump,再处理异常数据。

本文异常是SAP标准类/UI2/CL_JSON导致,通过查询Github的SAP项目——abap-to-json,在文档history.md中查看项目更新历史记录,可以发现SAP在后续更新中修复了该问题。根据系统版本选择最新的SNOTE实施。

作为参考,SAP_BASIS 753可更新至PL16版本,对应NOTE为3038042。注意该NOTE实施为增量更新,需要同时下载并实施历史版本NOTE。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值