In einer Anwendung gibt es oft Bildschirmmasken, die sich nur geringfügig voneinander unterscheiden, z.B. dadurch, daß nur ein einziges Feld mehr existiert oder daß keines der vorhandenen Felder eingabebereit ist. Um nicht für jede dieser Situationen ein eigenes Dynpro entwerfen zu müssen, kann man Dynpros zur Laufzeit in begrenztem Maße verändern. Man hat die Möglichkeit, alle Attribute eines Feldes anzupassen. Das Hinzufügen oder Löschen von Feldern ist dagegen nicht erlaubt. Felder können aber unsichtbar gemacht werden.
Wie im Beispiel der Abbildung 4.7 zu sehen, stellt ABAP/4 zur Modifikation von Feldattributen ein eigenes Konstrukt zur Verfügung. Die Anweisung LOOP AT SCREEN iteriert über die Systemtabelle SCREEN. Pro Schleifendurchlauf enthält die Feldleiste SCREEN die Attribute eines Feldes. Mit MODIFY SCREEN werden schließlich die Änderungen in die Tabelle zurückgeschrieben.
Abbildung: Rahmenprogramm zur Veränderung von Feldattributen eines Dynpros.
Die wichtigsten Attribute der SCREEN-Tabelle sind in Tabelle 4.8 zusammmengefaßt. Bei allen Attributen, die einen boolschen Wert annehmen, steht 0 für false und 1 für true.
Bei jedem Aufruf eines Dynpros werden die ursprünglich im Screen Painter definierten Attributwerte wieder gesetzt. Vorgenommene Änderungen gehen verloren. Die Modifikation eines Dynpros muß also in einem Modul des Ereignisses PBO des entsprechenden Dynpros erfolgen.
Abbildung 4.8: Attribute der SCREEN-Systemtabelle.