ABAP SCREEN INTERFACE

原贴地址:http://scnblogs.techweb.com.cn/abaplv/archives/25.html

 

Gui status是由menu bar standard toolbar-application toolbar和function key settings组成的,每个screen都可以有一个或多个gui statuses。System和Help menu存在于SAP中的任何一个screen。Application toolbar用来存放screen中常用的功能,standard tool bar在SAP系统中的每个屏幕都一样。如果在screen中standard toolbar的功能不可用那么它icon就会以灰色显示。Gui title和status组成了用户界面,当你添加一个新的gui title或status,你必须重新生成用户界面。

可以通过三种方式来创建title:

l         From the object list in the object navigator

l         From the menu painter

l         By forward navigation –from the ABAP editor

Title的最大程度为20个character。

可以通过place holder &在title中加入变量,一个title中最多可以设置9个变量。语句如下:

SET TITLEBAR  <title_name> WITH <&1>,…<&9>

当前的title bar存储在sy-title中。

从技术角度来讲,一个status是指向menu bar certain key assignments和application toolbar的指针。一个单独的组件(比如一个menu bar)可以被不止一个GUI status使用。GUI status是ABAP PROGRAM objects用于screen和list。通过key setting你可以把特定的function分配给function keys和pushbuttons。Key settings有几种不同的类型:screen,dialog box,和list in dialog box。你可以把functions分配给reserved function keys,recommended function keys和freely assigned function keys。Reserved function keys显示在screens或list的standard toolbar上。如果function分配给了一个function key你还可以把它分配到application toolbar的一个button上,application toolbar上最多能放35个button。如果你把function分配给了一个standard toolbar,它就会自动被分配给一个reserved function key。只有你给function分配了function key之后你才可以在application toolbar上显示这个function。在menu painter中可以通过edit->insert->separator line在application toolbar的button之间插入separator。Menu entry可以是function,separator或者另外一个menu。同application toolbar也可以在menu中插入separator。要创建submenu只要在右边字段中输入名字即可。为了保持一致性,你应该复用已存在的 menu bars,application settings和key settings。Menu painter管理这些链接,以便保证一处改动其他地方都能够体现。你也可以使用standard menu entries然后修改它。当你为standard toolbar的reserved functions分配function时应当与SAP System functions保持一致。在menu painter中你可以include已存在的key settings, application toolbars或者menu bars。如果要这么做的话应当按照从下往上的顺序定义。初始情况下所有的function都是inactive的,只应当activate相关的 function。当你创建一个新的function时候你可以决定其他status用到这个function是否同样也被改变,它的初始状态是 inactive的。如果用户通过button, menu或function key触发了一个function,function code就会填入到OK_CODE中。为了避免不可预料的processing step,应当初始化同名的ok_code字段。通常使用的方法如下:MODULE save_ok INPUT.

                                        Save_ok = ok_code.

                                        CLEAR ok_code.

                    ENDMODULE.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值