今天使用APPEND LINES OF table1 TO table2的时候,发生了如下Dump:
ITAB_ILLEGAL_SORT_ORDER_BLK
Error analysis You want to insert several lines at once into the sorted internal table.To do this, you use:
INSERT/APPEND LINES OF SrcTab ... INTO/TO DstTab ...
However, when the line 1 of the source table SrcTab was inserted, the sorting sequence - determined for the target table DstTab via
its key - was destroyed.
仔细查看发现table2 是sorted table,如果table1的key值不是按顺序排列的话,或者table2不为空,你插入的时候导致顺序错误。都会发生dump.
解决的办法: 使用 INSERT LINES OF table1 INTO TABLE table2.
同样的道理,单条插入的时候,可以使用
INSERT line INTO TABLE sorted_table.
来代替
APPEND line TO sorted_table。
The program short dumps when appending a sorted table in the wrong sort order
data: sorted_tab type sorted table of ty_tab with non-unique key key, line type ty_tab. line-key = 1. append line to sorted_tab. "works fine" line-key = 2. append line to sorted_tab. "works fine" line-key = 1. append line to sorted_tab. "<==== Short dump here"Use INSERT in stead:
data: sorted_tab type sorted table of ty_tab with non-unique key key, line type ty_tab. line-key = 1. insert line into table sorted_tab. "works fine" line-key = 2. insert line into table sorted_tab. "works fine" line-key = 1. insert line into table sorted_tab. "works fine"Note If you had a UNIQUE key you would still get a short dump because you're using the same key twice