Code: Alles auswählen.
AT SELECTION-SCREEN.
* Nur wenn Submit gedrückt wurde fortfahren
IF sy-ucomm <> 'ONLI'.
RETURN.
ENDIF.
IF s_logsys IS INITIAL.
MESSAGE e002.
ENDIF.
Code: Alles auswählen.
AT SELECTION-SCREEN.
* Nur wenn Submit gedrückt wurde fortfahren
IF sy-ucomm <> 'ONLI'.
Auch wenn ich dein Problem nicht ganz verstehe, (wen stört die rote Schrift, ist doch Standard?)zer0 hat geschrieben:Ich muss das so machen, da ich in meinem Code ein LOOP At SCREEN und MODIFY SCREEN habe. Wären die Felder nun als OBLIGATORY gekennzeichnet, würde er sofort eine Fehlermeldung bringen und alle Felder sperren. Deswegen muss ich das so manuell machen!
Code: Alles auswählen.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: rb_today RADIOBUTTON GROUP rb1 USER-COMMAND push DEFAULT 'X',
rb_free RADIOBUTTON GROUP rb1,
p_date TYPE sy-datum.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'P_DATE'.
IF rb_today = 'X'.
screen-input = 0.
screen-required = 0.
ELSE.
screen-input = 1.
screen-required = 2. "Soll-Eingabe
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN ON p_date.
IF sy-ucomm = 'ONLI' "Online-Ausführung
OR sy-ucomm = 'PRIN' "Ausführen und Drucken
OR sy-ucomm = 'SJOB'. "Job einplanen
* Eingaben prüfen
IF rb_free IS NOT INITIAL AND p_date IS INITIAL.
MESSAGE 'Bitte Datum eingeben' TYPE 'S' DISPLAY LIKE 'E'.
LEAVE TO SCREEN 1000.
ENDIF.
ENDIF.