ABAP 报表选择屏幕常用语句详解


文章封面

ABAP 报表选择屏幕常用语句详解

在 ABAP 报表程序(Executable Program,TYPE 1)中,选择屏幕用于让用户在程序执行前输入筛选条件、控制选项或运行模式。除了最常见的 PARAMETERSSELECT-OPTIONS,ABAP 还提供了不少 SELECTION-SCREEN 相关语句,用来组织布局、显示说明、创建分组、按钮和同行控件。

本文按实际项目中的使用频率,整理 ABAP 选择屏幕常用控件和布局语句。

1. PARAMETERS:单值输入

PARAMETERS 用于定义单个输入字段,是 ABAP 报表选择屏幕中最常见的语句之一。

PARAMETERS p_bukrs TYPE bukrs.

显示效果类似:

Company Code [1000]

适合公司代码、年度、工厂、物料号等只需要输入一个值的场景。

2. SELECT-OPTIONS:范围和多值输入

SELECT-OPTIONS 用于定义选择范围,适合需要支持单值、范围、多值或排除条件的字段。

SELECT-OPTIONS s_bukrs FOR t001-bukrs.

显示效果类似:

Company Code [1000] to [2000]

SELECT-OPTIONS 支持:

  • 单值
  • 范围
  • 多值
  • 排除条件

在查询类报表中,SELECT-OPTIONS 通常用于凭证号、物料号、客户、供应商、工厂、公司代码等筛选条件。

3. SELECTION-SCREEN COMMENT:说明文字

SELECTION-SCREEN COMMENT 用于在选择屏幕上显示说明文字,本身不能输入。

SELECTION-SCREEN COMMENT /1(30) text-001.

显示效果类似:

===== Company Information =====

它通常用于提示用户当前区域的含义,或者在同行布局中给字段补充文字说明。

4. SELECTION-SCREEN ULINE:横线分隔

SELECTION-SCREEN ULINE 用于画一条横线,常用于分隔不同区域。

SELECTION-SCREEN ULINE.

显示效果类似:

-----------------------------

当选择屏幕字段较多时,横线可以帮助用户快速区分不同输入区域。

5. SELECTION-SCREEN SKIP:空行

SELECTION-SCREEN SKIP 用于空一行,让选择屏幕更容易阅读。

SELECTION-SCREEN SKIP.

显示效果类似:

Company

Plant

它通常用于简单分隔字段,不需要加边框或标题时使用。

6. SELECTION-SCREEN BEGIN OF BLOCK:分组区域

SELECTION-SCREEN BEGIN OF BLOCK 可以创建带标题和边框的区域,是企业项目中非常常见的选择屏幕组织方式。

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS p_bukrs TYPE bukrs.
PARAMETERS p_werks TYPE werks_d.

SELECTION-SCREEN END OF BLOCK b1.

显示效果类似:

+------------------------------+
| Company Information          |
|                              |
| Company Code [1000]          |
| Plant        [1000]          |
+------------------------------+

当报表包含多个筛选区域时,可以用多个 BLOCK 分别组织基础条件、执行选项、输出控制等内容。

7. RADIOBUTTON GROUP:单选按钮

RADIOBUTTON GROUP 用于定义互斥选项。同一组中只能选择一个。

PARAMETERS:
  p_all RADIOBUTTON GROUP g1,
  p_one RADIOBUTTON GROUP g1.

显示效果类似:

(•) All
( ) One

它适合用于选择运行模式,例如“全部处理 / 单项处理”“汇总输出 / 明细输出”等。

8. CHECKBOX:复选框

CHECKBOX 用于定义可勾选或取消的布尔选项。

PARAMETERS p_test AS CHECKBOX.

显示效果类似:

☑ Test Run

企业报表中常见的用法是“测试运行”“是否显示明细”“是否下载文件”等开关类选项。

9. LISTBOX:下拉框

LISTBOX 用于在选择屏幕上显示下拉选择。

PARAMETERS p_type TYPE char10 AS LISTBOX VISIBLE LENGTH 20.

通常会配合函数模块 VRM_SET_VALUES 给下拉框填充值,例如:

▼ Domestic
▼ Export
▼ Internal

适合固定选项较少、希望用户从列表中选择的场景。

10. PUSHBUTTON:选择屏幕按钮

SELECTION-SCREEN PUSHBUTTON 可以在选择屏幕上放置按钮。

SELECTION-SCREEN PUSHBUTTON /1(20) btn1 USER-COMMAND cmd1.

显示效果类似:

[ Execute Test ]

点击按钮后,会触发选择屏幕事件:

AT SELECTION-SCREEN.

在事件中可以根据用户命令判断按钮动作,例如打开说明、执行检查、带出默认值等。

11. FUNCTION KEY:工具栏按钮

SELECTION-SCREEN FUNCTION KEY 用于在选择屏幕工具栏上添加功能键。

SELECTION-SCREEN FUNCTION KEY 1.

通常配合 SSCRFIELDS-UCOMM 处理用户点击动作。

AT SELECTION-SCREEN.
  CASE sscrfields-ucomm.
    WHEN 'FC01'.
      "处理功能键动作
  ENDCASE.

这类功能在普通报表中使用频率不高,但在需要工具栏快捷入口时会用到。

12. SELECTION-SCREEN BEGIN OF LINE:同行布局

默认情况下,选择屏幕上的字段通常一项占一行。BEGIN OF LINE 可以把多个元素放在同一行。

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS p_year TYPE gjahr.

SELECTION-SCREEN COMMENT 20(10) text-002.

SELECTION-SCREEN END OF LINE.

同行布局适合把一个输入字段和说明文字、单位、附加控件放在一起。

13. SELECTION-SCREEN POSITION:控制显示位置

SELECTION-SCREEN POSITION 用于控制后续控件在当前行的显示列位置。

SELECTION-SCREEN POSITION 30.

PARAMETERS p_test TYPE char10.

上例表示输入控件从第 30 列附近开始显示。它常与 BEGIN OF LINE 配合,用于更细地控制同行布局。

常见选择屏幕控件汇总

控件用途常用程度
PARAMETERS单值输入⭐⭐⭐⭐⭐
SELECT-OPTIONS范围输入⭐⭐⭐⭐⭐
BLOCK分组⭐⭐⭐⭐
CHECKBOX复选框⭐⭐⭐⭐
RADIOBUTTON单选⭐⭐⭐
COMMENT说明文字⭐⭐⭐
ULINE横线⭐⭐⭐
SKIP空行⭐⭐⭐
LISTBOX下拉框⭐⭐
PUSHBUTTON按钮⭐⭐
FUNCTION KEY工具栏按钮
BEGIN OF LINE同行布局⭐⭐
POSITION控制位置⭐⭐

企业项目中最常见的布局模式

很多 SAP 报表会把字段集中放在一个带边框的块中,并混合使用单值输入、范围输入和复选框。

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS: p_bukrs TYPE bukrs,
            p_test  AS CHECKBOX.

SELECT-OPTIONS: s_werks FOR t001w-werks.

SELECTION-SCREEN END OF BLOCK b1.

这种组合可以概括为:

BLOCK + PARAMETERS + SELECT-OPTIONS + CHECKBOX

它既能保证输入项清晰分组,又能满足企业报表中最常见的查询和执行控制需求。

小结

ABAP 选择屏幕不只是简单的输入字段集合。PARAMETERSSELECT-OPTIONS 负责接收用户输入,BLOCKCOMMENTULINESKIP 负责组织界面,CHECKBOXRADIOBUTTONLISTBOXPUSHBUTTONFUNCTION KEY 则用于补充不同类型的交互。

在实际项目中,优先掌握 BLOCK + PARAMETERS + SELECT-OPTIONS + CHECKBOX 这一组合,就能覆盖大多数企业报表选择屏幕的基础开发场景。

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
MCP自动发表文章
评论列表

发表评论

评论内容
昵称:
验证码:
验证码
关联文章

ABAP 报表选择屏幕语句详解
ABAP AT SELECTION-SCREEN 事件详解选择屏幕校验与动态处理
SAP S/4HANA OMS2物料类型字段详解:每个字段的意义与配置
SAP ABAP 开发事务码与核心概念:SE37、SE38、SE80、增强技术及 ALE/EDI/IDoc
ABAP 数据字典 DDIC 详解:从 Domain 到透明表、搜索帮助与锁对象
ABAP基础语法:变量、系统变量、数据类型与结构体变量详解
网站分享
ABAP 内表三种类型对比:STANDARD、SORTED 与 HASHED TABLE 如何选择
ABAP Open SQL 语法整理:SELECT、JOIN、增删改与常见坑
ABAP 基础语法教程:运算、字符串、判断与循环
SAP ABAP 数据类型和常量基础
SQL Server中全局变量介绍
Docker 命令速查:容器、镜像与清理
SAP 事务代码速查表:ECC 与 S/4HANA T-Code 命名规律及模块清单
Linq to SQL语句基础讲解
企业项目实战.Net Core +FastReport教程一|制作报表模板
PDA android获得屏幕设计尺寸
C# winform选择dll文件
查出阻止屏幕关闭的程序
SAP S/4HANA 配置详解:定义评估级别(OX14)应该选择工厂还是公司代码?