В abap 7.40 появились новые логические функции boolc() и xsdbool() они определяют истинность логического выражения в аргументе boolc( логическое выражение )/ xsdbool ( логическое выражение ).
Отличаются тем, что boolc( ) имеет тип данных "С" в качестве возвращаемого параметра, а xsdbool() возвращает тип abap_bool.
Пример:
1 2 3 4 5 6 7 8 9 |
" method example. ...... if sy-subrc = 0 and lv_a = lv_b. rv_result = abap_true. endif. endmethod. |
Тоже самое с использованием xsdbool():
1 2 3 4 5 6 7 8 |
" method example_xsdbool. ...... rv_result = xsdbool( sy-subrc = 0 and lv_a = lv_b ). endmethod. |
Еще удобно можно передавать результат на вход метода.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
report zhr_pau_test. class lcl_example definition. public section. methods example importing iv_bool_par type abap_bool. endclass. class lcl_example implementation. method example. ".....text module endmethod. endclass. start-of-selection. data(go_obj_example) = new lcl_example( ). go_obj_example->example( iv_bool_par = xsdbool( sy-subrc = 0 ) ). |