ABAP 关键字:COND

带有条件运算符COND的条件表达式会返回一个指定数据类型的值,否则引发一个基于类的异常。type可以是非泛型的数据类型。当返回值类型是唯一的,那么可以用字符 # 取代。
注*:不指定ELES时,当WHEN的逻辑表达式都为false时,会返回数据类型type的初始值。
基本语法:

COND type( [let_exp]
WHEN log_exp THEN [let_exp] result
…
[ELSE [let_exp] result )

简单案例一:

DATA lv_grade TYPE string.
DATA lv_score TYPE i VALUE '87'." lv_score重命名为x进行条件判断.
" 当lv_score大于60的时候,将值[及格]赋值给lv_grade.
lv_grade = COND #( LET x = lv_score INWHEN x = 100 THEN '优秀'WHEN x > 60 THEN '及格'ELSE '不及格' ).

它等价与IF条件分支语句:

IF lv_score = 100.lv_grade = '优秀'.
ELSEIF lv_score > 60.lv_grade = '及格'.
ELSE.lv_grade = '不及格'.
ENDIF.

简单案例二:

DATA LV_AMT TYPE I VALUE 80.
DATA LV_FLAG TYPE I VALUE 0." 由于lv_flag=0,没有指定ELES,会将初始值0赋给lv_amt.
LV_AMT = COND #( WHEN LV_FLAG = '1' THEN LV_AMT * 10 ).


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部