Ansicht
Dokumentation

CL_ABAP_VIEW_OFFLEN - ABAP Sturkturview mit Offsets und Längen

CL_ABAP_VIEW_OFFLEN - ABAP Sturkturview mit Offsets und Längen

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

Funktionalität

Objekte der Klasse CL_ABAP_VIEW_OFFLEN repräsentieren Beschreibungen von strukturierten Binärdaten. (Die Binärdaten werden typischerweise in Variablen vom Typ X oder XSTRING gespeichert.) Ein Objekt der Klasse CL_ABAP_VIEW_OFFLEN kann die Position (Offset) und die Länge aller Felder einer Struktur aufnehmen. Die Position wird bei 0 beginnend in Bytes gezählt. Die Länge wird ebenfalls in Bytes angegeben. Typinformation wird in Objekten der Klasse CL_ABAP_VIEW_OFFLEN nicht gespeichert.

Die Methoden CREATE_UNICODE16_VIEW und CREATE_LEGACY_VIEW liefern zu einer gegebenen Struktur eine Instanz, die die Offsets und Längen aller Felder gemäß den Ausrichtungsanforderungen eines Unicode- bzw. Nicht-Unicode-Systems enthalten.

Wenn die Methode APPEND verwendet wird, können die Offsets und Längen frei angegeben werden und brauchen nicht mit dem in ABAP üblichen Layout übereinzustimmen. Es ist zu beachten, daß sich zwischen den Feldern einer Struktur Alignmentlücken befinden können.

Mit der Klasse CL_ABAP_CONV_IN_CE können Binärdaten in ABAP Strukturen konvertiert werden. Dabei wird ein Objekt der Klasse CL_ABAP_VIEW_OFFLEN benötigt, das die Struktur der Binärdaten beschreibt.

Beziehungen

CL_ABAP_CONV_IN_CE
Konvertierung von Binärdaten in gültige ABAP Datenobjekte.

Beispiel

Das folgende Beispiel-Programm gibt für eine einfache Struktur die Offsets und Längen aus, die die Felder in einem Nicht-Unicode-System haben (unabhängig davon, ob das Programm auf einem Unicode- oder Nicht-Unicode-System läuft).

data:
begin of struc,
text(5) type c,
int type i,
end of struc.

data:
view type ref to cl_abap_view_offlen,
tab  type abapofflentab,
wa   type line of abapofflentab.

view = cl_abap_view_offlen=>create_legacy_view( struc ).
call method view->get_view_into_table( importing tab = tab ).

loop at tab into wa.
  write :/ wa-ioff, wa-ilen.
endloop.

Die Ausgabe ist
0 5
8 4

Das folgende Beispiel zeigt die Benutzung der Methode APPEND.

DATA: view TYPE REF TO cl_abap_view_offlen.
view = cl_abap_view_offlen=>create( ).
CALL METHOD view->append( off = 6 len = 2 ).
CALL METHOD view->append( off = 8 len = 4 ).
CALL METHOD view->append( off = 0 len = 3 ).

Hinweise

Weiterführende Informationen

Einige Details sind in der Dokumentation der einzelnen Methoden beschrieben.






CL_GUI_FRONTEND_SERVICES - Frontend Services   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3166 Date: 20240426 Time: 044029     sap01-206 ( 54 ms )