1. 程式人生 > >ABAP 7.4新特性(四): COND SWITCH 操作符

ABAP 7.4新特性(四): COND SWITCH 操作符

在新語法中,可以使用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。