Extensions bei Select-Options beschränken
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Manchmal hat man z. B. die Aufgabenstellung, dass ein Select-Options zwar mehrere Einzelwerte einschließen soll, aber kein Intervall oder keine Werte, die auszuschließen sind. Dies lässt sich über den Funktionsbaustein SELECT_OPTIONS_RESTRICT realisieren. Dieser Aufruf muss innerhalb des Ereignisses INITIALIZATION erfolgen. Hier werden die zwei Select-Options S_LFRGN und S_VBELN lediglich auf (mehrere) Einzelwerte beschränkt.
Coding
*----------------------------------------------------------------------* * INITIALIZATION *----------------------------------------------------------------------* INITIALIZATION. PERFORM select_options_restrict. *&---------------------------------------------------------------------* *& Form SELECT_OPTIONS_RESTRICT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM select_options_restrict. TYPE-POOLS: sscr. * Select-Option wird auf erlaubte Restriktionen eingeschränkt DATA: lt_restrict TYPE sscr_restrict, lt_opt_list TYPE sscr_opt_list, lt_ass TYPE sscr_ass. CLEAR lt_opt_list. lt_opt_list-name = 'EQ'. lt_opt_list-options-eq = 'X'. APPEND lt_opt_list TO lt_restrict-opt_list_tab. lt_ass-kind = 'S'. lt_ass-name = 'S_LFRGN'. lt_ass-sg_main = 'I'. lt_ass-sg_addy = ' '. lt_ass-op_main = 'EQ'. lt_ass-op_addy = 'EQ'. APPEND lt_ass TO lt_restrict-ass_tab. lt_ass-kind = 'S'. lt_ass-name = 'S_VBELN'. lt_ass-sg_main = 'I'. lt_ass-sg_addy = ' '. lt_ass-op_main = 'EQ'. lt_ass-op_addy = 'EQ'. APPEND lt_ass TO lt_restrict-ass_tab. CALL FUNCTION 'SELECT_OPTIONS_RESTRICT' EXPORTING restriction = lt_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. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. ENDFORM. " SELECT_OPTIONS_RESTRICT
Selektionsbildschirm
Extension Select-Options
Aufgrund des Gebrauchs des Funktionsbausteins SELECT_OPTIONS_RESTRICT wird nun noch lediglich die Möglichkeit angeboten, mehr Einzelwerte zu pflegen.