如果不使用类访问接口,则只能访问其常量。

2020-09-14 18:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好朋友, 根据SAP提供的 ...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好朋友,

根据SAP提供的 INTERFACE-组件的关键字文档

无需在类中实现接口即可解决的唯一接口组件是数据类型和常量。 可以使用接口名称和类组件选择器(=>)来解决后者。

但是当我尝试在类内部直接访问类型实例数据类型变量的接口组件之一而又不包括接口时,我会因为

出现错误

"如果不使用类访问接口,则只能访问其常量。"


请找到我遇到错误的示例代码片段

接口信息

   类型:开始于typ_vbak,
     vbln TYPE vbak-vbeln,
          typ_vbak的结尾。
  数据:lv_radious TYPE i。
  常量:c_py TYPE p十进制2值'3.14'。
   结束界面。



   CLASS ICL定义。
     公共部分。
     方法:m1。
     专用部分。
     数据:lv_area TYPE p十进制数2。
    ENDCLASS。

    CLASS ICL实施。
      方法m1。
        数据:ls_vbak类型inf => typ_vbak。
        inf => lv_radious = 10。
        lv_area =(inf => c_py * inf => lv_radious * inf => lv_radious)。
        写:/'Area =',lv_area。
        终结法。
      ENDCLASS。


      选择开始。
      数据:o_lcl类型引用到lcl。
      创建对象o_lcl TYPE lcl。
      o_lcl-> m1()。
2条回答
浮生未央
2020-09-14 19:21

您回答了自己的问题:

"无需在类中实现接口即可解决的唯一接口组件是数据类型和常量。"

使用:

 inf => lv_radious = 10。

您正在尝试访问某些类中没有接口实现的接口的DATA组件。

编辑:您可能打算做这样的事情?

接口信息
   类型:开始于typ_vbak,
            vbln TYPE vbak-vbeln,
          typ_vbak的结尾。
   数据:lv_radious TYPE i。
   常量:c_py TYPE p十进制2值'3.14'。
 结束界面。

 CLASS ICL定义。
   公共部分。
     接口信息 " <<在类lcl中使用接口inf
     方法:m1。
   专用部分。
     数据:lv_area TYPE p十进制数2。
 ENDCLASS。

 CLASS ICL实施。
   方法m1。
     数据:ls_vbak类型inf => typ_vbak。
     inf〜lv_radious = 10。
     lv_area =(inf => c_py * inf〜lv_radious * inf〜lv_radious)。
     写:/'Area =',lv_area。
   终结法。
 ENDCLASS。

 * -------------------------------------------------  ------------------- *
 选择开始。
   数据:o_lcl类型引用到lcl。
   创建对象o_lcl TYPE lcl。
   o_lcl-> m1()。
 

一周热门 更多>