ABAP-REUSE_ALV_GRID_DISPLAY詳解及常見操作


 一、函數功能調用

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_interface_check        = ''                      接口一致性檢查
      i_callback_program       = sy-repid                當前程序名
      is_layout                = layout                  輸出樣式
      it_fieldcat              = fieldcat[]              字段定義描述表
      i_callback_pf_status_set = 'PF_STATUS_SET'         觸發事件調用子程序
      i_callback_user_command  = 'USER_COMMAND'          鼠標事件操作子程序
      it_events                = i_events[]              出口程序觸發事件
      i_callback_html_top_of_page  = 'ALV_TOP_OF_PAGE'   ALV輸出表頭設置(面向對象實現)
    i_callback_top_of_page = 'TOP_OF_PAGE' ALV輸出表頭設置(function實現) i_grid_settings
= wl_lvc_s_glay           打印表頭設置       it_sort = sortable[]              排序設置
    i_save ='X' I_SAVE 參數有四個可選值 分別是 空(兩個功能都關閉,只能選擇更改不能保存) 
X(只保留缺省默認的)
U(只保留特定用戶功能)
A(缺省默認和特定用戶都可以)
TABLES       t_outtab                 = ig_out EXCEPTIONS   program_error            = 1 OTHERS                   = 2

二、Fieldcat屬性

data: fieldcat type slis_t_fieldcat_alv with header line.
it_fieldcat              = fieldcat[]
屬性(用來定義表單中的各個列的相關信息)
   Fieldcat-col_pos = n.                  輸出列
   Fieldcat-tabname = ‘FIELDNAME’.        對應的內表字段名
   Fieldcat-seltext_s/m/l = ‘列名’.        輸出列文本(_s:短文本   _l:長文本)
   Fieldcat-emphasize = ‘CX10’.           帶有顏色的高亮列(其中X=(1-7) 顏色同format)
                         (格式:格式:C+X(顏色:1~7)X(是否加深1/0 1深0淺)X(是否反色1/0-1字0底紋))    Fieldcat
-hotspot = ‘X’.           作為熱點顯示可觸發鼠標觸發事件    Fieldcat-currency = ‘CURRKEY’.   表 TCURX 中的貨幣名稱    Fieldcat-quantity(3)            計量單位    Fieldcat-qfieldname          參考計量單位的字段名稱    Fieldcat-round = n.           四舍五入至小數位數下n 位    Fieldcat-exponent = n.         浮點數的冪指數為n    Fieldcat-key = ‘X’.            關鍵字段    Fieldcat-icon = ‘X’.          作為圖標輸出    Fieldcat-symbol = ‘X’.        輸出作為符號    Fieldcat-checkbox = ‘X’.      作為復選框輸出    Fieldcat-just = SPACE, 'R', 'L', 'C'.   對齊方式    Fieldcat-lzero = ‘X’.          輸出前導零    Fieldcat-no_sign = ‘X’.         輸出抑制符號    Fieldcat-no_zero = ‘X’.        為輸出隱藏零    Fieldcat-edit_mask = SPACE, mask..  輸出為mask的模式    Fieldcat-fix_column = ‘X’.      固定列    Fieldcat-do_sum = ‘X’.        總計列值總和    Fieldcat-no_out = ‘X’.         列不輸出    Fieldcat-tech = ‘X’.           該字段為技術字段    Fieldcat-outputlen = n        列的字符寬度為n    Fieldcat-decimals_out = n     能控制小數點的位數為n  Fieldcat-datatype = C,I,N…        定義數據類型

三、Layout屬性

  data: layout type slis_layout_alv .
  is_layout                = layout
  屬性 (用於定義ALV表單的相關格式、屬性)
    info_fieldname = 'LINE_COLOR'.  設置特殊行顏色(將LINE_COLOR增加到內表字段,寫'CX10'到特殊行的LINE_COLOR, X為顏色值)
    colwidth_optimize = ‘X’.        優化列寬設置
    no_colhead = 'X'.               不顯示列名
    no_vline = 'X'.                 不顯示列間豎線
    zebra    = 'X'                  設置斑馬紋
    f2code = '&ETA'.                設置觸發彈出詳細信息窗口的功能碼,這里是雙擊
    no_vline                        這個用來設置列間隔線
    detail_initial_lines            DETAILS時顯示字段為空的字段
    detail_popup                    是否彈出詳細信息窗口
    detail_titlebar                 設置彈出窗口的標題欄
    totals_text
    totals_only
    group_change_edit
    header_text
   key_hotspot 設置主鍵的熱點,用於鼠標事件
   box_fieldname 設置選擇按鈕,選中時賦值為"X"
   confirmation_prompt 設置退出時,顯示提示框

 四、sort排序

data: gt_sortable type slis_t_sortinfo_alv with header line.
it_sort = sortable[]
屬性
(排序)
 Sortable-Fieldname = '字段名'.       按某個字段進行排序
 Sortable-spos = '1'.   .             多個字段排序時,設置排序的先后順序
 Sortable-Up = 'X'.                   升序排列
 Sortable-Down  = 'X'.              降序排列
 Sortable-Subtot = 'X'.            進行“小計”

五、Filter過濾

DATA GT_FILTER TYPE  SLIS_T_FILTRE_ALV.
DATA GS_FILTER TYPE  SLIS_FILTRE_ALV.

IT-FILTER = GT_FILTER.

PERFORM BUILD_FILTER.
FORM BUILD_FILTER.
    CLEAR GS_FILTER.
    GS_FILTER-fieldname = 'sex'.設置篩選字段
    GS_FILTER-sign0     = 'E'.設置E/I
    GS_FILTER-optio     = 'EQ'.設置EQ/NE
    GS_FILTER-VALUF     = ''.設置低值
    GS_FILTER-VALUT     = ''.設置高值
    APPEND GS_FILTER TO GT_FILTER.
ENDFORM.

六、表頭設置

"——利用OO實現
i_callback_html_top_of_page  = 'ALV_TOP_OF_PAGE' form alv_top_of_page using cl_dd type ref to cl_dd_document.    "——利用function ALV 實現 I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE' ALV輸出表頭設置 FORM TOP_OF_PAGE.
DATA: LT_LISTHEADER TYPE SLIS_T_LISTHEADER. DATA:LS_LISTHEADER TYPE SLIS_LISTHEADER. LS_LISTHEADER-TYP = 'H'. LS_LISTHEADER-INFO = '表頭描述文本'. APPEND LS_LISTHEADER TO LT_LISTHEADER . LS_LISTHEADER-TYP = 'S'. LS_LISTHEADER-KEY = '字段名稱或描述'. LS_LISTHEADER-INFO = '字段值'. APPEND LS_LISTHEADER TO LT_LISTHEADER . LS_LISTHEADER-TYP = 'A'. LS_LISTHEADER-INFO = '結尾斜體'. APPEND LS_LISTHEADER TO LT_LISTHEADER . CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING IT_LIST_COMMENTARY = LT_LISTHEADER ENDFORM.

七、按鈕

DATA: i_events TYPE slis_t_event WITH HEADER LINE.
事件:
it_events     = i_events[]   
i_callback_pf_status_set = 'PF_STATUS_SET'   
i_callback_user_command  = 'USER_COMMAND'
出口程序觸發事件對應子程序:
FORM PF_STATUS_SET USING rt_extab TYPE slis_t_extab.
FORM user_command USING ucomm LIKE sy-ucomm selfield TYPE slis_selfield.
系統按鈕功能碼:
功能代碼:           函數文本:                          圖標名稱:
&ETA                細節                         ICON_SELECT_DETAIL
&EB9                調用報告...                   ICON_TABLE_SETTINGS
&REFRESH            刷新                         ICON_REFRESH
&ALL                全部選擇                      ICON_SELECT_ALL
&SAL                取消全選                      ICON_DESELECT_ALL
&OUP                按升序排列                     ICON_SORT_UP
&ODN                按降序排列                     ICON_SORT_DOWN
&ILT                設置過濾器                    ICON_FILTER
&UMC                總計                         ICON_SUM
&SUM                小計...                      ICON_INTERMEDIATE_SUM
&RNT_PREV           打印預覽                      ICON_LAYOUT_CONTROL
&VEXCEL            Microsoft Excel               ICON_XLS
&AQW                字處理...                     ICON_WORD_PROCESSING
%PC                   本地文件  ...               ICON_EXPORT
%SL                  郵件收件人                     ICON_MAIL
&ABC                 ABC 分析                      ICON_ABC
&GRAPH                圖形                         ICON_GRAPHICS
&OL0                 更改布局...                  ICON_ALV_VARIANTS
&OAD                選擇格式...                 ICON_ALV_VARIANT_CHOOSE
&AVE                 保存格式...                  ICON_ALV_VARIANT_SAVE
&INFO                  信息                      ICON_INFORMATION


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM