猜一猜 SELECTMAX 时数据不存在 SUBRC 是多少

作者:郑德鼎 约 2 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, WM, 仓库管理, 开发, 数据工程
猜一猜 SELECTMAX 时数据不存在 SUBRC 是多少 - 封面图
猜一猜 SELECTMAX 时数据不存在 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 .

输出结果:

猜一猜 SELECTMAX 时数据不存在 SUBRC 是多少 - 封面图
猜一猜 SELECTMAX 时数据不存在 SUBRC 是多少 - 封面图

**这一刻,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同号)** ****

**如果喜欢,谢谢转发。**

郑德鼎

关于作者:郑德鼎

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「猜一猜SELECTMAX时数据不存在SUBRC是多少.md」整理生成,仅用于内部技术分享与学习交流。