内表是在程序中存储数据库表的载体.是外设与数据库表数据交换的媒介。
内表的创建
A. 定义一个结构,然后 type/like 这个结构
例如:
TYPES: BEGIN OF ,
...,
...,
...,
END OF .
DATA TYPE STANDARD TABLE OF
WITH NON-UNIQUE DEFAULT KEY
INITIAL SIZE
WITH HEADER LINE.
B. type/like 系统表或者数据库表或者结构
DATA TYPE STANDARD TABLE OF < 系统表名 >
INITIAL SIZE
WITH HEADER LINE.
内表的赋值
内表的整体赋值:将内表的全部内容复制到另一内表中,请使用 MOVE 语句或赋值 操作符 (=),用法如下:
MOVE <itab1> TO <itab2>. 该语句等价于:
<itab2> = <itab1>.
内表初始化
初始化内表的作用是清空内表所有的数据行,将内表恢复到填充或赋值之前的状态。初始化内表要注意的问题仍然是初始化有表头行和无表头行的内表的区别,以及初始化内表和表头行的区别。
CLEAR <ITAB>: 仅清空HEADER LINE ,
REFRESH <ITAB> 清空内表存储数据。
REFRESH <ITAB> FROM TABLE <Dbtab> 清空内表存储空间
内表操作
1.内表的插入操作-INSERT.
INSERT wa_itab into gt_itab index idx.
2. 内表的修改操作-MODIFY.
MODIFY WA_ITAB IDNEX idx.
3. 内表的读取操作-READ.
READ TABLE gt_itab from wa_itab.
READ TABLE gt_itab INDEX I.
4. 删除 at...delete.
DELETE TABLE GT_ITAB WITH TABLE KEY k1= v1 .
DELETE GT_ITAB INDEX idx.
5. DESCRIBE 获取表的具体属性
DESCRIBE TABLE GT_ITAB LINES n .
6 遍历内表
SY-TABIX 获取当前所执行的行数。
LOOP AT GT_ITAB ( where logexp).
ENDLOOP.