Insert Data into Sorted Table

xiaoxiao2021-02-28  50

今天使用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

转载请注明原文地址: https://www.6miu.com/read-55179.html

最新回复(0)