在 SAP 项目里创建一个 DDIC Structure,看起来是一件再普通不过的事情。进入SE11,选择 Data Type,输入名称,创建 Structure,再逐个维护 Component、Data Element,保存、激活,整个流程熟练之后可能不到一分钟。
真正容易被忽略的地方恰恰就在第一步,也就是这个 Structure 到底叫什么名字。
很多 ABAP 开发人员已经习惯项目级命名规范,例如ZSTR_SALES_ORDER、ZSD_ORDER_ITEM、ZFI_DOCUMENT_INFO。只要名称看起来清楚、位于客户命名空间、没有和现有 Repository Object 重复,似乎就没有其他问题。
但 DDIC 对 Structure 名称的要求并不只是团队约定。它背后存在一组由 ABAP Dictionary 强制维护的技术规则,其中有几条甚至带着明显的历史痕迹。
SAP 对 DDIC Structure 和 DDIC Database Table 规定了额外的名称限制。除了普通 DDIC Data Type 已经需要遵守的命名规则之外,Structure 和 Database Table 还必须满足几个条件,包括名称不能以下划线_结束,不能以QCM开头,在不以J开头的情况下,第 2 位或第 3 位不能是下划线_,同时名称不能属于 DDIC 数据库表TRESE中登记的 Reserved Name。SAP 当前的 ABAP Keyword