Mit den Optionen COLOR, INTENSIFIED und INVERSE der FORMAT-Anweisung beeinflussen Sie die Farben der Ausgabeliste.
Um Farben im Programm zu setzen, verwenden Sie:
FORMAT COLOR n [ON] INTENSIFIED [ON|OFF] INVERSE [ON|OFF].
Um Farben zur Laufzeit zu setzen, verwenden Sie:
FORMAT COLOR = c INTENSIFIED = int INVERSE = inv.
Diese Aufbereitungsfunktionen wirken nicht für Linien. Sie haben folgende Funktion:
· COLOR setzt die Farbe des Zeilenhintergrunds. Für n können Sie entweder eine Farbnummer, oder einen Farbbezeichner setzen. Statt Farbnummer 0 müssen 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 Standardeinstellung ist COLOR OFF.
· INTENSIFIED bestimmt die Intensität der Hintergrundfarbe.
Die Standardeinstellung ist INTENSIFIED ON (intensiv). Für COLOR OFF wird statt der Hintergrundfarbe die Vordergrundfarbe beeinflusst.
· INVERSE bestimmt, ob mit dem Zusatz COLOR die Hintergrundfarbe oder die Vordergrundfarbe gesetzt wird.
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 (die Anweisungen SUMMARY und DETAIL sind somit obsolet).
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.
Das folgende Beispiel demonstriert die verschiedenen Kombinationen der Farbaufbereitungsoptionen:
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:
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 SAP-Systems überein.
Dieses Beispiel zeigt, wie Sie Farben in Listen einsetzen können, um bestimmte Ausgaben hervorzuheben.
Das folgende ausführbare Programm 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:
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 sflight 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 SAP-Systems überein.