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 垂直线

原文链接:https://blog.csdn.net/sapliumeng/article/details/18653139

 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: 没有找到符合条件的记录,也没有更新。

posted @ 2020-07-03 14:07  cqyyck  阅读(11539)  评论(0编辑  收藏  举报