限制SELECT OPTION 选择值方式(屏幕事件 INITIALIZATION 中使用)
FUNCTION zs4_select_options_restrict.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" REFERENCE(IV_NAME) TYPE RSRESTRICT-OBJECTNAME OPTIONAL
*" REFERENCE(IS_OPTIONS) TYPE RSOPTIONS OPTIONAL
*"----------------------------------------------------------------------
CHECK iv_name NE space.
DATA(ls_options) = CORRESPONDING rsoptions( is_options ).
IF ls_options IS INITIAL.
ls_options-eq = 'X'.
ENDIF.
"VALUE rsoptions( bt = '' eq = 'X' )
DATA(ls_restrict) = VALUE sscr_restrict(
opt_list_tab = VALUE sscr_opt_list_tab(
( name = 'OPT_LIST'
options = VALUE rsoptions( bt = ls_options-bt
cp = ls_options-cp
eq = ls_options-eq
ge = ls_options-ge
gt = ls_options-gt
le = ls_options-le
lt = ls_options-lt
nb = ls_options-nb
ne = ls_options-ne
np = ls_options-np ) )
)
ass_tab = VALUE sscr_ass_tab(
( kind = 'S' name = iv_name sg_main = 'I' op_main = 'OPT_LIST' )
)
).
CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
EXPORTING
restriction = ls_restrict
EXCEPTIONS
too_late = 1
repeated = 2
selopt_without_options = 3
selopt_without_signs = 4
invalid_sign = 5
empty_option_list = 6
invalid_kind = 7
repeated_kind_a = 8
OTHERS = 9.
ENDFUNCTION.
屏幕事件 INITIALIZATION 中使用
实现效果如下: