我有一个名为ZCL_RM_SPREADSHEETML的类.
它在"类型"选项卡中有一个名为TY_STYLE的类型,其可见性为"公共",并使用直接类型条目定义.
当我尝试在调用者代码中声明以下内容时:
DATA : wa_blue_style TYPE zcl_rm_spreadsheetml-ty_style.
Run Code Online (Sandbox Code Playgroud)
我得到以下内容:
The type "ZCL_RM_SPREADSHEETML" has no structure and therefore no
component called "TY_STYLE". .
Run Code Online (Sandbox Code Playgroud)
这有点道理我猜是因为ZCL_RM_SPREADSHEETML是一个类,双击TY_STYLE也绝对没有.
然后我用tilda尝试了以下内容:
DATA : wa_blue_style TYPE zcl_rm_spreadsheetml~ty_style.
Run Code Online (Sandbox Code Playgroud)
我得到以下内容:
Type "ZCL_RM_SPREADSHEETML~TY_STYLE" is unknown
Run Code Online (Sandbox Code Playgroud)
双击TY_STYLE会带我到TY_STYLE的定义,所以我必须关闭.我最后一次遇到类似的问题是因为我正在访问私有方法,但我将类型明确标记为Public.
我做错了什么想法?
编辑
我也试过评论
DATA : wa_blue_style TYPE ref to zcl_rm_spreadsheetml->ty_style. "and
DATA : wa_blue_style TYPE zcl_rm_spreadsheetml->ty_style.
Run Code Online (Sandbox Code Playgroud)
这使
Field "ZCL_RM_SPREADSHEETML" is unknown. It is neither in one of the
specified tables nor defined by a "DATA" statement.
Run Code Online (Sandbox Code Playgroud)
这让我想到了尝试这种'阶级'的方式,
DATA : wa_blue_style TYPE zcl_rm_spreadsheetml=>ty_style.
Run Code Online (Sandbox Code Playgroud)
这有效