SAP NetWeaver AS ABAP Release 751, ©Copyright 2017 SAP AG. Alle Rechte vorbehalten.
Systemfelder werden von der ABAP-Laufzeitumgebunggefüllt und können in einem ABAP-Programm verwendet werden, um Systemzustände abzufragen. Bis auf eine Ausnahme(sy-repid) sind Systemfelder zwar Variablen, aber es sollte nur lesend aufsie zugegriffen werden, da sonst in der Regel wichtige Informationen für die weitere Programmausführungverloren gehen. Nur in wenigen Fällen dürfen Systemfelder in ABAP-Programmen überschrieben werden, um das Systemverhalten zu steuern.
Die folgende Tabelle zeigt die Systemfelder, die in ABAP-Programmen verwendbar sind. Alle anderen Komponenten der Struktur sy sind entweder nur für deninternen Gebrauch der ABAP-Laufzeitumgebung vorgesehen oder obsolet.
Name | Typ | Länge | Inhalt |
sy-abcde | c | 26 | Enthält das lateinische Alphabet. Kann verwendet werden, um unabhängig von derCodepage über Offset-/Längenangabe gezielt auf einzelne Buchstaben zuzugreifen. |
sy-batch | c | 1 | In einem im Hintergrund ablaufenden ABAP-Programm auf "X" gesetzt, ansonsten initial. |
sy-binpt | c | 1 | Während der Verarbeitung von Batch-Input-Mappenund in mit CALL TRANSACTIONUSING aufgerufenen ABAP-Programmen auf "X" gesetzt, ansonsteninitial. Diese Standardwerte können mit dem OPTIONS FROM der Anweisung CALL TRANSACTION USING übersteuert werden. |
sy-calld | c | 1 | Enthält im ersten Programm einer Aufrufketteein Leerzeichen, ansonsten den Wert "X". Nach Aufruf über CALL TRANSACTION, CALL DIALOG oder SUBMIT ...AND RETURN auf "X" gesetzt. Leer, falls das Programm über LEAVE TO TRANSACTION oder über einen Transaktionscode vomBildschirmbild aus gestartetwurde. Ein Aufruf über SUBMIT (ohne AND RETURN) übernimmt den Wert des aufrufenden Programms. |
sy-callr | c | 8 | Enthält beim Spoolen von Listen einen Wert, der anzeigt, wo das Spoolen gestartet wurde, z.B. NEW-PAGE für programmgesteuertes Spoolen oder RSDBRUNT für das Spoolen vomSelektionsbild aus. |
sy-colno | i | - | Aktuelle Position während der Erstellung einer Liste im Listenpuffer, wird bei jeder Ausgabeanweisunggesetzt. Die Zählung beginnt bei 1. Es ist nur für die jeweils unteren und oberen Ausgabegrenzender einzelnen Ausgaben garantiert, dass diese Position auch der Spalte in der dargestellten Liste entspricht, da ein Zeichen mehr Spalten auf der Liste als Stellen im Listenpuffer beanspruchen kann. Siehe auchListen - Systemfelder. |
sy-cpage | i | - | Seitennummer der obersten angezeigten Seite der Liste, auf der ein Listenereignis ausgelöst wurde. Die Zählung beginnt bei 1. Siehe auchListen - Systemfelder. |
sy-cprog | c | 40 | In extern aufgerufenen Prozedurender 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 erstenRahmenprogramms und wird nicht auf den Namen des Rahmenprogramms des weiteren Aufrufers gesetzt. |
sy-cucol | i | - | Horizontale Cursor-Position auf dem Bildschirmbild eines Dynpros. Zählung beginnt bei Spalte 2. Wird beim Ereignis PAI gesetzt. |
sy-curow | i | - | Vertikale Cursor-Position auf dem Bildschirmbild eines Dynpros. Zählung beginnt bei Zeile 1. Wird beim Ereignis PAI gesetzt. |
sy-datar | c | 1 | Enthält zu PAI "X", wenn mindestens ein Eingabefeld eines Bildschirmbildes durch Benutzer oder andere Datenübergabe geändert wurde, ansonsten initial. |
sy-datlo | d | - | Benutzerdatum, z.B. "19990723", siehe Systemfelder für Datum und Zeit. |
sy-datum | d | - | Systemdatum, siehe Systemfelder für Datum und Zeit. |
sy-dayst | c | 1 | Während der Sommerzeit in der Systemzeitzone "X", ansonsten initial. Siehe Systemfelder für Datum und Zeit. |
sy-dbcnt | i | - | SQL-Anweisungen setzen den Inhalt von sy-dbcnt auf die Anzahl der bearbeiteten Tabellenzeilen. |
sy-dbnam | c | 20 | Bei ausführbaren Programmen die verknüpfte logische Datenbank. |
sy-dbsys | c | 10 | Zentrales Datenbanksystem, z.B. "HDB", "ADABAS". Siehe auch CL_DB_SYS. |
sy-dyngr | c | 4 | Bildgruppe des aktuellen Dynpros. Mehrere Dynpros können imScreen Painter einergemeinsamen Bildgruppe zugeordnet werden, die z.B. für eine einheitliche Modifikation aller Bildschirmbilder dieser Gruppe verwendet werden kann. |
sy-dynnr | c | 4 | Nummer des aktuellen Dynpros. Während derSelektionsbildverarbeitungdas aktuelle Selektionsbild. Während der Listenverarbeitung die Nummer des Träger-Dynpros. Während der Verarbeitung einesSubscreen-Dynpros (auch beiTabstrips) dessen Nummer. |
sy-fdayw | b | - | Fabrikkalender-Wochentag in der Systemzeitzone, montags = 1, ..., freitags = 5. Siehe Systemfelder für Datum und Zeit. |
sy-fdpos | i | - | Fundstelle bei bestimmten Operationen mit zeichen- oder byteartigen Datenobjekten (z.B. FIND,Vergleiche). |
sy-host | c | 32 | Netzwerkname des Rechners, auf dem der aktuelleApplikationsserver instanziert ist, z.B. "KSAP0001", "HS01234". |
sy-index | i | - | Schleifenindex. Enthält in DO- und WHILE-Schleifen die Anzahl der bisherigen Schleifendurchläufe inklusive des aktuellen Durchlaufs. |
sy-langu | c | 1 | Einstelliger Sprachenschlüssel - z.B. "D", "E", "F" - für die aktuelleTextumgebung. Durch die Anmeldesprache des Benutzers oder durch die Anweisung SET LOCALE gesetzt. |
sy-ldbpg | c | 40 | Bei ausführbaren Programmen das Datenbankprogramm der verknüpften logischen Datenbank. |
sy-lilli | i | - | Listenzeile, auf der ein Listenereignis ausgelöst wurde. Die Zählung beginnt bei 1 und beinhaltet denSeitenkopf. Siehe auch Listen - Systemfelder. |
sy-linct | i | - | Seitenlänge der aktuellen Liste während der Listenerstellung. sy-linctist 0 für eine beliebig lange Standardliste und hat einen Wert ungleich 0 für Listen mitfestgelegter Seitenlänge. Wird von der programmeinleitenden Anweisung oder mit SUBMIT gesetzt. Siehe auch Listen - Systemfelder. |
sy-linno | i | - | Aktuelle Listenzeile während der Listenerstellung. Die Zählung beginnt bei 1 und beinhaltet den Seitenkopf. Wird von Ausgabeanweisungen gesetzt. Siehe auchListen - Systemfelder. |
sy-linsz | i | - | Zeilenbreite der aktuellen Liste im Listenpuffer während der Listenerstellung. Standardmäßigist der Wert wie folgt: Falls sy-scols größer gleich 84 istsy-linsz gleich sy-scols, ansonsten hat sy-linsz den Wert 84. Dies kann von der programmeinleitenden Anweisung oder mit SUBMIT übersteuert werden. Siehe auchListen - Systemfelder. |
sy-lisel | c | 255 | Inhalt der Listenzeile im Listenpuffer, auf der in der dargestellten Liste der Cursor stand, während ein Listenereignis ausgelöst wurde (beschränkt auf die ersten 255 Zeichen). Siehe auchListen - Systemfelder. |
sy-listi | i | - | Listenstufe der Liste, auf der ein Listenereignis ausgelöst wurde. |
sy-loopc | i | - | Anzahl der aktuell in einem Table Control angezeigten Zeilen. Wird beim Ereignis PAI gesetzt. |
sy-lsind | i | - | Listenstufe der Liste, die gerade erstellt wird (Grundliste: 0, Verzweigungslisten: größer0). Bei jedem interaktiven Listenereignis wird sy-lsind automatisch um 1erhöht. sy-lsind darf im ABAP-Programm geändert werden, umzwischen Verzweigungslisten zu navigieren. Eine Änderung von sy-lsind wird erst am Ende eines Listenereignisses berücksichtigt. Siehe auchListen - Systemfelder. |
sy-macol | i | - | Enthält beim Spoolen von Listen die Anzahl der Spalten am linken Rand. Wird von der Anweisung SET MARGIN gesetzt. |
sy-mandt | c | 3 | Mandantenkennung, mit der sich der aktuelle Benutzer angemeldet hat, z.B. "401", "800". |
sy-marow | i | - | Enthält beim Spoolen von Listen die Anzahl der Zeilen am oberen Rand. Wird von der Anweisung SET MARGIN gesetzt. |
sy-modno | i | - | Indizierung der ABAP-Sitzungen.Enthält in der ersten Sitzung den Wert 0. Wird in neuen Sitzungen, die mit der Funktion Erzeugen Modus oder durch Aufruf einerTransaktion mit /o im Befehlsfeld derSystemfunktionsleistegeöffnet werden, um 1 erhöht. Falls vorhergehende Sitzungen gelöscht wurden, werdenerst die freien Zahlen wieder belegt. Sitzungen, die mit CALL FUNCTION ... STARTING NEW TASKgeöffnet werden, starten wieder bei 0. |
sy-msgid | c | 20 | Enthält nach der Anweisung MESSAGE die Nachrichtenklasse. NachMESSAGE ... RAISING auch im aufrufenden Programm gesetzt, falls es die Ausnahme behandelt (gilt auch für RFC-Ausnahmen). |
sy-msgno | n | 3 | Enthält nach der Anweisung MESSAGE die Nachrichtennummer. NachMESSAGE ... RAISING auch im aufrufenden Programm gesetzt, falls es die Ausnahme behandelt (gilt auch für RFC-Ausnahmen). |
sy-msgty | c | 1 | Enthält nach der Anweisung MESSAGE den Nachrichtentyp. Nach MESSAGE ... RAISING auch im aufrufenden Programm gesetzt, falls es die Ausnahme behandelt (gilt auch für RFC-Ausnahmen). |
sy-msgv1, sy-msgv2, sy-msgv3, sy-msgv4 | c | 50 | Enthalten nach der Anweisung MESSAGE die Feldinhalte, die für die Platzhalter derNachricht verwendet wurden.Nach MESSAGE ... RAISING auch im aufrufenden Programm gesetzt, falls es dieAusnahme behandelt (gilt auch für RFC-Ausnahmen). Bei Anforderung einer Datenbanksperren miteinem ENQUEUE-Funktionsbaustein enthält sym-sgv1 nach der Ausnahme FOREIGN_LOCK den Namen des Benutzers, der die Sperre hält. |
sy-opsys | c | 10 | Betriebssystem des aktuellen Applikationsservers,z.B. "SOLARIS", "HP-UX". |
sy-pagno | i | - | Aktuelle Seite bei der Listenerstellung. Wird von Ausgabeanweisungen gesetzt. Siehe auch Listen - Systemfelder. |
sy-pfkey | c | 20 | GUI-Status des aktuellen Dynpros. Wird beim Ereignis PAI gesetzt. |
sy-repid | c | 40 | Name des aktuellen ABAP-Programms. Bei extern aufgerufenen Prozeduren Name desRahmenprogramms derProzedur. Falls sy-repidals Aktualparameter an eine externe Prozedur übergeben wird, wird der Formalparameter auf den Namen des Aufrufers gesetzt. |
sy-saprl | c | 4 | Release-Stand des AS ABAP, z.B. "702", "740". |
sy-scols | i | - | Anzahl der Spalten des aktuellen Bildschirmbildes. Wird beim Ereignis PAI gesetzt. |
sy-slset | c | 14 | Selektionsbildvariante, die zum Füllen einesSelektionsbildes verwendet wurde. Der zugehörige Programmname ist sy-cprog zu entnehmen. |
sy-spono | n | 10 | Enthält beim Spoolen von Listen den Namen der Spool-Nummer. |
sy-srows | i | - | Anzahl der Zeilen des aktuellen Bildschirmbildes. Wird beim Ereignis PAI gesetzt. |
sy-staco | i | - | Nummer der ersten angezeigten Spalte der Liste, auf der ein Listenereignis ausgelöst wurde. Zählung beginnt bei 1. Siehe auchListen - Systemfelder. |
sy-staro | i | - | Nummer der obersten angezeigten Listenzeile der obersten angezeigten Seite der Liste, auf der ein Listenereignis ausgelöst wurde. Zählung beginnt bei 1. Hierbei wird derSeitenkopf nicht mitgezählt. Siehe auch Listen - Systemfelder. |
sy-stepl | i | - | Index der aktuellen Zeile in einem Table Control. Wird bei jedem Schleifendurchlauf gesetzt. Außerhalbeiner Schleife. z.B. beim Ereignis POV oder POH für eine Tabellenzeile, ist der Inhalt von sy-stepl undefiniert. |
sy-subrc | i | - | Rückgabewert, der von vielen ABAP-Anweisungen gesetzt wird. Im Allgemeinen bedeutet der Inhalt0, dass die Anweisung problemlos ausgeführt wurde. Je nachdem, durch welche Anweisung sy-subrcgesetzt wurde, kann im Fehlerfall aus dem entsprechenden Wert die Fehlerursache abgeleitet werden. NachAnweisungen, für die das Setzen von sy-subrc nicht explizit dokumentiertist, behält sy-subrc seinen vorhergehenden Wert oder sein Inhalt ist undefiniert. |
sy-sysid | c | 8 | Name des AS ABAP, z.B. "S01", "K99". |
sy-tabix | i | - | Zeilennummer im Tabellenindex einer internen Tabelle. Enthält die zuletzt über einenprimären odersekundären Tabellenindex angesprochene Zeile . Wird beim Zugriff über einenHash-Algorithmus auf 0 gesetzt. |
sy-tcode | c | 20 | Name des aktuellen Transaktionscodes. In der Hintergrundverarbeitung initial, es sei denn es wurde während der Hintergrundverarbeitung eine Transaktion aufgerufen. |
sy-tfill | i | - | Bei den Anweisungen DESCRIBE TABLE, LOOP ATund READ TABLE wird sy-tfill mit der Zeilenanzahl der angesprochenen internen Tabelle versorgt. |
sy-timlo | t | - | Benutzerzeit, z.B. "152557", siehe Systemfelder für Datum und Zeit. |
sy-title | c | 70 | Text, der im Titelbalken des Dynpros erscheint. |
sy-tleng | i | - | Bei den Anweisungen DESCRIBE TABLE, LOOP ATund READ TABLE wird sy-tleng mit der Zeilengröße der angesprochenen internen Tabelle versorgt. |
sy-tvar0, sy-tvar1, sy-tvar2,sy-tvar3, sy-tvar4, sy-tvar5,sy-tvar6, sy-tvar7, sy-tvar8, sy-tvar9 | c | 20 | Diesen Systemfeldern dürfen im Programm Werte zugewiesen werden. Der Inhalt von sy-tvar0bis sy-tvar9 ersetzt beim Ereignis TOP-OF-PAGEdie Platzhalter "&0" bis "&9" in den Listen- und Spaltenüberschriften der Textelemente des Programms. |
sy-tzone | i | - | Zeitdifferenz der Systemzeit zurUTC-Referenzzeit in Sekunden, z.B. "3600", "10800". SieheSystemfelder für Datum und Zeit. |
sy-ucomm | c | 70 | Funktionscode, der das Ereignis PAIausgelöst hat. Dieser ist in der Regel eindeutig mit einer Funktion verknüpft. Nur Enter kann verschiedene Funktionscodes an sy-ucomm nach folgenderHierarchie übergeben: Inhalt des Befehlsfelds der Systemfunktionsleiste, zugeordneter Funktionscode, keine Beeinflussung des Inhalts. |
sy-uline | c | 255 | Enthält 255 Zeichen "-" zur Darstellung von Linien auf Listen. Für die Ausgabe vonsy-uline mit der Anweisung WRITEgilt das Gleiche wie für die Anweisung ULINE, d.h. standardmäßig wird jedes Zeichen "-" durch einLinienelement ersetzt. |
sy-uname | c | 12 | Anmeldename des Benutzers, z.B. "KELLERH". Siehe auch Benutzerabhängiger Programmablauf. |
sy-uzeit | t | - | Systemzeit, siehe Systemfelder für Datum und Zeit. |
sy-vline | c | 1 | Enthält einen vertikalen Strich (|) zur Darstellung auf Listen. |
sy-wtitl | c | 1 | Wird in den Anweisungen REPORT, PROGRAM undFUNCTION-POOL auf "N" gesetzt, wenn der ZusatzNO STANDARD PAGE HEADING verwendet wird, ansonsten initial. Die Anweisung NEW-PAGE setzt sy-wtitl nicht. |
sy-zonlo | c | 6 | Benutzerzeitzone, z.B. "CET", "PST". SieheSystemfelder für Datum und Zeit. |