头图

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不能直接编辑,这也意味着某些预定义设置无法禁用。例如,输入字段总是模板,其中某些字符("!"、"="、"_")具有特殊功能。

选择屏幕任务

选择屏幕基本上有两个任务:

  1. 它们使用户能够输入参数(单个值)和选择标准(表格形式的间隔选择)。
  2. 它们代表可执行接口程序,其输入字段可以由调用程序通过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处理期间,运行时环境会触发特定事件,这些事件可以在选择屏幕处理期间的相应事件块中处理。

选择屏幕和逻辑数据库

标准选择屏幕也可以在逻辑数据库中定义。如果可执行程序与逻辑数据库关联,其标准选择屏幕由逻辑数据库及其自己的数据库组成。


注销
1k 声望1.6k 粉丝

invalid