写点什么

SAP | 内部表的表类型

作者:暮春零贰
  • 2022-10-20
    广东
  • 本文字数:706 字

    阅读完需:约 1 分钟

SAP | 内部表的表类型

内部表由其行类型表类型表键定义。本文将主要对表类型进行概述。


在 ABAP 程序中可以定义三种类型的内部表:标准表、排序表和哈希表。根据访问的方式选择合适的表类型。

标准表

在表声明期间,你不需要显式指定主表键。对于标准表,主键可以为空。标准表仅支持非唯一主键,这意味着同一表中的多行可以具有相同的键值。


声明标准表的语法如下:

DATA internaltable_name TYPE TABLE OF structure_reference.
复制代码

TABLE OF 是定义标准表的简短形式。我们还可以使用长格式的 STANDARD TABLE OF 来定义标准表,如下所示:

DATA table_name TYPE STANDARD TABLE OF structure_reference.
复制代码

排序表

排序表与标准表类似,只是记录始终按键升序排序。排序表同时支持唯一主键和非唯一主键,使用非唯一键定义表时,可以有多个具有相同键值的记录,并且没有任何限制。应根据正在处理的数据仔细选择主键,以避免数据不一致。

声明排序表的语法如下:

DATA table_name TYPE SORTED TABLE OF structure_referenceWITH UNIQUE KEY key_fields.
复制代码

在声明期间必须定义表的键。使用“具有唯一键”或“具有非唯一键”添加来定义键,以分别定义唯一键或非唯一键。

哈希表

与标准表和排序表不同,哈希表没有行索引。它们使用哈希算法进行管理。由于没有行索引,因此无法执行任何索引操作。哈希表仅支持唯一键。

声明哈希表的语法如下:

DATA table_name TYPE HASHED TABLE OF structure_referenceWITH UNIQUE KEY key_fields.
复制代码

例如,使用哈希表的加法表来定义哈希表,并使用“具有唯一键”添加项列出表键。以下语句将内部表 IT_SFLIGHT 定义为具有唯一键 CARRID 和 CONNID 的哈希表:

DATA it_sflight TYPE HASHED TABLE OF ty_sflightWITH UNIQUE KEY carrid connid.
复制代码



发布于: 刚刚阅读数: 3
用户头像

暮春零贰

关注

每日羊了个羊🐏,不如今日码了再码 2022-03-13 加入

🏆InfoQ写作平台-从未签约作者 🏆

评论

发布
暂无评论
SAP | 内部表的表类型_SAP_暮春零贰_InfoQ写作社区