1. 程式人生 > >去除SAP中的一些特殊字符

去除SAP中的一些特殊字符

spa imp tran fields cat nbsp nat 正常 range

① 換行符,TAB KEY等的表示
在數據文件輸出的時候,有時候需要使各個字段間用TAB KEY進行分割。
那麽,TAB KEY在ABAP中是如何表示的,就是寫入一個TAB KEY嗎?
事實上,在類對象CL_ABAP_CHAR_UTILITIES中已經事先定義好了如換行符,TAB KEY等。
CR_LF                   換行符
HORIZONTAL_TAB          水平方向的TAB KEY
VERTICAL_TAB            豎直方向的TAB KEY
FORM_FEED               改頁
例: CONCATENATE COL1 COL2 CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB INTO
… ② 換行符,TAB KEY等在DB中保存 換行符,TAB KEY等在SAP的DB中被存為“#“。 雖然被保存為#,但在報表中仍能正常顯示。 如果是Excle中有換行, 則被存儲為雙引號. 換行符,TAB KEY等的置換處理 換行符,TAB KEY等的置換不能簡單的用REPLACE命令進行處理。 正確的處理如下: FORM remove_cr_lf USING p_str. DATA: tcodepage TYPE cpcodepage. CALL FUNCTION NLS_GET_FRONTEND_CP EXPORTING langu
= sy-langu fetype = MS IMPORTING frontend_codepage = tcodepage EXCEPTIONS illegal_syst_codepage = 1 no_frontend_cp_found = 2 internal_or_db_error = 3 OTHERS = 4. CALL FUNCTION SCP_REPLACE_STRANGE_CHARS EXPORTING
intext = p_str inter_cp = tcodepage replacement = 32 " 等於space, ASC IMPORTING outtext = p_str EXCEPTIONS invalid_codepage = 1 codepage_mismatch = 2 internal_error = 3 cannot_convert = 4 fields_not_type_c = 5 OTHERS = 6. ENDFORM. " REMOVE_CR_L

去除SAP中的一些特殊字符