系统内部有一个专门存放系统变量的结构SYST,其中最常用的系统变量有:
SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’ 表示成功
SY-UNAME: 当前使用者登入SAP的USERNAME;
SY-DATUM: 当前系统日期;
SY-UZEIT: 当前系统时间;
SY-TCODE: 当前执行程序的Transaction code
SY-REPID: ABAP 程式名,目前的主程式
SY-CPROG: ABAP 程式名
SY-SYSID: R/3 系統,R/3 系統名稱
SY-UCOMM: 畫面,PAI 驅動的功能代碼,一般用來參照定義變量
SY-INDEX : 当前LOOP循环过的次数 READ TABLE it_po INDEX 1 此時變量值1
SY-TABIX: 当前处理的是internal table 的第几笔
下面說下sy-index 和 sy-tabix的區別
sy-index和sy-tabix都是系统字段,用来记录循环的次数。
sy-index 在DO....ENDDO循环里有效,而sy-tabix在loop at ......endloop里有效。
運行下面的例子能更好的理解:
DATA: BEGIN OF line,
col1 TYPE i,
col2 TYPE i,
END OF line.
DATA itab LIKE TABLE OF line WITH HEADER LINE.
DO 30 TIMES.
line-col1 = sy-index.
line-col2 = sy-index * sy-index.
APPEND line TO itab.
ENDDO.
LOOP AT itab .
DO 2 TIMES.
SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’0’ 表示成功
SY-UNAME: 当前使用者登入SAP的USERNAME;
SY-DATUM: 当前系统日期;
SY-UZEIT: 当前系统时间;
SY-TCODE: 当前执行程序的Transaction code
SY-REPID: ABAP 程式名,目前的主程式
SY-CPROG: ABAP 程式名
SY-SYSID: R/3 系統,R/3 系統名稱
SY-UCOMM: 畫面,PAI 驅動的功能代碼,一般用來參照定義變量
SY-INDEX : 当前LOOP循环过的次数 READ TABLE it_po INDEX 1 此時變量值1
SY-TABIX: 当前处理的是internal table 的第几笔
下面說下sy-index 和 sy-tabix的區別
sy-index和sy-tabix都是系统字段,用来记录循环的次数。
sy-index 在DO....ENDDO循环里有效,而sy-tabix在loop at ......endloop里有效。
運行下面的例子能更好的理解:
DATA: BEGIN OF line,
col1 TYPE i,
col2 TYPE i,
END OF line.
DATA itab LIKE TABLE OF line WITH HEADER LINE.
DO 30 TIMES.
line-col1 = sy-index.
line-col2 = sy-index * sy-index.
APPEND line TO itab.
ENDDO.
LOOP AT itab .
DO 2 TIMES.

这篇博客介绍了ABAP中常见的系统变量,如SY-SUBRC用于标识指令执行是否成功,SY-UNAME存储当前用户名,SY-DATUM和SY-UZEIT分别表示系统日期和时间。文章还详细解释了SY-INDEX和SY-TABIX在循环中的区别,并提供了示例代码。此外,提到了处理记录数的SY-DBCNT和SY-TFILL,以及其他如屏幕信息、消息处理和后台运行相关的系统变量。
最低0.47元/天 解锁文章
808





