读取Maintenance View中的数据

来源:互联网 发布:topsview监控软件 编辑:程序博客网 时间:2024/05/21 17:09
 
  只有projection view或database view才可以用SQL去读取,所以Maintance view不可以用select

来取数。可以使用VIEW_GET_DATA 这个function来实现对maintance view中数据的读取。

下面的例子说明了,怎么从Maintenace view中取数。
REPORT  ztest05.DATA:wf_tab TYPE REF TO data,     repid TYPE sy-repid.FIELD-SYMBOLS:<fs_tab> TYPE TABLE.PARAMETERS:pa_view TYPE dd02v-tabname OBLIGATORY.START-OF-SELECTION.  create data wf_tab type table of (pa_view).  IF wf_tab IS BOUND.    ASSIGN wf_tab->* TO <fs_tab>.    CHECK <fs_tab> IS ASSIGNED.  ELSE.    EXIT.  ENDIF.  CALL FUNCTION 'VIEW_GET_DATA'       EXPORTING            view_name              = pa_view            with_authority_check   = 'X'       TABLES            data                   = <fs_tab>       EXCEPTIONS            no_viewmaint_tool      = 1            no_authority           = 2            no_auth_for_sel        = 3            data_access_restricted = 4            OTHERS                 = 5.  IF sy-subrc <> 0.    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.  ENDIF.  repid = sy-repid.  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'       EXPORTING            i_structure_name   = pa_view            i_callback_program = repid       TABLES            t_outtab           = <fs_tab>       EXCEPTIONS            program_error      = 1            OTHERS             = 2.  IF sy-subrc <> 0.    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.  ENDIF.


 
 程序运行效果:
 选择屏幕上输入 v_503_all这个Maintenace View。
1-1.png 输出到ALV后的结果如下图所示:
1-1.png
原创粉丝点击