前面我们 ABAP培训了内部表的一些操作知识,今天我们看看其他还有一些我们常用的内部表操作。
1,内部表数据复制
内部表数据复制是指从一个内部表把数据复制到另一个内部表内。一般需要两个表的内部结构相同。我们看看下面的数法。把内部表IT_POGRP的数据赋给L_IT_POTYPE。
L_IT_POTYPE = IT_POGRP.
L_IT_POTYPE[] = IT_POGRP[].
有[]代表是内部表,没有[]表示是表头。这样以区别带表头的内部表的表头和表身。不过这样写的话,两个内部表的结构要完全一样才行。
如果是工作区域复制的话,直接赋值就可以了。
L_WA_POTYPE = WA_POGRP.
MOVE-CORRESPONDING WA_DT200 TO WA_ZFXM_D103.
MOVE-CORRESPONDING命令表示赋值时系统自动寻找相同的字段进行赋值。哪怕结构里字段的次序和数目不相同也行。
2,内部表重复数据的删除
有些内部表内有相同的数据,但是我们操作的时候只要一条就行了。多的话反而会浪费资源。那么我们就要把重复的删除。例
DELETE ADJACENT DUPLICATES FROM IT_HEADER COMPARING WERKS.
这个意思就是说把内部表IT_HEADER内字段 WERKS重复的数据删除。只保留一个就行了。如下图
3,内部表数据的件数的取得
有时候我们只要知道内部表里的数据的件数就行。这时就这样写
DESCRIBE TABLE IT_DT200 LINES WK_LINES.
把内部表IT_DT200 的件数值附给WK_LINES |