二维码

[report] AT LINE-SELECTION的GET CURSOR FIELD用法

Twilight发表于 2014-03-30 16:15Twilight 最后回复于 2014-03-30 16:15 [复制链接] 6363 0

AT LINE-SELECTION用于在报表输出时,点击某行时所产生的操作,响应的位置在整行。
具体应用时一般和 HIDE 连用。
HIDE的功能是抓取某个field在某行中的值,与sy-linno相关
lsind.jpg
图解屏幕触发流程

实例1.
  1. REPORT  ZDAMON_003.
  2. DATA: square TYPE i,
  3.       cube   TYPE i.

  4. START-OF-SELECTION.
  5.   FORMAT HOTSPOT."鼠标呈现手型
  6.   DO 10 TIMES.
  7.     square = sy-index ** 2.
  8.     cube   = sy-index ** 3.
  9.     WRITE / sy-index.
  10.     HIDE: square, cube.
  11.   ENDDO.

  12. AT LINE-SELECTION.
  13.   WRITE: square, cube.
复制代码

如果在应用中希望只是对某个field,点击有效,而不是整行,须使用如下的方式,参考实例2.
实例2.
  1. DATA:f_vbeln LIKE likp-vbeln.
  2. DATA it_likp LIKE TABLE OF likp WITH HEADER LINE.

  3. START-OF-SELECTION.
  4.   FORMAT HOTSPOT."鼠标呈现手型
  5.   SELECT  vbeln  ernam
  6.      INTO CORRESPONDING FIELDS OF TABLE it_likp
  7.      FROM likp.

  8.   LOOP AT it_likp FROM 1 TO 5 .
  9.     ULINE AT /(43). "输出指定长度的线
  10.     WRITE: /  sy-vline,it_likp-vbeln,sy-vline,it_likp-ernam,sy-vline,sy-tabix,sy-vline.
  11.   ENDLOOP.
  12.   ULINE AT /(43).

  13. *----------------------------------------------报表联查
  14. AT LINE-SELECTION.
  15.   GET CURSOR FIELD  it_likp-vbeln VALUE f_vbeln.
  16.   "加前置零
  17.   CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
  18.     EXPORTING
  19.       input  = f_vbeln
  20.     IMPORTING
  21.       output = f_vbeln
  22.     EXCEPTIONS
  23.       OTHERS = 1.

  24.   READ TABLE it_likp WITH KEY vbeln = f_vbeln.
  25.   IF sy-subrc = 0.
  26.     SET PARAMETER ID  'VL' FIELD it_likp-vbeln.
  27.     CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.
  28.   ENDIF.
复制代码
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

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