专业的编程技术博客社区

网站首页 > 博客文章 正文

科莱特 | SAP ABAP模块内容之屏幕设计(七)

baijin 2024-09-11 00:33:12 博客文章 13 ℃ 0 评论

3、屏幕设计

在本实践中,有程序执行初始界面,还有订单维护的界面,因此需要建立2个屏幕,本步骤可参考实践9A1,使用屏幕设计器(SE51),完成各个屏幕的设计。

3.1、初始屏幕100

1)屏幕属性

图9- 40 屏幕100的属性

2)屏幕格式设计

点击工具栏的“格式”后,在显示“屏幕绘制器”界面中添加屏幕元素,结果如图9-41。

图9- 41屏幕100的格式

3)屏幕元素清单

点击工具栏的“元素列表”按钮,将返回到屏幕定义的“元素清单”中,此处将列出界面中所包含的元素,以及各元素的具体属性,如图9-42。

图9- 42 屏幕100包含的元素

4)屏幕逻辑流

点击“逻辑流”页签,逻辑流的代码如下。

在如上屏幕100的“逻辑流”PBO事件中,包含一个MODULE:status_0100,此MODULE在屏幕输出前执行,包括设置GUI、标题栏、变量初始值等,具体代码将在后续屏幕100的PBO事件代码中实现。

PAI事件中,则包含了3个MODULE:

over_and_out_0100,此MODULE是在屏幕100中点击“退出”时的响应,并加上AT EXIT-COMMAND关键字,以在自动字段检查之前调用模块(对应按钮需将类型设置为E);如果PAI中没有此MODULE,则会点击“退出”按钮时还会执行后面的语句,如检查输入的订单编号,而这是多余的。

validate_input,此MODULE是继续响应点击按钮,以对输入的订单编号进行检查;如点击“新建”时,输入的订单编号在数据表中已存在,则返回相应提示。

main_pai_0100,此MODULE是继续对点击不同的按钮进行响应,如点击新建或修改、显示,则进入屏幕150,如点击删除,则对指定的订单进行删除。

CHAIN……ENDCHAIN,通过CHAIN语句,当输入的编号发生变化时,则调用MODULE:validate_input进行检查。

3.2、订单明细屏幕150

1)屏幕属性

图9- 43 屏幕150的属性

2)屏幕格式设计

通过“屏幕绘制器”对屏幕150添加的屏幕元素结果,如图9-44所示。

图9- 44屏幕150的格式

3)屏幕元素清单

点击工具栏的“元素列表”按钮,将返回到屏幕定义的“元素清单”中,此处将列出界面中所包含的元素,以及各元素的具体属性,如图9-45。

图9- 45 屏幕150包含的元素

4)屏幕逻辑流

点击“逻辑流”页签,逻辑流的代码如下。

在如上屏幕150的“逻辑流”PBO事件中,包含2个MODULE:

status_0150,此MODULE在屏幕150输出前执行,包括设置GUI、标题栏、元素显示属性等,具体代码将在后续屏幕150的PBO事件代码中实现。

items_0150_change_field_attr,此MODULE是设置字段的显示,通过LOOP AT语句读取和填充数据到屏幕150的界面元素后,根据不同的操作(新建、修改、显示)设置元素显示状态(可更改、只显示)

PAI事件中,则包含了3个MODULE:

CHAIN……ENDCHAIN,通过CHAIN语句,当订单编号、客户编号、雇员编号、订单日期、交货日期值发生变化时,则调用MODULE:set_change_0150设置界面元素的显示状态。

set_change_0150,此MODULE是通过对变量“data_chg_150”的赋值,设置界面元素的显示状态(X则为可更改)。

items_0150_modify,此MODULE结合LOOP AT语句,调用子程序在维护订单明细数据后,更新内表数据。

user_command_0150,此MODULE是对点击不同的按钮进行响应。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表