内表
内表是内存中建立的一个临时表,可以在程序运行时对表中的数据进行,插入,修改,删除等操作,程序结束,就会释放。
内表有3中类型:
- Standard:标准表
- Sorted:排序表
- Hashed:哈希表,用的较少
- 标准表:在增加或插入数据行时并不对数据行的地址进行重新排序存储。
- 排序表:在增加和插入数据行时要对数据存储的地址进行重新排列。
- 哈希表:只能通过关键字进行访问,在检索数据里与数据行数无关。
定义关键字:
WITH [UNIQUE | NON-UNIQUE] KEY COMP1...COMPn
WITH [UNIQUE | NON-UNIQUE] KEY TABLE_LINE定义表关键字
UNIQUE表示唯一的;NON-UNIQUE不唯一,可指定一个关键字或多个。
注意:
-
排序表可以使用UNIQUE或 NON-UNIQUE表关键字,哈希表不能使用NON-UNIQUE表关键字,且必须使用UNIQUE 表关键字。在内表中如果不指定任何表关键字则使用DEFAULT KEY。扁平结构内表的默认表关键字是非数字和非内表的组件字段。
-
在定义内表时使用WITH HEADER LINE选项表示定义内表时也定义同名的工作区。如果在使用的过程中不能明确的分辨出是使用内表或是工作区,那么在名称之后加“[ ]”表示明确的使用内表。
工作区(Work Area)
一般以gs开头
内表按照行进行访问,必须使用某个区域作为与表格互相传输的接口
DATA gs_itab TYPE itab.