内部表实际上是一个临时表,它包含正在执行的 ABAP 程序的记录。
内部表仅存在于 SAP 程序的运行时。
它们用于通过使用 ABAP 语言处理大量数据。
当您需要从数据库表中检索数据时,我们需要在 ABAP 程序中声明一个内部表。
内部表中的数据按行和列存储。
每行称为
一行
,每列称为一个
字段
。
在一个内部表中,所有记录都具有相同的结构和键。
使用索引或键访问内部表的各个记录。
由于内表一直存在到相关的程序正在执行,当程序执行终止时,内表的记录将被丢弃。
因此内部表可以用作临时存储区域或临时缓冲区,可以根据需要修改数据。
这些表只在运行时占用内存,在声明时不占用内存。
内部表只在程序运行时存在,因此在编写代码时,内部表的结构必须使程序可以使用它。
您会发现内部表的操作方式与结构相同。
主要区别在于结构只有一行,而内部表可以根据需要有任意多行。
内部表可以由多个字段组成,对应于表的列,就像在 ABAP 字典中使用多个字段创建表一样。
键字段也可以与内部表一起使用,并且在创建这些内部表时,它们提供了更大的灵活性。
对于内部表,可以指定一个非唯一键,允许存储任意数量的非唯一记录,并允许在需要时存储重复记录。
内部表的大小或它包含的行数不是固定的。
内表的大小根据与内表相关联的程序的要求而变化。
但建议保持内部表尽可能小。
这是为了避免系统在处理大量数据时运行缓慢。
内部表有多种用途 –
它们可用于保存稍后可在程序中使用的计算结果。
内部表还可以保存记录和数据,以便可以快速访问这些数据,而不必从数据库表中访问这些数据。
它们用途广泛。
它们可以使用任意数量的其他已定义结构来定义。
假设用户想要从一个或多个大表中创建各种客户的联系号码列表。
用户首先创建一个内表,从客户表中选择相关数据,然后将数据放入内表中。
其他用户可以直接访问和使用这个内部表来检索所需的信息,而不是在程序运行时编写数据库查询来执行每个操作。