0% found this document useful (0 votes)
76 views

SAP R/3 Document: System Fields List

The document describes various system fields used in SAP R/3 programming. It provides examples of how to use fields like SY-MSGID, SY-MSGNO, SY-MSGTY, and SY-MSGV# to retrieve error messages, as well as fields like SY-TABIX, SY-LINCT, and SY-LINSZ for working with internal tables and lists. The document also demonstrates using fields in batch input programming with CALL TRANSACTION and the BDCDATA structure.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views

SAP R/3 Document: System Fields List

The document describes various system fields used in SAP R/3 programming. It provides examples of how to use fields like SY-MSGID, SY-MSGNO, SY-MSGTY, and SY-MSGV# to retrieve error messages, as well as fields like SY-TABIX, SY-LINCT, and SY-LINSZ for working with internal tables and lists. The document also demonstrates using fields in batch input programming with CALL TRANSACTION and the BDCDATA structure.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

SAP R/3 Document : System Fields List

System fields
Constant: Alphabet (A,B,C,...) Example : System fields I REPORT ZBCTCB93 NO STANDARD PAGE HEADING. DETAIL. WRITE: /5 'Logon name of the user: ' RIGHT-JUSTIFIED, 40 SYUNAME. WRITE: /5 'Logon client: ' RIGHT-JUSTIFIED, 40 SY-MANDT. WRITE: /5 'Logon language: ' RIGHT-JUSTIFIED, 40 SY-LANGU. WRITE: /5 'Current date: ' RIGHT-JUSTIFIED, 40 SY-DATUM. WRITE: /5 'Current time: ' RIGHT-JUSTIFIED, 40 SY-UZEIT. WRITE: /5 'Current transaction: ' RIGHT-JUSTIFIED, 40 SY-TCODE. WRITE: /5 'Main program: ' RIGHT-JUSTIFIED, 40 SY-CPROG. SKIP. WRITE: /5 'SAP System ID: ' RIGHT-JUSTIFIED, 40 SY-SYSID. WRITE: /5 'SAP Release: ' RIGHT-JUSTIFIED, 40 SY-SAPRL. WRITE: /5 'Host: ' RIGHT-JUSTIFIED, 40 SY-HOST. WRITE: /5 'Operating system: ' RIGHT-JUSTIFIED, 40 SY-OPSYS. WRITE: /5 'Database system: ' RIGHT-JUSTIFIED, 40 SY-DBSYS. SKIP TO LINE 20. POSITION 10. WRITE: SY-COLNO, ',', SY-LINNO, 'Cursor position (column, row).'. WRITE: 'New:', SY-COLNO,',',SY-LINNO. SKIP. SY-ULINE = '------ Underline ------'. ULINE (23). WRITE: /5 'Vertical bar:', SY-VLINE. TOP-OF-PAGE. DETAIL. WRITE: 2 'Report Title: ', SY-TITLE(20). WRITE: 'Page Number: ', SY-PAGNO. SKIP.

ABCDE

APPLI

SAP applications Background active (X)

EXAMPLE : BATCH
REPORT ZBCTCB99 NO STANDARD PAGE HEADING. PARAMETERS: TEST.

SAP R/3 Document : System Fields List


DETAIL. IF SY-BATCH EQ SPACE. WRITE: / 'Report was started on-line'. WRITE: / 'Using variant:', SY-SLSET. ELSE. WRITE: / 'Report was started in background'. ENDIF.

BATZD BATZM BATZO BATZS BATZW BINPT BREP4 BSPLD CALLD CALLR CCURS CCURT CDATE COLNO

Background SUBMIT: Daily Background SUBMIT: Monthly Background SUBMIT: Once Background SUBMIT: Immediately Background SUBMIT: Weekly Batch input active (X) Background SUBMIT: Root name of request report Background SUBMIT: List output to spool CALL mode active (X) Print: ID for print dialog function Rate specification/result field (CURRENCY CONVERT) Table rate from currency conversion Date of rate from currency conversion

Current column during list creation Current page number

CPAGE

EXAMPLE :
REPORT ZBCTCB90 NO STANDARD PAGE HEADING

SAP R/3 Document : System Fields List


LINE-COUNT 20 LINE-SIZE 80. TABLES: T000. DETAIL. DO 5 TIMES. SELECT * FROM T000. WRITE: / T000-MANDT, T000-MTEXT. ENDSELECT. NEW-PAGE. ENDDO. TOP-OF-PAGE. WRITE: / 'Page', SY-PAGNO. AT LINE-SELECTION. DETAIL. * SY-LSIND is the index of the current list WRITE: / 'SY-LSIND:', SY-LSIND LEFT-JUSTIFIED. * SY-LISTI is the index of the previous list WRITE: / 'SY-LISTI:', SY-LISTI LEFT-JUSTIFIED. * SY-LILLI is the number of the selected line in the absolute list WRITE: / 'SY-LILLI:', SY-LILLI LEFT-JUSTIFIED. * SY-CUROW is the position of the selected line on the screen WRITE: / 'SY-CUROW:', SY-CUROW LEFT-JUSTIFIED. * SY-CUCOL is the position of the cursor in the window WRITE: / 'SY-CUCOL:', SY-CUCOL LEFT-JUSTIFIED. SKIP. WRITE: / 'SY-CPAGE and SY-STAR0 do not depend on the cursor position'. SKIP. * SY-CPAGE is the currently displayed page of the list WRITE: / 'SY-CPAGE:', SY-CPAGE LEFT-JUSTIFIED.

SAP R/3 Document : System Fields List


* SY-STARO is the number of the topmost actual list line displayed * on the current page. WRITE: / 'SY-STARO:', SY-STARO LEFT-JUSTIFIED. SKIP. * contents of the selected line WRITE: / 'SY-LISEL:', SY-LISEL.

CPROG CTABL CTYPE CUCOL CUROW

Runtime: Main program Exchange rate table from currency conversion Exchange rate type 'M','B','G' from CURRENCY CONVERSION

Cursor position (column) . Cursor position (line) .


Flag: Data received SY-DATAR

DATAR

In transaction programming this field indicates the change of data on the screen. In the PBO part you set the default value of the input fields of the dynpro. In the PAI part you can check if they were changed. If SY-DATAR is set, then the user has modified or entered new data on the screen.

DATLO DATUM DATUT DAYST

Local date for user System: Date Global date related to UTC (GMT) Summertime active ? ('daylight saving time') Number of elements in edited dataset with DB operations

EXAMPLE : DBCNT
REPORT ZBCTCB92. TABLES: T000. DATA: BEGIN OF T OCCURS 0,

SAP R/3 Document : System Fields List


FIELD(10), END OF T. DATA: NUM TYPE N. DETAIL. * sy-linct and sy-linsz describes a page of the list WRITE: / 'Example of sy-linct and sy-linsz'. SKIP. WRITE: / SY-LINCT, 'line and', (3) SY-LINSZ, 'column is a page'. * sy-index works in do-enddo and while-endwhile loops. * it contains the number of loop passes. WRITE: /'Example of sy-index'. SKIP. DO 5 TIMES. WRITE: SY-INDEX. ENDDO. * sy-tabix is the index number of the currently processed row * for an internal table SKIP. WRITE: /'Example of sy-tabix'. SKIP. T-FIELD = 'One'. APPEND T. T-FIELD = 'Two'. APPEND T. T-FIELD = 'Three'. APPEND T. T-FIELD = 'Four'. APPEND T. T-FIELD = 'Five'. APPEND T. WRITE: /'Example of sy-tabix I'. SKIP. LOOP AT T.

SAP R/3 Document : System Fields List


WRITE: / SY-TABIX, T-FIELD. ENDLOOP. *sy-fdpos contains off-set after string comparison and search operations SKIP. WRITE: /'Example of sy-fdpos'. SKIP. CLEAR T. SEARCH T FOR 're'. READ TABLE T INDEX SY-TABIX. WRITE: / SY-TABIX, T-FIELD. SKIP. WRITE: /9 'At the example of sy-tabix, Row', (3) SY-TABIX, ',' , 'keyword ''re'' found at off-set position:', (3) SY-FDPOS. SKIP. * sy-dbcnt contains the number of selected records. * sy-subrc is 0 if an operation was successful. WRITE: /'Example of sy-dbcnt and sy-subrc I'. SKIP. SELECT * FROM T000 WHERE MANDT BETWEEN '000' AND '066'. WRITE: /10 'Mandant:', T000-MANDT. ENDSELECT. WRITE: /12 'Number of selected records:', SY-DBCNT CENTERED. WRITE: /12 'Return code: ' RIGHT-JUSTIFIED, SY-SUBRC . SKIP. WRITE: /'Example of sy-dbcnt and sy-subrc II: don't find records'. SKIP. SELECT * FROM T000 WHERE MANDT EQ -1. ENDSELECT.

SAP R/3 Document : System Fields List


WRITE: /12 'Number of selected records:', SY-DBCNT CENTERED. WRITE: /12 'Return code: ' RIGHT-JUSTIFIED, SY-SUBRC.

DBNAM DBSYS DCSYS DSNAM DYNGR DYNNR

Logical database for ABAP/4 program System: Database system System: Dialog system Runtime: Name of dataset for spool output Screen group of current screen Number of current screen

Factory calendar weekday

EXAMPLE :
REPORT ZBCTCB93 NO STANDARD PAGE HEADING. PARAMETERS: TEST. DATA: SESSION TYPE I. DATA: BEGIN OF T_TSTCT OCCURS 10. INCLUDE STRUCTURE TSTCT.

FDAYW

DATA: END OF T_TSTCT. DETAIL. SESSION = SY-MODNO + 1. SET MARGIN 5 3. * The report must have a selection screen and from there execute+print * should be called the SET MARGIN to take effect. WRITE: / 'Number of this session:', SESSION. WRITE: / 'List starts from the ', SY-MACOL, ',', SY-MAROW, 'upper-left corner.'. SKIP.

SAP R/3 Document : System Fields List


WRITE: / 'This is the', SY-FDAYW, '. workday of the week.'. APPEND T_TSTCT. APPEND T_TSTCT. APPEND T_TSTCT. DESCRIBE TABLE T_TSTCT. WRITE: / 'Line width of internal table: 1 (lang) + 4 (tcode) + 36 (text) =', SY-TLENG. WRITE: / 'OCCURS parameter:', SY-TOCCU. WRITE: / 'Number of entries in internal table:', SY-TFILL.

FDPOS FMKEY HOST INDEX LANGU LDBPG LILLI LINCT LINNO LINSZ LISEL LISTI LOCDB LOCOP LOOPC LSIND

Location of a string Current function code menu Host Number of loop passes SAP logon language key Program: ABAP/4 database program for SY-DBNAM

Number of current list line Number of list lines Current line for list creation Line size of list Interact.: Selected line Number of current list line
Local database exists Local database operation Number of LOOP lines at screen step loop

Number of secondary list

SAP R/3 Document : System Fields List


LSTAT MACDB MACOL MANDT
Interact.: Status information for each list level Program: Name of file for matchcode access Number of columns from SET MARGIN Client number from SAP logon

MARKY Current line character for MARK MAROW No. of lines from SET MARGIN statement MODNO Number of alternative modi
Message ID

EXAMPLE :
REPORT ZSYSTEM LINE-SIZE 255. TABLES: T100. * Batch-input data DATA: BEGIN OF G_BDCDATA OCCURS 100. INCLUDE STRUCTURE BDCDATA. DATA: END OF G_BDCDATA. DATA: G_MESSAGE(200). PERFORM FILL_BDCDATA. CALL TRANSACTION 'FI01' USING G_BDCDATA MODE 'N'. * of course it is nicer with a message itab, but this example * should also demostrate the use of system variables. SELECT SINGLE * FROM T100 WHERE SPRSL = 'E' AND ARBGB = SY-MSGID AND MSGNR = SY-MSGNO. G_MESSAGE = T100-TEXT. PERFORM REPLACE_PARAMETERS USING SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4 CHANGING G_MESSAGE. WRITE: / 'System variables:'. SKIP. WRITE: / ' Sy-msgty:', SY-MSGTY. WRITE: / ' Sy-msgid:', SY-MSGID. WRITE: / ' Sy-msgno:', SY-MSGNO. WRITE: / ' Sy-msgv1:', SY-MSGV1. WRITE: / ' Sy-msgv2:', SY-MSGV2. WRITE: / ' Sy-msgv3:', SY-MSGV3.

MSGID

SAP R/3 Document : System Fields List


WRITE: / ' Sy-msgv4:', SY-MSGV4. SKIP. WRITE: / 'The transaction was called with a wrong country code.'. WRITE: / 'The error message should be either that or that you have'. WRITE: / ' no authorisation to execute the transaction'. SKIP. WRITE: / 'Message:'. SKIP. WRITE: / SY-MSGTY, G_MESSAGE. *---------------------------------------------------------------------* * Build up the BDC-table * *---------------------------------------------------------------------* FORM FILL_BDCDATA. REFRESH G_BDCDATA. PERFORM BDC_DYNPRO USING 'SAPMF02B' '0100'. PERFORM BDC_FIELD USING 'BNKA-BANKS' 'ZZZ'. PERFORM BDC_FIELD USING 'BDC_OKCODE' 'QQQQQ'. ENDFORM. *---------------------------------------------------------------------* * FORM BDC_DYNPRO * *---------------------------------------------------------------------* * Batchinput: Start new Dynpro * *---------------------------------------------------------------------* FORM BDC_DYNPRO USING P_PROGRAM P_DYNPRO. CLEAR G_BDCDATA. G_BDCDATA-PROGRAM = P_PROGRAM. G_BDCDATA-DYNPRO = P_DYNPRO. G_BDCDATA-DYNBEGIN = 'X'. APPEND G_BDCDATA. ENDFORM. " BDC_DYNPRO *---------------------------------------------------------------------* * FORM BDC_FIELD * *---------------------------------------------------------------------* * Batchinput: Feld hinzufugen * *---------------------------------------------------------------------* FORM BDC_FIELD USING P_FNAM P_FVAL. CLEAR G_BDCDATA. G_BDCDATA-FNAM = P_FNAM. G_BDCDATA-FVAL = P_FVAL. APPEND G_BDCDATA. ENDFORM. " BDC_FIELD *---------------------------------------------------------------------* * FORM REPLACE_PARAMETERS * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* * --> P_PAR_1 *

SAP R/3 Document : System Fields List


* --> P_PAR_2 * * --> P_PAR_3 * * --> P_PAR_4 * * --> P_MESSAGE * *---------------------------------------------------------------------* FORM REPLACE_PARAMETERS USING P_PAR_1 P_PAR_2 P_PAR_3 P_PAR_4 CHANGING P_MESSAGE. * erst mal pruefen, ob numerierte Parameter verwendet wurden DO. REPLACE '&1' WITH P_PAR_1 INTO P_MESSAGE. IF SY-SUBRC <> 0. EXIT. ENDIF. ENDDO. DO. REPLACE '&2' WITH P_PAR_2 INTO P_MESSAGE. IF SY-SUBRC <> 0. EXIT. ENDIF. ENDDO. DO. REPLACE '&3' WITH P_PAR_3 INTO P_MESSAGE. IF SY-SUBRC <> 0. EXIT. ENDIF. ENDDO. DO. REPLACE '&4' WITH P_PAR_4 INTO P_MESSAGE. IF SY-SUBRC <> 0. EXIT. ENDIF. ENDDO. * falls keine numerierten Parameter vorh., ersetzen wie gehabt REPLACE '&' WITH P_PAR_1 INTO P_MESSAGE. CONDENSE P_MESSAGE. IF SY-SUBRC EQ 0. REPLACE '&' WITH P_PAR_2 INTO P_MESSAGE. CONDENSE P_MESSAGE. IF SY-SUBRC EQ 0. REPLACE '&' WITH P_PAR_3 INTO P_MESSAGE. CONDENSE P_MESSAGE. IF SY-SUBRC EQ 0. REPLACE '&' WITH P_PAR_4 INTO P_MESSAGE. CONDENSE P_MESSAGE. ENDIF. ENDIF. ENDIF.

SAP R/3 Document : System Fields List


ENDFORM. "replace_parameters

MSGLI MSGNO MSGTY MSGV1 MSGV2 MSGV3 MSGV4 OPSYS PAART PAGCT PAGNO

Interact.: Message line (line 23) Message number Message type (E,I.W,...) Message variable Message variable Message variable Message variable System: Operating system Print: Format Page size of list from REPORT statement Runtime: Current page in list Print: Output device

EXAMPLE :
REPORT ZZBETO98. PARAMETERS: PARAM(6) DEFAULT 'TEST'. WRITE: / 'System variables for printing.'. WRITE: / 'Please check the spool for the printout'. SKIP. * check is necessary to prevent further recursive calls of this program. IF NOT ( SY-PDEST IS INITIAL ). SKIP. WRITE: / 'System variables for printing:'. SKIP. WRITE: / ' Layout: SY-PAART',SY-PAART. * This can be used in normal lists as well. * If used with 'new-page print on', it continues counting WRITE: / ' Current page number: SY-PAGNO', SY-PAGNO. WRITE: / ' Printer: SY-PDEST', SY-PDEST. WRITE: / ' Priority: SY-PEXPI', SY-PEXPI. WRITE: / ' List name: SY-PLIST', SY-PLIST. WRITE: / ' Department: SY-PRABT', SY-PRABT. * output cover sheet with the report's parameters WRITE: / ' Output cover sheet: SY-PRBIG', SY-PRBIG. WRITE: / ' No. of copies: SY-PRCOP', SY-PRCOP.

PDEST

SAP R/3 Document : System Fields List


WRITE: / ' Dataset name: SY-PRDSN', SY-PRDSN. WRITE: / ' Print immediately: SY-PRIMM', SY-PRIMM. WRITE: / ' New list: SY-PRNEW', SY-PRNEW. * Receiver must be a valid user-id WRITE: / ' Receiver: SY-PRREC', SY-PRREC. WRITE: / ' Delete after output: SY-PRREL', SY-PRREL. WRITE: / ' Cover text: SY-PRTXT', SY-PRTXT. EXIT. ENDIF. SUBMIT ZZBETO98 TO SAP-SPOOL DESTINATION 'ST03' COPIES 3 LIST NAME 'NEWLIST' LIST DATASET 'TESTLIST' COVER TEXT 'Test of system variables' LIST AUTHORITY 'BASIS' IMMEDIATELY ' ' KEEP IN SPOOL 'X' NEW LIST IDENTIFICATION 'X' DATASET EXPIRATION '8' LINE-COUNT 90 LINE-SIZE 120 LAYOUT 'X_90_120' SAP COVER PAGE 'X' COVER PAGE 'X' RECEIVER 'SAP*' DEPARTMENT 'DEP.' WITHOUT SPOOL DYNPRO.

PEXPI PFKEY PLIST PRABT PRBIG PRCOP PRDSN PREFX PRIMM PRNEW

Print: Spool retention period


Runtime: Current F key status

Print: Name of spool request (list name) Print: Department on cover sheet Print: Selection cover sheet Print: Number of copies
Print: Name of spool dataset ABAP/4 prefix for background jobs Print: Print immediately Print: New spool request (list)

SAP R/3 Document : System Fields List


PRREC PRREL PRTXT REPID RTITL SAPRL SCOLS SLSET SPONO SPONR SROWS STACO STARO STEPL SUBRC SUBTY SYSID TABIX TCODE TFDSN TFILL TIMLO TIMUT TITLE
Print: Recipient Print: Delete after printing Print: Text for cover sheet Program: Name of ABAP/4 program Print: Report title of program to be printed System: SAP Release Columns on screen Name of selection set Runtime: Spool number for list output

Runtime: Spool number from TRANSFER statement Lines on screen Interact.: List displayed from column Interact.: Page displayd from line Number of LOOP line at screen step Return value after specific ABAP/4 statements ABAP/4: Call type for SUBMIT System: SAP System ID Runtime: Current line of an internal table Session: Current transaction code Runtime: Dataset for data extracts Current number of entries in internal table Local time for user Global time related to UTC (GMT) Title of ABAP/4 program

SAP R/3 Document : System Fields List


TLENG TMAXL TNAME TOCCU TPAGI TSTLO TSTUT TTABC TTABI TVAR0 TVAR1 TVAR2 TVAR3 TVAR4 TVAR5 TVAR6 TVAR7 TVAR8 TVAR9 TZONE Line width of an internal table Maximum number of entries in internal table (?) Name of internal table after an access (?) OCCURS parameter with internal tables Flag indicating roll-out of internal table to paging area (?) Timestamp (date and time) for user Timestamp (date and time) related to UTC (GMT) Number of line last read in an internal table (?) Offset of internal table in roll area (?) Runtime: Text variable for ABAP/4 text elements Runtime: Text variable for ABAP/4 text elements Runtime: Text variable for ABAP/4 text elements Runtime: Text variable for ABAP/4 text elements Runtime: Text variable for ABAP/4 text elements Runtime: Text variable for ABAP/4 text elements Runtime: Text variable for ABAP/4 text elements Runtime: Text variable for ABAP/4 text elements Runtime: Text variable for ABAP/4 text elements Runtime: Text variable for ABAP/4 text elements Time difference from 'Greenwich Mean Time' (UTC) in seconds

UCOMM Interact.: Command field function entry ULINE UNAME UZEIT Constant: Underline (---------...) Session: SAP user from SAP logon System: Time

SAP R/3 Document : System Fields List


VLINE WAERS WILLI WINCO WINDI WINRO WINSL Constant: Vertical bar T001: Company code currency after reading B segment Number of current window line Cursor position in window (column) Index of current window line Cursor position in window (line) Interact.: Selected window line Window coordinate (column left) EXAMPLE :
REPORT * You must click on a row to see results. DATA: L_SROW TYPE DATA: L_SCOL TYPE DATA: L_EROW TYPE DATA: L_ECOL TYPE I VALUE 70. I I I VALUE VALUE VALUE ZSYSTEM. 10. 15. 20.

WINX1

WRITE: / ' Initial values: '. WRITE: / ' SY-WINX1:', SY-WINX1. WRITE: / ' SY-WINX2:', SY-WINX2. WRITE: / ' SY-WINY1:', SY-WINY1. WRITE: / ' SY-WINY2:', SY-WINY2. AT LINE-SELECTION. WINDOW STARTING AT L_SCOL L_SROW ENDING AT L_ECOL L_ EROW . WRITE: / ' Values are from the upper left corner of the window.'. SKIP. WRITE: / ' After displaying the new window: '. SKIP. WRITE: / ' SY-WINX1:', SY-WINX1, '(Column of the left side)'. WRITE: / ' SY-WINX2:', SY-WINX2, '(Column of the right side)'. WRITE: / ' SY-WINY1:', SY-WINY1, '(Row of the upper side)'. WRITE: / ' SY-WINY2:', SY-WINY2, '(Row of the lower side)'.

WINX2 WINY1 WINY2 WTITL

Window coordinate (column right) Window coordinate (line left) Window coordinate (line right) Standard page header indicator

SAP R/3 Document : System Fields List


XCODE ZONLO Extended command field Time zone of user

You might also like