SAP COMPUTE BIT ABAP Statements

Get Example source ABAP code based on a different SAP table
  


Standard SAP Help for BINARY_EXPRESSION

bit_exp - Bit Expressions

Short Reference


ABAP Syntax ... [BIT-NOT] operand1

[{BIT-AND|BIT-OR|BIT-XOR} [ BIT-NOT] operand2
[{BIT-AND|BIT-OR|BIT-XOR} [ BIT-NOT] operand3
... ]] ... .

What does it do? A bit expression formulates a binary calculation. The operands must be byte-like (type x or xstring). The result of a bit expression is a byte chain in the calculation length assigned to the bit expression. In a bit expression bit_exp, an operand operand1 can be joined with one or more operands operand2, operand3, and so on using bit operators BIT-AND, BIT-OR, or BIT-XOR; Brackets are possible. Bit expressions can occur in the reader positions of certain statements, in particular on the right side of an assignment with the assignment operator =.

The operand positions operand are general expression positions, which means byte-like data objects, functional methods with byte-like return codes, or bracketed bit expressions can be specified. The bit operators BIT-AND, BIT-OR, and BIT-XOR join two adjacent operands. When the expression is evaluated, a byte-like value is calculated and joined with the next adjacent operand. The priority of the join depends on the operators that are used; if use functional methods are used, the same applies as described for arithmetic expressions .

The bit operator BIT-NOT can be specified one or more times before an operand to negate the value of the operand. If BIT-NOT is specified an even number of times, the operand remains unchanged. An odd number of uses negates the operand.

If functional methods are specified as operands, they are listed from left to right and from inside to outside before the remainder of the expression is evaluated. The return values are buffered to be used in the corresponding operand positions.



Example ABAP Coding
Bit sequences are an efficient way of mapping set
operations. If a set contains n elements, the existence of an element i in n can be represented by a 1 at the position of i in a byte-like field. The statement SET BIT. among others, can be used to add an element to the set. The operators BIT-AND, BIT-OR, and BIT-XOR can then be used to calculate the intersection, the union, and the symmetric difference of different sets.

In the following example, the attributes of person groups are mapped in the fields p1, p2, p3 of the type x. The bit operator BIT-AND is then used to determine which attributes are shared by all people. The result shows that only the eighth attribute is shared. DATA:
p1 TYPE x LENGTH 1 VALUE '5B', '01011011
p2 TYPE x LENGTH 1 VALUE '13', '00010011
p3 TYPE x LENGTH 1 VALUE 'A5'. '10100101

DATA(res) = p1 BIT-AND p2 BIT-AND p3. '00000001




Runtime Exceptions
Non-catchable Exceptions
Reason for error:
An operand or the result field is not of type x.
Runtime error:
BITS_WRONG_TYPE

Return to menu