二维码

[面向对象] ABAP中程序类如何转化成全局类

Twilight发表于 2017-12-27 15:38zhongguomao 最后回复于 2017-12-31 16:48 [复制链接] 87 1

我们在程序中定义的类只能在本程序中使用,如果我们需要该类能被所有程序调用,那么就需要使用全局类。

举例:程序中类:lcl_report,转换成全局类:zcl_report

1、程序代码
  1. REPORT y001.

  2. CLASS lcl_report DEFINITION.
  3.   PUBLIC SECTION.
  4.     METHODS:select_data,
  5.             write_data.
  6.   PRIVATE SECTION.
  7.     DATA:lt_t100 TYPE TABLE OF t100.
  8. ENDCLASS.
  9. CLASS lcl_report IMPLEMENTATION.
  10.   METHOD select_data.
  11.     SELECT * INTO TABLE lt_t100 UP TO 10 ROWS FROM t100 WHERE sprsl = sy-langu.
  12.   ENDMETHOD.
  13.   METHOD write_data.
  14.     FIELD-SYMBOLS: <fs_t100> TYPE t100.
  15.     LOOP AT me->lt_t100 ASSIGNING <fs_t100>.
  16.       WRITE:/ <fs_t100>-arbgb,
  17.               <fs_t100>-text.
  18.     ENDLOOP.
  19.   ENDMETHOD.
  20. ENDCLASS.

  21. START-OF-SELECTION.
  22.   DATA:lo_main TYPE REF TO lcl_report.

  23.   CREATE OBJECT lo_main.
  24.   lo_main->select_data( ).
  25.   lo_main->write_data( ).
复制代码
2、T-code:SE24
program class1.jpg
3、选中需要转换的类,可以重新命名,点击导入
program class2.jpg
4、激活全局类
program class3.jpg

编辑更新 类、方法、属性、事件等描述
回复

使用道具 举报

zhongguomao
学习了。
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表