效果如圖

代碼
* 定義函數需要的變量
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.
參數介紹
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:選擇結果