猜一猜:SELECT MAX时数据不存在,SUBRC是多少

代码如下:

"数据库中有此条目
SELECT MAX( zvalue ) INTO @DATA(lv_zvalue1) FROM ysl01 WHERE znum = 1.
DATA(lv_sy1) = sy.

"数据库中无此条目
SELECT MAX( zvalue ) INTO @DATA(lv_zvalue2) FROM ysl01 WHERE znum = 9999.
DATA(lv_sy2) = sy.

DESCRIBE FIELD lv_sy1 TYPE DATA(lv_type) COMPONENTS DATA(lv_comps).

DO lv_comps TIMES.
  ASSIGN COMPONENT sy-index OF STRUCTURE lv_sy1 TO FIELD-SYMBOL(<lv_value1>).
  ASSIGN COMPONENT sy-index OF STRUCTURE lv_sy2 TO FIELD-SYMBOL(<lv_value2>).
  IF <lv_value1> <> <lv_value2>.
    WRITE: <lv_value1>, <lv_value2>, /.
    DATA(lv_flag) = 'X'.
  ENDIF.
ENDDO.

IF lv_flag = ''.
  WRITE: 'ABAP坑爹'.
ENDIF.

输出结果:

c9be9d83f05c3a31f6cb8e4f81f1266a.png

这一刻,ABAP一点都不香了。


感谢氢氦提供嵌套查询解决方案:

SELECT SINGLE zvalue INTO @DATA(lv_zvalue2)
  FROM ysl01
  WHERE znum = 99999
    AND zvalue  = ( SELECT MAX( zvalue ) FROM ysl01 WHERE znum = 99999 ).

这时候就可以根据SUBRC来判断了。

分享出去,让更多兄弟姐妹避免踩坑。


我的SE38插件工具箱——视频介绍:

https://www.bilibili.com/video/BV1hP4y1N7Qz/

联系286503700获取

ABAP文章汇总:

https://mp.weixin.qq.com/s/djmMeM0qfDxPPwxbjuJABA

Excel文章汇总:

https://mp.weixin.qq.com/s/NwJ0SzIrn9hVmaCMo-UYyA

网盘永久链接:

https://mp.weixin.qq.com/s/f_WwKZdwM-vPEstTjjz_eQ

关注公众号,点下方菜单打开上面的链接,更方便哦。

笔者微信:286503700(QQ同号)

如果喜欢,谢谢转发。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值