Show TOC

HintergrundStatusikonen Dieses Dokument in der Navigationsstruktur finden

 

Statusikonen sind Anzeigeelemente, die der graphischen Darstellung eines Zustands des Programms dienen können. Prinzipiell können zwar alle im SAP GUI vorhandenen Ikonen verwendet werden, die Auswahl sollte sich aber auf die dafür vorgesehenen beschränken.

Statusikonen können nur im graphischen Screen Painter angelegt werden. Beim Anlegen einer Statusikone auf einem Dynpro, wird dieser ein Name und ein Dynprofeld zugewiesen. Dieses Dynprofeld wird Statusfeld genannt. Die visualisierte Länge des Dynprofelds bestimmt den Platz, den die Statusikone auf dem Bildschirmbild einnehmen kann. Zusätzlich zur eigentlichen Ikone kann hinter dieser Platz für einen erklärenden Text reserviert werden. Die eigentliche Länge (defLg) des Statusfelds muss ausreichend für die interne Darstellung der Ikone, den eventuellen Text und einen optionalen Quickinfo-Text sein. Beim Anlegen der Statusikone im Screen Painter erscheint ein Platzhalter auf dem Bildschirmbild. Die eigentliche Ikone, der erklärende Text und der Quickinfo-Text müssen zum Zeitpunkt PBO im ABAP-Programm definiert werden.

Zur Definition der Statusikone im ABAP-Programm, muss in diesem ein gleichnamiges Feld mit Bezug auf den Dictionary-Typ ICONS-TEXT angelegt und zum Zeitpunkt PBO mit den technischen Informationen der Ikone gefüllt werden. Beim Senden des Bildschirmbilds wird das Statusfeld mit diesen Informationen versorgt und die Ikone dargestellt.

Zum Füllen des Felds im ABAP-Programm verwendet man den Funktionsbaustein ICON_CREATE. Die Import-Parameter sind:

  • name

    Hier muss der Name der gewünschten Ikone angegeben werden. Die Namen von Ikonen findet man im Include-Programm <ICON> oder in den entsprechenden Eingabehilfen von Screen oder Menu Painter.

  • text

    Hier kann ein erklärender Text angegeben werden, der hinter der Ikone auf dem Bildschirmbild erscheint.

  • info

    Hier kann ein Quickinfo-Text angegeben werden, der dann erscheint, wenn der Mauszeiger während der Bildschirmanzeige auf die Ikone bewegt wird.

  • add_stdinf

    Dieses Flag schaltet die Anzeige des Quickinfo-Texts ein oder aus.

Der Funktionsbaustein verwandelt diese Eingaben in eine Zeichenkette und weist diese dem Export-Parameter result zu. Durch Übernahme des Export-Parameters result in das Statusfeld, wird dieses mit den notwendigen Informationen für die Anzeige der Statusikone gefüllt.

Syntax Syntax

Statusikonen.

  1. REPORT demo_dynpro_status_icons.
  2. DATA value TYPE i VALUE 1.
  3. DATA: status_icon TYPE icons-text,
  4.       icon_name(20) TYPE c,
  5.       icon_text(10) TYPE c.
  6. CALL SCREEN 100.
  7. MODULE set_icon OUTPUT.
  8.   SET PF-STATUS 'SCREEN_100'.
  9.   CASE value.
  10.     WHEN 1.
  11.       icon_name = 'ICON_GREEN_LIGHT'.
  12.       icon_text =  text-003.
  13.     WHEN 2.
  14.       icon_name = 'ICON_YELLOW_LIGHT'.
  15.       icon_text =  text-002.
  16.     WHEN 3.
  17.       icon_name = 'ICON_RED_LIGHT'.
  18.       icon_text =  text-001.
  19.   ENDCASE.
  20.   CALL FUNCTION 'ICON_CREATE'
  21.        EXPORTING
  22.             name                  = icon_name
  23.             text                  = icon_text
  24.             info                  = 'Status'
  25.             add_stdinf            = 'X'
  26.        IMPORTING
  27.             result                = status_icon
  28.        EXCEPTIONS
  29.             icon_not_found        = 1
  30.             outputfield_too_short = 2
  31.             OTHERS                = 3.
  32.   CASE sy-subrc.
  33.     WHEN 1.
  34.       MESSAGE e888(sabapdocu) WITH text-004.
  35.     WHEN 2.
  36.       MESSAGE e888(sabapdocu) WITH text-005.
  37.     WHEN 3.
  38.       MESSAGE e888(sabapdocu) WITH text-006.
  39.   ENDCASE.
  40. ENDMODULE.
  41. MODULE cancel INPUT.
  42.   LEAVE PROGRAM.
  43. ENDMODULE.
  44. MODULE change.
  45.   CASE value.
  46.     WHEN 1.
  47.       value = 2.
  48.     WHEN 2.
  49.       value = 3.
  50.     WHEN 3.
  51.       value = 1.
  52.   ENDCASE.
  53. ENDMODULE.
Ende des Codes

Die statische Folge-Dynpro-Nummer von Dynpro 100 ist 100 und sein statisches Layout ist:

Die Abbildung wird im Begleittext erläutert.

Es ist ein Statusfeld namens status_icon, mit einer visualisierten Länge 12 und einer definierten Länge 26 angelegt. Die Statusikone und der Platz für einen Text werden im Screen Painter symbolisch angedeutet.

Syntax Syntax

Die Bildschirmablauflogik ist:

  1. PROCESS BEFORE OUTPUT.
  2.   MODULE set_icon
  3. PROCESS AFTER INPUT.
  4.   MODULE cancel AT EXIT-COMMAND.
  5.   MODULE change.
Ende des Codes

Im Dialogmodul set_icon werden in Abhängigkeit des programmlokalen Felds value verschiedene Werte an den Funktionsbaustein ICON_CREATE übergeben. Das Statusfeld status_icon wird mit dessen Export-Parameter result versorgt. Dadurch wird die entsprechende Ikone mit Text und Quickinfo auf dem Bildschirm angezeigt. Bei Auswahl der Taste Weiter wird zum Zeitpunkt PAI das Feld value geändert, wodurch zu PBO eine andere Ikone definiert wird. Folgende Ikonen und Texte erscheinen hier hintereinander:

Niedrig

Mittel

Hoch

Der Quickinfo-Text ist für alle Ikonen gleich 'Status'.