abap面向对象的报表

 


*变量定义
TYPES ty_spfli TYPE spfli OCCURS 0.

*----------------------------------------------------------------------*
*       CLASS lcl_alv DEFINITION
*----------------------------------------------------------------------*
*       ALV操作类(定义)
*----------------------------------------------------------------------*
CLASS lcl_alv DEFINITION.
  PUBLIC SECTION.
    METHODS: getdata         "取得要显示的数据
               RETURNING value(lt_tab) TYPE ty_spfli,
             alv_process     "ALV处理方法
               IMPORTING value(lt_tab) TYPE ty_spfli,
             main.           "主方法
  PRIVATE SECTION.
    DATA gr_table TYPE REF TO cl_salv_table.
ENDCLASS.                    "lcl_alv DEFINITION

CLASS lcl_alv IMPLEMENTATION.
*取得要显示的数据
  METHOD getdata.
    SELECT * INTO TABLE lt_tab FROM spfli.
  ENDMETHOD.                    "getdata

*ALV处理方法
  METHOD alv_process.
    "创建实例
    TRY.
        cl_salv_table=>factory(
          IMPORTING
            r_salv_table = gr_table
          CHANGING
            t_table      = lt_tab
        ).
      CATCH cx_salv_msg.
    ENDTRY.
    "显示列表
    gr_table->display( ).
  ENDMETHOD.                    "alv_process

*主方法,整合数据
  METHOD main.
    DATA: lt_tab TYPE TABLE OF spfli.

    "取得要显示的数据
    lt_tab = me->getdata( ).
    "处理数据
    me->alv_process( lt_tab ).
  ENDMETHOD.                    "main
ENDCLASS.                    "lcl_alv IMPLEMENTATION

*报表执行
start-of-selection.
  data  lr_alv   type ref to lcl_alv.
  create object lr_alv.
  lr_alv->main( ).

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值