Chinaunix首页 | 论坛 | 博客
  • 博客访问: 394923
  • 博文数量: 120
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 1266
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 16:04
文章分类

全部博文(120)

文章存档

2011年(4)

2010年(10)

2009年(38)

2008年(68)

我的朋友

分类:

2009-01-02 23:16:26

  REPORT  ztest_oo_alv_main.
*
*----------------------------------------------------------------------*
*       CLASS lcl_report DEFINITION
*----------------------------------------------------------------------*
CLASS lcl_report DEFINITION.

  PUBLIC SECTION.

    TYPESBEGIN OF ty_vbak,
           vbeln TYPE vbak-vbeln,
           erdat TYPE erdat,
           auart TYPE auart,
           kunnr TYPE kunnr,
           END   OF ty_vbak.

    DATA: t_vbak TYPE STANDARD TABLE OF ty_vbak.

    DATA: o_alv TYPE REF TO cl_salv_table.

    METHODS:
      get_data,
      generate_output.
  PRIVATE SECTION.
    METHODS: set_pf_status CHANGING co_alv TYPE REF TO cl_salv_table.
ENDCLASS.                    "lcl_report DEFINITION


START-OF-SELECTION.
  DATA: lo_report TYPE REF TO lcl_report.

  CREATE OBJECT lo_report.

  lo_report->get_data( ).

  lo_report->generate_output( ).

*----------------------------------------------------------------------*
*       CLASS lcl_report IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS lcl_report IMPLEMENTATION.

  METHOD get_data.

    SELECT vbeln erdat auart kunnr
           INTO  TABLE t_vbak
           FROM  vbak
           UP TO 20 ROWS.

  ENDMETHOD.                    "get_data

  METHOD set_pf_status.

    DATA: lo_functions TYPE REF TO cl_salv_functions_list.

    lo_functions = co_alv->get_functions( ).
    lo_functions->set_default( abap_true ).

  ENDMETHOD.                    "set_pf_status


  METHOD generate_output.

    DATA: lx_msg TYPE REF TO cx_salv_msg.
    TRY.
        cl_salv_table=>factory(
          IMPORTING
            r_salv_table = o_alv
          CHANGING
            t_table      = t_vbak ).
      CATCH cx_salv_msg INTO lx_msg.
    ENDTRY.

    CALL METHOD set_pf_status
      CHANGING
        co_alv = o_alv.

    o_alv->display( ).

  ENDMETHOD.                    "generate_output

ENDCLASS.                    "lcl_report IMPLEMENTATION
阅读(1246) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~