天天看點

POPUP_TO_DECIDE_LIST 彈出選擇框_SAP劉夢_新浪部落格

效果如圖

POPUP_TO_DECIDE_LIST 彈出選擇框_SAP劉夢_新浪部落格

代碼

* 定義函數需要的變量

DATA: BEGIN OF spoplist OCCURS 15.

        INCLUDE STRUCTURE spopli.

DATA: END OF spoplist.

DATA: antwort TYPE c.

* 添加選擇參數

spoplist-varoption = '白菜'.

APPEND spoplist.

spoplist-varoption = '胡蘿蔔'.

APPEND spoplist.

spoplist-varoption = '槐樹葉'.

APPEND spoplist.

spoplist-varoption = '選項 '.

*spoplist-selflag = 'X'.

CALL FUNCTION 'POPUP_TO_DECIDE_LIST'

  EXPORTING

    titel            = '請選擇小白兔最喜歡吃啥'

    textline1        = '小兔子真的喜歡吃胡蘿蔔嗎'

    textline2        = '其實不喜歡吃的'

    mark_max         = 3                           "最大選擇數    "這個不指派,預設是零!!

    mark_flag        = 'X'

  IMPORTING

    answer           = antwort

  TABLES

    t_spopli         = spoplist

  EXCEPTIONS

    too_much_answers = 1

    too_much_marks   = 2.

IF sy-subrc = 2.

  WRITE: '您選的太多了.'.

ENDIF.

* 取消

IF antwort = 'A'.

  WRITE: '取消.'.

ELSE.

  WRITE: '您選擇了:'.

  LOOP AT spoplist WHERE selflag = 'X'.

    WRITE: / spoplist-varoption.

  ENDLOOP.

ENDIF.

【特别注意】:mark_max  不寫預設是零,那麼你選什麼 selflag 都是空的。是以一定要給它指派

參數介紹

Funtion:POPUP_TO_DECIDE_LIST 

                功能:彈出供選擇視窗,最多為25個選項選擇可以是單選或是多選

import:

cursorline: 預設光标所在行

mark_flag: 選擇框标志,如果是‘X’表示是checkbox,如果是空,表示是radio

mark_max: 最大選擇的選項個數,

start_col:起始行

start_row: 起始列,用來定位彈出視窗的位置,

textline1:文本行

textline2:文本行,

testline3:文本行,

dispaly_only:僅顯示

export:

answer:a:取消,

tables:

t_spopli:選擇結果

其他的可能相關的函數,可以到下面的package去找

POPUP_TO_DECIDE_LIST 彈出選擇框_SAP劉夢_新浪部落格

歡迎關注訂閱号:SAP學習記錄 (SAPlearning )

POPUP_TO_DECIDE_LIST 彈出選擇框_SAP劉夢_新浪部落格