ABAP DIALOG屏幕编程3

DIALOG屏幕编程1中阐述了DIALOG、PBO、PAI的概念并且对常用页面元素怎么用进行了演示。在DIALOG屏幕编程2中演示了响应用户指令、怎么添加下拉框、搜索帮助,实现屏幕跳转等。在这篇文章中会演示怎么创建表控件和标签条。


一、创建新屏幕

在同一个MODULE模块池中可以创建多块屏幕。

1、创建一块新的屏幕

在程序名处右键创建屏幕;或者屏幕文件夹处右键点击创建,填写屏幕编号。

2、输入屏幕的简短描述,可以修改下一个屏幕的编号,这在上一篇文章里有提到。

 3、文件清单处填写获取用户操作的变量名。

4、保存。

若获取用户操作的变量名和其他屏幕一致,在保存之后可能会又自动定义这个变量,去变量定义的地方删掉就可以了。 

5、增加屏幕跳转按钮。

a、为了后面演示方便,这里在0100里增加一个跳转按钮,点击后跳转至0200屏幕。

b、在0100用户操作处理的地方加入跳转语句。 

6、为了后续方便操作,将0200的菜单栏设置出来。 

DIALOG屏幕编程2中有演示。

二、创建表控件

Dialog表控件是与SAP GUI交互的组件,用于在用户界面中展示表格数据。通过这些控件,可以在SAP应用程序的屏幕中展示和处理表格数据。表控件通常用于显示和编辑多行数据。

在屏幕开发时,我们可以使用含向导的表控件,轻松的创建一个用于演示的表格出来。

1、创建新屏幕

我们可以在当前屏幕或者再创建一个屏幕用于显示表格,这里演示的时候创建一个新的屏幕0200。

2、 在布局选择表控件,拖出显示范围

3、按向导完成创建

a、启动页面点击继续。
b、填写表控制名称,建议以TAB_XXXX的形式。

c、表名称处选择显示用的表。
1)字典表:存于系统中的底表。
2)内部程序表:程序中所定义的内表,表工作区需要填对应的结构体。所以如果需要显示内表需要先定义已经对应的结构体类型也要定义出来。

d、 列定义处选择需要显示的列。

e、表控制属性处可以选择表的输入/输出属性。
1)只输出:只可以读数据,不可以进行修改数据。
2)输入控制:可以修改表数据,可以在创建后对单个列进行只读设置。

f、选择附加表维护功能处可以设置表是否可以滚动查看,可不可以插入/删除行,能不能全选。

g、创建时会产生一些文件,选择文件保存位置。建议按照模块摆。

h、继续,点击完成,创建成功。
i、完成之后跳转至布局页面,可以看到创建出来的表格,都是可编辑状态,点击列标题,可以更改文字描述。点击空白的地方悬停到边界处可以修改列宽。

j、 修改字段的只读属性。双击列的除了列标题的任意单元格,将Input改成not possible就行了。

k、可以看到在包含程序中生成了很多代码段。可以自己去阅读进行修改。主要是功能实现和用户指令相应。

4、结合一和二的操作最终实现效果

在0100点击查看学生信息跳转至0200。

在屏幕0200点击返回跳转至屏幕0100。

更复杂的功能实现可以自己添加,在空余的地方可以添加其他信息。

三、创建标签条

标签条(也叫做Tabstrip 或 Tab Control)是用户界面中常见的控件,用于在多个选项卡(Tab)之间切换。这种控件通常用于将多个信息或功能模块分组到一个屏幕中,以提高界面的组织性和可用性。

1、在布局中选择标签条(含向导),拖选出标签条范围。

2、启动页点击继续。

3、标签条控制名称页填写标签条名称。

4、标签标题定义处填写标签页的页签名。

5、标签页上的分配,子屏幕和功能代码是自动分配的,没有额外要求不需要进行更改。

6、每个标签页都有自己的PBO和PAI,这里给它的文件选择位置。

7、点击完成,完成创建。

8、标签页的类型是子屏幕。逻辑流中也有自己的PBO和PAI,也可以在布局中添加页面元素,也可以创建表控件和标签页。

 四、一些DIALOG开发补充内容 

1、FIELD与CHAIN&ENDCHAIN。

FIELD 字段名 MODULE 模块名."对字段进行处理

对一个字段进行处理的时候,我们使用关键字FIELD。FIELD关键字用于定义用户界面元素的输入字段。通过该字段,开发人员可以在屏幕(Dynpro)中显示、输入或修改数据。每个FIELD对应一个屏幕字段,它在ABAP代码中通常和数据表或结构中的字段绑定,通过这种方式与程序逻辑交互。

对于多个字段进行处理,比如联合查询时我们就需要使用到关键字CHAIN&ENDCHAIN

                                                              CHAIN.
                                                                    FIELD 字段名1.
                                                                    FIELD 字段名2.     .....
                                                                    MODULE 模块名.
                                                               ENDCHAIN.

2、关键字AT EXIT-COMMAND。

AT EXIT-COMMAND是一个特殊的事件,用于捕捉和处理用户在 SAP GUI 中触发的退出命令(如点击“取消”按钮、关闭窗口或按下“退出”按钮等)。这个事件通常在屏幕的 PAI 模块中使用,优先级最高,触发时会跳过前面的模块直接执行,用于在用户离开屏幕或退出当前程序时执行特定的逻辑。一般实现跳转屏幕操作。

a、方法一

AT EXIT-COMMAND.
  " 执行退出时的逻辑
ENDAT.

b、方法二 

MODULE 模块名 AT EXIT-COMMAND.

五、小结

DIALOG开发本身对于页面元素的处理并不麻烦,毕竟是可视化的,主要是要设计的合理,好用,并且注意其中的逻辑处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值