SELECT-OPTION Einschränkung der Selektion

INITIALIZATION.


  PERFORM restrict USING 'PA_STAT'.
  PERFORM restrict USING 'PNO_STAT'.
  PERFORM restrict USING 'PO_STAT'.

  SELECT-OPTIONS pa_stat  FOR tj02t-txt04 NO INTERVALS.
  SELECT-OPTIONS po_stat  FOR tj02t-txt04 NO INTERVALS.
  SELECT-OPTIONS pno_stat FOR tj02t-txt04 NO INTERVALS.
FORM restrict USING lv_param.
  "EXIT.
  "USING p1.
  "CHANGING p2.

  TABLES sscr.
  DATA t_restrict TYPE sscr_restrict.
  DATA l_ass      TYPE sscr_ass.
  DATA l_opt      TYPE sscr_opt_list.
*-- OptionsTable bauen
  CLEAR l_opt.
  l_opt-name       = 'OL_TEST'. "1 Routine für alle Restriktionen lv_param. "'OL_' && lv_param.
  l_opt-options-eq = 'X'.  "Nur Einzelwerte zulassen
  APPEND l_opt TO t_restrict-opt_list_tab.

*-- Zuordnung zu den Selektionsfeldern
  CLEAR l_ass.
  MOVE: 'S'         TO l_ass-kind,
        lv_param TO l_ass-name,
        'I'         TO l_ass-sg_main,
        l_opt-name TO l_ass-op_main.
  APPEND l_ass TO t_restrict-ass_tab.

*-- Restriktionen aktivieren
  CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
    EXPORTING
      restriction            = t_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.
    "Fehler
  ENDIF.


ENDFORM.                    " restrict

name:

Name der generierten Routine

options-eq

Nur Einzelwerte zulassen

Hier können alle Varianten kombiniert werden (Mehrfachauswahl)

kind:

S Einschränkung auf die Selection-Options pa_stat

B Einschränkung auf den gesamten Blcok

A Einschränkung für alle (Selection-Options)

name:

Name der Selection-Options oder des Blocks

sg_main:

I Nur Inklusive Zeichen

op_main:

Name der Routine

Obiger Code für zur Einschränkung auf:

Einzelwerte Einschließen.

Nicht erlaubt ist:

Einzelwerte Ausschließen.

Intervalle Einschließen

Intervalle Ausschließen