SAP ABAP - 字典


如您所知,SQL 可以分为两部分 -

  • DML(数据操作语言)
  • DDL(数据定义语言)

DML部分由查询和更新命令组成,例如SELECT、INSERT、UPDATE、DELETE等,ABAP程序处理SQL的DML部分。DDL部分由CREATE TABLE、CREATE INDEX、DROP TABLE、ALTER TABLE等命令组成,ABAP字典处理SQL的DDL部分。

ABAP词典

ABAP字典可以被视为驻留在SAP数据库中的元数据(即关于数据的数据)以及由数据库维护的元数据。字典用于创建和管理数据定义以及创建表、数据元素、域、视图和类型。

ABAP字典中的基本类型

ABAP字典中的基本类型如下:

  • 数据元素通过定义数据类型、长度和可能的小数位来描述基本类型。

  • 具有可以具有任何类型的组件的结构。

  • 表类型描述了内部表的结构。

ABAP程序中可以引用Dictionary环境中的各种对象。该词典被称为全球区。Dictionary中的对象对于所有ABAP程序来说都是全局的,ABAP程序中的数据可以通过引用这些Dictionary全局对象来声明。

DBO ABAP 词典

字典支持用户定义类型的定义,这些类型在ABAP程序中使用。它们还定义数据库对象的结构,例如表、视图和索引。当对象被激活时,这些对象会在底层数据库的字典定义中自动创建。词典还提供搜索帮助等编辑工具和锁定对象等锁定工具。

词典任务

ABAP字典实现了以下目标:

  • 强制数据完整性。
  • 管理无冗余的数据定义。
  • 与 ABAP 开发工作台的其余部分紧密集成。

例子

任何复杂的用户定义类型都可以从字典中的 3 种基本类型构建。客户数据存储在“客户”结构中,其中包含名称、地址和电话组件,如下图所示。名称也是一个由名字和姓氏组成的结构。这两个组件都是基本组件,因为它们的类型是由数据元素定义的。

客户数据

Address 组件的类型由一个结构体定义,该结构体的组件也是结构体,而 Telephone 组件由一个表类型定义,因为一个客户可以有多个电话号码。类型用于ABAP程序中,也用于定义功能模块的接口参数的类型。