SAP-ABAP内表操作详解
内表定义:
- 内表是在ABAP程序中定义的一种数据结构,用于在内存中存储和处理数据。
- 它类似于数据库中的表或其他编程语言中的数组或列表,可以存储一系列具有相同数据结构的数据行。
内表特点: - 内表中的数据是临时的,仅在程序运行期间存在。
- ABAP运行时系统动态地管理内表的大小。
- 每个独立的数据集合在内表中称为一个表项或表行,而一行中独立的组件对应于内表中的字段或列。
数据库表,内表,工作区三者的关系
结构类型及结构的定义
结构类型属于一种复杂类型,由多个数据元素作为组建组成,参照结构类型生成的数据对象称为结构体。
使用TYPES和DATA语句构造内部的结构体的语法格式如下:
TYPES|DATA: BEGIN OF structure ,
field1 [TYPE type|LIKE dobj],
field2 [TYPE type|LIKE dobj],
…
fieldn [TYPE type|LIKE dobj],
END OF structure.
可以使用’-’符号访问结构体对象各组件:structure-field
内表声明定义
TYPES|DATA: itab TYPE|LIKE tabkind OF linetype [WITH KEY] [INITIAL SIZE n] .
说明:
Itab:内表名称
Tabkind:表类型(标准表,排序表,哈希表)
Linetype:行类型
Initial size n:如果n为0或者不指定的话,程序会为内表分配初始化为8K大小的内存。当内表在使用过程中超过了这个内存的时候会自动增加内存
内表的分类
标准表(STANDARD TABLE)
系统为该表每一行生成一个逻辑索引。填充表时可以将数据附加在现有行之后,也可以插入到指定的位置,程序对内表的寻址可以通过关键字或者索引进行。在对表进行插入、删除等操作时,各行数据在内表的位置不变,系统仅重新排列各数据行的索引值。
DATA: itab TYPE [STANDARD] TABL