HIDE语句在清单屏幕(List)中的应用

来源:互联网 发布:xp不能映射网络驱动器 编辑:程序博客网 时间:2024/05/16 09:03
在清单屏幕(List)中,支持多级List,在AT LINE-SELECTION事件中,通过WRITE语句可以产生子List,在这个过程中,我们通常都需要判断用户是通过点击上级List中的哪个项目来引发AT LINE-SELECTION事件的。
虽然我们可以通过GET FIELD语句或是sy-cucol sy-curow等来得到用户点击的位置之后再使用READ LINE语句来取得需要的数据,但是最简单的方法还是使用HIDE语句。
  HIDE语句会将指定的数据保存在一个全局数据区域中,当用户点击清单中的某行从而引发AT LINE-SELECTION事件时,系统会自动从全局数据区域中取得保存的数据放入变量中,从而在AT LINE-SELECTION事件中可以直接判断变量的值来进行处理。
  需要注意的,HIDE语句保存的数据与行有关,所以,HIDE语句与相关的WRITE语句之间不能有换行出现,否则会导致错误。
  WRITE: wa-werks, /.
  HIDE: wa-werks, wa-name1.
下面是一个使用HIDE的简单示例:
  DATA: carrier     TYPE spfli-carrid,
     connection  TYPE spfli-connid.

  START-OF-SELECTION.
   SELECT carrid connid
    FROM spfli
    INTO (carrier, connection).
    WRITE: / carrier HOTSPOT, connection HOTSPOT.
   HIDE:  carrier, connection.
  ENDSELECT.

  AT LINE-SELECTION.
   SET PARAMETER ID: 'CAR' FIELD carrier,
             'CON' FIELD connection.
  CALL TRANSACTION 'DEMO_TRANSACTION'.

原创粉丝点击