☰
SAP ABAP DDIC 数据库表命名规则深度解析,16 个字符背后的类型系统、命名空间与历史约束
2026/10/15 13:58:46 网站建设 项目流程

在SE11里创建一张自定义数据库表时,有一种很容易让人产生困惑的情况。

表名明明只用了英文字母、数字和下划线,长度看起来也完全正常,系统却仍然拒绝创建。更容易让人迷惑的是,同样风格的名称放到某些 ABAP 程序变量、类属性甚至其他 Repository Object 上,看起来又没有什么问题。

问题通常不在数据库本身,而在ABAP Dictionary的命名体系。

SAP 对 DDIC 数据库表名称施加的约束,并不是简单的一条「最长 16 个字符」。一张数据库表同时具有持久化数据库对象和 ABAP 全局结构类型两种身份,因此它的名称必须同时满足多层规则。

SAP 对 DDIC 数据库表的定义也明确说明,在ABAP Dictionary中,数据库表是一种与底层数据库无关的表定义。ABAP SQL 访问的是 DDIC 中定义的数据库表,而表在激活时才由系统映射或者创建为数据库层面的相应对象。SAP 当前文档继续明确规定,DDIC 数据库表名称最大为 16 个字符,并且处于 DDIC 数据类型的命名空间中。

真正理解这些规则,需要先把一个经常被忽视的概念弄清楚。

数据库表不只是数据库表。

对于 ABAP 类型系统来说,它同时还是一个全局结构类型。

这正是整套命名规则的出发点。

一张数据库表为什么会进入 ABAP 类型系统

假设系统里存在一张自定义表ZSALES_ORDER。

ABAP 程序不仅可以对它执行数据库查询。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询