Append structure(附加结构)是 ABAP 字典中附加到另一个结构或数据库表并将其组件附加到它们的结构。 Append structure 可以添加到 SAP 在客户系统中提供的结构和数据库表中。一个 Append structure 仅能分配给一个表或结构。 但是,一张表或结构允许被分配多个 Append structure 。 Append structure 的组件必须满足表字段的先决条件,这些先决条件定义在这篇文章里:SAP ABAP DDIC 结构字段的一些技术限制条件。
使用 append structure 可以对数据库表或结构进行以下增强:
- 插入新组件(如果增强类别允许)
- 为数据库表的现有字段定义外键
- 为现有组件绑定搜索帮助(search help)
下图高亮行是一个 append structure 的例子:
所有在 append structure 上增强的字段都是 append structure 的一部分,这意味着对这些增强所做的任何更改仅仅施加在 append structure 上,而不会影响被增强的 ABAP DDIC 结构。这同样适用于 transport. 激活数据库表或结构时,会找到所有关联的 append structure,并将它们的组件附加到数据库表或结构。 使用append structure 添加的任何外键或搜索帮助绑定也会被附加。 当 append structure 被激活时,分配的数据库表或结构会适应所做的更改。不转换任何现有表,这会在字典和数据库中产生不同顺序的字段。 当复制结构或具有 append structure 的数据库表时,追加的字段、外键和搜索有助于成为复制目标的真实元素。
通过菜单 Utilities->Activation Log 查看 append structure 激活的日志:
使用 append structure增强数据库表时必须注意以下几点:
(1) append structure 只能附加到透明表。
(2) append structure 不允许附加到类型为 LCHR 或 LRAW 的数据库表,因为这些字段必须始终是表的最后一个字段。
(3) 使用 append structure 附加到数据库表的字段可以添加到其二级索引。但不能为 append structure 本身定义二级索引。
(4) 无法使用 append structure 修改数据库表字段已存在的检查表或搜索帮助的绑定。