ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Coding-Page 查詢和上傳下載文件Class

Coding-Page 查詢和上傳下載文件Class

原创 Linux操作系统 作者:lorryhappy 时间:2009-03-22 14:47:50 0 删除 编辑
1、各語種的Codepage查詢

Language Keys---語種存放表(T002)


我們可能常用到的:
LaisoSptxtcodepage
ZHChinese8404
ZFChinese trad8300
ENEnglish1160
Codepage的查詢:

  1. REPORT zrab_zyb_test MESSAGE-ID sabapdocu.   

  2. *CONSTANTS: tcode(8) TYPE c VALUE 'YPPM1021'.   
  3. DATA:  l_codepage TYPE cpcodepage,   
  4.        l_flag TYPE c.   

  5. CALL FUNCTION 'NLS_GET_FRONTEND_CP'
  6.   EXPORTING   
  7.     langu                 = 'M'  "注意,此處使用SPRAS類型,1 Char   
  8.     fetype                = 'MS'
  9.   IMPORTING   
  10.     frontend_codepage     = l_codepage   
  11.   EXCEPTIONS   
  12.     illegal_syst_codepage = 1
  13.     no_frontend_cp_found  = 2
  14.     internal_or_db_error  = 3
  15.     OTHERS                = 4.   
  16. *IF sy-subrc <> 0.   
  17. *  CASE sy-subrc.   
  18. *    WHEN 1.   
  19. *      MESSAGE i055.   
  20. *    WHEN 2.   
  21. *   ***   
  22. *  ENDCASE.   
  23. *  LEAVE TO TRANSACTION tcode.   
  24. *ENDIF.   

  25. WRITE: / l_codepage.  

REPORT zrab_zyb_test MESSAGE-ID sabapdocu.*CONSTANTS: tcode(8) TYPE c VALUE 'YPPM1021'.DATA:  l_codepage TYPE cpcodepage,       l_flag TYPE c.CALL FUNCTION 'NLS_GET_FRONTEND_CP'  EXPORTING    langu                 = 'M'  "注意,此處使用SPRAS類型,1 Char    fetype                = 'MS'  IMPORTING    frontend_codepage     = l_codepage  EXCEPTIONS    illegal_syst_codepage = 1    no_frontend_cp_found  = 2    internal_or_db_error  = 3    OTHERS                = 4.*IF sy-subrc <> 0.*  CASE sy-subrc.*    WHEN 1.*      MESSAGE i055.*    WHEN 2.*   ****  ENDCASE.*  LEAVE TO TRANSACTION tcode.*ENDIF.WRITE: / l_codepage.


2、Upload/Download
upload文件存在與否的判斷

  1. form check_file_exist .   

  2.   data: l_result type abap_bool,   
  3.         l_file type string.   

  4.   l_file = p_upath.   
  5.   call method cl_gui_frontend_services=>file_exist   
  6.     exporting   
  7.       file                 = l_file   
  8.     receiving   
  9.       result               = l_result   
  10.     exceptions   
  11.       cntl_error           = 1
  12.       error_no_gui         = 2
  13.       wrong_parameter      = 3
  14.       not_supported_by_gui = 4
  15.       others               = 5.   

  16. if sy-subrc <> 0.   
  17. *    CASE sy-subrc.   
  18. *      WHEN 1.   
  19. *        MESSAGE i039.   
  20. *      WHEN 2.   
  21. *        MESSAGE i040.   
  22. *      WHen OTHERS.   
  23. *        MESSAGE i041.   
  24. *    ENDCASE.   
  25. *    LEAVE TO TRANSACTION tcode.   
  26.   endif.   

  27. if l_result <> 'X'.   
  28.     message e888 with 'Invalid file'.   
  29.   endif.   

  30. endform.                    " check_file_exist  

form check_file_exist .  data: l_result type abap_bool,        l_file type string.  l_file = p_upath.  call method cl_gui_frontend_services=>file_exist    exporting      file                 = l_file    receiving      result               = l_result    exceptions      cntl_error           = 1      error_no_gui         = 2      wrong_parameter      = 3      not_supported_by_gui = 4      others               = 5.  if sy-subrc <> 0.*    CASE sy-subrc.*      WHEN 1.*        MESSAGE i039.*      WHEN 2.*        MESSAGE i040.*      WHen OTHERS.*        MESSAGE i041.*    ENDCASE.*    LEAVE TO TRANSACTION tcode.  endif.  if l_result <> 'X'.    message e888 with 'Invalid file'.  endif.endform.                    " check_file_exist


download文件格式及保存路徑存在與否的判斷

  1. form check_file_path .   
  2.   data: l_result type abap_bool,   
  3.         l_directory type string,   
  4.         l_filename type string,   
  5.         l_index type i.   
  6.   data: begin of lt_tab occurs 0,   
  7.           cont(100) type c,   
  8.         end of lt_tab.   


  9. if not p_spath cs '.txt'.   
  10.     message e888 with 'Invalid file format.'.   
  11.   elseif not p_spath cs ':\'.  
  12.     message e888 with 'Invalid driver.'.  
  13.   endif.  
  14. *** 通過split分割,concatenate組合,實例存儲路徑、文件名的分離  
  15.   split p_spath at '\' into table lt_tab.  
  16.   describe table lt_tab lines l_index.  
  17.   read table lt_tab index l_index.  
  18.   l_filename = lt_tab-cont.  
  19.   delete lt_tab index l_index.  
  20.   loop at lt_tab.  
  21.     concatenate l_directory lt_tab-cont '\' into l_directory.  
  22.     clear lt_tab.  
  23.   endloop.  

  24.   call method cl_gui_frontend_services=>directory_exist  
  25.     exporting  
  26.       directory            = l_directory  
  27.     receiving  
  28.       result               = l_result  
  29.     exceptions  
  30.       cntl_error           = 1  
  31.       error_no_gui         = 2  
  32.       wrong_parameter      = 3  
  33.       not_supported_by_gui = 4  
  34.       others               = 5.  
  35.   if sy-subrc <> 0.  
  36. *    CASE sy-subrc.  
  37. *      WHEN 1.  
  38. *        MESSAGE i039.  
  39. *      WHEN 2.  
  40. *        MESSAGE i040.  
  41. *      WHen OTHERS.  
  42. *        MESSAGE i041.  
  43. *    ENDCASE.  
  44. *    LEAVE TO TRANSACTION tcode.  
  45.   endif.  
  46.   if l_result <> 'X'.  
  47.     message e888 with 'Invalid save path.'.   
  48.   endif.   

  49. endform.                    " check_file_path   

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21122155/viewspace-578423/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-15

  • 博文量
    7
  • 访问量
    14816