将传统的ABAP报告转换为OO ABAP

2020-09-15 18:12发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个使用常规ABAP编写的报...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个使用常规ABAP编写的报告。 它与改装活动有关,在该活动中,您可以通过副本运输和目标系统中的双运输创建来跨不同系统调整运输请求(TR)中捕获的更改。

我想使用OO ABAP重新编写整个报告,并且我没有使用ABAP对象/类/方法编写ABAP程序的经验,是否使用实例/静态方法等!

您能帮我吗,即我应该从哪里开始? 在最短的时间内完成此任务的最佳方法是什么?

感谢您的期待。

12条回答
CPLASF-自律
2020-09-15 18:46
 样例代码

 CLASS lcl_main定义创建私有最终。
   公共部分。
     类型:tys_mara mara的类型标准表。
     数据:mara的lt_mara类型标准表,
           ls_mara TYPE玛拉。
     类方法:
     get_instance
           返回值(rr_main)类型REF到lcl_main。
     方法:
           get_data
             导出get_mara TYPE mara,
           display_alv
            导出dis_mara TYPE mara,
           构造函数。
 ENDCLASS。  " lcl_main定义
 初始化。
 * -------------------------------------------------  --------------------- *
 * CLASS lcl_main的实现
 * -------------------------------------------------  --------------------- *
 *
 * -------------------------------------------------  --------------------- *
 CLASS lcl_main的实现。
   方法get_instance。
     创建对象rr_main。
   终结法。  " get_instance
   方法get_data。
     如果lt_mara []是INITIAL。
       SELECT * INTO TABLE lt_mara从mara。
     万一。
   终结法。  " get_data
   METHOD构造函数。
   终结法。  "建设者
   方法display_alv。
     数据:
         lr_layout类型参考cl_salv_layout,
         lr_salv类型参考cl_salv_table,
         lx_salv类型参考cx_salv_msg,
         lr_functions类型参考cl_salv_functions_list。
     尝试。
         呼叫方法cl_salv_table =>工厂
           输入
             r_salv_table = lr_salv
           改变
             t_table = lt_mara。
         lr_layout = lr_salv-> get_layout()。
         lr_salv-> display()。
       捕捉cx_salv_msg INTO lx_salv。
         MESSAGE"未找到数据" TYPE" E"。
     ENDTRY。
   终结法。  " display_alv
 ENDCLASS。  " lcl_main IMPLEMENTATION
 选择开始。
   数据:lr_main类型参考lcl_main。
   lr_main = lcl_main => get_instance()。
   调用方法lr_main-> get_data()。
   调用方法lr_main-> display_alv()。

一周热门 更多>