SAP ABAP ALV报表(二)

  • 确定ALV的标题栏
  • 确定ALV的状态栏
  • 确定ALV的按钮
  • 确定ALV按钮的响应事件
  • 添加热点
  • 添加热点的响应事件
1.确定ALV的标题栏和状态栏

“FORM”程序文件,function函数中添加确定标题栏和状态栏的传入参数

将传入的参数放入在“ALV”程序文件中,设置状态栏和标题栏

*&---------------------------------------------------------------------*
*&      Form  F_FRM_ALV_SET_STATUS
*&---------------------------------------------------------------------*
*       设置程序的用户状态
*----------------------------------------------------------------------*
*      -->EXTAB      text
*----------------------------------------------------------------------*
FORM FRM_ALV_SET_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
**设置标题栏
  SET TITLEBAR 'TB01'.
**设置状态栏
  SET PF-STATUS 'PF_ALV'.
ENDFORM.                    "FRM_FRM_ALV_SET_STATUS
复制ALV的状态栏

这里用系统标准的状态栏,不进行创建,SE41 拷贝系统现有的程序

image.png

复制到程序 “ZHY01_HY101_20220624_01” 中

点击复制

复制成功

刷新激活“ZHY01_HY101_20220624_01”程序,看到系统创建的GUI 状态

删除显示信息,激活

创建状态栏成功

2.确定ALV的标题栏

对于标题栏,双击自己设置的参数自动创建标题栏

设置标题

刷新激活“ZHY01_HY101_20220624_01”程序,看到系统创建的GUI 标题

运行查看效果
3.添加ALV的按钮

ALV状态栏上添加按钮
选中GUI状态-应用程序工具栏下添加ZXYXX 学员信息的按钮

填写按钮的文本信息

赋值一个快捷键,然后保存激活。

运行查看效果
4.注意事项

function函数中传入参数的值要用大写

注意:
Function在测试的时候,手动直接执行并输入参数,其参数中的小写字母会自动转换成大写,而通过其它程序调用FM,传入的参数则不会将小写转换为大写。

5.确定ALV按钮的响应事件

“mian”文件中,function函数中传入响应参数:

“ALV”文件中,添加

  FORM FRM_ALV_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
                                RS_SELFIELD TYPE SLIS_SELFIELD.

  DATA: G_GRID              TYPE REF TO CL_GUI_ALV_GRID,
        GL_VALID            TYPE C,
        LT_FILTERED_ENTRIES TYPE LVC_T_FIDX.


  RS_SELFIELD-REFRESH = 'X'. "编辑完成保存后刷新alv页

  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      E_GRID = G_GRID.


  CALL METHOD G_GRID->CHECK_CHANGED_DATA.

  CLEAR GS_ITEM.

***SY-UCOMM 系统变量无法捕捉到单击事件+双击事件
  CASE R_UCOMM.
    WHEN 'ZXYXX'.
      MESSAGE '【学员信息】功能开发中.......' TYPE 'I'.
  ENDCASE.
ENDFORM.                    "f_FRM_ALV_USER_COMMAND

运行结果查看

6.添加热点

“FORM”文件中,热点显示(字段的下划线)

添加“X”的效果如下

7.添加热点的响应

"ALV"文件中添加(同上的响应时间中)

效果展示

你可能感兴趣的:(SAP ABAP ALV报表(二))