代码改变世界

AT LINE-SELECTION的用法

2012-09-17 11:43  VincentMK  阅读(3454)  评论(0编辑  收藏  举报

 AT LINE-SELECTION用于在报表输出时,点击某行时所产生的操作,响应的位置在整行。

具体应用时一般和 HIDE 连用。

HIDE的功能是抓取某个field在某行中的值,与sy-linno相关

REPORT  z_nian01 no standard page heading.

DATA: square TYPE i,
      cube   TYPE i.

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

AT LINE-SELECTION.
  WRITE: square, cube.

如果在应用中希望只是对某个field,点击有效,而不是整行,须使用如下的方式,参考示例:

REPORT  z_test01.

DATA:f_vbeln LIKE likp-vbeln.
DATA it_likp LIKE TABLE OF likp WITH HEADER LINE.

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

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

*----------------------------------------------报表联查
AT LINE-SELECTION.
  GET CURSOR FIELD  it_likp-vbeln VALUE f_vbeln.
  "加前置零
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = f_vbeln
    IMPORTING
      output = f_vbeln
    EXCEPTIONS
      OTHERS = 1.

  READ TABLE it_likp WITH KEY vbeln = f_vbeln.
  IF sy-subrc = 0.
    SET PARAMETER ID  'VL' FIELD it_likp-vbeln.
    CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.
  ENDIF.

 

继续进步吧。
2012.09.17 秋高气爽。