首页 > 其他分享 >SY-SUBRC系统变量

SY-SUBRC系统变量

时间:2023-05-23 14:33:15浏览次数:26  
标签:语句 SY 变量 SUBRC 记录 程序执行

SY-SUBRC系统变量

SY-SUBRC是SAP ABAP的系统变量之一,用于返回程序执行时的结果代码。它是所有程序执行结束后自动生成的一个系统变量,其值等于0表示程序执行正常,其它整数值则表示程序执行出现了错误,并返回相应的错误代码。例如,如果程序执行中有一个未处理的异常或错误,SY-SUBRC的值将不为0,这时应当对该错误进行相应的处理。

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

标签:语句,SY,变量,SUBRC,记录,程序执行
From: https://www.cnblogs.com/itelephant/p/17425105.html

相关文章

  • easyui datagrid 标题换行
     .datagrid-header-row.datagrid-cellspan{white-space:normal!important;word-wrap:normal!important;}.datagrid-header.datagrid-cell{height:auto;line-height:20px;} ......
  • 成员变量
    成员变量(实例变量)成员变量声明在一个类中,但在方法、构造方法和语句块之外。当一个对象被实例化之后,每个成员变量的值就跟着确定。成员变量在对象创建的时候创建,在对象被销毁的时候销毁。成员变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取......
  • Java 局部变量
     局部变量声明在方法、构造方法或者语句块中。局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁。局部变量必须在使用前声明,并且不能被访问修饰符修饰,因为它们的作用域已经被限制在了声明它们的方法、代码块或构造函数中。局部变量只在......
  • 类变量
    类变量(静态变量)Java中的静态变量是指在类中定义的一个变量,它与类相关而不是与实例相关,即无论创建多少个类实例,静态变量在内存中只有一份拷贝,被所有实例共享。静态变量在类加载时被创建,在整个程序运行期间都存在。定义方式静态变量的定义方式是在类中使用 static 关键字修饰......
  • react项目在不暴露配置文件的情况下配置环境变量
    react项目在不暴露配置文件的情况下修改打包配置需要用到 react-app-rewired和customize-cra包对打包配置文件进行修改。 添加自定义环境变量有两种方法:方法1:使用dotenv-cli1、运行 yarnglobaladddotenv-cli 全局安装dotenv-cli2、在根目录下添加.env.pre文件,写入变......
  • 如何在EasyCVR视频融合平台通过接口获取告警的录像以及快照?
    EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。为了便于用户二次开发、集成与调用,我们也提供了丰富的API接......
  • SystemVerilog for Design Edition 2 Chapter 5
    SystemVerilogforDesignEdition2Chapter5SystemVerilogaddsseveralenhancementstoVerilogforrepresentinglargeamountsofdata.TheVerilogarrayconstructisextendedbothinhowdatacanberepresentedandforoperationsonarrays.Structureand......
  • async与await的理解
    await后面接的是promise,await语句下面(注意:不是await后面,而是await所在语句的下面,即下行以后)的代码就相当在promise.then()里面执行,有文章说await后面是返回的一个promise的resolve/reject的结果,我未证实,如果是这样,那await简直太好用了,还可以返回reject的值await通过变通“=”......
  • Mac下存储环境变量相关文件
    配置bash首先,说明下MacOS系统的环境变量主要由下面几个文件和文件夹所决定,并且他们的加载顺序如下:/etc/profile/etc/paths/etc/bashrc~/.bash_profile 或 ~/.bashrc ~/.bash_login其中,/etc/profile, /etc/paths, /etc/bashrc 是系统级别配置文件,系统启动就会加载......
  • 线程条件变量pthread_cond_t和线程条件锁详解
    线程条件变量pthread_cond_t和线程条件锁详解参考文章条件变量常与互斥锁同时使用,达到线程同步的目的:条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足。APUE上,关于条件锁。其中有2条总结:1.使用条件锁前必须先锁住对应的互斥锁。2.条件锁进入阻塞(pthrea......