内表使用方法总结之二----常用方法

来源:互联网 发布:云计算大会 编辑:程序博客网 时间:2024/06/06 17:01

一、读取

一般格式:READ TABLE itab FROM WITH KEY k1 = f1 ... ki = fi INTO wa.

                    READ TABLE itab FROM WITH TABLE KEY k1 = f1 ... ki = fi    INTO wa.

                   READ TABLE itab FROM FROM KEY k1 = f1 ... ki = fi    INTO wa.

                  READ TABLE itab INTO wa INDEX idx.

目前我常用如下方法来读取:

*读取满足条件的一个值*
READ TABLE itab_compare INTO wa_compare WITH KEY matnr = wa_sj-matnr dfmark = ''.
IF sy-subrc NE 0.
“读不到"
Endif.

*读取满足条件的多个值*
LOOP AT itab_compare INTO wa_compare WHERE matnr = wa_sj-matnr AND ysyamount NE 0.
ENDLOOP.
IF sy-subrc NE 0.
“Loop 不到"
Endif.
 
注意,读不到,不会清除wa_compare,所以最好手动清楚

 

二、清空内表:
Clear itab.   清空表头
Clear itab[] 清空表身
Refresh itab. 清空表身
Free itab.    清空表头和表身,并释放内存
 
三、删除内表行
Delete itab index idx.
Delete table itab from wa.
Delete table itab with table key k1 = f1…ki = fi.
 
例:在Loop中常这样删除行.
Loop at itab into wa_itab.
DELETE ITAB INDEX SY-TABIX.
(DELETE ITAB.说明:Loop/EndLoop之间,Modify Deletesy-tabix可省略,系统默认处理当前行)
Clear wa_itab.
Endloop.
原创粉丝点击