ABAP System Fields Locate the document in its SAP Library structure

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.

 

                                                                                                   

Alphabetical Overview

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

Description

This graphic is explained in the accompanying text

ABCDE

CHAR

26

Constants

Alphabet (A,B,C,...)

This graphic is explained in the accompanying text

APPLI

RAW

2

Obsolete

This graphic is explained in the accompanying text

BATCH

CHAR

1

Background processing

Program runs in the background

This graphic is explained in the accompanying text

BATZD

CHAR

1

Obsolete

This graphic is explained in the accompanying text

BATZM

CHAR

1

Obsolete

This graphic is explained in the accompanying text

BATZO

CHAR

1

Obsolete

This graphic is explained in the accompanying text

BATZS

CHAR

1

Obsolete

This graphic is explained in the accompanying text

BATZW

CHAR

1

Obsolete

This graphic is explained in the accompanying text

BINPT

CHAR

1

Batch input

Program runs under batch input

This graphic is explained in the accompanying text

BREP4

CHAR

4

Obsolete

This graphic is explained in the accompanying text

BSPLD

CHAR

1

Obsolete

This graphic is explained in the accompanying text

CALLD

CHAR

1

ABAP Program

Call mode of ABAP program

This graphic is explained in the accompanying text

CALLR

CHAR

8

Printing Lists

ID for print dialog function

This graphic is explained in the accompanying text

CCURS

DEC

9

Obsolete

This graphic is explained in the accompanying text

CCURT

DEC

9

Obsolete

This graphic is explained in the accompanying text

CDATE

DATS

8

Obsolete

This graphic is explained in the accompanying text

CFWAE

CUKY

5

Internal

This graphic is explained in the accompanying text

CHWAE

CUKY

5

Internal

This graphic is explained in the accompanying text

COLNO

INT4

10

Creating Lists

Current column in the list

This graphic is explained in the accompanying text

CPAGE

INT4

10

List processing

Current page number

This graphic is explained in the accompanying text

CPROG

CHAR

40

ABAP Program

External procedure call

This graphic is explained in the accompanying text

CTABL

CHAR

4

Obsolete

This graphic is explained in the accompanying text

CTYPE

CHAR

1

Obsolete

This graphic is explained in the accompanying text

CUCOL

INT4

10

Screens

Horizontal cursor position at PAI

This graphic is explained in the accompanying text

CUROW

INT4

10

Screens

Vertical cursor position at PAI

This graphic is explained in the accompanying text

DATAR

CHAR

1

Screens

Displays user input

This graphic is explained in the accompanying text

DATLO

DATS

8

Date and time

Local date of user

This graphic is explained in the accompanying text

DATUM

DATS

8

Date and time

Current (application server) date

This graphic is explained in the accompanying text

DAYST

CHAR

1

Date and time

Daylight saving time flag

This graphic is explained in the accompanying text

DBCNT

INT4

10

Database accesses

Number of processed table rows

This graphic is explained in the accompanying text

DBNAM

CHAR

20

ABAP Program

Linked logical database

This graphic is explained in the accompanying text

DBSYS

CHAR

10

R/3 System

Name of central database system

This graphic is explained in the accompanying text

DCSYS

CHAR

4

Obsolete

This graphic is explained in the accompanying text

DEBUG

CHAR

1

Internal

This graphic is explained in the accompanying text

DSNAM

CHAR

8

Internal

This graphic is explained in the accompanying text

DYNGR

CHAR

4

ABAP Program

Screen group of current screen

This graphic is explained in the accompanying text

DYNNR

CHAR

4

ABAP Program

Number of current screen

This graphic is explained in the accompanying text

ENTRY

CHAR

72

Internal

This graphic is explained in the accompanying text

FDAYW

INT1

3

Date and time

Factory calendar weekday

This graphic is explained in the accompanying text

FDPOS

INT4

10

Character strings

Offset in character strings

This graphic is explained in the accompanying text

FFILE

CHAR

8

Internal

This graphic is explained in the accompanying text

FLENG

INT4

10

Internal

This graphic is explained in the accompanying text

FMKEY

CHAR

3

Obsolete

This graphic is explained in the accompanying text

FODEC

INT4

10

Internal

This graphic is explained in the accompanying text

FOLEN

INT4

10

Internal

This graphic is explained in the accompanying text

FTYPE

CHAR

1

Internal

This graphic is explained in the accompanying text

GROUP

CHAR

1

Internal

This graphic is explained in the accompanying text

HOST

CHAR

8

R/3 System

Name of application server

This graphic is explained in the accompanying text

INDEX

INT4

10

Loops

Current loop pass

This graphic is explained in the accompanying text

INPUT

CHAR

1

Internal

This graphic is explained in the accompanying text

LANGU

LANG

1

R/3 System

Current language

This graphic is explained in the accompanying text

LDBPG

CHAR

40

ABAP Program

Program of logical database

This graphic is explained in the accompanying text

LILLI

INT4

10

List processing

Selected list row

This graphic is explained in the accompanying text

LINCT

INT4

10

Creating Lists

Page length of list

This graphic is explained in the accompanying text

LINNO

INT4

10

Creating Lists

Current row

This graphic is explained in the accompanying text

LINSZ

INT4

10

Creating Lists

Column width of list

This graphic is explained in the accompanying text

LISEL

CHAR

255

List processing

Content of selected row

This graphic is explained in the accompanying text

LISTI

INT4

10

List processing

Index of selected list

This graphic is explained in the accompanying text

LOCDB

CHAR

1

Obsolete

This graphic is explained in the accompanying text

LOCOP

CHAR

1

Obsolete

This graphic is explained in the accompanying text

LOOPC

INT4

10

Screens

Number of rows visible in table

This graphic is explained in the accompanying text

LPASS

CHAR

4

Internal

This graphic is explained in the accompanying text

LSIND

INT4

10

List processing

Index of detail list

This graphic is explained in the accompanying text

LSTAT

CHAR

16

List processing

ID for list levels

This graphic is explained in the accompanying text

MACDB

CHAR

4

Obsolete

This graphic is explained in the accompanying text

MACOL

INT4

10

Printing Lists

Columns from SET MARGIN statement

This graphic is explained in the accompanying text

MANDT

CLNT

3

R/3 System

Client number from logon

This graphic is explained in the accompanying text

MARKY

CHAR

1

Obsolete

This graphic is explained in the accompanying text

MAROW

INT4

10

Printing Lists

Rows from SET MARGIN statement

This graphic is explained in the accompanying text

MODNO

CHAR

1

R/3 System

Index of external modes

This graphic is explained in the accompanying text

MSGID

CHAR

20

Messages

Message class

This graphic is explained in the accompanying text

MSGLI

CHAR

60

Messages

Message line

This graphic is explained in the accompanying text

MSGNO

NUMC

3

Messages

Message number

This graphic is explained in the accompanying text

MSGTY

CHAR

1

Messages

Message type

This graphic is explained in the accompanying text

MSGV1

CHAR

50

Messages

Message variable

This graphic is explained in the accompanying text

MSGV2

CHAR

50

Messages

Message variable

This graphic is explained in the accompanying text

MSGV3

CHAR

50

Messages

Message variable

This graphic is explained in the accompanying text

MSGV4

CHAR

50

Messages

Message variable

This graphic is explained in the accompanying text

NEWPA

CHAR

1

Internal

This graphic is explained in the accompanying text

NRPAG

CHAR

1

Internal

This graphic is explained in the accompanying text

ONCOM

CHAR

1

Internal

This graphic is explained in the accompanying text

OPSYS

CHAR

10

R/3 System

Operating system of application server

This graphic is explained in the accompanying text

PAART

CHAR

16

Print parameters

Print formatting

This graphic is explained in the accompanying text

PAGCT

INT4

10

Obsolete

This graphic is explained in the accompanying text

PAGNO

INT4

10

Creating Lists

Current page:

This graphic is explained in the accompanying text

PAUTH

NUMC

2

Internal

This graphic is explained in the accompanying text

PDEST

CHAR

4

Print parameters

Output device

This graphic is explained in the accompanying text

PEXPI

NUMC

1

Print parameters

Retention period

This graphic is explained in the accompanying text

PFKEY

CHAR

20

Screens

Current GUI status

This graphic is explained in the accompanying text

PLAYO

CHAR

5

Internal

This graphic is explained in the accompanying text

PLAYP

CHAR

1

Internal

This graphic is explained in the accompanying text

PLIST

CHAR

12

Print parameters

Name of spool request

This graphic is explained in the accompanying text

PNWPA

CHAR

1

Internal

This graphic is explained in the accompanying text

PRABT

CHAR

12

Print parameters

Part of cover sheet

This graphic is explained in the accompanying text

PRBIG

CHAR

1

Print parameters

Selection cover page

This graphic is explained in the accompanying text

PRCOP

NUMC

3

Print parameters

Number of copies

This graphic is explained in the accompanying text

PRDSN

CHAR

6

Print parameters

Name of spool dataset

This graphic is explained in the accompanying text

PREFX

CHAR

3

Obsolete

This graphic is explained in the accompanying text

PRI40

CHAR

1

Internal

This graphic is explained in the accompanying text

PRIMM

CHAR

1

Print parameters

Print immediately

This graphic is explained in the accompanying text

PRINI

NUMC

1

Internal

This graphic is explained in the accompanying text

PRLOG

CHAR

1

Internal

This graphic is explained in the accompanying text

PRNEW

CHAR

1

Print parameters

New spool request

This graphic is explained in the accompanying text

PRREC

CHAR

12

Print parameters

Recipient

This graphic is explained in the accompanying text

PRREL

CHAR

1

Print parameters

Delete after print

This graphic is explained in the accompanying text

PRTXT

CHAR

68

Print parameters

Text for cover sheet

This graphic is explained in the accompanying text

REPI2

CHAR

40

Internal

This graphic is explained in the accompanying text

REPID

CHAR

40

ABAP Program

Current main program

This graphic is explained in the accompanying text

RSTRT

CHAR

1

Internal

This graphic is explained in the accompanying text

RTITL

CHAR

70

Print parameters

Title of printing program

This graphic is explained in the accompanying text

SAPRL

CHAR

4

R/3 System

Release status R/3 System

This graphic is explained in the accompanying text

SCOLS

INT4

10

Screens

Number of columns

This graphic is explained in the accompanying text

SFNAM

CHAR

30

Obsolete

This graphic is explained in the accompanying text

SFOFF

INT4

10

Internal

This graphic is explained in the accompanying text

SLSET

CHAR

14

Selection screens

Name of variant

This graphic is explained in the accompanying text

SPONO

NUMC

10

Printing Lists

Spool number

This graphic is explained in the accompanying text

SPONR

NUMC

10

Obsolete

This graphic is explained in the accompanying text

SROWS

INT4

10

Screens

Number of rows

This graphic is explained in the accompanying text

STACO

INT4

10

List processing

First displayed column

This graphic is explained in the accompanying text

STARO

INT4

10

List processing

Uppermost displayed row

This graphic is explained in the accompanying text

STEPL

INT4

10

Screens

Index of current table row

This graphic is explained in the accompanying text

SUBCS

CHAR

1

Internal

This graphic is explained in the accompanying text

SUBRC

INT4

10

Return value

Return value after ABAP statement

This graphic is explained in the accompanying text

SUBTY

RAW

1

Internal

This graphic is explained in the accompanying text

SYSID

CHAR

8

R/3 System

Name of R/3 System

This graphic is explained in the accompanying text

TABID

CHAR

8

Internal

This graphic is explained in the accompanying text

TABIX

INT4

10

Internal Tables

Current row index

This graphic is explained in the accompanying text

TCODE

CHAR

20

ABAP Program

Current transaction code

This graphic is explained in the accompanying text

TFDSN

CHAR

8

Obsolete

This graphic is explained in the accompanying text

TFILL

INT4

10

Internal Tables

Current number of rows

This graphic is explained in the accompanying text

TIMLO

TIMS

6

Date and time

Local time of user

This graphic is explained in the accompanying text

TITLE

CHAR

70

Screens

Text in header line

This graphic is explained in the accompanying text

TLENG

INT4

10

Internal Tables

Row size

This graphic is explained in the accompanying text

TLOPC

INT4

10

Internal

This graphic is explained in the accompanying text

TMAXL

INT4

10

Obsolete

This graphic is explained in the accompanying text

TNAME

CHAR

30

Obsolete

This graphic is explained in the accompanying text

TOCCU

INT4

10

Obsolete

This graphic is explained in the accompanying text

TPAGI

INT4

10

Obsolete

This graphic is explained in the accompanying text

TSTIS

INT4

10

Internal

This graphic is explained in the accompanying text

TTABC

INT4

10

Obsolete

This graphic is explained in the accompanying text

TTABI

INT4

10

Obsolete

This graphic is explained in the accompanying text

TVAR0

CHAR

20

Creating Lists

Text variable for headers

This graphic is explained in the accompanying text

TVAR1

CHAR

20

Creating Lists

Text variable for headers

This graphic is explained in the accompanying text

TVAR2

CHAR

20

Creating Lists

Text variable for headers

This graphic is explained in the accompanying text

TVAR3

CHAR

20

Creating Lists

Text variable for headers

This graphic is explained in the accompanying text

TVAR4

CHAR

20

Creating Lists

Text variable for headers

This graphic is explained in the accompanying text

TVAR5

CHAR

20

Creating Lists

Text variable for headers

This graphic is explained in the accompanying text

TVAR6

CHAR

20

Creating Lists

Text variable for headers

This graphic is explained in the accompanying text

TVAR7

CHAR

20

Creating Lists

Text variable for headers

This graphic is explained in the accompanying text

TVAR8

CHAR

20

Creating Lists

Text variable for headers

This graphic is explained in the accompanying text

TVAR9

CHAR

20

Creating Lists

Text variable for headers

This graphic is explained in the accompanying text

TZONE

INT4

10

Date and time

Time difference to Greenwich Mean Time

This graphic is explained in the accompanying text

UCOMM

CHAR

70

Screens

Function code that triggered PAI

This graphic is explained in the accompanying text

ULINE

CHAR

255

Constants

Horizontal line with length 255

This graphic is explained in the accompanying text

UNAME

CHAR

12

R/3 System

Logon name of user

This graphic is explained in the accompanying text

UZEIT

TIMS

6

Date and time

Current (application server) time

This graphic is explained in the accompanying text

VLINE

CHAR

1

Constants

Vertical line

This graphic is explained in the accompanying text

WAERS

CUKY

5

Obsolete

This graphic is explained in the accompanying text

WILLI

INT4

10

Obsolete

This graphic is explained in the accompanying text

WINCO

INT4

10

Obsolete

This graphic is explained in the accompanying text

WINDI

INT4

10

Obsolete

This graphic is explained in the accompanying text

WINRO

INT4

10

Obsolete

This graphic is explained in the accompanying text

WINSL

CHAR

79

Obsolete

This graphic is explained in the accompanying text

WINX1

INT4

10

Obsolete

This graphic is explained in the accompanying text

WINX2

INT4

10

Obsolete

This graphic is explained in the accompanying text

WINY1

INT4

10

Obsolete

This graphic is explained in the accompanying text

WINY2

INT4

10

Obsolete

This graphic is explained in the accompanying text

WTITL

CHAR

1

Creating Lists

Flag for standard page header

This graphic is explained in the accompanying text

XCODE

CHAR

70

Internal

This graphic is explained in the accompanying text

XFORM

CHAR

30

Internal

This graphic is explained in the accompanying text

XPROG

CHAR

40

Internal

This graphic is explained in the accompanying text

ZONLO

CHAR

6

Date and time

Time zone of user

Key:

This graphic is explained in the accompanying text

The system field is set by the runtime environment. Its content can be evaluated in the ABAP program but not changed.

This graphic is explained in the accompanying text

The system field is set by the runtime environment. Its content can be changed in the ABAP program to influence the runtime environment.

This graphic is explained in the accompanying text

The system field must be set in the ABAP program. It can then be evaluated by the runtime environment or the program.

This graphic is explained in the accompanying text

The system field is only for internal use and must not be used in ABAP programs.

This graphic is explained in the accompanying text

The system field is obsolete and its content is not set. It cannot be used in ABAP programs.

 

                                                                                                   

Thematic Overview

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

                                                                                                   

System Information

Information on the Current R/3 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 R/3 System, for example 30D, 46A

SY-SYSID

Name of R/3 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

Indexes 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 to 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 (see ABAP Calls Overview).

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 main program of the further caller.

SY-DBNAM

With executable programs this is the linked logical database.

SY-DYNGR

Screen group of current screen. You can assign several screens to a common screen group. You can use this, for example, to modify all of the screens in the group in a uniform way.

SY-DYNNR

Number of current screen During the selection screen processing, SY-DYNNR contains the screen 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 main 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 main 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 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.

 

                                                                                                   

ABAP Programming

Constants

SY-ABCDE

Contains the Alphabet. Can be used to access individual letters independently of the codepage by specifying offset.

SY-ULINE

Contains a horizontal line with length 255. Can be used when creating the list.

SY-VLINE

Contains a vertical line (|). Can be used when creating the list

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.

 

                                                                                                   

Screens

Screens

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

Set to X at time of PAI if at least one screen input field was changed by the user or other data transfer, otherwise empty.

SY-LOOPC

Number of rows currently displayed in a screen table (table control).

SY-PFKEY

GUI status of current screen. Can be set at PBO using SET PF-STATUS.

SY-SCOLS

Number of columns in current screen.

SY-SROWS

Number of rows in current screen.

SY-STEPL

Index of 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 screen. For selection screens and lists this is the program name, otherwise SAP R/3. Can be set during PBO using SET TITLEBAR.

SY-UCOMM

Function code that triggered the event PAI. Every user action that triggers PAI is assigned a unique function code, with one exception: Choosing Enter triggers PAI and different function codes can be transferred 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 rest for every output statement. The remaining system fields contain further values for the 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 the 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 statement.

SY-PAGNO

Current page during the 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

SY-LISTI

Index of the list from which the event was triggered

SY-LSIND

Index of the list that is being created (basic list: 0, detail 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 upper-most displayed row of the upper-most 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 ID.

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’s placeholders.

Special Actions that Fill Message Fields

 

                                                                                                   

Internal System 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 already executing a subroutine started using PERFORM … ON COMMIT and therefore a further subroutine call using PERFORM ... ON COMMIT would 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.

 

                                                                                                   

Obsolete System Fields

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. Not filled in R/3.

SY-BATZD

In R/2, ID for daily background scheduling. Not filled in R/3.

SY-BATZM

In R/2, ID for monthly background scheduling. Not filled in R/3.

SY-BATZO

In R/2, ID for single background scheduling. Not filled in R/3.

SY-BATZS

In R/2, ID for immediate background scheduling. Not filled in R/3.

SY-BATZW

In R/2, ID for weekly background scheduling. Not filled in R/3.

SY-BREP4

In R/2, root name of request report for background processing. Not filled in R/3.

SY-BSPLD

In R/2, ID for immediate spool output for background processing. Not filled in R/3.

SY-CCURS

In R/2, rate specification/result field from CURRENCY CONVERSION. Not filled in R/3.

SY-CCURT

In R/2, table rate from CURRENCY CONVERSION. Not filled in R/3.

SY-CDATE

In R/2, rate date from CURRENCY CONVERSION. Not filled in R/3.

SY-CTABL

In R/2, rate table from CURRENCY CONVERSION. Not filled in R/3.

SY-CTYPE

In R/2, rate type from CURRENCY CONVERSION. Not filled in R/3.

SY-DCSYS

Dialog system of R/2 System Not filled in R/3.

SY-FMKEY

Previously, current function code menu. Not filled in R/3.

SY-LOCDB

Local database, not implemented.

SY-LOCOP

Local database operation, not implemented.

SY-MACDB

Previously, name of file for matchcode access. Not filled in R/3.

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. Not filled in R/3.

SY-PREFX

ABAP prefix for background jobs. Not filled in R/3.

SY-SFNAM

Undocumented

SY-SPONR

In R/2, you could process spool files using the TRANSFER statement, set by SY-SPONR. Not filled in R/3.

SY-TFDSN

Previously, name of external storage file for extracts. Not filled in R/3.

SY-TMAXL

Previously, maximum number of entries in an internal table. Not filled in R/3.

SY-TNAME

Previously, name of an internal table after an access. Not filled in R/3.

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. Not filled in R/3.

SY-TTABC

Previously, index of last read row in an internal table. Not filled in R/3.

SY-TTABI

Previously, offset of internal tables in roll area. Not filled in R/3.

SY-WAERS

Previously, company code currency after reading booking segment. Not filled in R/3.

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 detail list in window. No correspondence in R/3.

SY-WINX2

In R/2, window coordinate for detail list in window. No correspondence in R/3.

SY-WINY1

In R/2, window coordinate for detail list in window. No correspondence in R/3.

SY-WINY2

In R/2, window coordinate for detail list in window. No correspondence in R/3.

 

 

 

Leaving content frame