我写CALL METHOD lclref->lcm .
的第49行有错误,我该如何解决?
REPORT ZPRACTICE_TILL_NOW.
include zlc.
include zinc.
START-OF-SELECTION.
create OBJECT lclref.
CALL METHOD lclref->lcm .
第一个包括:
class zlcl DEFINITION.
PUBLIC SECTION.
METHODS: lcm.
ENDCLASS.
CLASS zlcl IMPLEMENTATION.
method lcm.
new-LINE.
WRITE: 'method called '.
ENDMETHOD.
ENDCLASS.
第二个包括:
*&---------------------------------------------------------------------*
*& Include ZINC
*&---------------------------------------------------------------------*
data lclref TYPE REF TO zlcl.
错误"Statement not accessible"是因为lclref是一个对象。调用引用到类(在本例中为object->lclref和class->zlcl(的对象的方法。
您可以直接指定对象和方法。
因此,更正后的代码为:lclref->lcm。
玩得开心。
*&---------------------------------------------------------------------*
*& Include ZINC
*&---------------------------------------------------------------------*
data lclref TYPE REF TO zlcl.
你确定第一个INCLUDE是锌吗
class zlcl DEFINITION.
PUBLIC SECTION.
METHODS: lcm.
ENDCLASS.
CLASS zlcl IMPLEMENTATION.
method lcm.
new-LINE.
WRITE: 'method called '.
ENDMETHOD.
ENDCLASS.
当我尝试使用你的代码时,我没有得到任何错误。请检查您的INCLUDE哪一个是第一个?
我不知道你的SAP版本如果支持你可以使用内联声明。您可以看到下面的示例。无需额外的数据声明
DATA(lo_lcl) = new zlcl( ).
lo_lcl->lcm( ).