在新语法中,可以使用COND、SWITCH来根据逻辑表达式或情况的不同确定指定变量的结果。
语法格式:
…COND dtype | # ( WHEN log_exp1 THEN result1
[ WHEN log_exp2 THEN result2 ]
….
[ ELSE resultn ] ) …
…SWITCH dtype | # ( operand
WHEN const1 THEN result1
[ WHEN const2 THEN result2 ]
….
[ ELSE resultn ] ) …
[ ] 里可填,THEN后面都是返回的结果。在SWITCH中 operand 是一个变量类似case operand: when…
例一:
DATA(time) = COND string(
WHEN sy-timlo < ‘120000’ THEN |{ sy-timlo TIME = ISO } AM|
WHEN sy-timlo > ‘120000’ THEN |{ CONV t( sy-timlo – 12 * 3600 ) TIME = ISO } PM|
WHEN sy-timlo = ‘120000’ THEN |High noon|
* ELSE
).
WRITE: time.
sy = ‘120000’ 就是时间12点。 程序就是根据sy-timlo是否超过12点 然后设置不同的格式赋值给time。
例二:
DATA(a) = 11.
DATA(text) = SWITCH #( a
WHEN ’11’ THEN ’11yyagd’
WHEN ’12’ THEN ’12dkdkkd’
* ELSE
).
WRITE: text.
这段代码就是根据变量a的值,赋不同的值给text。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/20218.html