abap选择屏幕工具栏按钮问题

简介:

选择屏幕的工具栏按钮?听上去好像就是SE80创建report的时候,新增加一个GUI状态嘛,对不对?其实不是的。
我们先看一个普通的report程序
image
不就是这样嘛?
我们运行这个report看看
image
点击执行按钮,才会看到
image
因此,我们所说的【选择屏幕工具栏按钮】指的并不是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.

上面的代码创建了两个元素:【选择屏幕的单值输入框】和【选择屏幕的工具栏按钮】
单值输入框指的是parameter

PARAMETERS: PA_FILE TYPE RLGRAP-FILENAME.          "选择屏幕的【单值输入框】

工具栏按钮

SELECTION-SCREEN FUNCTION KEY 1.                   "为选择屏幕创建【工具栏按钮】

但是工具栏按钮没有指定名字,很奇怪吧
image
原因是:我复制粘贴一下
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'.           "为选择屏幕的【工具栏按钮】,设置默认名字
目录
相关文章
|
数据库
SAP ABAP——选择屏幕demo
本文是一个ABAP选择屏幕的demo,废话不多说直接看demo场景
344 0
SAP ABAP——选择屏幕demo
点击abap的选择屏幕工具栏按钮下载excel模板
自己编写一个report,分配了事务码以后,执行该事务码,在选择屏幕界面看到一个按钮,点击这个按钮,就可以将预先上传至sap服务器的excel文件下载到本地。服务器上的excel文件是预先通过事务码SMW0上传到SAP服务器系统的:选择包,然后执行,看看里面有什么如下图,就是目前SAP系统中存在的e.
2817 0
|
SQL 容器
SAP的ABAP屏幕程序如何使用Table Control进行数据交互
SAP中ABAP的屏幕元素涉及到“定制控制” 和 “Table Control” 两个数据显示容器。 定制控制是单向的数据展示,使用abap的SQL语句把数据从透明表(硬盘中)读取至内表(内存),进行一系列数据整理,然后采用ALV表格的形式把这些数据展示在“定制控制”这个用于数据显示的容器中。
9627 0
sap abap屏幕编程中使用的table 和call子程序的
今天下午顾问在和用户谈需求呢,趁这个时间写了个屏幕中使用table 和如何call 子程序的例子,放在这里,有人看也好,没有人看也罢,权当自己练连手.*&------------------------------------------------------...
1030 0
|
6月前
|
程序员
开发语言漫谈-ABAP
ABAP是SAP公司专门用于SAP软件环境的专门语言
|
SQL 设计模式 前端开发
【置顶】SAP ABAP开发实战——从入门到精通系列目录
本文章为SAP ABAP开发实战——从入门到精通系列的目录以及关于该教程的后续写作计划表
1552 0
【置顶】SAP ABAP开发实战——从入门到精通系列目录
|
BI
SAP ABAP在线预览文档对象的开发实现
应用场景:有些定制化开发(报表/功能增强等)完成之后,客户需要将其操作手册或者相关文档放在某个报表的初始画面,供实际操作者在线查阅,当然这个功能也同样类似于模板的下载,这里就以在线预览(直接打开)为例进行说明。
224 0
|
前端开发 JavaScript 数据库
如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用(二)
Restful ABAP Programming 编程模式是 ABAP 这门编程语言在不断向前进化的过程中,诞生的一门新的编程模型,简称为RAP模型。
155 0
如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用(二)
|
程序员 BI
也谈SAP业务顾问如何避免被ABAP开发顾问怒打
也谈SAP业务顾问如何避免被ABAP开发顾问怒打
也谈SAP业务顾问如何避免被ABAP开发顾问怒打