Screenvarianten

Die Attribute der Dynprofelder werden in der Regel über LOOP-AT-SCREEN bearbeitet. Die entsprechenden Attribute wie Eingabebereitschaft und Sichtbarkeit werden gesetzt und dann mit MODIFY SCREEN geändert. Es gibt aber auch eine elegante Möglichkeit mithilfe der Screenvarianten!

Um die Screenvarianten einsetzen zu können, benötigst du eine Dialogtransaktion, also ein Programm mit Dynpro (Kein Selektionsbild!!) das mittels einer Transaktion gestartet wird.

Bei Aufruf des Dynpros im PBO kannst du anhand entsprechender Parameter bestimmen, welche Screenvariante gesetzt wird.

In der Auftragsbearbeitung wird dies anhand des Auftragstypes gesteuert (Auftrag, Vertrag, Retoure etc).

In der Screenvariante kannst du festlegen, welche Felder ausgeblendet und welche auf “nicht eingabebereit” gestellt werden sollen.

Anlegen der Screenvarianten

Starte die Transaktion SHD0 und trage die Transaktion ein. Wechsele dann auf den Reiter “Screenvarianten”.

Trage den Variantennamen ein, z. B. “ZVAR_A”. Erfasse zudem das Programm und das Dynpro, für das du die Variante anlegen möchtest.

Drücke auf den Knopf [_Anlegen_] (F5).

Das System zeigt das Dynpro an und du kannst gleich wieder zurück gehen. Auf dem nächsten Bild siehst du dann alle Felder des Dynpros und du kannst die einzelnen Elemente “unsichtbar” schalten oder nur zur Anzeige freischalten.

Sicher deine Variante mit einer sprechenden Bezeichnung.

Aufruf der Screenvariante

Im PBO des Dynpros kannst du entscheiden, ob und welche Screenvariante du aufrufen möchtest:

lv_variant = 'ZVAR_A'.
CALL FUNCTION 'RS_HDSYS_SET_SC_VARIANT'
     EXPORTING
       progname                  = 'ZZMYPROG'
       dynpro                    = '0100'
       scvariant                 = lv_variant
       set_immediately           = 'X'.

Die Variante wird aktiviert und der Benutzer sieht nur noch die eingestellten Felder.

Hinweis:
Die Attributänderung eines durch die Screenvariante ausgeblendeten Feldes auf “Obligatory” kann bewirken, dass der Anwender die Meldung bekommt “Bitte alle Mussfelder ausfüllen” obwohl er das Feld nicht sieht!!

Enno Wulff
Letzte Artikel von Enno Wulff (Alle anzeigen)