В SAP нет основного типа данных для булевых значений. Кроме того, булевы типы более высокого уровня в SAP обычно имеют три состояния: true ('X'), false ('') и неизвестные ('-').
Теперь очевидно, что логические элементы являются краеугольным камнем многих моих разработок, но я понял, что я не был ужасно последователен в использовании моего типа (элемента данных). Пока я считаю, что они наиболее распространены:
-
abap_bool
: определены в пуле типов abap, unconstrained, но константы определены для true, false, unknown, yes и no -
os_boolean
: элемент данных, Да ('X') или Нет ('') -
xfeld
: элемент данных, True ('X') или False (''), отсутствует метка поля, описанная как флажок
В моем коде я в основном использовал abap_bool
, так как теперь я могу работать с константами вместо знаковых значений, а не с тем, что я не мог назначить abap_true
для xfeld
. Тем не менее, я был предупрежден, что этот пул типов не всегда доступен.
Теперь я задаюсь вопросом о лучших методах для булевых значений, в частности:
- Есть ли предпочтительный тип, который я должен использовать?
- Будет ли использование пула типов abap вызывать проблемы в определенных модулях или сценариях?
- Есть ли возможность abap_bool, содержащая неизвестное или даже какое-либо значение символа?