next up previous contents
Next: Steploop Up: Dialogprogrammierung Previous: Bildfolgesteuerung

Bildmodifikation

 

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.

   figure621
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.

   figure631
Abbildung 4.8: Attribute der SCREEN-Systemtabelle.



Christian Koch
Fri Apr 19 09:04:09 EDT 1996