如何在if语句中使用abap boolean

时间:2017-08-22 08:44:02

标签: sap abap netweaver

我知道abap没有真正的布尔类型。而是使用'X'和''。到目前为止,我一直使用if语句:

IF myObj->is_sth( ) = abap_true.

ENDIF.

现在我做了类似的事情:

IF myObj->is_sth( ).

ENDIF.

我想知道这似乎有效。返回类型是布尔值。我在Netweaver 7.4上。我可以毫无问题地使用它吗?这就像我可爱的C#写作:p。

1 个答案:

答案 0 :(得分:4)

这称为predicative method call

  

谓词方法调用是一种只有关系表达式   操作数是一个函数方法调用meth(...)。结果   如果函数方法的结果,则关系表达式为true   如果函数方法的结果,call不是initial和false   电话是最初的。函数方法调用的结果(返回   被调用函数方法的值)可以有任何数据类型。一张支票   是基于类型友好的初始值。

     

与任何关系表达式一样,预测方法调用可以是a   完整的逻辑表达式或逻辑表达式的一部分。这意味着它   可以在控制语句和其他语句中指定为条件   语句,作为布尔函数或条件的参数   表达式,或与布尔运算符的连接。

这是introduced in 7.40 SP08。请注意,如果初始值为false且false为初始值,则此方法仅可靠地工作。例如,IS-H使用0为假且1为真的字符字段 - 但由于字符字段的初始值是空格,因此既不是真也不是假,因此,使用任何返回此值的方法将始终分支,就好像方法返回true ...