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ötigen Sie eine Dialogtransaktion, also ein Programm mit Dynpro (Kein Selektionsbild!!) das mittels einer Transaktion gestartet wird.

Bei Aufruf des Dynpros im PBO können Sie anhand entsprechender Parameter bestimmen, welche Screenvariante gesetzt wird.

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

In der Screenvariante können Sie festlegen, welche Felder ausgeblendet und welche auf „nicht eingabebereit“ gestellt werden sollen.

Anlegen der Screenvarianten

Starten Sie die Transaktion SHD0 und tragen Sie die Transaktion ein und wechseln Sie auf den Reiter „Screenvarianten“.

Tragen Sie dann den Variantennamen ein, z. B. „ZVAR_A“. Erfassen Sie zudem das Programm und das Dynpro, für das Sie die Variante anlegen möchten.

Drücken Sie dann auf den Knopf [_Anlegen_] (F5).

Das System zeigt das Dynpro an und Sie können gleich wieder zurück gehen. Auf dem nächsten Bild sehen Sie dann alle Felder des Dynpros und sie können die einzelnen Elemente „unsichtbar“ schalten oder nur zur Anzeige freischalten.

Sichern Sie dann die Variante mit einer sprechenden Bezeichnung.

Aufruf der Screenvariante

Im PBO des Dynpros können Sie entscheiden, ob und welche Screenvariante Sie aufrufen:

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!!

 

image_pdfimage_print