1.
内表的类型及定义:
(
1
)
.ANY TABLE
:即任意表类型,此种定义方式只能在传递参数的时候定义。
例如:
FORM XXX USING/CHANGING
TYPE ANY TABLE .
(
2
)
.ANY TABLE
包括了两种类型:
INDEX TABLE
和
HASHED TABLE
。
《
1
》
.INDEX TABLE
:包括了
STANDARD TABLE
和
SORTED TABLE
A.
STANDARD TABLE
:其实就是一个线性表,通过
key
访问内表是线性查找的,也就是说,随着表中记录的增加,对表的操作的时间开销也相应的增加。
定义方法:
TYPES/DATA
:
LIKE/TYPE STANDARD TABLE OF
.
B.
SORTED TABLE:
顾名思义,表中的记录是按照一定的顺序排列的。访问表的主要方式是表中定义的
key
,如果
key
不唯一,则选择
index
最小的那个。也可以通过
index
来访问排序表,如果你想通过
index
插入一条记录,系统会自动检查你插入的位置是否正确。所以,如果插入的时间比插入到标准表的时间会长。因此,尽量选择
key
来对排序表进行操作。
定义方法:
TYPES/DATA
:
LIKE/TYPE SORTED TABLE OF
.
《
2
》
.HASHED TABLE
:对哈希表只能用你定义的
key
进行操作,而不能使用
index
进行操作。因此,定义哈希表必须定义
unique key
。注意:所有关于使用
index
操作表的语句都不能用于操作哈希表。例如:
sort
,
loop
等。
定义方法:
TYPES/DATA
:
LIKE/TYPE HASHED TABLE OF
.
2.
内表的操作:
(
1
)
.
创建:
A.
定义一个结构,然后
type/like
这个结构
例如:
TYPES: BEGIN OF
,
...
i> ...,
...
END OF .
...
i> ...,
...
END OF .
DATA
TYPE STANDARD TABLE OF
WITH NON-UNIQUE DEFAULT KEY
INITIAL SIZE
WITH HEADER LINE.
WITH NON-UNIQUE DEFAULT KEY
INITIAL SIZE
WITH HEADER LINE.
B. type/like
系统表或者数据库表或者结构
DATA
TYPE STANDARD TABLE OF <
系统表名
>
INITIAL SIZE
WITH HEADER LINE.
INITIAL SIZE
WITH HEADER LINE.
(
2
)
.
添加数据:
A
.
APPEND
:直接向表中添加数据
B
.向表中插入数据:
1. INSERT [wa INTO|INITIAL LINE INTO] itab [INDEX
idx] [ASSIGNING
|REFERENCE INTO dref].
2. INSERT [wa INTO|INITIAL LINE INTO] TABLE itab
[ASSIGNING
|REFERENCE INTO dref].
3. INSERT LINES OF itab1 [FROM idx1] [TO idx2]
INTO itab2 [INDEX idx3].
4. INSERT LINES OF itab1 [FROM idx1] [TO idx2]
INTO TABLE itab2.
C
.相同字段求和向表里添加:
Basic form
COLLECT [wa INTO] itab.
Extras:
(
3
)
.
删除数据:
1. DELETE itab.
2. DELETE TABLE itab WITH TABLE KEY k1 = v1 ... kn = vn.
3. DELETE TABLE itab [FROM wa].
4. DELETE itab INDEX idx.
5. DELETE itab FROM idx1 TO idx2.
6. DELETE itab WHERE logexp.
7. DELETE ADJACENT DUPLICATES FROM itab.
2. DELETE TABLE itab WITH TABLE KEY k1 = v1 ... kn = vn.
3. DELETE TABLE itab [FROM wa].
4. DELETE itab INDEX idx.
5. DELETE itab FROM idx1 TO idx2.
6. DELETE itab WHERE logexp.
7. DELETE ADJACENT DUPLICATES FROM itab.
(
4
)
.
修改数据: