dynamic remove all special characters at internal table
Many description fields maintain by the user could contain special characters like double quotes and a vertical line, which will lead to mismatched columns like at generated Excel file or spool result list. Here create a small routine to replace all those kinds of characters for all fields at one internal table.
FIELD-SYMBOLS: <wa_table> TYPE any, <field> TYPE any. DATA:lv_counter TYPE I, "countner ld_fieldtype TYPE CHAR01, "field type lv_field_num type I. "num of fields check gt_output is not INITIAL. *Get number of fields for Input table read TABLE gt_output ASSIGNING <wa_table> INDEX 1. DATA(lo_descr) = CAST cl_abap_structdescr( cl_abap_datadescr=>describe_by_data( <wa_table> ) ). lv_field_num = LINES( lo_descr->components ). loop at gt_output ASSIGNING <wa_table>. lv_counter = 1. DO lv_field_num TIMES. * loop every fields of internal table ASSIGN COMPONENT lv_counter OF STRUCTURE <wa_table> TO <field>. if sy-subrc eq 0. DESCRIBE field <field> TYPE ld_fieldtype. "only replace Character type, could dump like for P type field with replace IF ld_fieldtype = 'C'. REPLACE ALL OCCURRENCES OF '"' in <field> with space. "here only replace the double quotes " endif. else. CONTINUE. endif. lv_counter = lv_counter + 1. ENDDO. ENDLOOP.
Be the first to leave a comment
You must be Logged on to comment or reply to a post.