HIDE語句在清單屏幕(List)中的應用

 在清單屏幕(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'.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章