Ansicht
Dokumentation
ABAPGET_BIT - GET BIT
SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up TXBHW - Original Tax Base Amount in Local CurrencyDiese Dokumentation steht unter dem Copyright der SAP AG.
GET BIT
GET BIT bitpos OF byte_string INTO val.
Wirkung
Diese Anweisung liest das Bit an der Bitposition bitpos des Datenobjekts byte_string und weist seinen Wert dem Zielfeld val zu. val kann wie folgt angegeben werden:
- Vorhandene Variable, für die der Datentyp i erwartet wird.
- Inline-Deklaration DATA(var) oder FINAL(var), wobei eine Variable vom Typ i deklariert wird.
Das Datenobjekt byte_string muss byteartig sein. Es können
Bit-,
Konstruktor- und
Tabellenausdrücken verwendet werden. bitpos ist eine
numerische
Ausdrucksposition vom Operandentyp i. Der Wert von bitpos muss größer als 0 sein, ansonsten kommt es zu unbehandelbaren Ausnahmen. Die Bitpositionen in byte_string werden beginnend mit dem
höchstwertigen
Bit (most significant bit, MSB) des Datenobjekts von links nach rechts gezählt. Wenn der
Wert von bitpos größer als die Anzahl von Bits in byte_string ist, wird kein Bit gelesen und sy-subrc auf 4 gesetzt.
Systemfelder
sy-subrc | Bedeutung |
0 | Der Wert des Bits an der Position bitpos von byte_string wurde in das Ergebnisfeld val gestellt. |
4 | Der Wert von bitpos ist größer als die Anzahl der Bits in byte_string und es wurde kein Bit gelesen. |
Hinweise
- Wenn byte_string vom tiefen Typ xstring ist, wird ein Bit aus der referierten Bytekette gelesen, nicht aus der Referenz.
- Das Lesen von einzelnen Bits ist insbesondere für die Auswertung der Ergebnisse von Bit-Ausdrücken vorgesehen.
- Das Zählen der Bits ab dem höchstwertigen Bit kann beim Arbeiten mit Komponenten, die ab dem
niedrigstwertigen Bit (least significant bit, LSB) zählen zu unerwarteten Ergebnissen führen.
Dem Datenobjekt hex wird der hexadezimale Wert
"1B" zugewiesen und dessen Bits werden von vorn nach hinten ausgelesen. Die Ausgabe ist "00011011",
was der Binärdarstellung von dezimal 27 bzw. hexadezimal "1B" entspricht.
Dem Datenobjekt hex wird der hexadezimale Wert
"1B" zugewiesen und dessen Bits werden von vorn nach hinten ausgelesen. Die Ausgabe ist "00011011",
was der Binärdarstellung von dezimal 27 bzw. hexadezimal "1B" entspricht.
Beispiel
Hexadezimale Werte werden Datenobjekten zugewiesen und in eine interne Tabelle aufgenommen, über
die eine Schleife läuft. In der Schleife werden die Bits von vorn nach hinten gelesen. Zum Schluss
wird das Ergebnis zu der internen Tabelle hinzugefügt, die die hexadezimalen und binären
Werte zeigt. Mit der Anweisung GET BIT wird ein Tabellenausdruck hinter OF demonstriert.
Ausnahmen
Unbehandelbare Ausnahmen
- Ursache: n ist kleiner oder gleich 0.
Laufzeitfehler: BIT_OFFSET_NOT_POSITIVE
Addresses (Business Address Services) TXBHW - Original Tax Base Amount in Local Currency
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 5644 Date: 20240328 Time: 190720 sap01-206 ( 75 ms )