声明无法访问

时间:2020-03-16 08:48:29

标签: sap abap

第49行写了 protected $middlewareGroups = [ 'web' => [...], 'api' => [ [...] \App\Http\Middleware\ForceJsonResponse::class, ], ]; 时出现错误,我该如何解决?

CALL METHOD lclref->lcm .

首先包括:

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.

2 个答案:

答案 0 :(得分:0)

错误“语句不可访问”是因为lclref是一个object。 调用引用到类的对象的方法(在本例中为对象-> lclref和类-> zlcl)。

您可以直接指定对象和方法。

因此,更正后的代码为:lclref-> lcm。

玩得开心。

答案 1 :(得分:-1)

*&---------------------------------------------------------------------*
*&  Include           ZINC
*&---------------------------------------------------------------------*

    data lclref TYPE REF TO zlcl.

您确定首先包含锌吗?

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( ).