- 确定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 拷贝系统现有的程序
复制到程序 “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"文件中添加(同上的响应时间中)
效果展示