关闭

excel数据导入内表示例 .

321人阅读 评论(0) 收藏 举报
分类:
  1. *& Report  ZEXCEL_TO_INTERNAL_TABLE  
  2. *&  
  3. *&---------------------------------------------------------------------*  
  4. *&做一个excel模版,模版头分别是 物料编号 工厂 库位,按顺序对应以下定义的内表IEXCEL  
  5. *&  
  6. *&---------------------------------------------------------------------*  
  7.   
  8. REPORT  ZEXCEL_TO_INTERNAL_TABLE.  
  9. DATA:BEGIN OF IEXCEL OCCURS 0,  
  10.   MATNR LIKE MARD-MATNR,  
  11.   WERKS LIKE MARD-WERKS,  
  12.   LGORT LIKE MARD-LGORT,  
  13.   END OF IEXCEL.  
  14. SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.  
  15.   PARAMETERS: P_FILE TYPE RLGRAP-FILENAME.  
  16.   SELECTION-SCREEN END OF BLOCK B1.  
  17.   AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.  
  18. *    取得文件名称  
  19.     PERFORM GET_FILENAME USING P_FILE.  
  20.   START-OF-SELECTION.  
  21. *  上载文件  
  22. PERFORM UPLOAD_FILE TABLES IEXCEL USING P_FILE.  
  23. PERFORM SHOWDATA.  
  24. *&---------------------------------------------------------------------*  
  25. *&      Form  GET_FILENAME  
  26. *&---------------------------------------------------------------------*  
  27. *       text  
  28. *----------------------------------------------------------------------*  
  29. *      -->P_P_FILE  text  
  30. *----------------------------------------------------------------------*  
  31. FORM GET_FILENAME  USING P_FILE.  
  32. CALL FUNCTION 'F4_FILENAME'  
  33.  EXPORTING  
  34.    PROGRAM_NAME        = SYST-CPROG  
  35.    DYNPRO_NUMBER       = SYST-DYNNR  
  36.    FIELD_NAME          = 'P_FILE'  
  37.  IMPORTING  
  38.    FILE_NAME           = P_FILE  
  39.           .  
  40.   
  41. ENDFORM.                    " GET_FILENAME  
  42. *&---------------------------------------------------------------------*  
  43. *&      Form  UPLOAD_FILE  
  44. *&---------------------------------------------------------------------*  
  45. *       text  
  46. *----------------------------------------------------------------------*  
  47. *      -->P_IEXCEL  text  
  48. *      -->P_P_FILE  text  
  49. *----------------------------------------------------------------------*  
  50. FORM UPLOAD_FILE  TABLES   IEXCEL  
  51.                              "插入正确名称 <...>  
  52.                   USING    P_FILE.  
  53.   TYPE-POOLS:TRUXS.  
  54.   DATA IT_RAW TYPE TRUXS_T_TEXT_DATA.  
  55.   CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'  
  56.     EXPORTING  
  57. *     I_FIELD_SEPERATOR          =  
  58.      I_LINE_HEADER              = 'X'  
  59.       I_TAB_RAW_DATA             = IT_RAW  
  60.       I_FILENAME                 = P_FILE  
  61.     TABLES  
  62.       I_TAB_CONVERTED_DATA       = IEXCEL  
  63. *   EXCEPTIONS  
  64. *     CONVERSION_FAILED          = 1  
  65. *     OTHERS                     = 2  
  66.             .  
  67.   IF SY-SUBRC <> 0.  
  68. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO  
  69. *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.  
  70.   ENDIF.  
  71.   
  72.   
  73.   
  74. ENDFORM.                    " UPLOAD_FILE  
  75. *&---------------------------------------------------------------------*  
  76. *&      Form  SHOWDATA  
  77. *&---------------------------------------------------------------------*  
  78. *       text  
  79. *----------------------------------------------------------------------*  
  80. *  -->  p1        text  
  81. *  <--  p2        text  
  82. *----------------------------------------------------------------------*  
  83. FORM SHOWDATA .  
  84.   WRITE:/ '物料编号','工厂','库位'.  
  85.   LOOP AT IEXCEL.  
  86.     WRITE:/ IEXCEL-MATNR,IEXCEL-WERKS,IEXCEL-LGORT.  
  87.   ENDLOOP.  
  88. ENDFORM.                    " SHOWDATA  
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16536次
    • 积分:383
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:11篇
    • 译文:0篇
    • 评论:0条