SAP ABAP 视图

17 Mar 2025 | 4 分钟阅读

什么是 DDIC 中的视图?

  • 视图是 ABAP 中的数据字典库对象,用于在一个地方查看多个表的数据
  • 视图类似于数据库表,但它不包含任何物理数据;相反,它从不同的表中派生数据,并充当虚拟表(没有存在的表)。由于它没有物理存储任何数据,并且数据库只包含视图定义,因此它在数据库中占用的空间非常小。
  • 可以通过组合单个或多个表的数据来创建视图,这些表称为基表
  • 在创建视图之前,我们需要为需要在视图中存储的表和字段指定结构。如果我们在基表中进行任何更改,则更改也会自动反映在视图中。
  • DDIC 中的视图有助于节省时间和提高效率,因为它从每个表中提取数据是一个耗时的过程;对于这种情况,我们可以在 SAP ABAP 字典中使用视图。
  • 视图可用于表示存储在表中的数据的子集,或将多个表连接到单个虚拟表。
  • 每当执行视图时,它都会显示从多个表中提取的数据。
  • 为了在 DDIC 中创建视图,我们需要连接表,并且为了连接表,每个表必须至少有一个公共键字段。
  • 下图解释了视图的结构
SAP ABAP View

在上图中,有三个表,其中包含一些字段,使用视图,我们正在连接这些表。

连接以创建视图

Join 是一种连接或链接两个或多个数据库表或显示数据的方式。在 ABAP 中,有两种类型的连接

  • Inner Join
    • 在内连接中,仅会选择具有某些匹配键字段的那些记录或数据。
    • 未匹配的数据将不会被选择用于视图。
  • Outer Join
    • 在外连接中,将显示第一个表的所有数据,而从其他表中,将仅显示匹配的记录。
    • 如果其他表中没有匹配的记录,则视图将显示具有空值的记录。

定义视图的关键步骤

  • 首先,我们需要选择基表来定义视图。
  • 这些基表必须使用连接条件连接在一起。
  • 选择视图需要使用的基表中的所需字段。
  • 应用一些选择条件以限制或过滤视图中的记录。

ABAP 中视图的类型

在 ABAP DDIC 中,有四种类型的视图,它们在实现和访问数据的方式上彼此不同。这些如下所示

  1. 数据库视图
  2. 投影视图
  3. 帮助视图
  4. 维护视图

数据库视图

  • 如果通过使用内连接组合字段在一个或多个表上创建视图,则此类视图称为数据库视图。
  • 由于此视图使用内连接,因此它仅组合表中的匹配记录。
  • 在此视图中,我们无法对表数据执行任何维护操作;相反,我们只能读取数据。

投影视图

  • 如果在单个表上创建视图,则称为投影视图。
  • 使用这种类型的视图,我们可以通过仅投影所需字段来最小化字段,其余字段将被过滤掉。
  • 此视图允许我们读取和维护数据。

帮助视图

  • 帮助视图是在两个或多个表上创建的,专门用于 DDIC 中的“搜索帮助”,我们不能直接执行它。
  • 它通过使用外连接组合数据
  • 它只允许我们读取数据,我们无法在此视图中维护数据。
  • 它可以用作搜索帮助中的选择方法。

维护视图

  • 维护视图是通过在 DDIC 中使用外连接概念在两个或多个表上创建的。
  • 它允许我们维护和读取表的数据。
  • 此视图仅适用于自定义表(z 或 y),不应与标准 SAP 表一起使用,因为它在更改记录时可能会造成不一致问题。
  • 它允许我们一次维护多个应用程序的多个表的数据。

注意:数据库视图使用内连接概念来链接表,而其他视图使用外连接概念。