APPEND ABAP排序表ITAB_ILLEGAL_SORT_ORDER

有小伙伴问ITAB_ILLEGAL_SORT_ORDER这个DUMP怎么回事,看着没什么错误,而且代码已经上线运行很久了。

APPEND ABAP排序表ITAB_ILLEGAL_SORT_ORDER

查了下报错程序,看到所APPEND的内表是排序表,排序表由于是自行控制顺序的,因此往排序表中增加数据要用insert关键字,系统会根据insert的主键自动进行排序。

使用append追加数据到排序表时尝试将数据增加到的的末尾,强行改变上面的规则,这是不允许的,所以会产生ITAB_ILLEGAL_SORT_ORDER的dump。这个线上程序之所以到今天才dump,是因为这个代码块被触发的几率很低。

APPEND ABAP排序表ITAB_ILLEGAL_SORT_ORDER

如下产生10次随机整数存到内表里,使用APPEND会dump,使用insert即可,不需也不能指定index、解释器自己会处理。

APPEND ABAP排序表ITAB_ILLEGAL_SORT_ORDER

Insert之后的排序表,数据自动根据主键进行排序。

APPEND ABAP排序表ITAB_ILLEGAL_SORT_ORDER

对于标准内表,insert时则必须要指定index了,否则会dump。

APPEND ABAP排序表ITAB_ILLEGAL_SORT_ORDER

APPEND ABAP排序表ITAB_ILLEGAL_SORT_ORDER

至于哈希表,用的比较少,确切的说从来没在实际项目中用过哈希表,SAP ABAP的知识点和体系结构浩如烟海,知道有这么回事就好先,真要用到了再F1。

本文作者: GavinDong

版权属于: GavinDong博客

文章链接: https://www.gavindong.com/9596.html

如果使用过程中遇到问题,可 **点击此处** 交流沟通。

版权所有,转载时必须以链接形式注明作者和原始出处及本声明。

发表评论

登录后才能评论
email