[SAP ABAP] Remove XML BUGS

FUNCTION zfm_mmods_remove_xml_bugs .
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  CHANGING
*"     REFERENCE(C_XML) TYPE  STRING
*"----------------------------------------------------------------------


  TYPES BEGIN OF ty_data,
            line TYPE string,
          END OF ty_data.
  DATA li_data TYPE STANDARD TABLE OF ty_data WITH HEADER LINE.

  DATA lv_tmp TYPE string,
         lv_cell1 TYPE string,
         lv_cell2 TYPE string,
         lv_cell3 TYPE string,
         lv_cell_header TYPE string,
         lv_cell_top TYPE string,
         lv_cell_last TYPE string,
         lv_cell_replace TYPE string,
         lv_len1 TYPE i.

  "Header
  lv_cell_header ''.
  CONCATENATE lv_cell_header cl_abap_char_utilities=>cr_lf INTO lv_cell_replace.
  REPLACE lv_cell_header IN c_xml  WITH lv_cell_replace.

  "Top
  SPLIT c_xml AT '>' INTO lv_tmp lv_cell_top.
  SPLIT lv_cell_top AT '>' INTO lv_cell_top lv_tmp.
  CONCATENATE lv_cell_top '>' INTO lv_cell_top.
  CONCATENATE lv_cell_top cl_abap_char_utilities=>cr_lf INTO lv_cell_replace.
  REPLACE lv_cell_top IN c_xml  WITH lv_cell_replace.

  "Clear Last from note
  lv_len1 STRLENlv_cell_top 3.
  lv_cell_last lv_cell_top+3(lv_len1).
  CONCATENATE '</' lv_cell_last INTO lv_cell_last.
  CONCATENATE lv_cell_last lv_cell_last INTO lv_cell_last.

  SPLIT c_xml AT lv_cell_last INTO lv_cell1 lv_cell2.

  CLEAR c_xml.
  CONCATENATE lv_cell1 lv_cell_last INTO c_xml.


ENDFUNCTION.

Comments