本文共 2141 字,大约阅读时间需要 7 分钟。
选择屏幕的工具栏按钮?听上去好像就是SE80创建report的时候,新增加一个GUI状态嘛,对不对?其实不是的。
我们先看一个普通的report程序不就是这样嘛?我们运行这个report看看点击执行按钮,才会看到因此,我们所说的【选择屏幕工具栏按钮】指的并不是report上GUI状态中所创建的自定义按钮,而是另外一种。REPORT ZMMR00251.TABLES: SSCRFIELDS, MKPF.DATA: GT_EXCEL TYPE TABLE OF ALSMEX_TABLINE, " GS_EXCEL TYPE ALSMEX_TABLINE.PARAMETERS: PA_FILE TYPE RLGRAP-FILENAME. "选择屏幕的【单值输入框】SELECTION-SCREEN FUNCTION KEY 1. "为选择屏幕创建【工具栏按钮】INITIALIZATION. sscrfields-functxt_01 = '工具栏按钮1'. "为选择屏幕的【工具栏按钮】,设置默认名字AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_file. "【单值输入框】触发的动作 PERFORM frm_get_excel_f4 CHANGING pa_file.AT SELECTION-SCREEN. CASE sscrfields-ucomm. WHEN 'FC01'. PERFORM frm_download_temp CHANGING sscrfields-ucomm. "【工具栏按钮】触发的动作 ENDCASE.*&---------------------------------------------------------------------**& Form FRM_DOWNLOAD_TEMP*&---------------------------------------------------------------------**& text*&---------------------------------------------------------------------**& <-- SSCRFIELDS_UCOMM*&---------------------------------------------------------------------*FORM FRM_DOWNLOAD_TEMP CHANGING P_SSCRFIELDS_UCOMM.ENDFORM.*&---------------------------------------------------------------------**& Form FRM_GET_EXCEL_F4*&---------------------------------------------------------------------**& text*&---------------------------------------------------------------------**& <-- PA_FILE*&---------------------------------------------------------------------*FORM FRM_GET_EXCEL_F4 CHANGING P_PA_FILE.ENDFORM.
上面的代码创建了两个元素:【选择屏幕的单值输入框】和【选择屏幕的工具栏按钮】
单值输入框指的是parameterPARAMETERS: PA_FILE TYPE RLGRAP-FILENAME. "选择屏幕的【单值输入框】
工具栏按钮
SELECTION-SCREEN FUNCTION KEY 1. "为选择屏幕创建【工具栏按钮】
但是工具栏按钮没有指定名字,很奇怪吧
原因是:我复制粘贴一下sap的选择屏幕的标准工具栏上系统预先定义了5个按钮,他们对应的功能码是FC01-FC05,默认是不激活的。用户可以使用SELECTION-SCREEN FUNCTION KEY i.来激活这5个按钮(这里的i必须是1-5),这五个按钮的文本放在SSCRFields的对应的Functxt_0i中。当用户按下按钮时,系统将触发AT SELECTION-SCREEN 事件,并将功能码放到sscrfields的ucomm字段中。也就是说,这些按钮是系统自带的,我们只需要激活,顺便使用,然后命名一下。为选择屏幕的工具栏按钮命名的按钮的代码是:INITIALIZATION. sscrfields-functxt_01 = '工具栏按钮1'. "为选择屏幕的【工具栏按钮】,设置默认名字
转载地址:http://nxhsa.baihongyu.com/