ABAP 新语法 SWITCHCOND

作者:ABAP猿 约 4 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, 开发, 数据工程
ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图

Most of the time,Growth and comfort do not coexist.

大多数时候,成长与舒适是不并存的。

ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图

1

程序效果

ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图

2

源码分享

ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图

*&\----------------------------------------------------------------------

*& 6\. SWITCH关键字 理解:动态赋值(单条件)

*&\----------------------------------------------------------------------

*& 语法:… SWITCH dtype|#( operand

*& WHEN const1 THEN result1

*& [ WHEN const2 THEN result2 ]

*& …

*& [ ELSE resultn ] ) …

*&\----------------------------------------------------------------------

DATA ( lv_gender ) = '男' . DATA ( lv_gender_en ) = SWITCH char12 ( lv_gender "单一变量

WHEN '男' THEN 'Man' "单条件

WHEN '女' THEN 'Woman'

ELSE 'Man or Woman' ).

*&\----------------------------------------------------------------------

*& 7\. COND关键字 理解:动态赋值(多条件)

*&\----------------------------------------------------------------------

*& 语法:… COND type|#( WHEN log_exp1 AND log_exp2 THEN result1

*& [ WHEN log_exp3 THEN result2 ]

*& …

*& [ ELSE resultn ] ) …

*&\----------------------------------------------------------------------

DATA ( lv_score ) = 95 . DATA ( lv_level ) = COND char12 ( WHEN lv_score >= 90 THEN '优秀' WHEN lv_score >= 80 AND lv_score < 90 THEN '良好' "多条件 WHEN lv_score >= 60 AND lv_score < 80 THEN '及格'

ELSE '不及格' ).

3

AI解释

ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图

仅供参考

这段ABAP代码主要介绍了ABAP中新引入的 ` SWITCH ` 和 ` COND ` 关键字的用法,其中核心点如下:

** SWITCH关键字:动态赋值(单条件) **

使用 ` SWITCH ` 关键字进行动态赋值,类似于多分支的 ` CASE ` 语句。

示例中, ` lv_gender ` 为'男'时, ` lv_gender_en `

被赋值为'Man',为'女'时,被赋值为'Woman',否则被赋值为'Man or Woman'。

**COND关键字:动态赋值(多条件)**

使用 ` COND ` 关键字进行动态赋值,支持多条件的逻辑表达式。

示例中, ` lv_score ` 为不同分数范围时, ` lv_level ` 被赋予不同的等级,例如,当 ` lv_score `

大于等于90时, ` lv_level ` 为'优秀',当 ` lv_score ` 在80到90之间时, ` lv_level `

为'良好',以此类推。如果都不符合条件,则 ` lv_level ` 为'不及格'。

这两个关键字使得在逻辑赋值时更加简洁、清晰,尤其在处理多条件分支时,减少了繁琐的嵌套和提高了可读性。这对于新手来说,是一种更直观的语法形式。

ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图

以上是今日分享,希望对你有所帮助~~~

欢迎点赞、留言、分享

ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图

往期推荐

[ ABAP新语法系列文章 预告

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495367&idx=1&sn=f25eb22d7ae2bf247facb335ce6299d6&chksm=cf0a3a29f87db33f8d02e2de3380360b52ec2d411f036dda729346d8255ef8741527e24391c6&scene=21#wechat_redirect)

[ ABAP 新语法-构建演示数据

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495390&idx=1&sn=55b0041df577df441aecbbe5891acfd6&chksm=cf0a3a30f87db326b5fde73627d116158d2ada96a929979de6705ab67a6fbfd0a686f11455b4&scene=21#wechat_redirect)

[ ABAP 新语法-CORRESPONDING

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495438&idx=1&sn=09d533259a5ffb296befb7e244255fd2&chksm=cf0a3be0f87db2f67f6ba2b07ba64fc7d116a55012c914d5f96d49886373e3723499739d0dbd&scene=21#wechat_redirect)

[ ABAP 新语法-BASE

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495446&idx=1&sn=8476464d43a57338e2a9596e5da896d4&chksm=cf0a3bf8f87db2ee1589fe57b62fa4f30463b97719fb08f446f71c9dd4ab562cb210e25223cd&scene=21#wechat_redirect)

ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图
ABAP 新语法 SWITCHCOND - 封面图

点个 在看 你最好看

ABAP猿

关于作者:ABAP猿

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

来源说明:本文内容由「ABAP新语法SWITCHCOND.md」整理生成,仅用于内部技术分享与学习交流。