Also, Radiobuttons kriegste nichtmal mit "loop at screen" weg, da hab ich mir auch die Zähne dran ausgebissen.kylll hat geschrieben:Dieser Block soll verschwinden, garnicht sichtbar sein.
Code: Alles auswählen.
parameters: p_bla....
Code: Alles auswählen.
data: p_bla....
-> MODIF ID und LOOP AT SCREEN...kylll hat geschrieben:Hallo EWX,
Nein so etwas meine ich nicht.
Dieser Block soll verschwinden, garnicht sichtbar sein.
--> NO-DISPLAY; Zusätze "As Checkbox", "Radiobutton" müssen dann wegkylll hat geschrieben: Ein Beispiel :
select-options : S_Jahr for sy-datum no-display.
Führt dazu dass man dieses Feld in der Selektionsmaske nicht sehen kann.
Man kann die Variabele im Programm aber nutzen.
Genau so etwas suche ich für den ganzen Block.
(oder zumindest eine Möglichkeit checkbox oder Radiobutton nicht sichtbar zu machen)
Ansonsten machst du:kylll hat geschrieben:Ich könnte natürlich auch den gesamten Block löschen und die enthaltenen Variabelen neu definieren mit DATA.
Aber das sehe ich nur als Notlösung, denn irgendwann später mag ich den Block wieder verwenden. Wenn ich das OK von Vorgesetzten bekomme.
Die in dem Block enthaltenen Parameter-Variabelen sind tief in der Programmlogik integriert, daher kann ich nicht auf diese verzichten, aber mit ihren Initialwerten läuft alles reibungslos.
Code: Alles auswählen.
LOOP AT SCREEN.
screen-active = '0'.
MODIFY screen.
ENDLOOP.
Code: Alles auswählen.
REPORT ztest_selscreen.
* Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETER:
* Checkbox
p_check AS CHECKBOX MODIF ID c,
* Radiobuttons
p_rb1 RADIOBUTTON GROUP r1 MODIF ID r,
p_r2 RADIOBUTTON GROUP r1 MODIF ID r,
* Eine Parameterfeld
p_fiels TYPE int4 MODIF ID f.
* Eine Select-Option
SELECT-OPTIONS s_repid FOR sy-repid MODIF ID s.
SELECTION-SCREEN END OF BLOCK b1.
* Die ganzen Sachen ausblenden
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
* Checkbox ausblenden
IF screen-group1 EQ 'C'.
screen-active = 0.
ENDIF.
* Radiobutton ausblenden
IF screen-group1 EQ 'R'.
screen-active = 0.
ENDIF.
* Parameter ausblenden
IF screen-group1 EQ 'F'.
screen-active = 0.
ENDIF.
* Select-Option ausblenden
IF screen-group1 EQ 'S'.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.