Ansicht
Dokumentation

ABAPCOMPUTE_BIT - COMPUTE BIT

ABAPCOMPUTE_BIT - COMPUTE BIT

RFUMSV00 - Advance Return for Tax on Sales/Purchases   CL_GUI_FRONTEND_SERVICES - Frontend Services  
This documentation is copyright by SAP AG.
SAP E-Book

Bit Expressions ()

Short Reference



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


Effect

A bit expression formulates a binary calculation. The operands must be byte-like, that is, of type x or xstring. The result of a bit expression is a byte chain in the calculation length assigned to the bit expression. During assignment to an inline declaration DATA(var) or FINAL(var), the byte chain is handled as a byte string of data type xstring, and when passing a generic typed formal parameter, it is handled as a byte field of data type x.

In a bit expression bit_exp, an operand operand1 can be combined with one or more operands operand2, operand3, ... using bit operators BIT-AND, BIT-OR, or BIT-XOR. Brackets are possible. Bit expressions can occur in read 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 values, or parenthesized bit expressions can be specified. The bit operators BIT-AND, BIT-OR, and BIT-XOR combine two adjacent operands. When the expression is evaluated, a byte-like value is calculated and combined with the next adjacent operand. The priority of the combination depends on the operators that are used. If functional methods are used, the same applies as described for arithmetic expressions.

The bit operator BIT-NOT can be specified one or more times in front of 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 negates the operand.

If functional methods are specified as operands, they are executed 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.

If constructor expressions are specified as operands of bit expressions, their data type is not determined by the bit expression. The # character can be specified for the data type of the constructor expression only if the type can be determined from the constructor expression itself.

Bit sequences are an efficient way of mapping bit sequences. 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, for example, 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 represented 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.

Exceptions

Non-Catchable Exceptions

  • Cause: An operand or the result field is not of type x.
    Runtime Error: BITS_WRONG_TYPE






TXBHW - Original Tax Base Amount in Local Currency   General Data in Customer Master  
This documentation is copyright by SAP AG.

Length: 5346 Date: 20240511 Time: 050528     sap01-206 ( 104 ms )