当我们想在ABAP TYPES
语句中包含一个类型时,我们可以使用以下表示法:
TYPES: BEGIN OF lty_combined_type,
date_el TYPE zda_data_element.
INCLUDE TYPE zst_structure.
TYPES: END OF gty_wd_personnel.
这样做的一个限制似乎是,我们不能将类型作为我们类型的第一组字段。在生成编码最少的ALV(即没有自定义字段目录)时,字段顺序可能非常相关。
是否有其他表示法可以将另一种类型作为中的第一个字段集?
问题中的代码(在SCN上找到)实际上是TYPES
文档中标题下列出的语法的缩写形式Structured Types
:
TYPES BEGIN OF struc_type.
...
TYPES comp ... .
TYPES comp TYPE struc_type BOXED.
INCLUDE {TYPE|STRUCTURE} ... .
...
TYPES END OF struc_type.
因此,上面问题中的例子很简单:
TYPES BEGIN OF lty_combined_type.
INCLUDE TYPE zst_structure.
TYPES date_el TYPE zda_data_element.
TYPES END OF lty_combined_type.
注意,分组表示法TYPES: name1 TYPE typ1, name2 TYPE type2.
也可以使用,例如:
TYPES BEGIN OF gty_displaydata_order.
INCLUDE TYPE gty_displaydata.
TYPES: order TYPE aufnr,
order_type TYPE aufart.
TYPES END OF gty_displaydata_order.
注意:我引用的ABAP文档在不同版本之间有所不同。我所描述的扩展符号可以在702参考文献中看到,而700显示了一个更简单、可能更旧的文档版本。