Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
debianfan
Code: Alles auswählen.
TYPES tt_range_datum TYPE RANGE OF sy-datum.
TYPES tt_range_uzeit TYPE RANGE OF sy-uzeit.
TYPES ts_range_uzeit type LINE OF tt_range_uzeit.
SELECT-OPTIONS s_datum FOR sy-datum.
SELECT-OPTIONS s_uzeit FOR sy-uzeit.
START-OF-SELECTION.
PERFORM check
TABLES s_uzeit
USING s_datum[].
FORM check
TABLES it_range_uzeit type tt_range_uzeit
USING it_range_datum TYPE tt_range_datum.
Write: / 'Datum'.
LOOP AT it_range_datum INTO DATA(selopt).
WRITE: / selopt-sign,
selopt-option,
selopt-low,
selopt-high.
ENDLOOP.
write: / 'Uhrzeit'.
LOOP AT it_range_uzeit INTO selopt.
WRITE: / selopt-sign,
selopt-option,
selopt-low,
selopt-high.
ENDLOOP.
ENDFORM.
Code: Alles auswählen.
REPORT zslg_type_range_of_selopt.
* um auf TABLES zu verzichten, Typdeklaration mit den Feldern für die Selopts
TYPES:
BEGIN OF ty_selection_s,
matnr TYPE matnr,
END OF ty_selection_s.
* Typ für die Formroutine
TYPES:
ty_selopt_matnr_t TYPE RANGE OF matnr.
* global definierte Struktur wegen des Verzichts auf TABLES Anweisung
DATA:
gs_selection TYPE ty_selection_s.
SELECT-OPTIONS: s_matnr FOR gs_selection-matnr.
START-OF-SELECTION.
PERFORM get_matnr USING s_matnr[].
*&---------------------------------------------------------------------*
*& Form get_matnr
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PT_MATNR text
*----------------------------------------------------------------------*
FORM get_matnr USING pt_matnr TYPE ty_selopt_matnr_t.
ENDFORM. "get_matnr
Code: Alles auswählen.
TYPES tt_range_datum TYPE RANGE OF sy-datum.
SELECT-OPTIONS s_datum FOR sy-datum.
CLASS test DEFINITION.
PUBLIC SECTION.
CLASS-METHODS check IMPORTING it_selopt TYPE rsdsselopt_t.
ENDCLASS.
CLASS test IMPLEMENTATION.
METHOD check.
WRITE: / 'Datum'.
LOOP AT it_selopt INTO DATA(selopt).
WRITE: / selopt-sign,
selopt-option,
selopt-low,
selopt-high.
ENDLOOP.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
test=>check( CONV #( s_datum[] ) ).
So hab ich es auch gelöst - Dankeewx hat geschrieben:Bei typisierten Parametern musst die Select-Options leider exakt so definieren, wie sie mit SELECT-OPTIONS auf den entsprechenden Typen definiert wird.
Du kannst es so lösen:Code: Alles auswählen.
TYPES tt_range_datum TYPE RANGE OF sy-datum. TYPES tt_range_uzeit TYPE RANGE OF sy-uzeit. TYPES ts_range_uzeit type LINE OF tt_range_uzeit. SELECT-OPTIONS s_datum FOR sy-datum. SELECT-OPTIONS s_uzeit FOR sy-uzeit.