天天看点

POPUP_TO_DECIDE_LIST 弹出选择框

效果如图

POPUP_TO_DECIDE_LIST 弹出选择框

代码

* 定义函数需要的变量

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:选择结果