ABAP 选择屏幕excel上传及文件路径选择,
PARAMETERS: p_file LIKE rlgrap-filename MODIF ID md3 .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. “文件F4帮助事件
PERFORM select_file.
START-OF-SELECTION.
PERFORM frm_file_upload.
FORM frm_file_upload .
DATA: BEGIN OF iexcel OCCURS 0.
INCLUDE STRUCTURE alsmex_tabline.
DATA: END OF iexcel.
DATA: l_end_col TYPE i.
l_end_col = 40.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = p_file
i_begin_col = 1
i_begin_row = 2
i_end_col = l_end_col
i_end_row = 99999
TABLES
intern = iexcel
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE 'upload failed' TYPE 'S' DISPLAY LIKE 'E'.
ELSE.
LOOP AT iexcel INTO iexcel.
CASE iexcel-col.
WHEN '0001'. “按照单元格一一对应放到内表中,记得需要加前导零的字段,加前导零
* ls_new-vkorg = iexcel-value.
* PERFORM frm_check_authority USING ls_new-vkorg.
gs_out-vbeln = iexcel-value.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = gs_out-vbeln
IMPORTING
output = gs_out-vbeln.
WHEN '0002'.
gs_out-posnr = iexcel-value.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = gs_out-posnr
IMPORTING
output = gs_out-posnr.
WHEN '0003'.
gs_out-vbeln_cso = iexcel-value.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = gs_out-vbeln_cso
IMPORTING
output = gs_out-vbeln_cso.
WHEN '0004'.
gs_out-posnr_cso = iexcel-value.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = gs_out-posnr_cso
IMPORTING
output = gs_out-posnr_cso.
WHEN '0005'.
gs_out-pikmg = iexcel-value.
WHEN '0006'.
gs_out-route = iexcel-value.
WHEN '0007'.
gs_out-name_a = iexcel-value.
WHEN '0008'.
gs_out-street = iexcel-value.
WHEN '0009'.
gs_out-city = iexcel-value.
WHEN '0010'.
gs_out-remark = iexcel-value.
WHEN '0011'.
gs_out-tel_number = iexcel-value.
ENDCASE.
AT END OF row.
APPEND gs_out TO gt_out.
CLEAR gs_out.
ENDAT.
ENDLOOP.
ENDIF.
ENDFORM. " FRM_FILE_UPLOAD
FORM select_file .
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = 'C:\'
* mask = ',Text Files,*.txt;*.prn,All Files,*.*.'(101)
mask = ',*.xls,*.*.' " upload for excel
title = 'Select File'(100)
IMPORTING
filename = p_file
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
IF sy-subrc <> 0 AND sy-subrc <> 3.
* MESSAGE e001(00) WITH 'Error Selecting File'(007).
MESSAGE e008(ytr).
ENDIF.
ENDFORM. " SELECT_FILE

浙公网安备 33010602011771号