zoukankan      html  css  js  c++  java
  • 宏的方式显示ALV

    *&---------------------------------------------------------------------*
    *& Report  Y_TEST_JAMES_ALV_FOR_JUN
    *&
    *&---------------------------------------------------------------------*
    *& Creator: JAMES ZONG
    *& This report IS FOR TEST
    *&---------------------------------------------------------------------*
    
    REPORT Y_TEST_JAMES_ALV_FOR_JUN.
    
    DATA: BEGIN OF gs_alv,
            new_flag TYPE c. "Indicator for New lines
        INCLUDE STRUCTURE SETLINET.
    DATA: END OF gs_alv.
    DATA: gt_alv LIKE TABLE OF gs_alv."All lines
    
    
    *& ------  ALV related DATA Definition ------
    TYPE-POOLS: VRM,SLIS,TRUXS.  " USED TO LISTBOX
    
    DATA: gt_field    LIKE TABLE OF lvc_s_fcat WITH HEADER LINE, "ALV fields
          gs_layout   TYPE lvc_s_layo,                           "ALV layout
          gw_events   TYPE slis_alv_event,
    
          gw_sort_lvc TYPE lvc_s_sort,
          gt_sort_lvc TYPE lvc_t_sort,
    
          gt_event    TYPE slis_t_event,                         "ALV-event
          gs_event    LIKE LINE OF gt_event.
    
    DATA:LR_GRID TYPE REF TO cl_gui_alv_grid. " ALV OBJECT
    
    DATA:
      LT_ITAB1 TYPE TABLE OF SETLINET.
    *& ------  ALV related DATA Definition ------
    
    * Macro definition of ALV
    
    DEFINE alv.
      gt_field-fieldname = &1.
      gt_field-coltext   = &2.
      gt_field-outputlen = &3.
      gt_field-no_zero   = &4.
      gt_field-ref_table = &5.
      gt_field-ref_field = &6.
      gt_field-edit      = &7.
      gt_field-checkbox  = &8.
    
      APPEND gt_field.
      CLEAR gt_field.
    
    END-OF-DEFINITION.
    
    *&---------------------------------------------------------------------*
    *&  SELECTION SCREEN
    *&---------------------------------------------------------------------*
    PARAMETERS: p_cont TYPE SETLINET-SETCLASS OBLIGATORY.
    
    SELECTION-SCREEN BEGIN OF BLOCK b13 WITH FRAME TITLE TEXT-t00.
    SELECTION-SCREEN COMMENT /1(75) TEXT-t01.
    SELECTION-SCREEN COMMENT /1(75) TEXT-t02.
    SELECTION-SCREEN COMMENT /1(75) TEXT-t03.
    SELECTION-SCREEN COMMENT /1(75) TEXT-t04.
    SELECTION-SCREEN COMMENT /1(75) TEXT-t05.
    SELECTION-SCREEN COMMENT /1(75) TEXT-t06.
    *SELECTION-SCREEN COMMENT /1(75) text-955.
    *SELECTION-SCREEN COMMENT /1(75) text-956.
    *SELECTION-SCREEN COMMENT /1(75) text-957.
    *SELECTION-SCREEN COMMENT /1(75) text-958.
    *SELECTION-SCREEN COMMENT /1(75) text-000.
    *SELECTION-SCREEN COMMENT /1(75) text-959.
    SELECTION-SCREEN END OF BLOCK b13.
    
    
    " Get entries from ZYJJ_VEHICLE
    
    SELECT * FROM SETLINET INTO CORRESPONDING FIELDS OF TABLE gt_alv
      WHERE SETCLASS = p_cont.
    
    " DISPLAY ALV
    
      gs_layout-cwidth_opt = 'X'.
      gs_layout-zebra = 'X'.
    
      alv 'SETCLASS' 'Display a' 10 '' '' '' '' ''.
      alv 'SUBCLASS' 'Display b' 10 '' '' '' '' ''.
      alv 'SETNAME' 'Display c' 10 '' '' '' '' ''.
      alv 'LANGU' 'Display d' 10 '' '' '' '' ''.
      alv 'LINEID' 'Display f' 16 '' '' '' '' ''.
    
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
        EXPORTING
          i_callback_program      = sy-repid
          is_layout_lvc           = gs_layout
          it_fieldcat_lvc         = gt_field[]
          i_grid_title            = ''
          i_callback_user_command = 'USER_COMMAND'
          "i_callback_pf_status_set = 'SET_PF_STATUS'
          i_save                  = 'A'
    *     it_events               = gt_event
        TABLES
          t_outtab                = gt_alv
        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.

     之前用了fm 的方式去显示ALV, 接着用了OO 的方式也去实现了一下。今天用宏的方式来实现一下.

    用宏的方式的好处:

    解放了出力显示字段的制约,也就是说ALV出力显示的字段可以用自己来决定,比如可以随意的去改变字段的显示位置,长度,文本,等等等一些字段单位的属性。

     必须配合 【FM】CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'进行使用

  • 相关阅读:
    AjaxPro版自动完成(Autocomplete)功能实现
    推荐一款小巧的截图工具
    在VS2008中设置jquery智能提示
    Jquery选择器全总结
    MD5消息摘要算法的那些事
    C#中的集合学习笔记
    委托,文件流,扩展方法学习笔记
    Jquery实现仿腾讯微薄的广播发表
    C#中的文件流学习笔记第一篇
    ASP.NET MVC小记第一篇
  • 原文地址:https://www.cnblogs.com/HARU/p/7629115.html
Copyright © 2011-2022 走看看