Schlüsselbefehl Write

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Der Schlüsselbefehl WRITE hat sicher stark an Bedeutung verloren im Vergleich zu einigen Jahrzehnten zuvor. Speziell um Listen auf dem Bildschirm auszugeben werden schon lange ALV-Listen verwendet. Immer noch ist der Befehl "write .. to .." aber sehr nützlich, um einzelne Felder so aufzubereiten, wie man sie ausgeben will.

V. a. bei der Formularentwicklung im Druckprogramm kann man mit diesem Schlüsselbefehl sehr elegant Datumsfelder, Währungsfelder etc. in ein zeichenartiges Zeichenfeld schreiben.

Ausgabe auf dem Bildschirm

Der Schlüsselbefehl "Write" wird heute nur noch selten verwendet, um Listen auf dem Bildschirm auszugeben und dann für sehr einfache Ausgaben.

write: 'Protokoll:':
loop at itab.
 write 'Zeile: ', sy-tabix.
 write: ...
endloop.

Ausgabe mit Farben

Für den Anwender ist es oft leichter zu erfassen, wenn man z. B. eine Fehlermeldung auch farblich kennzeichnet. Dies wird möglich durch den den Schlüsselbefehl "FORMAT COLOR" in Verbindung mit einer Farbangabe, hier "COL_NEGATIVE", was dann eine rote Formatierung bewirkt.

* 'Zielregion+Zweck konnte nicht aus Quellauftrag kopiert werden. Bitte mit VA02 im Zielauftrag Kopfdaten Zusatzdaten A pflegen.'
  FORMAT COLOR COL_NEGATIVE.
  WRITE:/ text-106.
  FORMAT RESET.

Datumsaufbereitung

Data lv_c_datum type char10.

write sy-datum to lv_c_datum.  "z. B. nun Datum statt Wert "20161231" im Format "31.12.2016"

Das Datum kann auch anders formatiert aufbereitet werden.

Data lv_c_datum type char20.

write sy-datum to lv_c_datum using edit mask '==LDATE'.  "z. B. "31. Dezember 2016"

oder

write sy-datum to lv_c_datum using edit mask '==PDATE'.  "

Währungsbetragsfeld aufbereiten / Konvertierung Währung vom internen SAP-Format in Zeichenfeld/Charfeld

Datum lv_c_betrag type char20.

write iv_curr_betrag to iv_c_betrag.

shift iv_c_betrag left deleting leading space. "linksbündig Zeichenfeld

Web-Links