"You cannot use current statement between CLASS DEFINITION ...and ENDCLASS" 错误

"You cannot use current statement between CLASS DEFINITION ...and ENDCLASS" error

我收到错误提示,您不能在 CLASS DEFINITION .... AND ENDCLASS 之间使用当前语句。以下是 ABAP class.

的示例示例
CLASS c1 DEFINITION. 
  PUBLIC SECTION.     
  STATICS static TYPE i VALUE 10. 
  METHODS add_one.

ENDCLASS. 

CLASS c1 IMPLEMENTATION. 

  METHOD add_one.
      static = static + 1. 
  ENDMETHOD.  

ENDCLASS. 

问候,

奥马尔·阿卜杜拉

只允许 DATACLASS-DATA 在 classes 和接口中声明属性。

在class中,STATICS只允许出现在静态方法的实现部分(用CLASS-METHODS声明)。

STATICS 应在 内部 过程中声明,并且只能在本地访问。

如果您希望能够在方法之外访问值,您应该将变量声明为普通 class/static 属性:

CLASS c1 DEFINITION. 
  PUBLIC SECTION.     
  CLASS-DATA static TYPE i VALUE 10. 
  METHODS add_one.
ENDCLASS. 

CLASS c1 IMPLEMENTATION. 
  METHOD add_one.
      static = static + 1. 
  ENDMETHOD.  
ENDCLASS.