ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  SAP-GUI-Benutzerdialoge →  Dynpros →  ABAP-Anweisungen für Dynpros →  LOOP AT SCREEN → 

MODIFY SCREEN

Kurzreferenz

Syntax

MODIFY SCREEN FROM wa.

Wirkung

Diese Anweisung kann nur im Anweisungsblock hinter LOOP AT SCREEN verwendet werden und ist nur während der PBO-Verarbeitung sinnvoll. Hinter FROM muss ein Arbeitsbereich wa vom Typ SCREEN aus dem ABAP Dictionary angegeben werden. Die Anweisung modifiziert die Eigenschaften des aktuellen Bildschirmelements mit den Werten aus dem Arbeitsbereich.

Die Komponente name muss den Namen des aktuellen Bildschirmelements enthalten, ansonsten wird die Anweisung nicht ausgeführt. Bis auf die Komponenten group1 bis group4 und length können alle übrigen Komponenten von wa entweder den Wert 0 oder 1 enthalten. Durch den Wert 0 wird die entsprechende Feldeigenschaft deaktiviert und durch 1 wird sie aktiviert. Zusätzlich können required und value_help auf den Wert 2 gesetzt werden.

Wenn MODIFY SCREEN während der PBO-Verarbeitung ausgeführt wird, wirken sich die modifizierten Eigenschaften bei der Anzeige des Bildschirmbilds des aktuellen Dynpros nach der PBO-Verarbeitung aus. Die Eigenschaften der Bildschirmelemente des Dynpros werden zu Beginn jeder PBO-Verarbeitung wieder auf ihre statischen Attribute zurückgesetzt, so dass sich die Ausführung von MODIFY SCREEN während der PAI-Verarbeitung nicht auf die Anzeige des folgenden Bildschirmbilds auswirkt.

Die Komponente active

Die Komponente active dient dazu, die Komponenten input, output und invisible auf einmal zu setzen. Zu Beginn der PBO-Verarbeitung hat die Komponente active immer den Wert 1. Wenn active mit MODIFY SCREEN auf 0 gesetzt wird, werden automatisch auch input und output auf 0 und invisible auf 1 gesetzt. Andere Werte in input, output und invisible werden ignoriert. Umgekehrt führt das Setzen von input und output auf 0 und von invisible auf 1 automatisch auch zu active 0 und ein anderer Wert in active wird ignoriert.

Sonderfälle

Folgende Sonderfälle sind zu beachten:

Modifikationen in Table Controls und in Steploops

Während der Verarbeitung eines Table Controls oder eines Steploops wirken sich die Änderungen auf die aktuelle Zeile des Table Controls bzw. die aktuelle Gruppe des Steploops aus. Vor der Verarbeitung eines Table Controls wirkt sich die Änderung von Eigenschaften eines Bildschirmelements, das Teil einer Zeile des Table Controls ist, nicht auf das Table Control aus, da die Werte aus der mit CONTROLS angelegten Struktur übernommen werden. Vor der Verarbeitung eines Steploops wirkt sich die Änderung von Eigenschaften eines Bildschirmelements, das Teil einer Gruppe des Steploops ist, auf alle Gruppen des Steploops aus.

Modifikationen in Tabstrip Controls

Wenn die Komponente active für einen Tab-Reiter eines Tabstrip Controls auf den Wert 0 gesetzt wird, wird die gesamte Tabstrip-Seite ausgeblendet.

Hinweise

Beispiel

In folgendem PBO-Modul wird ein Eingabefeld namens val obligatorisch gemacht und auf helle Anzeige umgestellt.

MODULE modify_0100 OUTPUT.
  LOOP AT SCREEN INTO DATA(screen_wa).
    IF screen_wa-name = 'VAL'.
      screen_wa-required    = '1'.
      screen_wa-intensified = '1'.
      MODIFY SCREEN FROM screen_wa.
    ENDIF.
  ENDLOOP.
ENDMODULE.

Ausführbares Beispiel

Das Programm DEMO_DYNPRO_MODIFY_SCREEN demonstriert alle möglichen dynamischen Bildschirmmodifikationen.