jsonabapsaprfcpyrfc

Performance of /ui2/cl_json serialization


In the past I used this to return any data structure via SAP RFC:

json = /ui2/cl_json=>serialize( data = <lt_result> 
    pretty_name = /ui2/cl_json=>pretty_mode-low_case ).

This works very well if <lt_result> is small, but for bigger data sets this is slow.

How can I return any data structure via a generic ABAP RFC function module? I use PyRFC, but AFAIK this should not matter much for this question.


Solution

  • This may perform better:

    DATA(lo_json_writer) = cl_sxml_string_writer=>create( type = if_sxml=>co_xt_json ).
    
    CALL TRANSFORMATION id
                        SOURCE result = <lt_result>
                        RESULT XML lo_json_writer.
    
    ev_json_data = lo_json_writer->get_output( ). " yours export parameter
    

    Taken from official documentation.