使用ABAP COND 操作符:简化业务场景中的条件判断
COND操作符的简单形式语法如下:
COND <返回类型> ( WHEN <条件> THEN <结果1> ELSE <结果2> )
<返回类型>:这是一个可选项,用于指定条件表达式的返回数据类型。如果省略,系统会根据THEN和ELSE后面表达式的类型自动推断。<条件>:是一个布尔表达式,用于判断条件是否成立。<结果1>:当<条件>为TRUE时返回的值。<结果2>:当<条件>为FALSE时返回的值。
DATA:LV_BUSINESS_SCOPE TYPE STRING VALUE '一般项目:第二类医疗器械销售;第一类医疗器械销售;健康咨询服务(不含诊疗服务);技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广',
LV_FIRST_MEDICAL_DEVICE TYPE STRING VALUE '第一类医疗器械',
LV_SECOND_MEDICAL_DEVICE TYPE STRING VALUE '第二类医疗器械',
LV_FIRST_FOUND TYPE ABAP_BOOL,
LV_SECOND_FOUND TYPE ABAP_BOOL.
* 判断是否包含第一类医疗器械
LV_FIRST_FOUND = COND #( WHEN LV_FIRST_MEDICAL_DEVICE CO LV_BUSINESS_SCOPE THEN ABAP_TRUE ELSE ABAP_FALSE ).
* 判断是否包含第二类医疗器械
LV_SECOND_FOUND = COND #( WHEN LV_SECOND_MEDICAL_DEVICE CO LV_BUSINESS_SCOPE THEN ABAP_TRUE ELSE ABAP_FALSE ).
* 输出结果
WRITE: / '是否包含第一类医疗器械:', COND #( WHEN LV_FIRST_FOUND = ABAP_TRUE THEN '是' ELSE '否' ).
WRITE: / '是否包含第二类医疗器械:', COND #( WHEN LV_SECOND_FOUND = ABAP_TRUE THEN '是' ELSE '否' ).
DATA: LV_NUM TYPE I VALUE 2,
LV_RESULT TYPE STRING.
LV_RESULT = COND #(
WHEN LV_NUM = 1 THEN '值为 1'
WHEN LV_NUM = 2 THEN '值为 2'
WHEN LV_NUM = 3 THEN '值为 3'
ELSE '值不是 1、2 或 3').
WRITE: / LV_RESULT.

浙公网安备 33010602011771号