ABAP 数据库表

17 Mar 2025 | 5 分钟阅读

ABAP 中的数据库表是什么?

  • 数据库表是 DDIC 中的一种对象类型,可以在 ABAP 字典中独立于数据库定义,它以 **行** 和 **列** 的矩阵形式存储实际数据。
  • DDIC 中自定义表的名称必须以字母 z 或 y 开头,最多可以包含 16 个字符。 表名可以包含任何 **字母、数字或下划线。**
  • 表的每一行称为 **记录**,表的每一列称为 **字段**。
  • 表的字段是 **数据元素** 和 **域** 的组合,可以用它们的数据类型和长度来定义。
  • 当此表在 DDIC 中激活时,SAP 系统也会在数据库中创建其字段的物理副本。 该表会自动转换为与实际数据库兼容的格式。 我们可以在下图中看到表与实际数据库之间的关系
ABAP Database Tables

注意:为了更好地理解 ABAP 表,请先学习前面章节中给出的数据元素和域。

ABAP DDIC 中表的组成部分

ABAP 表的组成部分如下

ABAP Database Tables

交付类别

  • 交付类别用于定义我们要在表中存储的数据类型。 数据可以是业务数据,这意味着应用程序数据(主数据和事务数据)。 我们将为我们的交付类别选择应用程序数据。

显示/维护

  • 此选项用于允许我们仅显示数据还是也维护数据。 这里的数据维护是指创建、删除或更新数据。 此字段有三个选项
    • 允许显示/维护
    • 不允许显示/维护
    • 显示/维护允许带限制

**字段名称**:我们为表中的每个字段提供的名称称为字段名称,最多包含 16 个字符。 类似于表名,它必须以字母开头,并且可以包含字母、数字和下划线。

**键标志**:它指定该特定字段是否属于键字段。

**字段长度**:它定义可以输入到字段中的字符数。

**小数位数**:它指定小数点后允许多少位数字,并且只能用于数值数据。

**短文本**:它指定在表中输入的特定字段的含义。

**数据类**:它定义数据库中表的实际区域。 我们可以根据我们的表选择数据类的可用选项如下

数据类描述
APPL0主数据,透明表
APPL1事务数据,透明表
APPL2组织和定制

**域**:域是定义字段的 **技术信息** 的对象,例如数据类型和长度。 **了解更多。**

**数据元素**:数据元素是指定字段的 **语义信息** 的对象,例如描述、标签等。 **了解更多。**

ABAP 表的类型

在 ABAP 字典中,我们可以创建三种类型的表

  • 透明表
  • 池表
  • 群集表

除了这三个表之外,我们还可以创建一些特殊的表类型,例如表池和群集。 这两种表类型存储其他表的信息,例如程序参数、临时数据、文档文本等。

ABAP 表的解释如下

1. 透明表

ABAP 透明表包含表示应用程序使用的 **主数据** 或 **事务数据** 的应用程序数据。 **供应商表** 或 **客户表** 是主数据的示例。

在透明表中,数据库表具有与数据字典表相同的名称和相同数量的字段及其字段名称。

透明表显示与 SAP 数据库中的表定义的 **一对一关系**。 下图显示了 ABAP 中的透明表

ABAP Database Tables

2. 池表

ABAP 中的池表显示与数据库中的表定义的 **多对一** 关系,这意味着对于在 SAP 数据库中定义的单个表,ABAP 字典中有多个表。

存储在字典和数据库中的表的名称必须不同。

SAP 数据库将所有池表存储在单个表中,该表称为 **表池。**

数据字典中的池表可能具有也可能没有公共主键字段。

下图显示了池表和表池之间的关系

ABAP Database Tables

3. 群集表

群集表类似于池表,因为它们也显示了与 SAP 数据库中表定义的 **多对一** 关系。 所有的群集表都存储在数据库中的单个表中,该表称为 **表群集。**

数据字典中的表必须 **至少有一个公共主键字段**,并且通常会同时访问该表。

可以使用下图了解群集表和表群集之间的关系

ABAP Database Tables

池表、群集表和透明表之间的关键区别

池表和群集表通常不包含透明表中的应用程序数据;相反,它们用于存储 **系统数据,例如系统配置信息、历史数据等。**

在 ABAP 中创建表

基本步骤如下; 这方面的实践在后面的主题中给出

  • 通过导航菜单路径或输入 SE11 事务代码打开 ABAP 字典初始屏幕。
  • 单击数据库表选项,输入名称,然后单击 **创建**
  • 给出简短描述
  • 将交付类别指定为“A”。
  • 在 **数据浏览器/表视图维护中** 选择“允许显示/维护”选项
  • 单击“保存”按钮,并将其另存为 **本地对象** 或提供包名称。
  • 单击 **字段** 选项卡并输入 **字段名称和数据元素名称**。
  • 单击“技术设置”按钮,并提供所需的详细信息
  • 单击保存。
  • 最后,激活表。

在表中创建记录

在 DDIC 中成功创建表后,我们现在可以在表中输入数据。 以下是在表中创建记录的步骤

  • 通过导航菜单路径或输入 SE11 事务代码打开 ABAP 字典初始屏幕。
  • 输入表名,然后单击“更改”按钮。
  • 单击“**实用程序**”→**表内容**→**创建**
  • 根据您的要求在给定的字段中提供详细信息,然后单击保存。
  • 根据您要保存的内容,通过重置字段输入详细信息。

显示表中的记录

在表中创建记录后,我们可以轻松显示保存在表中的所有记录。

  • 通过导航菜单路径或输入 SE11 事务代码打开 ABAP 字典初始屏幕。
  • 输入表名,然后单击“更改”按钮。
  • 单击“**实用程序**”→**表内容**→**显示**
  • 单击屏幕上给出的执行按钮以查看存储在表中的所有记录。
  • 如果表中有大量记录,我们也可以看到特定数据,为此,输入一些数据详细信息并按 Enter 键。

注意:在本节中,我们仅提供了有关创建和编辑表的理论。 但是,创建表和显示的实际实现将在后面的主题中给出。