ABAP屏幕编程的一些问题

简要介绍: 此处的屏幕指的是SAP GUI中的屏幕, 屏幕又叫做dynpro动态程序, ABAP的屏幕的主要组成部分有GUI Status, GUI Title, Screen等, 简单的屏幕元素如输入框, check box, radio button,等,还有复杂些的如Table control可用来批量修改数据, Tabstrip 选项卡用来在一个区域内显示一组意义相关屏幕. 而ABAP屏幕处理中最重要的事件就是PBO PAI,前者用来动态处理屏幕展示前屏幕元素的属性,初始化数据等, 后者则跟处理用户之间的交互.

1. 屏幕字段的双击处理

在BAPI事务中可以看到许多带有下划线的字段, 字段可以双击, 并跳转到其它事务的屏幕去. 如图:

clip_image002

双击可以跳转到SE37,Function module的详细页:

clip_image004

如何实现呢?

1> 在screen painter 中勾选Responds to db click属性

clip_image006

这样下划线可以出现, 但为了处理双击事件,还需要在GUI Status中设置选中的function code.

clip_image008

这样就可以在屏幕PAI中处理双击触发的function CHOOSE.

2. Table control回车添加数据不成功

如果采用Table control wizard生成一个Table control, 且对应的内表为空, 直接在table control中填写数据时如下:

clip_image010

回车并不能将填写的数据填充到内表中.一回车数据就没了. 这是因为回车后触发屏幕PAI, 屏幕流中是通过LOOP 内表来传递输入的值到程序中的.

所以最好在初始化时,在内表中添加一行记录.

APPEND INITIAL LINE TO gt_sflight.

3. SCREEN 系统内表

屏幕上的输入框等元素都对应一个SCREEN结构, 这个结构的一些属性如input,output,group等可以在屏幕处理中动态更改. SCREEN结构:

clip_image012

在新的debugger中只能查看结构screen的内容, 如何查看整个内表SCREEN呢?

New Debugger

clip_image014

clip_image016

切换到Classic Debugger, 然后在菜单Goto中找到SCREEN Table

clip_image018

clip_image020

4. 有时候,屏幕上输入字段的F4帮助没有出现, 可能原因:

1> 输入字段类型,如果是日期的话,需要设置属性Format为Date yyyymmdd

clip_image022

2> Input属性为possible, Poss. Entries key 属性为Show at selection.

clip_image024

所以在生成屏幕元素时最好是通过Get from dictionary这样可以将字段对应的数据元素,domain等信息载入, 如图

clip_image026

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值