SELECT-OPTIONS was used by ABAP Developer frequently and you have familiar for SELECT-OPTIONS extension such as NO INTERVAL, NO-EXTENSION but how to restrict range if user select range tab.
Now how to restrict Multiple Selection, for sample case, you only need to display Select Single Value and the others must be hidden. You can use function module SELECT_OPTIONS_RESTRICT. Write this ABAP Code in ABAP Selection-Screen Event INITIALIZATION.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
DATA: lw_opt_list TYPE sscr_opt_list, lw_restrict TYPE sscr_restrict, lw_ass TYPE sscr_ass. CONSTANTS: lc_opt_list TYPE rsrest_opl VALUE 'OPT_LIST', lc_s TYPE rsscr_kind VALUE 'S', lc_mat TYPE blockname VALUE 'S_OBJID', "<-Change to your select-option lc_inc TYPE c VALUE 'I'. lw_opt_list-name = lc_opt_list. lw_opt_list-options-bt = space. lw_opt_list-options-eq = 'X'. APPEND lw_opt_list TO lw_restrict-opt_list_tab. lw_ass-kind = lc_s. lw_ass-name = lc_mat. lw_ass-sg_main = lc_inc. lw_ass-op_main = lc_opt_list. APPEND lw_ass TO lw_restrict-ass_tab. CALL FUNCTION 'SELECT_OPTIONS_RESTRICT' EXPORTING restriction = lw_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. |
This is the result.