As per the general standards and coding practice, you should use abap_bool for handling Boolean value or truth values. In this case, if any object is declared as abap_bool type, then it can hold values only from the set (abap_truth, abap_false and abap_undefined). But in older systems, you might not be able to use abap_bool as it is not available. For ex. In Web Dynpro abap_bool is not available.
You need to use WDY_BOOLEAN as an alternative in this case. WDY_BOOLEAN only allows true Boolean values meaning it allows only true and false as permissible values but not undefined.