GET BIT bitpos OF byte_string INTO val.
This statement reads the bit at the bit position bitpos of the variable byte_string and assigns its value to the variable val.
The data object byte_string must be byte-type, while
bitpos and val must be of data type
i. The value of bitpos must be greater than
0, otherwise exceptions that cannot be handled will occur. The bit positions in
byte_string are counted from the beginning of the data object. If the value of
bitpos is greater than the number of bits in byte_string, not bit is read and sy-subrc is set to 4.
System Fields
sy-subrc | Meaning |
0 | The value of the bit at position bitpos of byte_string was placed in the result field val. |
4 | The value of bitpos is greater than the number of bits in byte_string and no bit was read |
The hexadecimal value 1B is assigned to the data object hex and its bits are read from front to back. The output is "00011011", which corresponds to the binary display of decimal 27 or hexadecimal 1B.
DATA: len TYPE i,
res TYPE i,
hex TYPE xstring.
hex = '1B'.
len = XSTRLEN( hex ) * 8.
WHILE sy-index <= len.
GET BIT sy-index OF hex INTO res.
WRITE (1) res NO-GAP.
ENDWHILE.
Non-Catchable Exceptions