GET BIT

Short Reference

Syntax

GET BIT bitpos OF byte_string INTO val.

Effect

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

Notes

Example

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.

Exceptions

Non-Catchable Exceptions