Ich schaff es dass der eine Parameter ausgeblendet wird aber nicht der Text/Beschriftung dazu.CASE $pushbutton.
WHEN 'push_1'.
LOOP AT SCREEN.
IF screen-name EQ 'PARA_1. " eingeblendet
screen-active = '1'.
screen-input = '1'.
screen-output = '1'.
screen-invisible = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ 'PARA_2. "ausgeblendet
screen-active = '0'.
screen-input = '0'.
screen-output = '0'.
screen-invisible = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
WHEN 'push_2'.
.....
ENDCASE.
Oder man verwendet gleich die im Selection-Screen dafür vorgesehene MODIF ID und SCREEN-GROUP1.kalludwisch hat geschrieben:Ich empfehle beim "LOOP AT SCREEN" bei der Abfrage auf den Feldnamen anstatt des Vergleichsoperators "EQ" bzw. "="
auf "CS" umzustellen, wenn du im Selektionsbild ein Feld mit allen seinen "Anhängseln" wie Text und Mehrfachausahl ausblenden willst.
Diese Anhängsel sind in den Screen reingeneriert und heissen (auf u.a. Beispiel bezogen) z.B.
%_S_FELD1_%_APP_%-VALU_PUSH
oder z.B. %_P_FELD2_%_APP_%-TEXT
Beispiel:
Select-options S_FELD1 for xyz-feld1.
Parameters: P-Feld2 type xyz-feld2.
LOOP AT SCREEN.
if screen-name cs 'S_FELD1'
or screen-name cs 'P_FELD1'.
screen-active = '0'.
modify screen.
endif.
endloop.
Zumal die Variante mit dem "CS" nicht zwischen S_FELD1 und S_FELD11 unterscheidet.a-dead-trousers hat geschrieben:Oder man verwendet gleich die im Selection-Screen dafür vorgesehene MODIF ID und SCREEN-GROUP1.kalludwisch hat geschrieben: if screen-name cs 'S_FELD1'
Code: Alles auswählen.
SELECTION-SCREEN: BEGIN OF BLOCK buttons WITH FRAME TITLE TEXT-001.
PARAMETERS: auftrag RADIOBUTTON GROUP rb DEFAULT 'X' USER-COMMAND hide,
bestell RADIOBUTTON GROUP rb.
SELECTION-SCREEN: END OF BLOCK buttons.
SELECTION-SCREEN: BEGIN OF BLOCK vbak WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS: s_vbeln FOR vbak-vbeln MODIF ID m1,
s_erdat FOR vbak-erdat MODIF ID m1.
SELECTION-SCREEN: END OF BLOCK vbak.
SELECTION-SCREEN: BEGIN OF BLOCK ekpo WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS: s_ebeln FOR ekpo-matnr MODIF ID m2,
s_aedat FOR ekpo-aedat MODIF ID m2.
SELECTION-SCREEN: END OF BLOCK ekpo.
Code: Alles auswählen.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CASE 'X'.
WHEN auftrag.
IF SCREEN-group1 = 'M2'.
SCREEN-active = '0'.
SCREEN-INPUT = '0'.
ENDIF.
WHEN bestell.
IF SCREEN-group1 = 'M1'.
SCREEN-active = '0'.
SCREEN-INPUT = '0'.
ENDIF.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.