Get Example source ABAP code based on a different SAP table
ARTICLE • sy ABAP_STRUCTURE • SYST ABAP_STRUCTURE • CL_ABAP_SYST ABAP_CLASS
ABAP System Fields System fields are filled by the ABAP runtime environment and can be used in an ABAP program to query system statuses. Except for one field (sy-repid), the system fields are variables, but nevertheless they should be used only for read access; otherwise, important information for the execution of subsequent programs may be lost. System fields in ABAP programs can be overwritten in rare cases only, to control system behavior. With the exception of sy-repid, the data types of the system fields are defined in the structure SYST in ABAP Dictionary, and are instantiated in ABAP programs as components of the predefined structure sy. The structure sy exists once in an internal session and is shared by all programs in this internal session. The structure sy can also be addressed using syst. There is also a predefined data type sy, which can be used instead of the data type SYST of ABAP Dictionary. The table below shows the system fields which can be used in ABAP programs. All other components of the structure sy are either intended only for internal use by the ABAP runtime environment or are obsolete . NameTypeLengthContent sy-abcdec26Contains the Latin alphabet. Can be used to access individual letters directly by specifying the offset/length, regardless of the code page. sy-batchc1'X' in an ABAP program running in the background; otherwise initial. sy-binptc1'X' when processing batch input sessions and in ABAP programs called by CALL TRANSACTION USING; otherwise initial. These defaults can be overridden using the addition OPTIONS FROM of the statement CALL TRANSACTION ... USING. sy-calldc1A blank in the first program of a call sequence; otherwise 'X'. Set to 'X' after calls using CALL TRANSACTION, CALL DIALOG, or SUBMIT ... AND RETURN. Empty if the program was started using LEAVE TO TRANSACTION or by a transaction code entered on the screen. A call using SUBMIT (without AND RETURN) takes the value of the calling program. sy-callrc8When spooling lists, contains a value that indicates where spooling was started, for example NEW-PAGE for program-driven spooling or RSDBRUNT for spooling from the selection screen. sy-colnoi-Current position when a list is created in the list buffer; set whenever an output statement is used. Counting begins at 1. In non-Unicode systems, this position also corresponds to the column in the displayed list. In Unicode systems this is only guaranteed for the lower and upper output limits, since a single character may occupy more columns in the list than positions in the list buffer. See also Lists - System Fields. sy-cpagei-Page number of the top page in the list display where a list event was triggered. Counting begins at 1. See also Lists - System Fields. sy-cprogc40In 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 contains the name of the framework program , and is not set to the name of the framework program of the subsequent calling program. sy-cucoli-Horizontal cursor position on the screen of a dynpro. Counting begins at column 2. Set after the event PAI. sy-curowi-Vertical cursor position on the screen of a dynpro. Counting begins at row 1. Set after the event PAI. sy-datarc1'X' for PAI, if at least one input field of a screen was changed by a user or some other data being passed. sy-datlod-User date, such as '19990723'. See System Fields for Date and Time. sy-datumd- System date . See System Fields for Date and Time. sy-daystc1'X' in summer time in the system time zone; otherwise initial. See System Fields for Date and Time. sy-dbcnti-SQL statements set the content of sy-dbcnt to the number of table rows processed. sy-dbnamc20For executable programs, the associated logical database. sy-dbsysc10Central database system, for example 'HDB' or 'ADABAS'. sy-dyngrc4Screen group of the current dynpro. In Screen Painter, multiple dynpros can be assigned to the same screen group, which can be used, for example, to make modifications to all screens in the group at once. sy-dynnrc4Number of the current dynpro. In selection screen processing, the current selection screen. In list processing, the number of the subscreen dynpro. When processing a subscreen dynpro (including in tabstrips), the number of this dynpro. sy-fdaywb-Factory calendar weekday in the system time zone; Monday = 1, ..., Friday = 5. See System Fields for Date and Time. sy-fdposi-Occurrence after certain operations on character-like or byte-like data objects (for example FIND or comparisons). sy-hostc32Network name of the computer on which the current application server is instantiated, for example 'KSAP0001' or 'HS01234'. sy-indexi-Loop index. In DO and WHILE loops, contains the number of previous loop passes, including the current pass. sy-languc1Single-character language key, for example 'E', 'D', 'F', for the current text environment. Set by the logon language of the user or by the statement SET LOCALE. sy-ldbpgc40In executable programs, the database program of the associated logical database. sy-lillii-List row on which a list event was triggered. Counting begins at 1 and includes the page header. See also Lists - System Fields. sy-lincti-Page length of the current list when the list is created. sy-linct is 0 for a standard list of any length and has a value not equal to 0 for lists with fixed page lengths. Set by the introductory program statement or by SUBMIT. See also Lists - System Fields. sy-linnoi-Current list row when the list is created. Counting begins at 1 and includes the page header. Set by output statements. See also Lists - System Fields . sy-linszi-Row width of the current list in the list buffer when the list is created. By default, the value is set as follows: If sy-scols is greater than or equal to 84, sy-linsz is equal to sy-scols; otherwise sy-linsz has the value 84. This can be overridden by the introductory program statement or by SUBMIT. See also Lists - System Fields . sy-liselc255Content of the list row in the list buffer where the cursor was in the displayed list when a list event was triggered (limited to the first 255 characters). See also Lists - System Fields. sy-listii-List level of the list in which a list event was triggered. sy-loopci-Number of currently displayed rows in a table control. Set after the event PAI. sy-lsindi-List level of the list currently being created (basic list: 0; detail lists: greater than 0). For every interactive list event, sy-lsind is automatically increased by an increment of 1. sy-lsind can be changed in ABAP programs when navigating between details lists. Any changes made to sy-lsind are ignored until the end of a list event. See also Lists - System Fields. sy-macoli-Number of columns on the left margin when spooling lists. Set by the statement SET MARGIN . sy-mandtc3Client ID used by the current user to log on, for example '401' or '800'. sy-marowi-Number of rows on the top margin when spooling lists. Set by the statement SET MARGIN . sy-modnoi-Indexing of the external sessions. Contains the value 0 in the first session. In new sessions that are opened using the Create Session function or by calling a transaction with /o in the command field of the standard toolbar, this value is increased by 1. If previous sessions were deleted, only the free numbers are allocated again. Sessions opened with CALL FUNCTION ... STARTING NEW TASK start at 0 again. sy-msgidc20After the statement MESSAGE, contains the message class. Also set in the calling program after MESSAGE ... RAISING, if it handles the exception (the same applies to RFC exceptions). sy-msgnon3After the statement MESSAGE, contains the message number. Also set in the calling program after MESSAGE ... RAISING, if it handles the exception (the same applies to RFC exceptions). sy-msgtyc1After the statement MESSAGE, contains the message type. Also set in the calling program after MESSAGE ... RAISING, if it handles the exception (the same applies to RFC exceptions). sy-msgv1, sy-msgv2, sy-msgv3, sy-msgv4 c50After the statement MESSAGE, contain the field content used for the placeholders of the message. Also set in the calling program after MESSAGE ... RAISING, if it handles the exception (the same applies to RFC exceptions). If a database lock is requested using an ENQUEUE function module, sym-sgv1 contains the name of the user holding the lock after the exception FOREIGN_LOCK. sy-opsysc10Operating system of the current application server, for example 'SOLARIS' or 'HP-UX'. sy-pagnoi-Current page when the list is created. Set by output statements. See also Lists - System Fields. sy-pfkeyc20GUI status of the current dynpro. Set after the event PAI. sy-repidc40Name of the current ABAP program In procedures called externally, the name of the framework program of the procedure. If sy-repid is passed to an external procedure as an actual parameter, then the formal parameter is set to the name of the caller. sy-saprlc4AS ABAP release, for example '702' or '740'. sy-scolsi-Number of columns in the current screen layout. Set after the event PAI. sy-slsetc14Variant used to fill a selection screen. The associated program name can be seen in sy-cprog. sy-sponon10Contains the name of the spool number when spooling lists. sy-srowsi-Number of rows in the current screen layout. Set after the event PAI. sy-stacoi-Number of the first displayed column of the list in which a list event was triggered. Counting begins at 1. See also Lists - System Fields. sy-staroi-Number of the top displayed list row of the top displayed page of the list where a list event was triggered. Counting begins at 1 and does not include the page header. See also Lists - System Fields. sy-stepli-Index of the current row in a table control. This is set for every loop pass. Outside of a loop, for example after the event POV or POH for a table row, the content of sy-stepl is undefined.