Ansicht
Dokumentation

ABAPCOMPUTE_BIT - COMPUTE BIT

ABAPCOMPUTE_BIT - COMPUTE BIT

Vendor Master (General Section)   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Bit-Ausdrücke ()

Kurzreferenz



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


Wirkung

Ein Bit-Ausdruck formuliert eine binäre Berechnung. Die Operanden müssen byteartig, also vom Typ x oder xstring sein. Das Ergebnis eines Bit-Ausdrucks ist eine Bytekette, die in der Rechenlänge vorliegt, die dem Bit-Ausdruck zugeordnet ist. Bei der Zuweisung an eine Inline-Deklaration DATA(var) oder FINAL(var) wird die Bytekette als Bytestring vom Datentyp xstring und bei der Übergabe an einen generisch typisierten Formalparameter wird sie wie ein Bytefeld vom Datentyp x behandelt.

In einem Bit-Ausdruck bit_exp kann ein Operand operand1 über Bit-Operatoren BIT-AND, BIT-OR oder BIT-XOR mit einem oder mehreren Operanden operand2, operand3 ... kombiniert werden, wobei Klammerungen möglich sind. Bit-Ausdrücke können an den Lesepositionen bestimmter Anweisungen und insbesondere auf der rechten Seite einer Zuweisung mit dem Zuweisungsoperator = vorkommen.

Die Operandenpositionen operand sind allgemeine Ausdruckspositionen, d.h. es können byteartige Datenobjekte, funktionale Methoden mit byteartigem Rückgabewert oder geklammerte Bit-Ausdrücke angegeben werden. Die Bit-Operatoren BIT-AND, BIT-OR und BIT-XOR kombinieren zwei benachbarte Operanden. Bei der Auswertung des Ausdrucks wird daraus ein byteartiger Wert berechnet, der mit dem nächsten benachbarten Operanden kombiniert wird. Die Priorität der Kombinierung richtet sich nach den verwendeten Operatoren. Bei der Verwendung von funktionalen Method gilt das Gleiche wie bei arithmetischen Ausdrücken.

Vor jedem Operanden kann einmal oder mehrmals der Bit-Operator BIT-NOT angegeben werden, um den Wert des Operanden zu negieren. Bei gerader Anzahl von BIT-NOT bleibt der Operand unverändert. Bei ungerader Anzahl wird er negiert.

Wenn funktionale Methoden als Operanden angegeben sind, werden diese vor der Auswertung des gesamten übrigen Ausdrucks von links nach rechts und von innen nach außen ausgeführt. Die Rückgabewerte werden für die Verwendung an den entsprechenden Operandenpositionen zwischengespeichert.

Wenn Konstruktorausdrücke als Operanden von Bit-Ausdrücken angegeben sind, wird deren Datentyp nicht vom Bit-Ausdruck bestimmt. Das Zeichen # kann nur dann für den Datentyp des Konstruktorausdrucks angegeben werden, wenn der Typ aus dem Konstruktorausdruck selbst bestimmt werden kann.

Mengenoperationen lassen sich effizient durch Bit-Folgen abbilden. Enthält eine Menge n Elemente, kann die Existenz eines Elements i aus n in einem byteartigen Feld durch eine 1 an der Position i dargestellt werden. Die Aufnahme eines Elements in eine Menge kann u.a. mit der Anweisung SET BIT vorgenommen werden. Mit den Operatoren BIT-AND, BIT-OR und BIT-XOR lassen sich dann die Durchschnittsmenge, die Vereinigungsmenge und die symmetrische Differenz unterschiedlicher Mengen bilden.

In diesem Beispiel werden die Merkmale von beispielsweise Personengruppen durch Bit-Folgen in den Feldern p1, p2, p3 vom Typ x abgebildet. Durch den Bit-Operator BIT-AND wird anschließend ermittelt, welche Merkmale bei allen Personen gemeinsam auftreten. Das Ergebnis zeigt, dass nur das achte Merkmal bei allen Personen übereinstimmt.

Ausnahmen

Unbehandelbare Ausnahmen

  • Ursache: Ein Operand oder das Ergebnisfeld hat nicht Typ x.
    Laufzeitfehler: BITS_WRONG_TYPE






BAL Application Log Documentation   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5836 Date: 20240425 Time: 230223     sap01-206 ( 92 ms )