ABAP-09 内表
1、内表的定义
标准表、排序表、哈希表
访问方式 | 标准表 | 排序表 | 哈希表 |
---|---|---|---|
索引访问 | √ | √ | X |
关键字访问 | √ | √ | √ |
相同值关键字行 | √ | √|X | X |
推荐访问方式 | 索引 | 关键字 | 只能关键字 |
定义表语句: DATA 表变量 表类型 表结构 索引类型 初始化行数 表头行定义 是否初始值
初始化行数、是否初始值一般不使用
TYPES:BEGIN OF person,
id(10) TYPE n,
name(10) TYPE c,
sex(1) TYPE c,
age TYPE i,
END OF person.
* 标准表
DATA it_tab1 TYPE STANDARD TABLE OF person WITH NON-UNIQUE KEY id INITIAL SIZE 10 WITH HEADER LINE VALUE IS INITIAL.
* 标准表-简化
DATA it_tab2 TYPE STANDARD TABLE OF person.
*排序表
DATA it_tab3 TYPE SORTED TABLE OF person WITH UNIQUE KEY id INITIAL SIZE 10 WITH HEADER LINE VALUE IS INITIAL.
*排序表-简化
DATA it_tab4 TYPE SORTED TABLE OF person WITH UNIQUE KEY id.
*哈希表
DATA it_tab5 TYPE HASHED TABLE OF person WITH UNIQUE KEY id INITIAL SIZE 10 WITH HEADER LINE VALUE IS INITIAL.
*哈希表-简化
DATA it_tab6 TYPE HASHED TABLE OF person WITH UNIQUE KEY id.
* 用LIKE定义表
DATA lucy TYPE person.
DATA it_tab7 LIKE STANDARD TABLE OF lucy WITH HEADER LINE.
*参考SAP自身的数据表创建
DATA it_tab8 LIKE STANDARD TABLE OF marc WITH HEADER LINE.
2、内表的操作
内表的操作包含:增、删、改、查、排序、循环表
操作方式:不会在内表中增删改查排序,而是将要操作的内容行复制到work area中,在work area操作完后覆盖回去内表
2.1、增
append、insert、collect
1、append w_table to i_table.
2、collect w_table into i_table
3、insert w_table into i_table index 1
insert必须指定index,通过index指定插入第几行,但index数>=内表行数+2的,执行会报错
2.11 append、insert
TYPES:BEGIN OF person,
id(10) TYPE n,
name(10) TYPE c,
sex(1) TYPE c,
age TYPE i,
END OF person.
DATA i_wa TYPE person."工作区
* 标准表
DATA it_tab TYPE STANDARD TABLE OF person