Variante 1 (ABAP_TO_XML_XSTRING)
TRY.
* Proxyobjekt
DATA(lv_proxy_obj) = VALUE zgenerated_proxy_obj( p_par1 = 'VALUE1'
p_par2 = 'VALUE2'
).
* Proxy-Objekt
DATA(lv_datatype) = CONV prx_r3name( 'ZGENERATED_PROXY_OBJ' ).
* Simple Transformation mit Namespace
* xml_header
* no
* without_encoding
* full
DATA(lv_xml) = cl_proxy_xml_transform=>abap_to_xml_xstring( abap_data = lv_proxy_obj
ddic_type = lv_datatype
xml_header = 'full' " no, without_encoding, full
).
* Transformation
CALL TRANSFORMATION id SOURCE XML lv_xml RESULT XML lv_xml.
* XML anzeigen
cl_srtg_helper=>write_utf8_xmldoc( doc = lv_xml
use_html_control = abap_true " Anzeige im Browserfenster
).
CATCH cx_root INTO DATA(e_txt).
WRITE: / e_txt->get_text( ).
ENDTRY.
Variante 2 (CL_SXML_STRING_WRITER)
TRY.
* Proxyobjekt
DATA(lv_proxy_obj) = VALUE zgenerated_proxy_obj( p_par1 = 'VALUE1'
p_par2 = 'VALUE2'
).
* Proxy-Objekt
DATA(lv_datatype) = CONV prx_r3name( 'ZGENERATED_PROXY_OBJ' ).
DATA(o_xml_writer) = cl_sxml_string_writer=>create( type = if_sxml=>co_xt_xml10 ).
* Simple Transformation mit Namespace
cl_proxy_xml_transform=>abap_to_xml( abap_data = lv_proxy_obj
ddic_type = lv_datatype
xml_writer = o_xml_writer
).
DATA(lv_xml) = o_xml_writer->get_output( ).
* Transformation
CALL TRANSFORMATION id SOURCE XML lv_xml RESULT XML lv_xml.
* XML anzeigen
cl_srtg_helper=>write_utf8_xmldoc( doc = lv_xml
use_html_control = abap_true " Anzeige im Browserfenster
).
CATCH cx_root INTO DATA(e_txt).
WRITE: / e_txt->get_text( ).
ENDTRY.