* 定义函数需要的变量
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:选择结果