Anfang des InhaltsbereichsFarben in Listen Dokument im Navigationsbaum lokalisieren

Mit den Optionen COLOR, INTENSIFIED und INVERSE der FORMAT-Anweisung beeinflußen Sie die Farben der Ausgabeliste.

Um Farben im Programm zu setzen, verwenden Sie:

Syntax

FORMAT COLOR <n> [ON] INTENSIFIED [ON|OFF] INVERSE [ON|OFF].

Um Farben zur Laufzeit zu setzen, verwenden Sie:

Syntax

FORMAT COLOR = <c> INTENSIFIED = <int> INVERSE = <inv>.

Diese Aufbereitungsfunktionen wirken nicht für Linien. Sie haben folgende Funktion:

Für <n> können Sie entweder eine Farbnummer, oder einen Farbbezeichner setzen. Statt Farbnummer 0 müßen Sie aber OFF verwenden. Falls Sie die Farbnummern zur Laufzeit setzen, führen Werte für <c>, die nicht zwischen null und sieben liegen, zu undefinierten Ergebnissen. Die folgende Tabelle stellte die verschiedenen Möglichkeiten zusammen:

 

<n>

<c>

Farbe

Vorgesehen für

OFF

oder COL_BACKGROUND

0

GUI-abhängig

Hintergrund

1

oder COL_HEADING

1

Graublau

Überschriften

2

oder COL_NORMAL

2

Hellgrau

Listenkörper

3

oder COL_TOTAL

3

Gelb

Summen

4

oder COL_KEY

4

Blaugrün

Schlüsselspalten

5

oder COL_POSITIVE

5

Grün

positiver Schwellwert

6

oder COL_NEGATIVE

6

Rot

negativer Schwellwert

7

oder COL_GROUP

7

Violett

Gruppenstufen

Die Standardeinstellung ist COLOR OFF.

Mit einer Ausnahme (COLOR OFF) kann die oben angegebene Farbpalette für den Zeilenhintergrund intensiv oder schwach gewählt werden. Die Standardeinstellung ist INTENSIFIED ON (intensiv). Für COLOR OFF wird statt der Hintergrundfarbe die Vordergrundfarbe beeinflußt. Ist zusätzlich INVERSE ON gesetzt, ist INTENSIFIED OFF wirkungslos (Ausnahme wiederum COLOR OFF).

Mit einer Ausnahme (COLOF OFF) wird die unter COLOR angegebene Farbe aus einer inversen Farbpalette entnommen und als Vordergrundfarbe verwendet, während der Hintergrund unverändert bleibt. Für COLOR OFF hat INVERSE keine Wirkung, da ansonsten Vordergrund und Hintergrund die gleichen Farben hätten.

Hinweis

Folgende Anweisungen sind gleichbedeutend:

FORMAT INTENSIFIED ON. und SUMMARY.

FORMAT INTENSIFIED OFF. und DETAIL.

SAP empfiehlt jedoch, aus Gründen der besseren Lesbarkeit immer die FORMAT-Anweisung zu verwenden.

Im folgenden finden Sie zwei Beispiele, wobei das erste Ihnen die möglichen Listenfarben demonstriert und das zweite eine mögliche Anwendung zeigt.

Für eine weitere Demonstration von Farben in Listen können Sie auch das im System vorhandene ausführbare Programm SHOWCOLO aufrufen.

Demonstration möglicher Farben in Listen

Das folgende Beispiel demonstriert die verschiedenen Kombinationen der Farbaufbereitungsoptionen:

Beispiel

REPORT demo_list_format_color_1.

DATA i TYPE i VALUE 0.
DATA col(15) TYPE c.

WHILE i < 8.

  CASE i.
    WHEN 0. col = 'COL_BACKGROUND '.
    WHEN 1. col = 'COL_HEADING    '.
    WHEN 2. col = 'COL_NORMAL     '.
    WHEN 3. col = 'COL_TOTAL      '.
    WHEN 4. col = 'COL_KEY        '.
    WHEN 5. col = 'COL_POSITIVE   '.
    WHEN 6. col = 'COL_NEGATIVE   '.
    WHEN 7. col = 'COL_GROUP      '.
  ENDCASE.

  FORMAT INTENSIFIED COLOR = i.
  WRITE: /(4) i, AT 7            sy-vline,
            col,                 sy-vline,
            col INTENSIFIED OFF, sy-vline,
            col INVERSE.

  i = i + 1.

ENDWHILE.

In der FORMAT-Anweisung wird die Option COLOR für die nachfolgenden WRITE-Anweisungen zur Laufzeit gesetzt. Die zusätzlichen Optionen werden für jede WRITE-Anweisung einzeln im Programm gesetzt.

Die Ausgabe zeigt folgende Tabelle:

Diese Grafik wird im zugehörigen Text erklärt

Der Standardseitenkopf wurde als Textelement angelegt. In der Online-Hilfe stimmen die Farben dieser Liste aus technischen Gründen nicht vollständig mit den Farben des R/3-Systems überein.

Beispiel zu Anwendung von Farben in Listen

Dieses Beispiel zeigt, wie Sie Farben in Listen einsetzen können, um bestimmte Ausgaben hervorzuheben.

Beispiel

Das folgende Ausführbare Programm (Report) sei mit der logischen Datenbank F1S verbunden.

REPORT demo_list_format_color_2 NO STANDARD PAGE HEADING LINE-SIZE 70.

TABLES: spfli, sflight.
DATA sum TYPE i.

TOP-OF-PAGE.

  WRITE 'List of Flights' COLOR COL_HEADING.
  ULINE.

GET spfli.

  FORMAT COLOR COL_HEADING.
  WRITE: 'CARRID', 10 'CONNID', 20 'FROM', 40 'TO'.

  FORMAT COLOR COL_KEY.
  WRITE: / spfli-carrid   UNDER 'CARRID',
           spfli-connid   UNDER 'CONNID',
           spfli-cityfrom UNDER 'FROM',
           spfli-cityto   UNDER 'TO'.
  ULINE.

  FORMAT COLOR COL_HEADING.
  WRITE: 'Date', 20 'Seats Occupied', 50 'Seats Available'.
  ULINE.

  sum = 0.

GET sflight.

  IF sflight-seatsocc LE 10.
    FORMAT COLOR COL_NEGATIVE.
  ELSE.
    FORMAT COLOR COL_NORMAL.
  ENDIF.

  WRITE: sflight-fldate   UNDER 'Date',
         sflight-seatsocc UNDER 'Seats Occupied',
         sflight-seatsmax UNDER 'Seats Available'.

  sum = sum + sflight-seatsocc.

GET spfli LATE.

  ULINE.
  WRITE: 'Total Bookings:  ' INTENSIFIED OFF,
         sum COLOR COL_TOTAL.
  ULINE.
  SKIP.

Die folgende Ausgabeliste wird erzeugt:

Diese Grafik wird im zugehörigen Text erklärt

Alle Überschriften werden mit der Hintergrundfarbe COL_HEADING ausgegeben. Die Schlüsselfelder aus Tabelle SPFLI sind mit COL_KEY hinterlegt. Der Listenkörper hat beim Ereignis GET SFLIGTH eine andere Zeilenhintergrundsfarbe (COL_NORMAL), als der Listenhintergrund (COL_BACKGROUND). Außerdem werden Flüge, bei denen eine Anzahl von Mindestbuchungen unterschritten ist, rot hinterlegt. Die Summe der Buchungen ist für jede Verbindung gelb hinterlegt.

Beachten Sie, daß das System nach jedem Ereignis wieder von der Standardeinstellung ausgeht (COLOR OFF, INTENSIFIED ON). Aus diesem Grund ist in obigem Programm der Zeilenhintergrund der Ausgabe 'Total Bookings:' beim Ereignis GET LATE wieder COL_BACKGROUND. INTENSIFIED wird hier auf OFF gesetzt, um die gleich Vordergrundfarbe wie für die anderen Ausgaben zu erhalten.

In der Online-Hilfe stimmen die Farben dieser Liste aus technischen Gründen nicht vollständig mit den Farben des R/3-Systems überein.

 

 

 

Ende des Inhaltsbereichs