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

全部博文(120)

文章存档

2011年(4)

2010年(10)

2009年(38)

2008年(68)

我的朋友

分类:

2009-01-02 23:22:21

  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.
***使用其它程序的gui status
    co_alv->set_screen_status(
      pfstatus      =  'SALV_STANDARD'
      report        =  'SALV_DEMO_TABLE_SELECTIONS'
      set_functions = co_alv->c_functions_all ).

  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
阅读(1207) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~