Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Processing Internal Data →  Character String and Byte String Processing →  Statements for Character String and Byte String Processing 

GET BIT

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


GET BIT bitpos OF byte_string INTO val. 

Effect

This statement reads the bit at the bit position bitpos of the data object byte_string and assigns its value to the variable val.

The data object byte_string must be byte-type. bitpos is a numerical expression position of operand 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, no 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

  • Cause: n is smaller than or equal to 0.
    Runtime Error: BIT_OFFSET_NOT_POSITIVE