Variante 1 (DATA)
DATA: lv_matnr TYPE matnr.
* Parameterfeld von ... bis mit Dictionary-Type
SELECT-OPTIONS: so_matnr FOR lv_matnr DEFAULT '0000000001' TO '1000000000'.
START-OF-SELECTION.
* so_matnr ist eine itab mit Kopfzeile
IF lines( so_matnr ) > 0.
* erstes Element der itab ausgeben
WRITE: / so_matnr[ 1 ]-sign, so_matnr[ 1 ]-option, so_matnr[ 1 ]-low, so_matnr[ 1 ]-high.
ENDIF.
Variante 2 (sy-datum)
* von 01.01.1999 bis Systemdatum
SELECT-OPTIONS: so_date FOR sy-datum DEFAULT '19990101' TO sy-datum.
START-OF-SELECTION.
* so_date ist eine itab mit Kopfzeile
IF lines( so_date ) > 0.
* erstes Element der itab ausgeben
WRITE: / so_date[ 1 ]-sign, so_date[ 1 ]-option, so_date[ 1 ]-low, so_date[ 1 ]-high.
ENDIF.
Variante 3 (INITIALIZATION)
SELECT-OPTIONS: so_date FOR sy-datum.
INITIALIZATION.
* Initialwerte für so_date setzen
so_date[] = VALUE #( ( sign = 'I'
option = 'BT'
low = sy-datum - 5
high = sy-datum
)
).
START-OF-SELECTION.
* so_date ist eine itab mit Kopfzeile
IF lines( so_date ) > 0.
* erstes Element der itab ausgeben
WRITE: / so_date[ 1 ]-sign, so_date[ 1 ]-option, so_date[ 1 ]-low, so_date[ 1 ]-high.
ENDIF.
Variante 4 (TABLES)
* Zugriff Tabellenobjekt aus dem Dictionary deklarieren,
* automatische Verknüpfung der Suchilfe auch zu and. Objekten des Selektionsbildschirms
* obsolet (sollte nicht mehr verwendet werden)
TABLES: mara.
* Parameterfeld von ... bis mit Dictionary-Type
SELECT-OPTIONS: so_matnr FOR mara-matnr DEFAULT '0000000001' TO '1000000000'.
START-OF-SELECTION.
* so_matnr ist eine itab mit Kopfzeile
IF lines( so_matnr ) > 0.
* erstes Element der itab ausgeben
WRITE: / so_matnr[ 1 ]-sign, so_matnr[ 1 ]-option, so_matnr[ 1 ]-low, so_matnr[ 1 ]-high.
ENDIF.