赛跑网

 找回密码
 注册

QQ登录

只需一步,快速开始

快捷登录

查看: 4114|回复: 18

赛跑网-选择屏幕实例二

[复制链接]
发表于 2012-5-14 18:51:24 | 显示全部楼层 |阅读模式
TABLES : LFA1 ,t001w.
SELECTION-SCREEN BEGIN OF BLOCK b1
                         WITH FRAME
                         TITLE text-001.
SELECTION-SCREEN SKIP.

PARAMETERS:  p_insert  RADIOBUTTON GROUP  z USER-COMMAND f  DEFAULT 'X' ,
             p_p  RADIOBUTTON GROUP z,
             p_delete  RADIOBUTTON GROUP z ,
             p_modify  RADIOBUTTON GROUP z ,
             p_disp    RADIOBUTTON GROUP  z ." DEFAULT 'X'.

SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK b2
                         WITH FRAME
                         TITLE text-002.
SELECTION-SCREEN SKIP.

SELECT-OPTIONS : s_lifnr FOR  lfa1-lifnr  MODIF ID isi ,
                 s_werks FOR  t001w-werks  MODIF ID isi.
PARAMETERS p_file(128) TYPE c MODIF ID is OBLIGATORY.
SELECTION-SCREEN END   OF BLOCK b2.

SELECTION-SCREEN END   OF BLOCK b1.

***动态得到路径的事件块
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file  .
***动态得到文件路径
  CALL FUNCTION 'WS_FILENAME_GET'
   EXPORTING
*   DEF_FILENAME           = ' '
    def_path               = 'C:\ '
    mask                   = ',Excel files (*.XLS),*.XLS,'
    mode                   = 'O'
    title                  = '请选择需要导入的数据文件 '
    IMPORTING
    filename               = p_file
*   RC                     =
   EXCEPTIONS
     inv_winsys             = 1
     no_batch               = 2
     selection_cancel       = 3
     selection_error        = 4
     OTHERS                 = 5.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
游客,如果您要查看本帖隐藏内容请回复

    IF p_delete = 'X' OR p_modify = 'X' OR p_disp = 'X' .
      IF screen-group1 = 'IS'.
        screen-input = '0'.
        screen-active = '0'.
      ENDIF.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.

最近访客

  • austin
    2022-03-24




上一篇:赛跑网-ABAP事件控制语句
下一篇:赛跑网-通过函数得到流水号
本楼点评(0) 收起
发表于 2012-5-14 21:10:36 | 显示全部楼层
先拷下来运行一下看看先
本楼点评(0) 收起
发表于 2012-5-19 17:15:38 | 显示全部楼层
先看看是什么功能
本楼点评(0) 收起
发表于 2012-5-19 17:34:32 | 显示全部楼层
1.PARAMETERS:  p_insert  RADIOBUTTON GROUP  z USER-COMMAND f  DEFAULT 'X'
中的参数USER-COMMAND是对整个组起作用,不是单独只对第一个RADIOBUTTON起作用。
2.AT SELECTION-SCREEN OUTPUT.
与AT SELECTION-SCREEN有什么区别呢?
好像加了USER-COMMAND 对AT SELECTION-SCREEN也可以起作用。
请李老师请教
本楼点评(0) 收起
 楼主| 发表于 2012-5-19 17:52:44 | 显示全部楼层
thp20000 发表于 2012-5-19 17:34
1.PARAMETERS:  p_insert  RADIOBUTTON GROUP  z USER-COMMAND f  DEFAULT 'X'
中的参数USER-COMMAND是对整 ...

1,USER-COMMAND是对整个组起作用。是对的!
2,有关AT SELECTION-SCREEN OUTPUT与AT SELECTION-SCREEN 的区别交给你一个判断的方法:将上述代码中的事件分别换成下面两种,然后运行程序,分别查看程序何时进入事件块。
      AT SELECTION-SCREEN OUTPUT.  "在选择屏幕出现之前和单击选择屏幕按钮会进入该事件块,
      BREAK-POINT.

      AT SELECTION-SCREEN .                "在选择屏幕出现之后和单击选择屏幕按钮会会进入该事件块
      BREAK-POINT.               
本楼点评(0) 收起
发表于 2012-6-16 19:02:37 | 显示全部楼层
参考参考
本楼点评(0) 收起
发表于 2012-7-22 20:12:03 | 显示全部楼层
本楼点评(0) 收起
发表于 2012-8-22 22:39:11 | 显示全部楼层
看看这个selection-screen的例子
本楼点评(0) 收起
发表于 2013-4-28 01:52:39 | 显示全部楼层

thanks

cx楼主辛苦啦,这个问题对我很重要
本楼点评(0) 收起
发表于 2013-4-30 22:08:29 | 显示全部楼层
好像很不错
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-5-1 07:01 , Processed in 0.199307 second(s), 57 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表