SAP ABAP开发ALV-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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值