SAP ABAP - 内部表



内部表实际上是一个临时表,其中包含正在执行的 ABAP 程序的记录。内部表仅在 SAP 程序的运行时存在。它们用于通过使用 ABAP 语言处理大量数据。当您需要从数据库表中检索数据时,需要在 ABAP 程序中声明一个内部表。

内部表中的数据存储在行和列中。每一行称为一个,每一列称为一个字段。在内部表中,所有记录都具有相同的结构和键。内部表的单个记录可以通过索引或键来访问。由于内部表在关联程序正在执行时存在,因此当程序执行终止时,内部表的记录将被丢弃。因此,内部表可以用作临时存储区域或临时缓冲区,其中可以根据需要修改数据。这些表仅在运行时占用内存,而不是在声明时占用内存。

内部表仅在程序运行时存在,因此在编写代码时,必须以程序能够利用的方式来构造内部表。您会发现内部表的操作方式与结构相同。主要区别在于结构只有一行,而内部表可以根据需要包含任意多行。

内部表可以由多个字段组成,这些字段对应于表的列,就像在 ABAP 字典中使用多个字段创建表一样。键字段也可以与内部表一起使用,并且在创建这些内部表时,它们提供了稍微更大的灵活性。使用内部表,可以指定一个非唯一键,允许存储任意数量的非唯一记录,并且如果需要,允许存储重复记录。

内部表的大小或其包含的行数不是固定的。内部表的大小根据与内部表关联的程序的要求而变化。但建议将内部表保持尽可能小。这样做是为了避免系统在处理海量数据时运行缓慢。

内部表用于多种用途 -

  • 它们可以用于保存稍后可以在程序中使用的计算结果。

  • 内部表还可以保存记录和数据,以便可以快速访问这些数据,而不是必须从数据库表中访问这些数据。

  • 它们用途非常广泛。它们可以使用任意数量的其他已定义结构来定义。

示例

假设用户希望从一个或多个大型表中创建各种客户的联系号码列表。用户首先创建一个内部表,从客户表中选择相关数据,然后将数据放入内部表中。其他用户可以直接访问和使用此内部表来检索所需的信息,而不是在程序的运行时编写数据库查询来执行每个操作。

广告