
ABAP-Systemfelder sind in ABAP-Programmen immer vorhanden. Sie werden von der Laufzeitumgebung kontextabhängig gefüllt und können im Programm verwendet werden, um Systemzustände abzufragen. Systemfelder sind zwar Variablen, aber es sollte nur lesend auf sie zugegriffen werden, da ansonsten wichtige Informationen für die weitere Programmausführung verloren gehen könnten. In seltenen Fällen können Systemfelder auch in ABAP-Programmen überschrieben werden, um das Systemverhalten zu steuern, wie beispielsweise SY-LSIND zur Navigation in Verzweigungslisten.
Die Namen und Datentypen der Systemfelder sind mit einer Ausnahme im ABAP Dictionary in der Struktur SYST gespeichert und in ABAP-Programmen als Komponenten der vordefinierten Struktur SY realisiert.
Das Systemfeld SY-REPID ist nicht Teil der Strukturen SYST bzw. SY. Stattdessen enthält jedes Programm die vordefinierten Konstanten SY-REPID und SYST-REPID, die beide den Namen des jeweiligen Programms enthalten. Weiterhin gibt es zwei gleichnamige vordefinierte Typen SY-REPID und SYST-REPID.
Alle Systemfelder werden über SY-Feldname und ihre Typen über SYST-Feldname angesprochen.
Folgende Tabelle listet die Definition der Struktur SYST im ABAP Dictionary alphabetisch auf. Das Zeichen in der ersten Spalte zeigt an, wie das zugehörige Systemfeld in ABAP-Programmen verwendet werden darf. Name ist der Name der Komponente, Datentyp bezeichnet den Dictionary-Datentyp und Länge ist die im Dictionary definierte Feldlänge. Die Spalte Verwendung zeigt an, in welchem Umfeld die Systemfelder gesetzt werden. Die Kurzbeschreibung deutet den Inhalt an.
|
Name |
Typ |
Länge |
Verwendung |
Kurzbeschreibung |
|
|
|
ABCDE |
CHAR |
26 |
Konstanten |
Alphabet (A,B,C,...) |
|
|
APPLI |
RAW |
2 |
Obsolet |
|
|
|
BATCH |
CHAR |
1 |
Batch-Verarbeitung |
Programm läuft im Hintergrund |
|
|
BATZD |
CHAR |
1 |
Obsolet |
|
|
|
BATZM |
CHAR |
1 |
Obsolet |
|
|
|
BATZO |
CHAR |
1 |
Obsolet |
|
|
|
BATZS |
CHAR |
1 |
Obsolet |
|
|
|
BATZW |
CHAR |
1 |
Obsolet |
|
|
|
BINPT |
CHAR |
1 |
Batch-Input |
Programm läuft unter Batch Input |
|
|
BREP4 |
CHAR |
4 |
Obsolet |
|
|
|
BSPLD |
CHAR |
1 |
Obsolet |
|
|
|
CALLD |
CHAR |
1 |
ABAP-Programm |
Aufrufmodus des ABAP-Programms |
|
|
CALLR |
CHAR |
8 |
Listen drucken |
Kennung für Druckdialogfunktion |
|
|
CCURS |
DEC |
9 |
Obsolet |
|
|
|
CCURT |
DEC |
9 |
Obsolet |
|
|
|
CDATE |
DATS |
8 |
Obsolet |
|
|
|
CFWAE |
CUKY |
5 |
Intern |
|
|
|
CHWAE |
CUKY |
5 |
Intern |
|
|
|
COLNO |
INT4 |
10 |
Listenerstellung |
Aktuelle Spalte auf der Liste |
|
|
CPAGE |
INT4 |
10 |
Listenverarbeitung |
Aktuelle Seitennummer |
|
|
CPROG |
CHAR |
40 |
ABAP-Programm |
Aufrufer in externen Prozeduren |
|
|
CTABL |
CHAR |
4 |
Obsolet |
|
|
|
CTYPE |
CHAR |
1 |
Obsolet |
|
|
|
CUCOL |
INT4 |
10 |
Bildschirmbilder |
Horizontale Cursorposition bei PAI |
|
|
CUROW |
INT4 |
10 |
Bildschirmbilder |
Vertikale Cursorposition bei PAI |
|
|
DATAR |
CHAR |
1 |
Dynpros |
Zeigt Benutzereingabe an |
|
|
DATLO |
DATS |
8 |
Datum und Zeit |
Lokales Datum des Benutzers |
|
|
DATUM |
DATS |
8 |
Datum und Zeit |
Aktuelles (Applikationsserver-)Datum |
|
|
DAYST |
CHAR |
1 |
Datum und Zeit |
Sommerzeitflag |
|
|
DBCNT |
INT4 |
10 |
Datenbankzugriffe |
Anzahl der bearbeiteten Tabellenzeilen. |
|
|
DBNAM |
CHAR |
20 |
ABAP-Programm |
Verknüpfte logische Datenbank. |
|
|
DBSYS |
CHAR |
10 |
SAP-System |
Namen des zentralen Datenbanksystems |
|
|
DCSYS |
CHAR |
4 |
Obsolet |
|
|
|
DEBUG |
CHAR |
1 |
Intern |
|
|
|
DSNAM |
CHAR |
8 |
Intern |
|
|
|
DYNGR |
CHAR |
4 |
ABAP-Programm |
Bildgruppe des aktuellen Dynpros. |
|
|
DYNNR |
CHAR |
4 |
ABAP-Programm |
Nummer des aktuellen Dynpros |
|
|
ENTRY |
CHAR |
72 |
Intern |
|
|
|
FDAYW |
INT1 |
3 |
Datum und Zeit |
Fabrikkalender-Wochentag |
|
|
FDPOS |
INT4 |
10 |
Zeichenketten |
Offset in Zeichenkette |
|
|
FFILE |
CHAR |
8 |
Intern |
|
|
|
FLENG |
INT4 |
10 |
Intern |
|
|
|
FMKEY |
CHAR |
3 |
Obsolet |
|
|
|
FODEC |
INT4 |
10 |
Intern |
|
|
|
FOLEN |
INT4 |
10 |
Intern |
|
|
|
FTYPE |
CHAR |
1 |
Intern |
|
|
|
GROUP |
CHAR |
1 |
Intern |
|
|
|
HOST |
CHAR |
8 |
SAP-System |
Name des Applikationsservers |
|
|
INDEX |
INT4 |
10 |
Schleifen |
Aktueller Schleifendurchlauf |
|
|
INPUT |
CHAR |
1 |
Intern |
|
|
|
LANGU |
LANG |
1 |
SAP-System |
Aktuelle Sprache |
|
|
LDBPG |
CHAR |
40 |
ABAP-Programm |
Programm der logischen Datenbank |
|
|
LILLI |
INT4 |
10 |
Listenverarbeitung |
Ausgewählte Listenzeile |
|
|
LINCT |
INT4 |
10 |
Listenerstellung |
Seitenlänge der Liste |
|
|
LINNO |
INT4 |
10 |
Listenerstellung |
Aktuelle Zeile |
|
|
LINSZ |
INT4 |
10 |
Listenerstellung |
Zeilenbreite der Liste |
|
|
LISEL |
CHAR |
255 |
Listenverarbeitung |
Inhalt der ausgewählten Zeile. |
|
|
LISTI |
INT4 |
10 |
Listenverarbeitung |
Index der ausgewählten Liste |
|
|
LOCDB |
CHAR |
1 |
Obsolet |
|
|
|
LOCOP |
CHAR |
1 |
Obsolet |
|
|
|
LOOPC |
INT4 |
10 |
Dynpros |
Anzahl der in Tabelle sichtbaren Zeilen |
|
|
LPASS |
CHAR |
4 |
Intern |
|
|
|
LSIND |
INT4 |
10 |
Listenverarbeitung |
Index der Verzweigungsliste |
|
|
LSTAT |
CHAR |
16 |
Listenverarbeitung |
Bezeichner für Listenstufen |
|
|
MACDB |
CHAR |
4 |
Obsolet |
|
|
|
MACOL |
INT4 |
10 |
Listen drucken |
Spalten aus SET MARGIN-Anweisung |
|
|
MANDT |
CLNT |
3 |
SAP-System |
Mandantennummer aus Anmeldung |
|
|
MARKY |
CHAR |
1 |
Obsolet |
|
|
|
MAROW |
INT4 |
10 |
Listen drucken |
Zeilen aus SET MARGIN-Anweisung |
|
|
MODNO |
CHAR |
1 |
SAP-System |
Index externer Modi, |
|
|
MSGID |
CHAR |
20 |
Nachrichten |
Nachrichtenklasse |
|
|
MSGLI |
CHAR |
60 |
Nachrichten |
Nachrichtenzeile |
|
|
MSGNO |
NUMC |
3 |
Nachrichten |
Nachrichtennummer |
|
|
MSGTY |
CHAR |
1 |
Nachrichten |
Nachrichtentyp |
|
|
MSGV1 |
CHAR |
50 |
Nachrichten |
Nachrichtenvariable |
|
|
MSGV2 |
CHAR |
50 |
Nachrichten |
Nachrichtenvariable |
|
|
MSGV3 |
CHAR |
50 |
Nachrichten |
Nachrichtenvariable |
|
|
MSGV4 |
CHAR |
50 |
Nachrichten |
Nachrichtenvariable |
|
|
NEWPA |
CHAR |
1 |
Intern |
|
|
|
NRPAG |
CHAR |
1 |
Intern |
|
|
|
ONCOM |
CHAR |
1 |
Intern |
|
|
|
OPSYS |
CHAR |
10 |
SAP-System |
Betriebssystem des Applikationsservers |
|
|
PAART |
CHAR |
16 |
Druckparameter |
Druckaufbereitung |
|
|
PAGCT |
INT4 |
10 |
Obsolet |
|
|
|
PAGNO |
INT4 |
10 |
Listenerstellung |
Aktuelle Seite |
|
|
PAUTH |
NUMC |
2 |
Intern |
|
|
|
PDEST |
CHAR |
4 |
Druckparameter |
Ausgabegerät |
|
|
PEXPI |
NUMC |
1 |
Druckparameter |
Spool-Verweildauer |
|
|
PFKEY |
CHAR |
20 |
Bildschirmbilder |
Aktueller GUI-Status |
|
|
PLAYO |
CHAR |
5 |
Intern |
|
|
|
PLAYP |
CHAR |
1 |
Intern |
|
|
|
PLIST |
CHAR |
12 |
Druckparameter |
Name des Spool-Auftrags |
|
|
PNWPA |
CHAR |
1 |
Intern |
|
|
|
PRABT |
CHAR |
12 |
Druckparameter |
Abteilung im Deckblatt |
|
|
PRBIG |
CHAR |
1 |
Druckparameter |
Selektions-Deckblatt |
|
|
PRCOP |
NUMC |
3 |
Druckparameter |
Anzahl Ausdrucke |
|
|
PRDSN |
CHAR |
6 |
Druckparameter |
Name des Spool-Datasets |
|
|
PREFX |
CHAR |
3 |
Obsolet |
|
|
|
PRI40 |
CHAR |
1 |
Intern |
|
|
|
PRIMM |
CHAR |
1 |
Druckparameter |
Sofort ausgeben |
|
|
PRINI |
NUMC |
1 |
Intern |
|
|
|
PRLOG |
CHAR |
1 |
Intern |
|
|
|
PRNEW |
CHAR |
1 |
Druckparameter |
Neuer Spool-Auftrag |
|
|
PRREC |
CHAR |
12 |
Druckparameter |
Empfänger |
|
|
PRREL |
CHAR |
1 |
Druckparameter |
Löschen nach Ausgabe |
|
|
PRTXT |
CHAR |
68 |
Druckparameter |
Text für Deckblatt |
|
|
REPI2 |
CHAR |
40 |
Intern |
|
|
|
REPID |
CHAR |
40 |
ABAP-Programm |
Aktuelles Rahmenprogramm |
|
|
RSTRT |
CHAR |
1 |
Intern |
|
|
|
RTITL |
CHAR |
70 |
Druckparameter |
Titel des druckenden Programms |
|
|
SAPRL |
CHAR |
4 |
SAP-System |
Release-Stand des SAP-Systems |
|
|
SCOLS |
INT4 |
10 |
Bildschirmbilder |
Anzahl der Spalten |
|
|
SFNAM |
CHAR |
30 |
Obsolet |
|
|
|
SFOFF |
INT4 |
10 |
Intern |
|
|
|
SLSET |
CHAR |
14 |
Selektionsbilder |
Name der Variante |
|
|
SPONO |
NUMC |
10 |
Listen drucken |
Spool-Nummer |
|
|
SPONR |
NUMC |
10 |
Obsolet |
|
|
|
SROWS |
INT4 |
10 |
Bildschirmbilder |
Anzahl der Zeilen |
|
|
STACO |
INT4 |
10 |
Listenverarbeitung |
Erste angezeigte Spalte |
|
|
STARO |
INT4 |
10 |
Listenverarbeitung |
Oberste angezeigte Zeile |
|
|
STEPL |
INT4 |
10 |
Dynpros |
Index der aktuellen Tabellenzeile |
|
|
SUBCS |
CHAR |
1 |
Intern |
|
|
|
SUBRC |
INT4 |
10 |
Rückgabewert |
Rückgabewert nach ABAP-Anweisungen |
|
|
SUBTY |
RAW |
1 |
Intern |
|
|
|
SYSID |
CHAR |
8 |
SAP-System |
Name des SAP-Systems |
|
|
TABID |
CHAR |
8 |
Intern |
|
|
|
TABIX |
INT4 |
10 |
Interne Tabellen |
Aktueller Zeilenindex |
|
|
TCODE |
CHAR |
20 |
ABAP-Programm |
Aktueller Transaktionscode |
|
|
TFDSN |
CHAR |
8 |
Obsolet |
|
|
|
TFILL |
INT4 |
10 |
Interne Tabellen |
Aktuelle Anzahl von Zeilen |
|
|
TIMLO |
TIMS |
6 |
Datum und Zeit |
Lokale Uhrzeit des Benutzers |
|
|
TITLE |
CHAR |
70 |
Bildschirmbilder |
Text in der Titelzeile |
|
|
TLENG |
INT4 |
10 |
Interne Tabellen |
Zeilengröße |
|
|
TLOPC |
INT4 |
10 |
Intern |
|
|
|
TMAXL |
INT4 |
10 |
Obsolet |
|
|
|
TNAME |
CHAR |
30 |
Obsolet |
|
|
|
TOCCU |
INT4 |
10 |
Obsolet |
|
|
|
TPAGI |
INT4 |
10 |
Obsolet |
|
|
|
TSTIS |
INT4 |
10 |
Intern |
|
|
|
TTABC |
INT4 |
10 |
Obsolet |
|
|
|
TTABI |
INT4 |
10 |
Obsolet |
|
|
|
TVAR0 |
CHAR |
20 |
Listenerstellung |
Text-Variable für Überschriften |
|
|
TVAR1 |
CHAR |
20 |
Listenerstellung |
Text-Variable für Überschriften |
|
|
TVAR2 |
CHAR |
20 |
Listenerstellung |
Text-Variable für Überschriften |
|
|
TVAR3 |
CHAR |
20 |
Listenerstellung |
Text-Variable für Überschriften |
|
|
TVAR4 |
CHAR |
20 |
Listenerstellung |
Text-Variable für Überschriften |
|
|
TVAR5 |
CHAR |
20 |
Listenerstellung |
Text-Variable für Überschriften |
|
|
TVAR6 |
CHAR |
20 |
Listenerstellung |
Text-Variable für Überschriften |
|
|
TVAR7 |
CHAR |
20 |
Listenerstellung |
Text-Variable für Überschriften |
|
|
TVAR8 |
CHAR |
20 |
Listenerstellung |
Text-Variable für Überschriften |
|
|
TVAR9 |
CHAR |
20 |
Listenerstellung |
Text-Variable für Überschriften |
|
|
TZONE |
INT4 |
10 |
Datum und Zeit |
Zeitdifferenz zur Greenwichzeit |
|
|
UCOMM |
CHAR |
70 |
Bildschirmbilder |
Funktionscode, der PAI ausgelöst hat |
|
|
ULINE |
CHAR |
255 |
Konstanten |
Horizontaler Strich der Länge 255 |
|
|
UNAME |
CHAR |
12 |
SAP-System |
Anmeldenamen des Benutzers |
|
|
UZEIT |
TIMS |
6 |
Datum und Zeit |
Aktuelle (Applikationsserver-) Uhrzeit |
|
|
VLINE |
CHAR |
1 |
Konstanten |
Vertikaler Strich |
|
|
WAERS |
CUKY |
5 |
Obsolet |
|
|
|
WILLI |
INT4 |
10 |
Obsolet |
|
|
|
WINCO |
INT4 |
10 |
Obsolet |
|
|
|
WINDI |
INT4 |
10 |
Obsolet |
|
|
|
WINRO |
INT4 |
10 |
Obsolet |
|
|
|
WINSL |
CHAR |
79 |
Obsolet |
|
|
|
WINX1 |
INT4 |
10 |
Obsolet |
|
|
|
WINX2 |
INT4 |
10 |
Obsolet |
|
|
|
WINY1 |
INT4 |
10 |
Obsolet |
|
|
|
WINY2 |
INT4 |
10 |
Obsolet |
|
|
|
WTITL |
CHAR |
1 |
Listenerstellung |
Flag für Standard-Seitenüberschrift |
|
|
XCODE |
CHAR |
70 |
Intern |
|
|
|
XFORM |
CHAR |
30 |
Intern |
|
|
|
XPROG |
CHAR |
40 |
Intern |
|
|
|
ZONLO |
CHAR |
6 |
Datum und Zeit |
Zeitzone des Benutzers |
Zeichenerklärung:
|
|
Das Systemfeld wird von der Laufzeitumgebung gesetzt. Sein Inhalt darf im ABAP-Programm ausgewertet aber nicht verändert werden. |
|
|
Das Systemfeld wird von der Laufzeitumgebung gesetzt. Sein Inhalt darf im ABAP-Programm verändert werden, um die Laufzeitumgebung zu beeinflussen. |
|
|
Das Systemfeld muss im ABAP-Programm gesetzt werden. Es kann danach von der Laufzeitumgebung oder vom Programm ausgewertet werden. |
|
|
Das Systemfeld ist nur für die interne Verwendung vorgesehen und darf in ABAP-Programmen nicht verwendet werden. |
|
|
Das Systemfeld ist obsolet und sein Inhalt wird nicht gesetzt. Es darf in ABAP-Programmen nicht verwendet werden. |
Es folgt eine thematische Zusammenstellung der Systemfelder mit Hinweisen zum Gebrauch.
Systeminformationen
ABAP-Programmierung
Bildschirmbilder
Interne Systemfelder
Obsolete Systemfelder
Informationen über das aktuelle SAP-System
SY-DBSYS
Zentrales Datenbanksystem, z.B. INFORMIX, ORACLE …
SY-HOST
Applikationsserver, z.B. HS0333, PAWDF087 …
SY-OPSYS
Betriebssystem des Applikationsservers, z.B. HP-UX, SINIX
SY-SAPRL
Release-Stand des SAP-Systems, z.B. 30D, 46A, …
SY-SYSID
Name des SAP-Systems, z.B. B20, I47, ...
Informationen über die Benutzersitzung
SY-LANGU
Einstelliger Sprachenschlüssel, z.B. D, E, F. Entweder Anmeldesprache des Benutzers, oder durch die Anweisung SET LOCALE LANGUAGEgesetzt.
SY-MANDT
Mandantennummer, mit der sich der Benutzer angemeldet hat, z.B. 000, 400, …Bei Datenbankzugriffen mit Open SQL wird SY-MANDT als erstes Schlüsselfeld der WHERE-Klausel verwendet.
SY-MODNO
Indizierung der externen Modi. Sitzt im ersten Modus auf Null. Wird in neuen Modi, die mit der Funktion Erzeugen Modus oder durch Aufruf einer Transaktion mit /o geöffnet werden, um 1 erhöht. Falls vorhergehende Modi gelöscht wurden, werden erst die freien Zahlen wieder belegt. Modi, die mit CALL TRANSACTION … STARTING NEW TASK geöffnet werden, starten wieder bei 0.
SY-UNAME
Anmeldenamen des Benutzers, z.B. KELLERH, BC400-01, …
Datums- und Zeitinformationen
Die folgenden Systemfelder sind immer automatisch gesetzt. Die Anweisung GET TIMEsynchronisiert die Uhrzeit des Applikationsserver falls erforderlich mit der Uhrzeit des Datenbankservers und schreibt diese in das Systemfeld SY-UZEIT. SY-DATUM und die Systemfelder für die lokale Zeitzone, also SY-TIMLO, SY-DATLO und SY-ZONLO werden ebenfalls neu gesetzt.
SY-DATLO
Lokales Datum des Benutzers, z.B. 19981129, 19990628, …
SY-DATUM
Aktuelles (Applikationsserver-)Datum, z.B. 19981130, 19990627, …
SY-DAYST
Während Sommerzeit X ansonsten leer.
SY-FDAYW
Fabrikkalender-Wochentag, sonntags 0 … samstags 6.
SY-TIMLO
Lokale Uhrzeit des Benutzers, 154353, 225312, …
SY-TZONE
Zeitdifferenz zur Greenwich Mean Time (UTC) in Sekunden, z.B. 3600, 10800, …
SY-UZEIT
Aktuelle (Applikationsserver-) Uhrzeit, z.B. 164353, 215312, …
SY-ZONLO
Zeitzone des Benutzers, z.B. CET, UTC, …
Informationen über das aktuelle ABAP-Programm
SY-CALLD
SY-CALLD enthält SPACE, wenn das Programm das erste und einzige Programm einer Aufrufkette ist. SY_CALLD enthält 'X', wenn das Programm ein aufgerufenes Programm in einer Aufrufkette ist.
SY-CPROG
In extern aufgerufenen Prozeduren der Name des aufrufenden Programms, ansonsten der Name des aktuellen Programms. Wenn eine extern aufgerufene Prozedur eine weitere externe Prozedur aufruft, behält SY-CPROG den Namen des ersten Rahmenprogramms und wird nicht auf den Namen des Rahmenprogramms des weiteren Aufrufers gesetzt.
SY-DBNAM
Bei ausführbaren Programmen, die verknüpfte logische Datenbank.
SY-DYNGR
Bildgruppe des aktuellen Dynpros. Mehrere Dynpros können einer gemeinsamen Bildgruppe zugeordnet sein, die z.B. für eine einheitliche Modifikation aller Bildschirmbilder dieser Gruppe verwendet werden kann.
SY-DYNNR
Nummer des aktuellen Dynpros. Während der Selektionsbildverarbeitung enthält SY-DYNNR die Dynpronummer des aktuellen Selektionsbilds. Während der Listenverarbeitung enthält SY-DYNNR die Nummer des Trägerdynpros. Während der Verarbeitung eines Subscreen-Dynpros enthält SY-DYNNR dessen Dynpronummer. Dies gilt auch bei TabStrips.
SY-LDBPG
Bei ausführbaren Programmen, das Datenbankprogramm der verknüpften logischen Datenbank.
SY-REPID
Name des aktuellen ABAP-Programms. Bei extern aufgerufenen Prozeduren Name des Rahmenprogramms der Prozedur.
Falls SY-REPID vor Release 6.10 als Aktualparameter an eine externe Prozedur übergeben wurde, wurde der Formalparameter nicht auf den Namen des Aufrufers, sondern auf den Namen des Rahmenprogramms der Prozedur gesetzt. SY-REPID musste also vor dem Aufruf an eine Hilfsvariable übergeben oder es musste SY-CPROG verwendet werden.
Seit Release 6.10 ist SY-REPID eine eigene Konstante, die nicht mehr Teil der Struktur SYST bzw. SY ist, und kann direkt an externe Prozeduren übergeben werden.
SY-TCODE
Name des aktuellen Transaktionscodes.
BATCH-Verarbeitung
SY-BATCH
SY-BATCH ist in einem im Hintergrund ablaufenden ABAP-Programm, auf X gesetzt, ansonsten leer.
Batch-Input
SY-BINPT
SY-BINPT ist während der Verarbeitung von Batch-Input Mappen und in mit CALL TRANSACTION USINGaufgerufenen ABAP-Programmen auf X gesetzt, ansonsten leer.
OPTIONS FROMin der Anweisung CALL TRANSACTION USING kann SY-BINPT sowohl für die gesamte Programmausführung, als auch nach Ende der BDC-Daten auf leer setzten.
Bei CATT-Abläufen ist SY-BINPT immer leer.
Konstanten
SY-ABCDE
Enthält das Alphabet. Kann verwendet werden, um unabhängig von der Codepage über Offsetangabe gezielt auf einzelne Buchstaben zuzugreifen.
SY-ULINE
Enthält einen horizontalen Strich der Länge 255. Kann bei der Listenerstellung verwendet werden.
SY-VLINE
Enthält einen vertikalen Strich (|). Kann bei der Listenerstellung verwendet werden.
Schleifen
SY-INDEX
SY-INDEX enthält in DO- und WHILE-Schleifen die Anzahl der bisherigen Schleifendurchläufe inklusive dem aktuellen Durchlauf.
Zeichenketten
SY-FDPOS
Fundstelle bei Operationen mit zeichenartigen Feldern.
Interne Tabellen
SY-TABIX
Aktuelle Zeile einer internen Tabelle. SY-TABIX wird bei folgenden Anweisungen für Index-Tabellen gesetzt. Bei Hash-Tabellen wird SY-TABIX nicht versorgt oder auf 0 gesetzt.
SY-TFILL
Bei den Anweisungen DESCRIBE TABLE, LOOP AT und READ TABLE wird SY-TFILL mit der Zeilenanzahl der angesprochenen internen Tabelle versorgt.
SY-TLENG
Bei den Anweisungen DESCRIBE TABLE, LOOP AT und READ TABLE wird SY-TLENG mit der Zeilengröße der angesprochenen internen Tabelle versorgt.
Datenbankzugriffe
SY-DBCNT
SQL-Anweisungen setzen den Inhalt von SY-DBCNT auf die Anzahl der bearbeiteten Tabellenzeilen. Bei SELECT-Schleifen in Open SQL ist SY-DBCNT nach der Anweisung ENDSELECT gesetzt. In Native SQL ist SY-DBCNT nach der Anweisung ENDEXECgesetzt.
Rückgabewert
SY-SUBRC
Rückgabewert, der von folgenden ABAP-Anweisungen gesetzt wird. Im allgemeinen bedeutet der Inhalt 0, dass die Anweisung problemlos ausgeführt wurde.
GENERATE SUBROUTINE POOL setzt SY-SUBRC 0, wenn Generierung erfolgreich, ansonsten 8.
Dynpros
Beim Ereignis PAI jedes Dynpros werden Systemfelder gesetzt. Außer SY-DATAR, SY-LOOPC und SY-STEPL können diese auch bei der interaktiven Listenverarbeitung verwendet werden.
SY-CUCOL
Horizontale Cursorposition. Zählung beginnt bei Spalte 2.
SY-CUROW
Vertikale Cursorposition. Zählung beginnt bei Zeile 1.
SY-DATAR
Sitzt zu PAI auf X, wenn mindestens ein Dynproeingabefeld durch Benutzer oder andere Datenübergabe geändert wurden, ansonsten leer.
SY-LOOPC
Anzahl der aktuell in einer Bildschirmtabelle (Table Control) angezeigten Zeilen.
SY-PFKEY
GUI-Status des aktuellen Dynpros. Im Programm zu PBO setzbar durch SET PF-STATUS.
SY-SCOLS
Anzahl der Spalten des aktuellen Bildschirmbilds.
SY-SROWS
Anzahl der Zeilen des aktuellen Bildschirmbilds.
SY-STEPL
Index der aktuellen Zeile in einer Bildschirmtabelle (Table Control). Wird bei jedem Schleifendurchlauf gesetzt. Außerhalb einer Schleife, z.B. während dem Ereignis POV für eine Tabellenzeile, ist SY-STEPL nicht passend gesetzt.
SY-TITLE
Text, der im Titelbalken des Dynpros erscheint. Bei Selektionsbildern und Listen der Programmname, ansonsten SAP. Kann zu PBO durch SET TITLEBARgesetzt werden.
SY-UCOMM
Funktionscode, der das Ereignis PAI ausgelöst hat. Jeder Benutzeraktion, die PAI auslöst ist ein eindeutiger Funktionscode zugeordnet, mit einer Ausnahme: Die Auswahl von ENTER löst das Ereignis PAI aus, wobei verschiedene Funktionscodes an SY-UCOMM übergeben werden können:
Selektionsbilder
SY-SLSET
Variante, die zum Füllen des Selektionsbilds verwendet wurde.
Listenerstellung
Beim Erstellen einer Liste kann mit Hilfe der folgenden Systemfelder in navigiert werden. Sie helfen es zu vermeiden, dass Ausgabeanweisungen eventuell schon vorhandene Ausgaben überschreiben, oder dass versucht wird außerhalb der Liste zu schreiben. Die aktuelle Ausgabeposition findet sich immer in den Systemfeldern SY-COLNO und SY-LINNO und wird bei jeder Ausgabeanweisung neu gesetzt. Die übrigen Systemfelder enthalten weitere Rahmenwerte für die Listenerstellung.
SY-COLNO
Aktuelle Spalte bei der Listenerstellung. Die Zählung beginnt bei 1. SY-COLNO wird durch folgende Ausgabeanweisungen gesetzt:
SY-LINCT
Seitenlänge der Liste. SY-LINCT ist null für eine beliebig lange Standardliste und hat einen Wert ungleich Null für Listen mit festgelegter Seitenlänge.
SY-LINNO
Aktuelle Zeile bei der Listenerstellung. Die Zählung beginnt bei 1 und beinhaltet den Seitenkopf. SY-LINNO wird durch folgende Ausgabeanweisungen gesetzt:
SY-LINSZ
Zeilenbreite der Liste. Ohne Beeinflussung ist das die Standardfensterbreite. Für SY-SCOLS >= 84 ist SY-LINSZ = SY-SCOLS, für SY-SCOLS < 84 ist SY-LINSZ = 84.
Die Breite der Ausgabeliste kann mit der Option LINE-SIZE der Anweisungen REPORT bzw. NEW-PAGEverändert werden.
SY-PAGNO
Aktuelle Seite bei Listenerstellung.
SY-TVAR0 ... SY-TVAR9
Diesen Systemfeldern dürfen im Programm Werte zugewiesen werden. Der Inhalt von SY-TVAR0 bis SY-TVAR9 ersetzt beim Ereignis TOP-OF-PAGE die Platzhalter in den Listen- und Spaltenüberschriften des Programms.
SY-WTITL
Wird in den Anweisungen REPORT, PROGRAM und FUNCTION-POOL auf N gesetzt, wenn der Zusatz NO STANDARD PAGE HEADING verwendet wird, ansonsten leer. NEW-PAGE setzt SY-WTITL nicht.
Listenverarbeitung
Bei jedem interaktiven Listenereignis und bei READ LINE werden folgende Systemfelder automatisch versorgt.
SY-CPAGE
Seitennummer der obersten angezeigten Seite der Liste, auf der das Ereignis ausgelöst wurde. Zählung beginnt bei 1
SY-LILLI
Zeile, auf der das Ereignis ausgelöst wurde. Zählung beginnt bei 1 und beinhaltet den Seitenkopf.
SY-LISEL
Inhalt der Zeile, auf der das Ereignis ausgelöst wurde (beschränkt auf die ersten 255 Zeichen).
SY-LISTI
Index der Liste, auf der das Ereignis ausgelöst wurde.
SY-LSIND
Index der Liste, die gerade erstellt wird (Grundliste: 0, Verzweigungslisten > 0). Bei jedem interaktiven Listenereignisses wird SY-LSIND automatisch um eins erhöht. SY-LSIND darf im ABAP-Programm geändert werden, um zwischen Verzweigungslisten zu navigieren. Eine Änderung von SY-LSIND wird immer erst am Ende eines Listenereignisses berücksichtigt. Eine Manipulation von SY-LSIND sollte daher durch den letzten zum Verarbeitungsblocks gehörigen Befehl erfolgen.
SY-LSTAT
Programmgesteuerter Bezeichner für Listenstufen. SY-LSTAT darf während der Listenerstellung im ABAP-Programm mit Werten versorgt werden. Der bei Fertigstellung einer Liste gültige Wert wird mit der Liste abgespeichert. Bei einem interaktiven Listenereignisses wird SY-LSTAT auf den Wert gesetzt, der ihm während der Erstellung der Liste, auf der das Ereignis stattfindet, zugewiesen wurde. SY-LSTAT wird nicht mehr gepflegt und sollte daher nicht mehr verwendet werden.
SY-STACO
Nummer der ersten angezeigten Spalte der Liste, auf der das Ereignis ausgelöst wurde. Zählung beginnt bei 1.
SY-STARO
Nummer der obersten angezeigten Zeile der obersten angezeigten Seite der Liste, auf der das Ereignis ausgelöst wurde. Zählung beginnt bei 1. Hierbei wird der Seitenkopf nicht mitgezählt.
Listen drucken
Beim Drucken von Listen benötigen Spool- und Laufzeitsystem gewisse interne Informationen, die in folgenden Systemfeldern vorhanden sind und bei der Druckaktivierung gesetzt werden.
SY-CALLR
Enthält einen Wert, der anzeigt wo der Druck gestartet wurde, z.B. NEW-PAGE für programmgesteuertes Drucken oder RSDBRUNT für Drucken vom Selektionsbild.
SY-PRDSN
Enthält während dem Drucken den Namen der Spool-Datei.
SY-SPONO
Enthält während dem Drucken den Namen der Spool-Nummer.
SY-MAROW, SY-MACOL
Die Anweisung SET MARGIN füllt die System-Felder SY-MAROW und SY-MACOL, die beim Ausdrucken die Anzahl der Zeilen am oberen Rand bzw. die Anzahl der Spalten am linken Rand bestimmen.
Druckparameter
Die Druckparameter werden von der Laufzeitumgebung in einer Struktur vom Dictionarytyp PRI_PARAMS an das Spool-System übergeben. Bevor diese Struktur verwendet wurde, dienten dazu Systemfelder. Bei der Druckaktivierung wird auch heute noch eine Teilmenge der Struktur PRI_PARAMS in gleichnamige Systemfelder geschrieben. Diese Information ist redundant und sollte nicht verwendet werden.
Nachrichten
Bei Ausführung der Anweisung MESSAGE werden untenstehende Systemfelder gesetzt. Bei Ausführung der Anweisung MESSAGE … RAISING in Funktionsbausteinen und Methoden werden diese Felder auch im aufrufenden Programm gesetzt, falls es die Ausnahme behandelt.
SY-MSGID
SY-MSGID enthält die Nachrichtenklasse
SY-MSGNO
SY-MSGNO enthält die Nachrichtennummer
SY-MSGTY
SY-MSGTY enthält den Nachrichtentyp
SY-MSGV1,…,SY-MSGV4
SY-MSGV1 bis SY-MSGV4 enthalten die Feldinhalte, die für die Platzhalter der Nachricht verwendet werden.
Spezielle Aktionen, die Nachrichtenfelder versorgen
Interne Systemfelder sind rein für den internen Gebrauch in der ABAP-Laufzeitumgebung und im Kernel bestimmt. Sie dürfen auf keinen Fall in ABAP-Programmen überschrieben werden und sollten auch nicht lesend bearbeitet werden.
SY-CFWAE
Undokumentiert.
SY-CHWAE
Undokumentiert.
SY-DEBUG
Undokumentiert.
SY-DSNAM
Name der Datei für Spool-Ausgabe.
SY-ENTRY
Undokumentiert.
SY-FFILE
Flatfile (USING/GENERATING DATASET).
SY-FLENG
Länge eines Felds.
SY-FODEC
Anzahl der Dezimalstellen eines Felds.
SY-FOLEN
Ausgabelänge eines Felds.
SY-FTYPE
Datentyp eines Felds.
SY-GROUP
Bündelung.
SY-INPUT
Undokumentiert.
SY-LPASS
Undokumentiert.
SY-NEWPA
Undokumentiert.
SY-NRPAG
Undokumentiert.
SY-ONCOM
On Commit Flag. Dieses Systemfeld wird abhängig vom Aufrufstatus eines ABAP-Programms auf verschiedene Werte gesetzt. Von diesen ist nur die Bedeutung des Werts 'P' garantiert. Wenn überhaupt darf SY-ONCOM deshalb nur nach 'P' abgefragt werden.
Der Wert 'P' bedeutet, dass sich das Programm schon während der Ausführung eines über PERFORM ... ON COMMITgestarteten Unterprogramms befindet und dass daher ein weiterer Unterprogrammaufruf mit PERFORM ... ON COMMIT zum Laufzeitfehler führt.
SY-PAUTH
Undokumentiert.
SY-PLAYO
Undokumentiert.
SY-PLAYP
Undokumentiert.
SY-PNWPA
Undokumentiert.
SY-PRI40
Undokumentiert.
SY-PRINI
Undokumentiert.
SY-PRLOG
Undokumentiert.
SY-REPI2
Undokumentiert.
SY-RSTRT
Undokumentiert.
SY-SFOFF
Undokumentiert.
SY-SUBCS
Aufrufstatus eines ausführbaren Programms.
SY-SUBTY
Aufrufart eines ausführbaren Programms.
SY-TABID
Undokumentiert.
SY-TLOPC
Undokumentiert.
SY-TSTIS
Undokumentiert.
SY-XCODE
Erweiterter Funktionscode. Wird bei Benutzeraktionen auf Listen wie SY-UCOMM versorgt. Bevor die Länge von SY-UCOMM von 4 auf 70 Zeichen erweitert wurde, wurde SY-XCODE intern verwendet um längere Eingaben im Befehlsfeld der Symbolleiste der Liste auszuwerten. In Anwendungsprogrammen bitte SY-UCOMM verwenden.
SY-XFORM
SYSTEM-EXIT-Unterprogramm.
SY-XPROG
SYSTEM-EXIT-Programm.
Beim Übergang von R/2 zu R/3 wurden einige Systemfelder übernommen, die nicht mehr versorgt werden. Diese Systemfelder sind obsolet und können nicht mehr verwendet werden.
SY-APPLI
Im R/2 Kürzel, welche der SAP-Anwendungen installiert sind. Wird nicht mehr versorgt.
SY-BATZD
Im R/2 Kennzeichen für tägliche Hintergrundeinplanung. Wird nicht mehr versorgt.
SY-BATZM
Im R/2 Kennzeichen für monatliche Hintergrundeinplanung. Wird nicht mehr versorgt.
SY-BATZO
Im R/2 Kennzeichen für einmalige Hintergrundeinplanung. Wird nicht mehr versorgt.
SY-BATZS
Im R/2 Kennzeichen für sofortige Hintergrundeinplanung. Wird nicht mehr versorgt.
SY-BATZW
Im R/2 Kennzeichen für wöchentliche Hintergrundeinplanung. Wird nicht mehr versorgt.
SY-BREP4
Im R/2 bei Hintergrundverarbeitung Wurzelname des Anforderungsreports. Wird nicht mehr versorgt.
SY-BSPLD
Im R/2 bei Hintergrundverarbeitung Kennzeichen für Ausgabe in Spool. Wird nicht mehr versorgt.
SY-CCURS
Im R/2 Kursangabe/Ergebnisfeld aus CURRENCY CONVERSION. Wird nicht mehr versorgt.
SY-CCURT
Im R/2 Tabellenkurs aus CURRENCY CONVERSION. Wird nicht mehr versorgt.
SY-CDATE
Im R/2 Kursdatum aus CURRENCY CONVERSION. Wird nicht mehr versorgt.
SY-CTABL
Im R/2 Kurstabelle aus CURRENCY CONVERSION. Wird nicht mehr versorgt.
SY-CTYPE
Im R/2 Kursart aus CURRENCY CONVERSION. Wird nicht mehr versorgt.
SY-DCSYS
Dialogsystem des R/2-Systems. Wird nicht mehr versorgt.
SY-FMKEY
Früher aktuelles Funktionscode-Menü. Wird nicht mehr versorgt.
SY-LOCDB
Lokale Datenbank, nicht implementiert.
SY-LOCOP
Lokale Datenbankoperation, nicht implementiert.
SY-MACDB
Früher Name der Datei für Match-Code Zugriff. Wird nicht mehr versorgt.
SY-MARKY
Aktueller Zeilenbuchstabe für die Anweisung MARK. Das Sprachelement MARK wird allerdings nur noch kurze Zeit unterstützt.
SY-PAGCT
Im R/2 maximale Anzahl von Seiten pro Liste. Wird nicht mehr versorgt.
SY-PREFX
ABAP-Präfix für Hintergrund-Jobs. Wird nicht mehr versorgt.
SY-SFNAM
Undokumentiert.
SY-SPONR
Im R/2 konnten Spool-Dateien mit der TRANSFER-Anweisung bearbeitet werden, die auch SY-SPONR setzte. Wird nicht mehr versorgt.
SY-TFDSN
Früher Name der externen Ablagedatei für Extrakte. Wird nicht mehr versorgt.
SY-TMAXL
Früher maximale Anzahl von Einträgen in einer internen Tabelle. Wird nicht mehr versorgt.
SY-TNAME
Früher Name einer internen Tabelle nach einem Zugriff. Wird nicht mehr versorgt.
SY-TOCCU
Bei den Anweisungen DESCRIBE TABLE, LOOP AT und READ TABLE wurde SY-TOCCU früher mit dem Wert für den initialen Hauptspeicherbedarf der angesprochenen internen Tabelle versorgt. Nicht mehr versorgt.
SY-TPAGI
Früher Kennzeichen, ob eine interne Tabelle in den Paging Bereich ausgelagert ist. Wird nicht mehr versorgt.
SY-TTABC
Früher Index der letzten gelesenen Zeile einer internen Tabelle. Wird nicht mehr versorgt.
SY-TTABI
Früher Offset von internen Tabellen im Rollbereich. Wird nicht mehr versorgt.
SY-WAERS
Früher Buchungskreis-Währung nach Lesen von Buchungs-Segment. Wird nicht mehr versorgt.
SY-WILLI
Im R/2 Nummer der ausgewählten Listenzeile bei Verzweigungsliste im Fenster. Bitte SY-LILLI verwenden.
SY-WINCO
Im R/2 Cursorposition bei Verzweigungsliste im Fenster. Bitte SY-CUCOL verwenden.
SY-WINDI
Im R/2 Index der Liste bei Verzweigungsliste im Fenster. Bitte SY-LSIND verwenden.
SY-WINRO
Im R/2 Cursorposition bei Verzweigungsliste im Fenster. Bitte SY-CUROW verwenden.
SY-WINSL
Im R/2 Inhalt der ausgewählten Zeile bei Verzweigungsliste im Fenster. Bitte SY-LISEL verwenden.
SY-WINX1
Im R/2 Fensterkoordinate bei Verzweigungsliste im Fenster. Wird nicht mehr verwendet.
SY-WINX2
Im R/2 Fensterkoordinate bei Verzweigungsliste im Fenster. Wird nicht mehr verwendet.
SY-WINY1
Im R/2 Fensterkoordinate bei Verzweigungsliste im Fenster. Wird nicht mehr verwendet.
SY-WINY2
Im R/2 Fensterkoordinate bei Verzweigungsliste im Fenster. Wird nicht mehr verwendet.