ABAP XString in Binary kovertieren
Sofern man im ABAP mit Binärdaten zu tun hat ist in vielen Fälle eine Konvertierung von XSTRING in Binary erforderlich. Dies ist z.B. beim Schreiben ins Archiv oder Lesen aus dem Archiv oder auch bei den Media Entities in OData Service der Fall. Es gibt unterschiedliche Möglichkeiten die Konvertierung durchzuführen.
Variante 1 – Function Module SCMS_XSTRING_TO_BINARY
DATA: lv_xstring TYPE xstring,
lt_binary_data TYPE STANDARD TABLE OF raw255.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = lv_xstring
TABLES
binary_tab = lt_binary_data.
Variante 2 – Verwenden der Klasse CL_BS_CONVERT
DATA lv_xstring TYPE xstring.
DATA (lt_binary_data) = CL_BCS_CONVERT=>XSTRING_TO_SOLIX(
EXPORTING
iv_xstring = lv_xstring
).
Variante 3 – Function Module SCMS_XSTRING_TO_BINARY
DATA: lv_size TYPE i,
lv_xstring TYPE xstring,
lt_binary_data TYPE STANDARD TABLE OF raw255.
CL_SCP_CHANGE_DB=>XSTR_TO_XTAB(
EXPORTING
im_xstring = lv_xstring
IMPORTING
ex_size = lv_size
ex_xtab = lt_binary_data
).
Variante 4 – Function Module CL_SWF_UTL_CONVERT_XSTRING
DATA: lv_xstring TYPE xstring,
lt_binary_data TYPE STANDARD TABLE OF raw255.
CL_SWF_UTL_CONVERT_XSTRING=>XSTRING_TO_TABLE(
EXPORTING
i_stream = lv_xstring
IMPORTING
e_table = lt_binary_data
).