ABAP Selection Screen,有些中文资料将其翻译成选择屏幕,因为 Selection Screen,最主要的用途,是给用户提供一个界面来维护输入数据,ABAP 报表读取这些输入数据之后,就能到数据库中进行相应的数据选择操作,故而译成选择屏幕
。
ABAP 支持通过以下三种关键字,定义一个 Selection Screen,也就是说,仅仅通过编写纯的 ABAP 代码的方式,而<font color='red' size="3pt">无需使用 Screen Painter</font>,就能在界面上看到输入字段:
- SELECT-OPTIONS
- SELECTION-SCREEN
- PARAMETERS
我们先来看最简单的 PARAMETERS
关键字。
看下面这个最简单的 ABAP 报表:
REPORT z.
PARAMETERS: input TYPE string OBLIGATORY DEFAULT 'Hello'.
WRITE:/ input.
其中 OBLIGATORY 表示这个输入字段是一个必填字段
,DEFAULT
关键字用于指定默认值。
执行之后,能看到名为 INPUT 的输入字段。
我们在这个字段里输入的任何内容,点击执行按钮或者按 F8 快捷键之后,都会被打印在 SAPGUI 里。
当ABAP程序被激活时,程序选择屏幕的组件,即带有屏幕元素和dynpro流程逻辑的屏幕,将自动生成。
注意
生成的dynpro不能直接编辑,这也意味着某些预定义设置无法禁用。例如,输入字段总是模板,其中某些字符("!"、"="、"_")具有特殊功能。
选择屏幕任务
选择屏幕基本上有两个任务:
- 它们使用户能够输入参数(单个值)和选择标准(表格形式的间隔选择)。
- 它们代表可执行接口程序,其输入字段可以由调用程序通过SUBMIT提供。
选择屏幕的GUI状态
ABAP运行时环境为选择屏幕设置默认GUI状态和默认标题。无法保证在选择屏幕的PBO时SET PF-STATUS语句有效。要为选择屏幕定义单独的GUI状态或禁用生成的屏幕的功能,可以使用功能模块RS_SET_SELSCREEN_STATUS或RS_EXTERNAL_SELSCREEN_STATUS(在特殊情况下)。
选择屏幕标题栏中的默认标题是在程序属性中定义的程序标题。此标题可以如下覆盖:
在使用SELECTION-SCREEN BEGIN OF SCREEN定义选择屏幕的情况下,通过添加TITLE。
在标准选择屏幕的情况下,通过在PBO处使用SET TITLEBAR语句。
选择屏幕事件
在ABAP程序中不能为选择屏幕定义对话模块。相反,在dynpro的PBO和PAI处理期间,运行时环境会触发特定事件,这些事件可以在选择屏幕处理期间的相应事件块中处理。
选择屏幕和逻辑数据库
标准选择屏幕也可以在逻辑数据库中定义。如果可执行程序与逻辑数据库关联,其标准选择屏幕由逻辑数据库及其自己的数据库组成。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。