
 
 
代码
 
 
* 定义函数需要的变量
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去找

SAP学习记录 (SAPlearning )











