The Boolean functions boolc
and xsdbool
can be used to determine the truth value of logical expressions. A logical expression can be specified as an argument for those functions.
For example, the following logical expression is true when the string length is > 0:
strlen( 'abc' ) > 0
Usually, we would find these expressions as part of an IF-statement like this:
IF strlen( 'abc' ) > 0.
...
ENDIF.
In case you want to store the truth value of such an expression in a variable you need to use a Boolean function.
Boolean Function boolc
DATA(string_not_initial) = boolc( strlen( 'abc' ) > 0 ).
- The data type is a single-character string`
- Returns ‘X’ if boolean true
- Returns ' ' if boolean false
- If the logical expression is
false
, the result of boolc does not meet the conditionIS INITIAL
- Cannot be used like a value of the type
abap_bool
and be compared with the constantsabap_true
&abap_false
Boolean Function xsdbool
DATA(string_not_initial) = xsdbool( strlen( 'abc' ) > 0 ).
- The data type is type c with length 1
- Returns ‘X’ if boolean true
- Returns ' ' if boolean false
- If the logical expression is
false
, the result of boolc meets the conditionIS INITIAL
- Can be used like a value of the type
abap_bool
and be compared with the constantsabap_true
&abap_false