Chinaunix首页 | 论坛 | 博客
  • 博客访问: 346085
  • 博文数量: 25
  • 博客积分: 3011
  • 博客等级: 中校
  • 技术积分: 367
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-28 13:22
个人简介

生命在于折腾

文章分类

全部博文(25)

文章存档

2015年(1)

2011年(3)

2010年(4)

2009年(17)

我的朋友

分类: 敏捷开发

2009-08-31 16:04:49

在有些程序中我们发现,如果用户选择了多个选项中的其一(单选框),则屏幕的外观将会有所调整。
这是怎么实现呢?我们来看下面的例子。
 
PARAMETERS: p1 TYPE c RADIOBUTTON GROUP g1 USER-COMMAND uc,
            p2 TYPE c RADIOBUTTON GROUP g1 DEFAULT 'X'.
PARAMETERS: p_werks TYPE werks MODIF ID ty1,
            p_matnr TYPE matnr MODIF ID ty2.
 
AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    CASE screen-group1.
      WHEN 'TY1'.
        IF p1 IS INITIAL.
          screen-active = '0'.
        ELSE.
          screen-active = '1'.
        ENDIF.
      WHEN 'TY2'.
        IF p2 IS INITIAL.
          screen-active = '0'.
        ELSE.
          screen-active = '1'.
        ENDIF.
    ENDCASE.
    MODIFY SCREEN.
  ENDLOOP.
 
AT SELECTION-SCREEN.
  CLEAR sy-ucomm.
 
关于程序的说明:
(1)该程序可以根据用户选择了P1或P2,决定显示工厂还是物料号在屏幕上;
(2)这里 USER-COMMAND uc是关键,它代表用户点击 RADIOBUTTON GROUP g1上的任一选项时,都将触发PAI,并且Function code为 'UC'。
    在CLEAR sy-ucomm.这里打个断点即可观察sy-ucomm的值。
(3)MODIF ID 用于对屏幕元素进行分组,这在屏幕元素较多时更有用处,逻辑清晰。
    这里的PBO(AT SELECTION-SCREEN OUTPUT)就是根据用户的选择,决定不同组的屏幕元素是隐藏或显示。
(4)与Radio Button(单选框)相似,Check Box(复选框)和List Box(下拉框)也可以触发PAI。不过普通的屏幕编辑框则不支持,必须借助回车才可以触发PAI。
阅读(15068) | 评论(8) | 转发(0) |
给主人留下些什么吧!~~

whtsogreat2016-10-20 16:19:14

您好,如果p_werks是日期类型,但输入不是日期的类型(比如输入123),这时候再点到p2上就会报格式不对的错并且不能继续执行,对于这种输入类型不符合的如何能让程序继续执行呢?

chinaunix网友2009-09-17 16:01:51

推荐视频会议、视频直播、视频面试、视频招聘、视频监控等视频系统: http://www.eyesom.com/products/var.htm

chinaunix网友2009-09-08 17:30:42

一个月前我用到过这段代码,嘿嘿

chinaunix网友2009-09-01 16:46:43

你那个 IDOC的学习 是参照书籍学的吗?还是教材学的啊? 我学习的时候 好零散,组织不起来 看了你的文章好多了额

chinaunix网友2009-08-31 17:04:20

自己试一下就知道什么样子了阿