首先包含的结构化类型



当我们想在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显示了一个更简单、可能更旧的文档版本。

最新更新