SAP批量上传EXCEL
START-OF-SELECTION.PERFORM GET_EXCEL.
SORT IT_DATA BYITMPLA STOLOC MATERI .
PERFORM PROCESS_DATA. "处理数据
PERFORM DISPLAY_DATA.
FORM get_excel .
*DATA : LT_INTERN TYPEKCDE_CELLS OCCURS 0 WITH HEADER LINE.
data: lt_intern like alsmex_tabline occurs 0 with header line.
data : ld_index type i.
field-symbols : <fs>.
clear : it_data.
refresh : it_data.
clear : lt_intern.
refresh : lt_intern.
call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
exporting
filename = pr_file
i_begin_col = p_scol
i_begin_row = p_srow
i_end_col = p_ecol
i_end_row = p_erow
tables
intern = lt_intern
exceptions
inconsistent_parameters = 1
upload_ole = 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.
if lt_intern[] is initial.
format color col_background intensified.
write:/ 'No data in your file to upload'.
exit.
else.
sort lt_intern by row col.
loop at lt_intern.
move lt_intern-col to ld_index.
assign component ld_index of structure it_data to <fs>.
move lt_intern-value to <fs>.
at end of row.
append it_data.
clearit_data.
endat.
endloop.
endif.
endform.
form display_data.
perform fill_layout_structure.
perform fill_field_catalog_table using :
'SALDOC'(001) 'IT_RESULT'10 'Sales Order No.'' ' ' ',
'ITMNUM' 'IT_RESULT'4'Order Item'' ' ' ',
'ERRMSG' 'IT_RESULT'30 'Result Message' ' ' ' ',
'MATERI' 'IT_RESULT'5'Material No.' ' ' ' ',
'ITMPLA' 'IT_RESULT'5'Plant' ' ' ' ',
'STOLOC' 'IT_RESULT'12 'Storage Location'' ' ' ',
'ORDQTY' 'IT_RESULT'8'Order Qty'' ' ' ',
'REJREA' 'IT_RESULT'5'Reject Reason'' ' ' ',
'PARROL' 'IT_RESULT'5'Partner Role'' ' ' ',
'PARTNO' 'IT_RESULT'5'Partner No.'' ' ' ',
'SCHITM' 'IT_RESULT'5'Schedule In Item No.'' ' ' ',
'SCHLIN' 'IT_RESULT'10'Schedule Line Item'' ' ' ',
'SHIDAT' 'IT_RESULT'5 'Estimate Ship Date'' ' ' ',
'DATTYP' 'IT_RESULT'10'Date Type'' ' ' ',
'SCHQTY' 'IT_RESULT'5 'Ship Qty'' ' ' '.
perform call_alv_function.
endform. " DISPLAY_DATA
form fill_layout_structure .
data:i_events type slis_alv_event.
data : line type slis_listheader.
data : h_sydate like sy-datum.
clear layout.
layout-colwidth_optimize = 'X'.
layout-f2code = '&ETA'.
layout-zebra = 'X'.
layout-detail_popup = 'X'.
clear i_events.
clear line.
line-typ= 'H'.
append line to heading.
endform. " FILL_LAYOUT_STRUCTURE
form fill_field_catalog_tableusingf t o d h tl .
data l_fieldcat type slis_fieldcat_alv.
clear l_fieldcat.
statics pos like sy-index value 20.
pos = pos + 1.
clear t_fld.
move 1 to t_fld-row_pos.
move pos to t_fld-col_pos.
move fto l_fieldcat-fieldname.
move tto l_fieldcat-tabname.
move oto l_fieldcat-outputlen.
move dto l_fieldcat-seltext_m.
move hto l_fieldcat-hotspot.
move tl to l_fieldcat-do_sum.
append l_fieldcat to fieldcat.
endform. " FILL_FIELD_CATALOG_TABLE
form call_alv_function .
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = v_repid
i_structure_name = 'IT_RESULT'
it_fieldcat = fieldcat
it_sort = sort
it_events = events
tables
t_outtab = it_result.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. " CALL_ALV_FUNCTION
页:
[1]