BAdI enhancement implementation
Name: ZEI_DEMO_ABAP_CONVERTER
BAdI implementations (using the ZBADI_DEMO_ABAP_CONVERTER BAdI definition)
ZBADI_IMPL_DEMO_ABAP_CONV_XML
Implementing class: ZCL_DEMO_ABAP_CONVERTER_XML
ZBADI_IMPL_DEMO_ABAP_CONV_JSON
Implementing class: ZCL_DEMO_ABAP_CONVERTER_JSON
Add the following code to the classes activate them:
ZCL_DEMO_ABAP_CONVERTER_XML
CLASS zcl_demo_abap_converter_xml DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
INTERFACES if_badi_interface .
INTERFACES zif_demo_abap_converter .
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_demo_abap_converter_xml IMPLEMENTATION.
METHOD zif_demo_abap_converter~convert.
IF out IS NOT BOUND.
RETURN.
ENDIF.
DATA xml TYPE xstring.
DATA(tdo) = cl_abap_typedescr=>describe_by_data( content ).
CASE TYPE OF tdo.
WHEN TYPE cl_abap_elemdescr.
CALL TRANSFORMATION id
SOURCE var = content
RESULT XML xml.
WHEN TYPE cl_abap_structdescr.
CALL TRANSFORMATION id
SOURCE structure = content
RESULT XML xml.
WHEN TYPE cl_abap_tabledescr.
CALL TRANSFORMATION id
SOURCE table = content
RESULT XML xml.
WHEN OTHERS.
RETURN.
ENDCASE.
DATA(xml_str) = cl_abap_conv_codepage=>create_in( )->convert( xml ).
out->write( xml_str ).
out->write( |\n| ).
ENDMETHOD.
ENDCLASS.
Serkan AKKAVAK
Computer Engineer BSc
Head of SAP & Software Department
Contact : serkurumsal@yandex.com

0 Comments