TRY.
* Beispieldaten
DATA: lv_xstr TYPE xstring VALUE 'FF000000'.
WRITE: / 'STREAM:', lv_xstr.
* Binary stream
DATA(o_stream) = NEW cl_fxs_binary_stream( mv_byteorder = cl_fxs_binary_stream=>co_byteorder_little
mv_data = lv_xstr ).
* Länge
DATA(lv_len) = o_stream->get_length( ).
WRITE: / 'Länge:', lv_len.
* Byteorder
WRITE: / 'Byteorder:', o_stream->get_byteorder( ).
IF lv_len > 0.
* 1 Byte lesen
WRITE: / 'BYTE:', o_stream->read_byte( iv_offset = 0 ).
* Int lesen
WRITE: / 'INT:', o_stream->read_int( iv_offset = 0 ).
* Short lesen
WRITE: / 'SHORT:', o_stream->read_short( iv_offset = 0 ).
* WORD lesen
WRITE: / 'WORD:', o_stream->read_word( iv_offset = 0 ).
* 1 DWORD (4 Bytes) lesen, ahängig der Byteorder
WRITE: / 'DWORD:', o_stream->read_dword( iv_offset = 0 ).
* Datenzeiger auf Byte 4 setzen
o_stream->seek_to( 3 ).
* Byte schreiben
WRITE: / 'Byte 4 schreiben:', 32.
o_stream->write_byte( iv_offset = 0
iv_value = 32 ).
* Byte-Sequenz lesen
WRITE: / 'BYTE-Sequenz (Byte 3 und 4):', o_stream->read_byteseq( iv_offset = -1
iv_len = 2 ).
ENDIF.
CATCH cx_root INTO DATA(e_txt).
WRITE: / e_txt->get_text( ).
ENDTRY.