abap_bool é um tipo de dado primitivo que possui dois valores, que podem ser considerados como verdadeiro ou falso. Não existe realmente um tipo boolean em ABAP, mas existe um workaround no sistema R/3 que simula campos booleanos. O que acontece é que no dicionário ABAP existe uma constante para abap_true com o valor do caractere char “X’ e para abap_false um valor nulo, deste modo o compilador ABAP consegue simular tipos booleanos.
Definição:
O tipo abap_bool é definido como:
types: abap_bool type c length 1.
Você pode confirmar a constante abap_true no dicionário ABAP (SE11) como:
Constants: abap_true type abap_bool value ‘X’
Exemplo:
Neste exemplo mostramos o conteúdo do campo abap_bool e todos os seu valores e o utilizamos como campos booleanos:
Abap
*&---------------------------------------------------------------------* *& Report ZBOOLEAN *& *&---------------------------------------------------------------------* *& Desenvolvimento Aberto *& Campos Booleanos *&---------------------------------------------------------------------* REPORT ZBOOLEAN. DATA valida TYPE abap_bool. WRITE : / 'Valor Boolean default:', valida. valida = abap_false. WRITE : / 'Valor Boolean falso: ', valida. valida = abap_true. WRITE : / 'Valor Boolean verdadeiro: ', valida. IF valida EQ abap_true. WRITE: / 'Estou validando um campo boolean verdadeiro'. ENDIF. valida = abap_false. IF valida EQ abap_false. WRITE : / 'Estou validando um campo boolean falso'. ENDIF.