SAP NetWeaver AS ABAP Release 740, ©Copyright 2014 SAP AG. All rights reserved.
ABAP Keyword Documentation → ABAP − Reference → Processing Internal Data → Character String and Byte String Processing → Statements for Character String and Byte String Processing →Syntax
SET BIT bitpos OF byte_string [TO val].
Effect
This statement sets the bit in bit position bitpos of the variable byte_string to 1 or, if specified, to the value of data object val. The other bits in byte_string remain unchanged.
The data object byte_string must be byte-like, whereas bitpos and val are
numerical expression
positions of operand type i. The value of bitpos
must be greater than 0 and val must be either 0 or 1. Otherwise an exception
that cannot be handled is raised. 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 replaced and sy-subrc is set to 4.
System Fields
sy-subrc | Meaning |
0 | A bit in data object byte_string was set at position bitpos. |
4 | The value of bitpos is greater than the number of bits in byte_string, therefore no bit was set. |
Notes
Example
In the data object hex with eight bits, the bit is set to the value 1 at the position determined by the loop counter sy-index, with all other bits set to 0. The output is "80 40 20 10 08 04 02 01".
DATA hex TYPE x LENGTH 1.
DATA output TYPE string.
DO 8 TIMES.
CLEAR hex.
SET BIT sy-index OF hex.
output = output && |{ hex } |.
ENDDO.
cl_demo_output=>display( output ).
Non-Catchable Exceptions