Code: Alles auswählen.
selection-screen begin of block blk1 with frame title text-000.
select-options: s_jahr for DBTAB-jahr.
selection-screen end of blk1.
Code: Alles auswählen.
select-options: s_gjahr for cosp-gjahr .
select single * from dbtab
into w_dbtab.
loop at s_gjahr.
if not
s_gjahr-low <= w_dbtab-strt and
s_gjahr-high >= w_dbtab-ende.
message e208(00) with 'jahr ist falsch'.
exit.
endif.
endloop.
Code: Alles auswählen.
REPORT test
MESSAGE-ID yy
LINE-SIZE 132.
TABLES:
sscrfields.
PARAMETERS: pa_datum TYPE sy-datum.
AT SELECTION-SCREEN.
* Plausiprüfung
IF pa_datum < sy-datum.
sscrfields-ucomm = 'FEHL'.
MESSAGE i001. "'Falsches Datum'. nur ein Beispiel
ENDIF.
*wenn am Ende von AT SELECTION-SCREEN
* das Feld sscrfields-ucomm <> 'ONLI' 'BTCH' oder 'PRNT'
* wird das Selektionsbild nicht verlassen
* alle Eingaben bleiben erhalten und können korrigiert werden
START-OF-SELECTION.
WRITE: 'START'.
Code: Alles auswählen.
RANGES: r_date FOR o_gjahr.
r_date-sign = 'I'.
r_date-option = 'BT'.
r_date-low = 'start'.
r_date-high = 'ende'.
APPEND r_date.
select single * from dbtab
into w_dbtab
where start in r_date
and ende in r_date.
if sy-subrc ne 0.
message.
exit.
endif.
Code: Alles auswählen.
select-options: s_date for o_gjahr obligatory.
At selection-screen on s_date.
* Startdatum
select single * from dbtab into w_dbtab
where start in s_date.
if sy-subrc > 0.
message 1.
endif.
* Endedatum
select single * from dbtab into w_dbtab
where ende in s_date.
if sy-subrc > 0.
message 2.
endif.