ABAP system fields are always available in ABAP programs. The runtime system fills them according to context. They can then be used in programs to query the system status. System fields are variables but you should always treat them as though they were constants, and only read them. If you change their values, important information for the flow of the program may be lost. In exceptional circumstances, system fields may be overwritten in an ABAP program to control the system - for example, SY-LSIND (for navigating to a detail list).
With one exception, the names and data types of the system fields are stored in the ABAP Dictionary in the SYST structure and realized as components of the predefined structure SY in ABAP programs.
The system field SY-REPID is not part of SYST or SY. Instead, every program contains the predefined constants SY-REPID and SYST-REPID, which both contain the name of the corresponding program. Furthermore, there are two predefined types of the same name, SY-REPID and SYST-REPID.
All system fields are addressed using SY field name and their types using SYST field name.
The following table lists the definitions of the structure SYST in the ABAP Dictionary alphabetically. The character in the first column indicates how you can use the corresponding system field in ABAP programs. Name is the name of the component, Type is the Dictionary data type, and Length is the field length defined in the Dictionary. The Use column shows in which environment the system fields are set. The Description indicates the content.
Name |
Type |
Length |
Use |
Short Description |
|
|
ABCDE |
CHAR |
26 |
Constants |
Alphabet (A,B,C,...) |
|
APPLI |
RAW |
2 |
Obsolete |
|
|
BATCH |
CHAR |
1 |
Background Processing |
Program runs in the background |
|
BATZD |
CHAR |
1 |
Obsolete |
|
|
BATZM |
CHAR |
1 |
Obsolete |
|
|
BATZO |
CHAR |
1 |
Obsolete |
|
|
BATZS |
CHAR |
1 |
Obsolete |
|
|
BATZW |
CHAR |
1 |
Obsolete |
|
|
BINPT |
CHAR |
1 |
Batch Input |
Program runs under batch input |
|
BREP4 |
CHAR |
4 |
Obsolete |
|
|
BSPLD |
CHAR |
1 |
Obsolete |
|
|
CALLD |
CHAR |
1 |
ABAP Program |
Call mode of ABAP program |
|
CALLR |
CHAR |
8 |
Printing Lists |
ID for print dialog function |
|
CCURS |
DEC |
9 |
Obsolete |
|
|
CCURT |
DEC |
9 |
Obsolete |
|
|
CDATE |
DATS |
8 |
Obsolete |
|
|
CFWAE |
CUKY |
5 |
Internal |
|
|
CHWAE |
CUKY |
5 |
Internal |
|
|
COLNO |
INT4 |
10 |
Creating Lists |
Current column in the list |
|
CPAGE |
INT4 |
10 |
List Processing |
Current Page Number |
|
CPROG |
CHAR |
40 |
ABAP Program |
External procedure caller |
|
CTABL |
CHAR |
4 |
Obsolete |
|
|
CTYPE |
CHAR |
1 |
Obsolete |
|
|
CUCOL |
INT4 |
10 |
Screens |
Horizontal cursor position at PAI |
|
CUROW |
INT4 |
10 |
Screens |
Vertical cursor position at PAI |
|
DATAR |
CHAR |
1 |
Dynpros |
Displays user input |
|
DATLO |
DATS |
8 |
Date and Time |
Local date of user |
|
DATUM |
DATS |
8 |
Date and Time |
Current (application server) date |
|
DAYST |
CHAR |
1 |
Date and Time |
Daylight-saving time flag |
|
DBCNT |
INT4 |
10 |
Database Accesses |
Number of processed table rows |
|
DBNAM |
CHAR |
20 |
ABAP Program |
Linked logical database |
|
DBSYS |
CHAR |
10 |
SAP System |
Name of central database system |
|
DCSYS |
CHAR |
4 |
Obsolete |
|
|
DEBUG |
CHAR |
1 |
Internal |
|
|
DSNAM |
CHAR |
8 |
Internal |
|
|
DYNGR |
CHAR |
4 |
ABAP Program |
Screen group of current dynpro |
|
DYNNR |
CHAR |
4 |
ABAP Program |
Number of current dynpro |
|
ENTRY |
CHAR |
72 |
Internal |
|
|
FDAYW |
INT1 |
3 |
Date and Time |
Factory calendar weekday |
|
FDPOS |
INT4 |
10 |
Character Strings |
Offset in character strings |
|
FFILE |
CHAR |
8 |
Internal |
|
|
FLENG |
INT4 |
10 |
Internal |
|
|
FMKEY |
CHAR |
3 |
Obsolete |
|
|
FODEC |
INT4 |
10 |
Internal |
|
|
FOLEN |
INT4 |
10 |
Internal |
|
|
FTYPE |
CHAR |
1 |
Internal |
|
|
GROUP |
CHAR |
1 |
Internal |
|
|
HOST |
CHAR |
8 |
SAP System |
Name of application server |
|
INDEX |
INT4 |
10 |
Loops |
Current loop pass |
|
INPUT |
CHAR |
1 |
Internal |
|
|
LANGU |
LANG |
1 |
SAP System |
Current language |
|
LDBPG |
CHAR |
40 |
ABAP Program |
Program of logical database |
|
LILLI |
INT4 |
10 |
List Processing |
Selected list row |
|
LINCT |
INT4 |
10 |
Creating Lists |
Page length of list |
|
LINNO |
INT4 |
10 |
Creating Lists |
Current row |
|
LINSZ |
INT4 |
10 |
Creating Lists |
Column width of list |
|
LISEL |
CHAR |
255 |
List Processing |
Content of selected row |
|
LISTI |
INT4 |
10 |
List Processing |
Index of selected list |
|
LOCDB |
CHAR |
1 |
Obsolete |
|
|
LOCOP |
CHAR |
1 |
Obsolete |
|
|
LOOPC |
INT4 |
10 |
Dynpros |
Number of rows visible in table |
|
LPASS |
CHAR |
4 |
Internal |
|
|
LSIND |
INT4 |
10 |
List Processing |
Index of details list |
|
LSTAT |
CHAR |
16 |
List Processing |
ID for list levels |
|
MACDB |
CHAR |
4 |
Obsolete |
|
|
MACOL |
INT4 |
10 |
Printing Lists |
Columns from SET MARGIN statement |
|
MANDT |
CLNT |
3 |
SAP System |
Client number from logon |
|
MARKY |
CHAR |
1 |
Obsolete |
|
|
MAROW |
INT4 |
10 |
Printing Lists |
Rows from SET MARGIN statement |
|
MODNO |
CHAR |
1 |
SAP System |
Index of external modes |
|
MSGID |
CHAR |
20 |
Messages |
Message class |
|
MSGLI |
CHAR |
60 |
Messages |
Message line |
|
MSGNO |
NUMC |
3 |
Messages |
Message number |
|
MSGTY |
CHAR |
1 |
Messages |
Message type |
|
MSGV1 |
CHAR |
50 |
Messages |
Message variable |
|
MSGV2 |
CHAR |
50 |
Messages |
Message variable |
|
MSGV3 |
CHAR |
50 |
Messages |
Message variable |
|
MSGV4 |
CHAR |
50 |
Messages |
Message variable |
|
NEWPA |
CHAR |
1 |
Internal |
|
|
NRPAG |
CHAR |
1 |
Internal |
|
|
ONCOM |
CHAR |
1 |
Internal |
|
|
OPSYS |
CHAR |
10 |
SAP System |
Operating system of application server |
|
PAART |
CHAR |
16 |
Print Parameters |
Print formatting |
|
PAGCT |
INT4 |
10 |
Obsolete |
|
|
PAGNO |
INT4 |
10 |
Creating Lists |
Current page |
|
PAUTH |
NUMC |
2 |
Internal |
|
|
PDEST |
CHAR |
4 |
Print Parameters |
Output device |
|
PEXPI |
NUMC |
1 |
Print Parameters |
Spool retention period |
|
PFKEY |
CHAR |
20 |
Screens |
Current GUI status |
|
PLAYO |
CHAR |
5 |
Internal |
|
|
PLAYP |
CHAR |
1 |
Internal |
|
|
PLIST |
CHAR |
12 |
Print Parameters |
Name of spool request |
|
PNWPA |
CHAR |
1 |
Internal |
|
|
PRABT |
CHAR |
12 |
Print Parameters |
Part of cover sheet |
|
PRBIG |
CHAR |
1 |
Print Parameters |
Selection cover page |
|
PRCOP |
NUMC |
3 |
Print Parameters |
Number of copies |
|
PRDSN |
CHAR |
6 |
Print Parameters |
Name of spool dataset |
|
PREFX |
CHAR |
3 |
Obsolete |
|
|
PRI40 |
CHAR |
1 |
Internal |
|
|
PRIMM |
CHAR |
1 |
Print Parameters |
Print immediately |
|
PRINI |
NUMC |
1 |
Internal |
|
|
PRLOG |
CHAR |
1 |
Internal |
|
|
PRNEW |
CHAR |
1 |
Print Parameters |
New spool request |
|
PRREC |
CHAR |
12 |
Print Parameters |
Receiver |
|
PRREL |
CHAR |
1 |
Print Parameters |
Delete after print |
|
PRTXT |
CHAR |
68 |
Print Parameters |
Text for cover sheet |
|
REPI2 |
CHAR |
40 |
Internal |
|
|
REPID |
CHAR |
40 |
ABAP Program |
Current master program |
|
RSTRT |
CHAR |
1 |
Internal |
|
|
RTITL |
CHAR |
70 |
Print Parameters |
Title of printing program |
|
SAPRL |
CHAR |
4 |
SAP System |
Release status of SAP System |
|
SCOLS |
INT4 |
10 |
Screens |
Number of columns |
|
SFNAM |
CHAR |
30 |
Obsolete |
|
|
SFOFF |
INT4 |
10 |
Internal |
|
|
SLSET |
CHAR |
14 |
Selection Screens |
Variant name |
|
SPONO |
NUMC |
10 |
Printing Lists |
Spool number |
|
SPONR |
NUMC |
10 |
Obsolete |
|
|
SROWS |
INT4 |
10 |
Screens |
Number of lines |
|
STACO |
INT4 |
10 |
List Processing |
First displayed column |
|
STARO |
INT4 |
10 |
List Processing |
Uppermost displayed row |
|
STEPL |
INT4 |
10 |
Dynpros |
Index of current table row |
|
SUBCS |
CHAR |
1 |
Internal |
|
|
SUBRC |
INT4 |
10 |
Return Value |
Return value after ABAP statement |
|
SUBTY |
RAW |
1 |
Internal |
|
|
SYSID |
CHAR |
8 |
SAP System |
Name of SAP System |
|
TABID |
CHAR |
8 |
Internal |
|
|
TABIX |
INT4 |
10 |
Internal Tables |
Current row index |
|
TCODE |
CHAR |
20 |
ABAP Program |
Current transaction code |
|
TFDSN |
CHAR |
8 |
Obsolete |
|
|
TFILL |
INT4 |
10 |
Internal Tables |
Current number of rows |
|
TIMLO |
TIMS |
6 |
Date and Time |
Local time of user |
|
TITLE |
CHAR |
70 |
Screens |
Text in header line |
|
TLENG |
INT4 |
10 |
Internal Tables |
Row size |
|
TLOPC |
INT4 |
10 |
Internal |
|
|
TMAXL |
INT4 |
10 |
Obsolete |
|
|
TNAME |
CHAR |
30 |
Obsolete |
|
|
TOCCU |
INT4 |
10 |
Obsolete |
|
|
TPAGI |
INT4 |
10 |
Obsolete |
|
|
TSTIS |
INT4 |
10 |
Internal |
|
|
TTABC |
INT4 |
10 |
Obsolete |
|
|
TTABI |
INT4 |
10 |
Obsolete |
|
|
TVAR0 |
CHAR |
20 |
Creating Lists |
Text variable for headers |
|
TVAR1 |
CHAR |
20 |
Creating Lists |
Text variable for headers |
|
TVAR2 |
CHAR |
20 |
Creating Lists |
Text variable for headers |
|
TVAR3 |
CHAR |
20 |
Creating Lists |
Text variable for headers |
|
TVAR4 |
CHAR |
20 |
Creating Lists |
Text variable for headers |
|
TVAR5 |
CHAR |
20 |
Creating Lists |
Text variable for headers |
|
TVAR6 |
CHAR |
20 |
Creating Lists |
Text variable for headers |
|
TVAR7 |
CHAR |
20 |
Creating Lists |
Text variable for headers |
|
TVAR8 |
CHAR |
20 |
Creating Lists |
Text variable for headers |
|
TVAR9 |
CHAR |
20 |
Creating Lists |
Text variable for headers |
|
TZONE |
INT4 |
10 |
Date and Time |
Time difference to Greenwich Mean Time |
|
UCOMM |
CHAR |
70 |
Screens |
Function code that triggered PAI |
|
ULINE |
CHAR |
255 |
Constants |
Horizontal line with length 255 |
|
UNAME |
CHAR |
12 |
SAP System |
Logon name of user |
|
UZEIT |
TIMS |
6 |
Date and Time |
Current (application server) time |
|
VLINE |
CHAR |
1 |
Constants |
Vertical line |
|
WAERS |
CUKY |
5 |
Obsolete |
|
|
WILLI |
INT4 |
10 |
Obsolete |
|
|
WINCO |
INT4 |
10 |
Obsolete |
|
|
WINDI |
INT4 |
10 |
Obsolete |
|
|
WINRO |
INT4 |
10 |
Obsolete |
|
|
WINSL |
CHAR |
79 |
Obsolete |
|
|
WINX1 |
INT4 |
10 |
Obsolete |
|
|
WINX2 |
INT4 |
10 |
Obsolete |
|
|
WINY1 |
INT4 |
10 |
Obsolete |
|
|
WINY2 |
INT4 |
10 |
Obsolete |
|
|
WTITL |
CHAR |
1 |
Creating Lists |
Flag for standard page header |
|
XCODE |
CHAR |
70 |
Internal |
|
|
XFORM |
CHAR |
30 |
Internal |
|
|
XPROG |
CHAR |
40 |
Internal |
|
|
ZONLO |
CHAR |
6 |
Date and Time |
Time zone of user |
Key:
|
The system field is set by the runtime environment. Its content can be evaluated in the ABAP program but must not be changed. |
|
The system field is set by the runtime environment. Its content can be changed in the ABAP program to influence the runtime environment. |
|
The system field must be set in the ABAP program. It can then be evaluated by the runtime environment or the program. |
|
The system field is only for internal use and must not be used in ABAP programs. |
|
The system field is obsolete and its content is not set. It must not be used in ABAP programs. |
The following is a thematic summary of the system fields with notes on their use:
System Information
ABAP Programming
Screens
Internal System Fields
Obsolete System Fields
Information on the Current SAP System
SY-DBSYS
Central database system, for example INFORMIX, ORACLE ...
SY-HOST
Application server, for example HS0333, PAWDF087 ...
SY-OPSYS
Operating system of application server, for example HP-UX, SINIX
SY-SAPRL
Release status of the SAP System, for example 30D, 46A, ...
SY-SYSID
Name of the SAP System, for example B20, I47, ...
Information on the User Session
SY-LANGU
One-digit language key, for example D, E, F. Either logon language of user or set using the SET LOCALE LANGUAGE statement.
SY-MANDT
Client number the user logged on with, for example 000, 400, ... For database accesses with Open SQL, SY-MANDT is used as the first key field of the WHERE clause.
SY-MODNO
Indexing of External Modes Zero in first mode. In new modes, opened using the Create Mode function or by calling a transaction using /o, it is raised by 1. If previous modes were deleted, the free numbers are used first. Modes opened using CALL TRANSACTION … STARTING NEW TASK start back at 0.
SY-UNAME
Logon name of user, for example KELLERH, BC400-01, ...
Date and Time Information
The following system fields are always set automatically. If necessary, the GET TIME statement synchronizes the application server time with that of the database server and writes it to the system field SY-UZEIT. SY-DATUM and the system fields for the local time zone, that is SY-TIMLO, SY-DATLO, and SY-ZONLO, are also reset.
SY-DATLO
Local date of user, for example 19981129, 19990628, ...
SY-DATUM
Current (application server) date, for example 19981130, 19990627, ...
SY-DAYST
During daylight saving time X, otherwise empty.
SY-FDAYW
Factory calendar weekday, Sunday 0 … Saturday 6.
SY-TIMLO
Local time of user, for example 154353, 225312, ...
SY-TZONE
Time difference from Greenwich Mean Time (UTC) in seconds, for example 3600, 10800, ...
SY-UZEIT
Current (application server) time, for example 164353, 215312, ...
SY-ZONLO
Time zone of user, for example CET, UTC, ...
Information on the Current ABAP Program
SY-CALLD
SY-CALLD contains SPACE if the program is the first and only program in a call chain. SY_CALLD contains 'X' if the program is a called program in a call chain.
SY-CPROG
In externally called procedures, the name of the calling program, otherwise the name of the current program. If an externally called procedure calls another external procedure, SY-CPROG keeps the name of the first main program and is not given the name of the master program of the next caller.
SY-DBNAM
In executable programs, this is the linked logical database.
SY-DYNGR
Screen Group of Current Dynpro You can assign several screens to a common screen group. You can use this, for example, to modify all the screens in the group in a uniform way.
SY-DYNNR
Number of Current Dynpro During selection screen processing, SY-DYNNR contains the dynpro number of the current selection screen. During list processing, SY-DYNNR contains the number of the container screen. While a subscreen is being processed, SY-DYNNR contains its screen number. This also applies to tabstrips.
SY-LDBPG
With executable programs, the database program of the linked logical database.
SY-REPID
Name of Current ABAP Program With externally called procedures, this is the name of the procedure's master program.
If SY-REPID was transferred to an external procedure as an actual parameter before Release 6.10, the formal parameter was not given the name of the caller, but the name of the procedure's master program. SY-REID had to be transferred to an auxiliary variable before the call or you had to use SY-PROG.
As of Release 6.10, SY-REPID is a separate constant that is no longer part of the structure SYST or SY. It can be transferred to external procedures directly.
SY-TCODE
Name of the current transaction code.
Background Processing
SY-BATCH
SY-BATCH is set to X in an ABAP program running in the background. Otherwise it is empty.
Batch Input
SY-BINPT
SY-BINPT is set to X during processing of batch input folders and in ABAP programs called with CALL TRANSACTION USING. Otherwise it is empty.
OPTIONS FROM in the CALL TRANSACTION USING statement can set SY-BINPT to empty for the entire program execution, as well as at the end of the BDC data.
In CATT procedures, SY-BINPT is always empty.
Constants
SY-ABCDE
Contains the alphabet. Can be used to access individual letters independently of the code page by specifying the offset.
SY-ULINE
Contains a horizontal line with length 255. Can be used when creating lists.
SY-VLINE
Contains a vertical line (|). Can be used when creating lists.
Loops
SY-INDEX
SY-INDEX contains the number of loop passes in DO and WHILE loops, including the current loop pass.
Character Strings
SY-FDPOS
Found location for operations with character-type fields.
Internal Tables
SY-TABIX
Current line in an internal table. With the following statements SY-TABIX is set for index tables. With hashed tables, SY-TABIX is not filled or it is set to 0.
SY-TFILL
With the statements DESCRIBE TABLE, LOOP AT, and READ TABLE, SY-TFILL is filled with the row number of the addressed internal table.
SY-TLENG
With the statements DESCRIBE TABLE, LOOP AT, and READ TABLE, the system fills SY-TLENG with the row size of the addressed internal table.
Database Accesses
SY-DBCNT
SQL statements set the content of SY-DBCNT to the number of database lines processed. With SELECT loops in Open SQL, SY-DBCNT is set after the ENDSELECT statement. In Native SQL, SY-DBCNT is set after the ENDEXEC statement.
Return Value
SY-SUBRC
Return value set by the following ABAP statements. In general, a content of 0 means that the statement was executed without problems.
GENERATE SUBROUTINE POOL sets SY-SUBRC to 0 if generation was successful; otherwise 8.
Dynpros
System fields are set at the PAI event for every screen. These can be also used for interactive list processing, except for SY-DATAR, SY-LOOPC, and SY-STEPL.
SY-CUCOL
Horizontal Cursor Position Counting starts at column 2.
SY-CUROW
Vertical Cursor Position Counting starts at row 1.
SY-DATAR
Is set to X at the time of PAI if at least one screen input field was changed by the user or other data transfer; otherwise it is empty.
SY-LOOPC
Number of rows currently displayed in a screen table (table control).
SY-PFKEY
GUI status of the current dynpro. Can be set at PBO using SET PF-STATUS.
SY-SCOLS
Number of columns in the current screen.
SY-SROWS
Number of rows in the current screen.
SY-STEPL
Index of the current row in a screen table (table control). Is set at every loop pass. Outside a loop, for example during the POV event for a table row, SY-STEPL is not set appropriately.
SY-TITLE
Text that appears in the title bar of the dynpro. For selection screens and lists this is the program name; otherwise SAP. Can be set during PBO using SET TITLEBAR.
SY-UCOMM
Function code that triggered the event PAI. Each user action that triggers PAI has a unique function code assigned to it, with one exception: Choosing ENTER triggers the PAI event, whereby different function codes can be passed to SY-UCOMM:
Selection Screens
SY-SLSET
Variant used to fill the selection screen.
Creating Lists
When creating a list you can use the following system fields to navigate. They help to ensure that output statements do not overwrite any existing output and that the system does not try to write outside the list. The current output position is always in the system fields SY-COLNO and SY-LINNO and is reset for every output statement. The remaining system fields contain further values for list creation.
SY-COLNO
Current column during list creation. Counting starts at 1. SY-COLNO is set by the following output statements:
SY-LINCT
Page length of list. SY-LINCT is 0 for a standard list of any length and has a value unequal to 0 for lists with fixed page length.
SY-LINNO
Current row during list creation. Counting begins at 1 and includes the page header. SY-LINNO is set by the following output statements:
SY-LINSZ
Line width of list. Without further influence, this is the standard window width: If SY-SCOLS >= 84, SY-LINSZ = SY-SCOLS; if SY-SCOLS < 84, SY-LINSZ = 84.
To change the width of the output list, use the LINE-SIZE option of the REPORT or NEW PAGE statements.
SY-PAGNO
Current page during list creation.
SY-TVAR0 ... SY-TVAR9
In the program, you can assign values to these system fields. During the TOP-OF-PAGE event, the system replaces the placeholders of the program's list and column headers with the contents of the system fields SY-TVAR0 to SYTVAR9.
SY-WTITL
Is set to N in the statements REPORT, PROGRAM, and FUNCTION-POOL if the NO STANDARD PAGE HEADING addition is used; otherwise empty. NEW-PAGE does not set SY-WTITL.
List Processing
At each interactive list event and for READ LINE, the system automatically fills the following system fields:
SY-CPAGE
Page number of the first displayed page of the list from which the event was triggered. Counting starts at 1.
SY-LILLI
Line from which the event was triggered. Counting begins at 1 and includes the page header.
SY-LISEL
Contents of the line from which the event was triggered (restricted to the first 255 characters).
SY-LISTI
Index of the list from which the event was triggered.
SY-LSIND
Index of the list that is currently being created (basic list: 0; details list > 0). Each time an interactive list event occurs, the system automatically increases SY-LSIND by 1. SY-LSIND can be changed in the ABAP program to navigate between detail lists. Changes to SY-LSIND are not taken into account until the end of the list event. Therefore, any manipulation of SY-LISND should be done using the last command of the processing block.
SY-LSTAT
ID for list levels within the program. SY-LSTAT can be filled with values during list creation in the ABAP program. The value valid when the list is completed is saved with the list. In the case of an interactive list event, SY-LSTAT is set to the value it was assigned during the creation of the list from which the event takes place. SY-LSTAT is no longer maintained and should therefore no longer be used.
SY-STACO
Number of the first displayed column of the list from which the event was triggered. Counting starts at 1.
SY-STARO
Number of the uppermost displayed line of the uppermost page of the list from which the event was triggered. Counting begins at 1. This does not include the page header.
Printing Lists
When printing lists, the spool and runtime systems require certain internal information, which is available in the following system fields and is set during print activation.
SY-CALLR
Contains a value that displays where printing was started, for example NEW-PAGE for program-controlled printing or RSDBRUNT for printing from the selection screen.
SY-PRDSN
Contains the name of the spool file during printing.
SY-SPONO
Contains the name of the spool number during printing.
SY-MAROW, SY-MACOL
The SET MARGIN statement fills the system fields SY-MAROW and SY-MACOL, which determine the number of lines on the upper margin and the number of columns on the left margin when printing.
Print Parameters
The print parameters are transferred to the spool system by the runtime system in a structure of dictionary type PRI_PARAMS. Before this structure was used, its purpose was served by system fields. Today a subset of the PRI_PARAMS structure is still written to system fields with the same names when printing is activated. This information is redundant and should not be used.
Messages
If you execute the MESSAGE statement, the following system fields are set. If you execute the MESSAGE … RAISING statement in function modules and methods, these fields are also set in the calling program, if it handles the exception.
SY-MSGID
SY-MSGID contains the message class.
SY-MSGNO
SY-MSGNO contains the message number.
SY-MSGTY
SY-MSGTY contains the message type.
SY-MSGV1,…,SY-MSGV4
SY-MSGV1 to SY-MSGV4 contain the field contents that are used for the message placeholders.
Special actions that fill message fields
Internal system fields are only for internal use in the ABAP runtime environment and are defined in the kernel. Under no circumstances must they be overwritten in ABAP programs and they should also not be read (processed).
SY-CFWAE
Undocumented
SY-CHWAE
Undocumented
SY-DEBUG
Undocumented
SY-DSNAM
Name of spool output file.
SY-ENTRY
Undocumented
SY-FFILE
Flat file (USING/GENERATING DATASET).
SY-FLENG
Length of a field.
SY-FODEC
Number of decimal places of a field.
SY-FOLEN
Output length of a field.
SY-FTYPE
Data type of a field.
SY-GROUP
Bundling
SY-INPUT
Undocumented
SY-LPASS
Undocumented
SY-NEWPA
Undocumented
SY-NRPAG
Undocumented
SY-ONCOM
On Commit flag. This system field is set to different values, depending on the call status of an ABAP program. Of these, only the value of 'P' is guaranteed. If at all, SY-ONCOM must only be queried for 'P'.
The value 'P' means that the program is executed. This is the case even if a subroutine is already started using PERFORM ... ON COMMIT. A further subroutine run using PERFORM ... ON COMMIT will cause a runtime error.
SY-PAUTH
Undocumented
SY-PLAYO
Undocumented
SY-PLAYP
Undocumented
SY-PNWPA
Undocumented
SY-PRI40
Undocumented
SY-PRINI
Undocumented
SY-PRLOG
Undocumented
SY-REPI2
Undocumented
SY-RSTRT
Undocumented
SY-SFOFF
Undocumented
SY-SUBCS
Call status of an executable program.
SY-SUBTY
Call type of an executable program.
SY-TABID
Undocumented
SY-TLOPC
Undocumented
SY-TSTIS
Undocumented
SY-XCODE
Extended Function Code Is filled, like SY-UCOMM, by user actions on lists. Before the length of SY-UCOMM was increased from 4 to 70 characters, SY-XCODE was used internally to evaluate lengthy entries in the command field of the list's standard toolbar. Use SY-UCOMM in application programs.
SY-XFORM
SYSTEM-EXIT subroutine.
SY-XPROG
SYSTEM-EXIT program.
In the transition from R/2 to R/3, some system fields were carried over that are no longer filled. These system fields are obsolete and can no longer be used.
SY-APPLI
In R/2, ID for which SAP applications are installed. No longer filled.
SY-BATZD
In R/2, ID for daily background scheduling. No longer filled.
SY-BATZM
In R/2, ID for monthly background scheduling. No longer filled.
SY-BATZO
In R/2, ID for single background scheduling. No longer filled.
SY-BATZS
In R/2, ID for immediate background scheduling. No longer filled.
SY-BATZW
In R/2, ID for weekly background scheduling. No longer filled.
SY-BREP4
In R/2, root name of request report for background processing. No longer filled.
SY-BSPLD
In R/2, ID for immediate spool output for background processing. No longer filled.
SY-CCURS
In R/2, rate specification / result field from CURRENCY CONVERSION. No longer filled.
SY-CCURT
In R/2, table rate from CURRENCY CONVERSION. No longer filled.
SY-CDATE
In R/2, rate date from CURRENCY CONVERSION. No longer filled.
SY-CTABL
In R/2, rate table from CURRENCY CONVERSION. No longer filled.
SY-CTYPE
In R/2, rate type from CURRENCY CONVERSION. No longer filled.
SY-DCSYS
Dialog system of R/2 System No longer filled.
SY-FMKEY
Previously, current function code menu. No longer filled.
SY-LOCDB
Local database, not implemented.
SY-LOCOP
Local database operation, not implemented.
SY-MACDB
Previously, name of file for matchcode access. No longer filled.
SY-MARKY
Current line character for the MARK statement. However, the language element MARK will only be supported for a short time.
SY-PAGCT
In R/2, maximum number of pages per list. No longer filled.
SY-PREFX
ABAP prefix for background jobs. No longer filled.
SY-SFNAM
Undocumented
SY-SPONR
In R/2, you could process spool files using the TRANSFER statement, set by SY-SPONR. No longer filled.
SY-TFDSN
Previously, name of external storage file for extracts. No longer filled.
SY-TMAXL
Previously, maximum number of entries in an internal table. No longer filled.
SY-TNAME
Previously, name of an internal table after an access. No longer filled.
SY-TOCCU
With the statements DESCRIBE TABLE, LOOP AT, and READ TABLE, SY-TOCCU was filled with the value of the initial main memory requirements for the addressed internal table. No longer filled.
SY-TPAGI
Previously, ID whether an internal table is stored in the paging area. No longer filled.
SY-TTABC
Previously, index of last read row in an internal table. No longer filled.
SY-TTABI
Previously, offset of internal tables in roll area. No longer filled.
SY-WAERS
Previously, company code currency after reading booking segment. No longer filled.
SY-WILLI
In R/2, number of selected list row for detail list in window. Use SY-LILLI.
SY-WINCO
In R/2, cursor position for detail list in window. Use SY-CUCOL.
SY-WINDI
In R/2, index of list for detail list in window. Use SY-LSIND.
SY-WINRO
In R/2, cursor position for detail list in window. Use SY-CUROW.
SY-WINSL
In R/2, content of selected row for detail list in window. Use SY-LISEL.
SY-WINX1
In R/2, window coordinate for details list in window. No longer used.
SY-WINX2
In R/2, window coordinate for details list in window. No longer used.
SY-WINY1
In R/2, window coordinate for details list in window. No longer used.
SY-WINY2
In R/2, window coordinate for details list in window. No longer used.