
OPEN DATASET lv_filename FOR APPENDING IN TEXT MODE ENCODING NON-UNICODE.
CALL FUNCTION 'SCP_REPLACE_STRANGE_CHARS'
START-OF-SELECTION.
DATA lv_clean TYPE string.
DATA(lv_dirty) = 'Jáošũvá Алксй Äü'.
WRITE lv_dirty.
SELECT cpcodepage FROM tcp00a INTO TABLE @DATA(lt_codepages)
GROUP BY cpcodepage.
LOOP AT lt_codepages ASSIGNING FIELD-SYMBOL(<s_codepage>).
CALL FUNCTION 'SCP_REPLACE_STRANGE_CHARS'
EXPORTING
intext = lv_dirty
inter_cp = <s_codepage>-cpcodepage
replacement = '35' " Error Chracters are replaced as #
IMPORTING
outtext = lv_clean
EXCEPTIONS
invalid_codepage = 1
codepage_mismatch = 2
internal_error = 3
cannot_convert = 4
fields_not_type_c = 5
OTHERS = 6.
IF sy-subrc <> 0.
WRITE <s_codepage>-cpcodepage && ' error'.
CONTINUE.
ENDIF.
" Fo me only codepages that output german special characters are relevant.
IF contains( val = lv_clean sub = 'Äü' ).
WRITE / |{ <s_codepage>-cpcodepage } && ` : ` && { lv_clean } | .
CLEAR lv_clean.
ENDIF.
ENDLOOP.
EXIT.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
4 | |
3 | |
3 | |
2 | |
2 | |
2 | |
2 | |
1 | |
1 | |
1 |