日常参考ABAP常用系统变量 (SY-)及SY-SUBRC
abap系统变量在syst结构里面可以找到
SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,0表示成功
SY-DBLNT: 被处理过的记录的笔数
SY-UNAME: 当前使用者登入SAP的USERNAME
SY-DATUM: 当前系统日期
SY-UZEIT: 当前系统时间
SY-TCODE: 当前执行程序的Transaction code
SY-REPID: 当前程序名称
SY-INDEX : 当前LOOP循环过的次数
SY-TABIX: 当前处理的是internal table 的第几笔
SY-TMAXL: Internal table的总笔数
SY-SROWS: 屏幕总行数
SY-SCOLS: 屏幕总列数
SY-MANDT: 當前系統編號(CLIENT NUMBER)
SY-VLINE: 画竖线
SY-ULINE: 画横线
SY-PAGNO: 当前页号
SY-LINSZ: 当前报表宽度
SY-LINCT: 当前报表长度
SPACE: 空字符串
SY-LSIND: 列表索引页
SY-LISTI: 上一个列表的索引
SY-LILLI: 绝对列表中选定行的行号
SY-CUROW: 屏幕上的行
SY-CUCOL: 光标列
SY-CPAGE: 列表的当前显示页
SY-STARO:真实行号
SY-LISEL: 选择行的内容,长度为255
SY-LINNO: 当前行
SY-SUBRC:语句执行后的返回值,0表示成功
SY-DATUM:当前服务器日期
SY-UZEIT:当前服务器时间
SY-ULINE:255长度的水平线
SY-VLINE:垂直线
SY-INDEX:循环说执行的次数
SY-TABIX:内表循环的次数
SY-DYNNR:当前Screen号
SY-MANDT:当前登录的Client号
SY-STEPL:返回当前操作的屏幕行号(Table Control)
SY-LOOPC:当前表格控件在屏幕中的总行数(Table Control)
SY-UCOMM:PAI所出发的功能代码
SY-DYNNR:当前屏幕号
SY-MSGID:Message Class
SY-MSGNR:Message Number
SY-MSGTY:Message Type
SY-MSGV1~4:Message Variant
SY-LINCT:REPROT语句中设定的LINE-COUNT
SY-LINSZ:REPROT语句中设定的LINE-SIZE
SY-SROWS:当前窗口的列表行数
SY-SCOLS:当前窗口的列表栏目数
SY-PAGNO:当前页的页码
SY-LINNO:当前选定行的行号
SY-COLNO:当前选定列的列号
SY-LSIND:当前列表索引,第一级列表为1
SY-LILLI:选择某行时光标行位置
SY-CUROW:选择某行时光标列位置
SY-ABCDE 常量,A-Z字母表
SY-BATCH 后台的程序运行
SY-COLNO:当前选定列的列号
SY-CPAGE 列表的当前显示页
SY-CUCOL 屏幕,PAI 的水平光标位置
SY-CUROW:选择某行时光标列位置
sy-datar:在PAI中,如果屏幕上至少有一个输入字段的值被用户或其他数据传输所更改,则为“X”,否则为初始值。
sy-datlo:用户的当前日期
SY-DATUM 服务器日期
SY-DYNNR 当前屏幕的编号
SY-INDEX 循环的次数(DO While)
SY-LANGU 当前登录语言
SY-LILLI:选择某行时光标行位置
SY-LINCT 当前报表长度 (REPROT语句中设定的LINE-COUNT)
SY-LINNO 当前选定行的行号
SY-LINSZ 当前报表宽度(REPROT语句中设定的LINE-SIZE)
SY-LISEL 选择行的内容,长度为255
SY-LISTI 上一个列表的索引
SY-LOOPC:当前表格控件在屏幕中的总行数(Table Control)
SY-LSIND:当前列表索引,第一级列表为1
SY-MSGID 消息, 消息类
SY-MSGTY 消息,消息类型
SY-MSGNO 消息, 消息编号
SY-MSGV1 消息,消息变量1
SY-MSGV2 消息,消息变量2
SY-MSGV3 消息,消息变量3
SY-MSGV4 消息,消息变量4
SY-PAGNO 当前页号
SY-SCOLS:当前窗口的列表栏目数
SY-SLSET 选择屏幕的变式名称
SY-SROWS:当前窗口的列表行数
SY-STARO 真实行号
SY-STEPL:返回当前操作的屏幕行号(Table Control)
SY-SUBRC 执行状态
SY-TABIX 当前处理的内表的Index
SY-TCODE 当前的事务代码
SY-UCOMM:PAI所出发的功能代码
SY-ULINE 水平线
SY-UNAME 用户名
SY-UZEIT 服务器时间
SY-VLINE 垂直线
2.SY-SUBRC说明
使用SELECT语句选择查询:
SY-SUBRC = 0: 至少有一行数据,当ENDSELECT语句执行完,SY-DBCNT中保存着记录的个数。
SY-SUBRC = 4: 没有数据。
SY-SUBRC = 8: 只有使用“SELECT SINGLE FOR UPDATE”时才会有,
表示: WHERE条件指定的记录不止一行,结果是没有记录被选中。
使用INSERT语句,向表中插入一行,必须注意INSERT的顺序与表中字段的顺序一致:
SY-SUBRC = 0: 插入成功,SY-DBCNT包含了插入的行数,0或1。
SY-SUBRC = 4: 由于有相同的KEY存在,所以插入失败。
使用LOOP语句来遍历一个内表:
SY-SUBRC = 0: 循环至少被执行一次。
SY-SUBRC = 4: 循环没有被执行,可能是没有数据,也可能是没有符合条件的记录。
使用DELETE语句来删除一条记录:
SY-SUBRC = 0: 找到一行并删除之,如果该表有不唯一主键,也就是有多条重复的记录,则只删除第一条记录。
SY-SUBRC = 4: 没有找到符合条件的记录,也没有删除。
使用UPDATE语句来更新一条记录:
SY-SUBRC = 0: 找到记录并更新
SY-SUBRC = 4: 没有找到符合条件的记录,也没有更新。