翻转布尔值最干净的方法

时间:2014-04-24 10:21:35

标签: boolean sap abap

是否有任何现有的方法或功能模块可以有效地翻转布尔值?

如果我必须定义自己的实用工具方法,我会想出一个简单的实现,但我想知道这是否是最有效的方法:

IF iv_bool = abap_true.
    rt_bool = abap_false.
ELSEIF iv_bool = abap_false.
    rt_bool = abap_true.
ELSE.
    rt_bool = abap_undefined.
ENDIF.
编辑:正如Smigs所说,这个实现翻转三值布尔值或者#34; trileans"

1 个答案:

答案 0 :(得分:10)

rt_bool = boolc( iv_bool <> abap_true ).

将翻转布尔值。但是,它不会处理abap_undefined。

从740 SP08开始,您可以使用xsdbool( )代替boolc( )来获得相同的结果。给出的示例没有区别,但xsdbool( )safer when using in comparisons