我正在创建一个使用 2 个不同类的 ABAP 程序。第一类用于选择数据和呈现 ALV 报告。第二个是将该数据提取到 CSV 文件中。当我尝试在 START-OF-SELECTION 中调用这些方法时,我收到一条错误消息,指出““LCL_EXTRACTOR”的类型未知”。
我的类定义中有以下代码:
CLASS lcl_extractor DEFINITION.
PUBLIC SECTION.
METHODS: write_data IMPORTING t_talv TYPE ty_t_talv.
METHODS constructor.
ENDCLASS.
Run Code Online (Sandbox Code Playgroud)
在我开始选择时,我有:
START-OF-SELECTION.
CALL METHOD main=>inicializacao.
CALL METHOD lcl_extractor=>write_data( t_talv = t_talv ).
Run Code Online (Sandbox Code Playgroud)
有人可以帮我理解我做错了什么吗?
我的课程定义为:
CLASS main DEFINITION FINAL.
PUBLIC SECTION.
CLASS-METHODS inicializacao.
CLASS-METHODS principal.
ENDCLASS.
CLASS main IMPLEMENTATION.
METHOD inicializacao.
ENDMETHOD.
METHOD principal.
ENDMETHOD.
CLASS lcl_extractor DEFINITION.
PUBLIC SECTION.
METHODS: write_data IMPORTING t_talv TYPE ty_t_talv.
METHODS constructor.
ENDCLASS.
METHOD write_data.
ENDMETHOD.
ENDCLASS.
Run Code Online (Sandbox Code Playgroud)
PS:那个 t_talv 表是我的 ALV 上显示的表。
谢谢
您将方法作为静态调用,而它被定义为实例。将呼叫线路更改为
NEW lcl_extractor( )->write_data( t_talv = t_talv ).
Run Code Online (Sandbox Code Playgroud)
或使方法静态。