Code: Alles auswählen.
REPORT.
*----------------------------------------------------------------------*
* CLASS l DEFINITION
*----------------------------------------------------------------------*
CLASS l DEFINITION.
PUBLIC SECTION.
CLASS-METHODS conv_xsd_date_time IMPORTING i_value TYPE any
i_value_conv TYPE any OPTIONAL
EXPORTING e_value TYPE any.
ENDCLASS. "l DEFINITION
*----------------------------------------------------------------------*
* CLASS l IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS l IMPLEMENTATION.
METHOD conv_xsd_date_time.
DATA l_xstring TYPE xstring.
DATA lr_xml TYPE REF TO if_proxy_sxml_stream.
DATA lr_data TYPE REF TO data.
FIELD-SYMBOLS <l_data> TYPE data.
lr_xml = cl_proxy_sxml_factory=>create_sxml_stream( ).
IF i_value_conv IS SUPPLIED.
CREATE DATA lr_data LIKE i_value_conv.
ASSIGN lr_data->* TO <l_data>.
<l_data> = i_value.
lr_xml->abap_to_xml( abap_data = <l_data> ).
ELSE.
lr_xml->abap_to_xml( abap_data = i_value ).
ENDIF.
l_xstring = lr_xml->get_output( ).
lr_xml = cl_proxy_sxml_factory=>create_sxml_stream( l_xstring ).
lr_xml->xml_to_abap( IMPORTING abap_data = e_value ).
ENDMETHOD. "conv_xsd_date_time
ENDCLASS. "l IMPLEMENTATION
PARAMETERS p_xsddt TYPE xsddatetime_iso DEFAULT '2005-01-01T13:00:00.0000000+01:00'.
START-OF-SELECTION.
DATA datetime TYPE xsddatetime_z.
l=>conv_xsd_date_time( EXPORTING i_value = p_xsddt
IMPORTING e_value = datetime ).
BREAK-POINT.