************************************************************************
* Remove special characters using function module
************************************************************************
IF SOURCE_FIELDS-VALUE_DATE IS NOT INITIAL.
IF NOT SOURCE_FIELDS-VALUE_DATE CO '1234567890'.
"means its got bad chars
RESULT = ''.
ELSE.
CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
EXPORTING
DATE = SOURCE_FIELDS-VALUE_DATE
EXCEPTIONS
PLAUSIBILITY_CHECK_FAILED = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
RESULT = ''.
ELSE.
RESULT = SOURCE_FIELDS-VALUE_DATE.
ENDIF.
ENDIF.
ENDIF.
************************************************************************
* End Of Code
************************************************************************
************************************************************************
* Remove special characters from text fields
************************************************************************
DATA: T_ALL(100) TYPE C,
T_VAR1(45) TYPE C VALUE
'ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopq',
T_VAR2(50) TYPE C VALUE 'rstuvwxyz 0123456789 @$%^&*()_-+=:;\/?',
TEMP(60) TYPE C,
CNT TYPE I,
LENGTH TYPE I.
CLEAR : CNT,TEMP,LENGTH.
TEMP = SOURCE_FIELDS-SGTXT.
CONCATENATE T_VAR1 T_VAR2 INTO T_ALL.
CNT = 0.
LENGTH = STRLEN( TEMP ).
IF NOT TEMP CO T_ALL.
WHILE CNT < LENGTH.
IF NOT TEMP+CNT(1) CO T_ALL.
CLEAR: TEMP+CNT(1).
ENDIF.
CNT = CNT + 1.
ENDWHILE.
ENDIF.
TRANSLATE TEMP TO UPPER CASE.
RESULT = TEMP.
************************************************************************
* End Of Code
************************************************************************
*****************************************************************
* Remove invalid characters from non-English text
****************************************************************
DATA:T_VAR1(45) TYPE C VALUE '#!%^*=+~`?|\/→',
TEMP(60) TYPE C,
CNT TYPE I,
LENGTH TYPE I.
CLEAR : CNT,TEMP,LENGTH.
TEMP = SOURCE_FIELDS-SGTXT.
CNT = 0.
LENGTH = STRLEN( TEMP ).
IF NOT TEMP NA T_VAR1.
WHILE CNT < LENGTH.
IF NOT TEMP+CNT(1) NA T_VAR1.
CLEAR: TEMP+CNT(1).
ENDIF.
CNT = CNT + 1.
ENDWHILE.
ENDIF.
TRANSLATE TEMP TO UPPER CASE.
************************************************************************
REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>CR_LF IN TEMP With
space.
REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>CR_LF(1) IN TEMP With
space.
REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>CR_LF+1(1) IN TEMP
With space.
REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>horizontal_tab IN
TEMP With space.
REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>VERTICAL_TAB IN TEMP
With space.
REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>NEWLINE IN TEMP With
space.
REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>FORM_FEED IN TEMP
With space.
REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>BACKSPACE IN TEMP
With space.
RESULT = TEMP.
****************************************************************
* End Of Code
****************************************************************
***********************************************************
* Remove invalid characters and spaces from source field
***********************************************************
DATA: T_ALL(100) type C,
T_VAR1(45) type C value
'ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopq',
T_VAR2(50) type C Value 'rstuvwxyz 0123456789 @$%^&*()_-+=:;\/?',
temp(60) type c,
cnt type i,
length type i.
clear : cnt,temp,length.
temp = SOURCE_FIELDS-NAME1.
CONCATENATE T_VAR1 T_VAR2 into T_ALL.
cnt = 0.
length = STRLEN( temp ).
IF NOT temp CO T_ALL.
WHILE cnt < length.
IF NOT temp+cnt(1) CO T_ALL.
CLEAR: temp+cnt(1).
ENDIF.
cnt = cnt + 1.
ENDWHILE.
ENDIF.
condense temp.
RESULT = temp.
****************************************************************
* End Of Code
****************************************************************
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
53 | |
5 | |
4 | |
4 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 |