BASE CORRESPONDING 需要哪个 Netweaver 版本?

Which Netweaver version do I need for BASE CORRESPONDING?

我有如下一段代码。

REPORT zzz.

CLASS lcl_main DEFINITION FINAL CREATE PRIVATE.
  PUBLIC SECTION.
    CLASS-METHODS:
      main.
ENDCLASS.

CLASS lcl_main IMPLEMENTATION.
  METHOD main.
    DATA:
      lt_t100 TYPE t000_t,
      ls_t000_template TYPE t000.
    
    lt_t100 = VALUE #( BASE ( CORRESPONDING #( ls_t000_template ) ) cccategory = 'P' ).
    lt_t100 = VALUE #( BASE lt_t100
      ( VALUE #( BASE ( CORRESPONDING #( ls_t000_template ) ) cccategory = 'E' ) )
    ).
  ENDMETHOD.
ENDCLASS.

在编辑器中它看起来应该是可编译的,因为所有内容都以正确的方式突出显示。

即使这不编译。我的假设是我的 SAP Netweaver 版本不够高。

编译此代码至少需要哪个版本?

CORRESPONDING构造函数运算符was introduced with Netweaver 7.40 SP05.

BASE 添加到表 was introduced with NetWeaver 7.40 SP08VALUE 构造函数运算符。

因此,当您将 SAP_BASIS 组件修补到 7.40 Service Pack 08 时,您应该能够使用这两个关键字。

感谢 Philipp 的评论,我意识到我做的完全错了。

这是可以完美编译的正确语法。

REPORT zzz.

CLASS lcl_main DEFINITION FINAL CREATE PRIVATE.
  PUBLIC SECTION.
    CLASS-METHODS:
      main.
ENDCLASS.

CLASS lcl_main IMPLEMENTATION.
  METHOD main.
    DATA:
      lt_t100 TYPE t000_t,
      ls_t000_template TYPE t000.

    lt_t100 = VALUE #( ( VALUE #( BASE CORRESPONDING #( ls_t000_template ) cccategory = 'P' ) ) ).
    lt_t100 = VALUE #( BASE lt_t100
      ( VALUE #( BASE CORRESPONDING #( ls_t000_template ) cccategory = 'E' ) )
      ( VALUE #( BASE CORRESPONDING #( ls_t000_template ) cccategory = 'C' ) )
      ( VALUE #( BASE CORRESPONDING #( ls_t000_template ) cccategory = 'D' ) )
      ( VALUE #( BASE CORRESPONDING #( ls_t000_template ) cccategory = 'S' ) )
    ).
  ENDMETHOD.
ENDCLASS.