可以通过过函数KCD_CSV_FILE_TO_INTERN_CONVERT将CSV格式的文件上载到本机。
代码如下:
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86  | 
						REPORT z_upload_csv. TYPE-POOLS: kcde. TYPES: BEGIN OF ty_input,          id    TYPE string,          name  TYPE string,          place TYPE string,          phone TYPE string,        END OF ty_input. CONSTANTS: c_separator TYPE c VALUE ','. DATA: gt_intern  TYPE kcde_intern,       gwa_intern TYPE kcde_intern_struc. DATA: gt_input  TYPE TABLE OF ty_input,       gwa_input TYPE ty_input. *----------------------------------------------------------------------* *     SELECTION-SCREEN *----------------------------------------------------------------------* PARAMETERS: p_file TYPE localfile OBLIGATORY. *----------------------------------------------------------------------* *     AT SELECTION-SCREEN ON VALUE-REQUEST *----------------------------------------------------------------------* AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. *F4 help for the file in selection screen   CALL FUNCTION 'F4_FILENAME'     IMPORTING       file_name = p_file. *----------------------------------------------------------------------* *     START-OF-SELECTION *----------------------------------------------------------------------* START-OF-SELECTION. * Read data from File   PERFORM readfile USING p_file. * Display data   PERFORM display. *&---------------------------------------------------------------------* *&      Form  READFILE *&---------------------------------------------------------------------* FORM readfile USING p_file TYPE localfile.   DATA: lv_filename TYPE rlgrap-filename.   DATA: lv_index TYPE i.   FIELD-SYMBOLS: <lfs_field> TYPE any.   lv_filename = p_file. * 读取CSV文件   CALL FUNCTION 'KCD_CSV_FILE_TO_INTERN_CONVERT'     EXPORTING       i_filename      = lv_filename       i_separator     = c_separator     TABLES       e_intern        = gt_intern     EXCEPTIONS       upload_csv      = 1       upload_filetype = 2       OTHERS          = 3.   IF sy-subrc <> 0.     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.   ENDIF. * 将读取的CSV内容转换保存到内表gt_input中   LOOP AT gt_intern INTO gwa_intern.     MOVE : gwa_intern-col TO lv_index.     ASSIGN COMPONENT lv_index OF STRUCTURE gwa_input TO <lfs_field>.     MOVE : gwa_intern-value TO <lfs_field> .     AT END OF row.       APPEND gwa_input TO gt_input.       CLEAR gwa_input.     ENDAT.   ENDLOOP. ENDFORM.                    " READFILE *&---------------------------------------------------------------------* *&      Form  DISPLAY *&---------------------------------------------------------------------* FORM display. * 输出CSV内容   LOOP AT gt_input INTO gwa_input.     WRITE:/ gwa_input-id,8 gwa_input-name,16             gwa_input-place,26 gwa_input-phone.   ENDLOOP. ENDFORM.                    " DISPLAY  | 
					
输入CSV文件路径运行,

显示结果

CSV上载文件
文件下载参照-->下载CSV文件到本机(SAP_CONVERT_TO_TEX_FORMAT)
以上。


发表评论