SAP ABAP – 内部表

SAP ABAP – 内部表


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

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

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

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

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

内部表有多种用途 –

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

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

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

例子

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

觉得文章有用?

点个广告表达一下你的爱意吧 !😁