去除SAP中的一些特殊字符
阿新 • • 發佈:2018-05-06
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‘ EXPORTINGintext = 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中的一些特殊字符