我有一个名为 ZCL_RM_SPREADSHEETML 的类。
它在 Types 选项卡中有一个名为 TY_STYLE 的类型,可见性为“Public”,并使用 Direct Type Entry 定义。
当我尝试在调用者代码中声明以下内容时:
DATA : wa_blue_style TYPE zcl_rm_spreadsheetml-ty_style.
我得到以下信息:
The type "ZCL_RM_SPREADSHEETML" has no structure and therefore no
component called "TY_STYLE". .
我猜这是有道理的,因为 ZCL_RM_SPREADSHEETML 是一个类,双击TY_STYLE
也完全没有任何作用。
然后我用 tilda 尝试了以下操作:
DATA : wa_blue_style TYPE zcl_rm_spreadsheetml~ty_style.
我得到以下信息:
Type "ZCL_RM_SPREADSHEETML~TY_STYLE" is unknown
双击 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.
这使
Field "ZCL_RM_SPREADSHEETML" is unknown. It is neither in one of the
specified tables nor defined by a "DATA" statement.
这给了我尝试这种“课堂”方式的想法,
DATA : wa_blue_style TYPE zcl_rm_spreadsheetml=>ty_style.
这有效