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 = STRLEN( lv_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.
*"----------------------------------------------------------------------
*"*"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 = STRLEN( lv_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
Post a Comment