ABAP SELECTION-SCREEN 选择屏幕

举报
雨绸缪 发表于 2023/05/26 17:59:51 2023/05/26
【摘要】 本节介绍如何使用 SELECTION-SCREEN 指令在 SAP 中从头开始为初学者创建选择屏幕。创建选择屏幕时,使用了三个主要的 ABAP 语句。PARAMETERS:参数指令以创建单个输入项。SELECT-OPTIONS:然后,创建一个可以指定最大值和最小值的项。SELECTION-SCREEN,本页有说明,主要定义布局。 本页解释了从 1 开始的 SELECTION-SCREEN 指...

本节介绍如何使用 SELECTION-SCREEN 指令在 SAP 中从头开始为初学者创建选择屏幕。

创建选择屏幕时,使用了三个主要的 ABAP 语句。

  • PARAMETERS:参数指令以创建单个输入项。
  • SELECT-OPTIONS:然后,创建一个可以指定最大值和最小值的项。
  • SELECTION-SCREEN,本页有说明,主要定义布局。 本页解释了从 1 开始的 SELECTION-SCREEN 指令的作用和用法。

什么是选择屏幕

SELECTION-SCREEN 指令有两个主要目的:

  • 一种是在定义选择屏幕时
  • 另一种是在定义选择屏幕的布局时。

在实践中,它几乎总是用于后一种布局定义,但在此页面上,我们将从选择屏幕定义进行系统解释。

有些人在定义选择屏幕时可能会感到困惑。但是,这只是按 F4 帮助时出现的“第一个选择屏幕”、“第二个选择屏幕”和“弹出屏幕”。

由于弹出屏幕不是由 SAP 事先准备的,因此有必要在 ABAP 代码中从头开始定义它们。 在本章中,我们将解释如何创建主选择屏幕以及如何从头开始创建弹出屏幕。

SELECTION-SCREENBEGIN OF SCREEN (Dynpro 编号) .
・・・・
SELECTION-SCRENNEND OFSCREEN(Dynpro 编号) .

屏幕编号类似于管理选择屏幕的 ID。 即使称为选择屏幕,除了主选择屏幕外,它还可能具有多个屏幕,例如弹出窗口中显示的选择屏幕和第二个选择屏幕。

在这种情况下,您定义哪个选择屏幕? 操作适用于哪个选择屏幕? 为了区分它们,ABAP 使用屏幕编号。

在可执行程序中,“屏幕编号 1000”的标准选择屏幕在事件发生时显示“在选择屏幕”时显示,因此,如果不需要定义主选择屏幕以外的第二个选择屏幕,则无需定义主选择屏幕本身。

如果要在功能模块或包含程序中定义选择屏幕,请指定任何屏幕编号。

AT SELECTION-SCREEN

事件是用户控制键盘、单击鼠标等通过对系统进行一些更改来更改系统状态的事件。

SELECTION-SCREEN BEGIN OF SCREEN (Dynpro 编号)  AS WINDOW.
・・・・
SELECTION-SCRENN END OF SCREEN (Dynpro 编号) AS WINDOW.

简单地说,模式对话框是一个“弹出屏幕”。

可以使用由 F4 帮助等调用并显示在主选择屏幕前面的图像。 但是,请注意,在模式对话框的情况下,您将无法在显示屏幕时与其他屏幕进行交互。

定义模式对话框时,只需将“AS WINDOW”作为选项编写,如上所述。

定义的选择屏幕被调用并与 CALL SELECTION-SCREEN 命令一起使用。

SELECTION-SCREENBEGIN OF SCREEN (Dynpro 编号) SUBSCREEN.
・・・・
SELECTION-SCRENNEND OFSCREEN(Dynpro 编号) SUBSCREEN.

子屏幕是根据特定屏幕的字段值可能会显示也可能不会显示的屏幕。 (换句话说,它就像嵌入在屏幕中的屏幕。 )

当您想根据主屏幕的输入值选择不同的屏幕时,使用它。

请注意,定义为子屏幕的屏幕不能使用 CALL SELECTION-SCREEN 指令调用。

CALL SELECTION-SCREEN

如何使用“调用选择屏幕”指令调用定义的选择屏幕。使用 `CALL SELECTION-SCREEN (Dynpro 编号).

可以控制何时显示模式对话框。

从这里开始,我将解释如何将其用作布局定义。布局定义是定义以下红框的图像。 将多个输入字段合并为一个,绘制线条并留出空格。 或者,定义输入字段的标题等。

如果您不定义布局(不使用 SELECTION-SCREEN 指令)并仅使用 PARAMETERS 指令创建输入项,它将如下所示。

通过比较上述两个图像可以看到,布局会有所不同,具体取决于布局是否使用 SELECTION-SCREEN 定义。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。