SAP_ABAP_excel上传功能开发实例
excel上传创建rebates结算单
1,sm38创建程序 ZEXCELUP
2,主程序内容
REPORT ZEXCELUP.
"INCLUDE ZEXCELUP_bapitest.
INCLUDE ZEXCELUP_top. "定义全局变量
INCLUDE ZEXCELUP_sel. "用户选择屏幕
INCLUDE ZEXCELUP_pbo. "PBO 模块
INCLUDE ZEXCELUP_pai. "PAI 模块
INCLUDE ZEXCELUP_forms. "子例程
3,ZEXCELUP_top内容
TYPE-POOLS: slis, icon. "ALV显示使用的共享池
TABLES: sscrfields. "定义表
* NAVP navigation profile declaration
DATA: go_navigation_profile TYPE REF TO if_navp,
gs_variant_prof TYPE disvariant,
gs_profile_key TYPE navp_s_profile_key.
* Containers & Grids
DATA: go_container TYPE REF TO cl_gui_docking_container.
DATA: go_bg_container TYPE REF TO cl_gui_docking_container. "for background processing
DATA: go_grid TYPE REF TO cl_gui_alv_grid.
DATA: gt_events TYPE cntl_simple_events.
DATA: gs_events LIKE LINE OF gt_events.
DATA: gt_fieldcat TYPE lvc_t_fcat, "Field catalog of the ALV
gs_fieldcat TYPE lvc_s_fcat,
gt_sort TYPE lvc_t_sort, "Sort table for ALV
gs_sort TYPE lvc_s_sort,
gt_filter TYPE lvc_t_filt,
gs_filter TYPE lvc_s_filt,
gt_excl_functions TYPE ui_functions, "to exclude standard functionalities of the ALV toolbar
gs_layout_alv TYPE lvc_s_layo, "Layout definition of ALV
gs_variant TYPE disvariant,
gs_layout TYPE disvariant,
gv_exit TYPE c, "set if the user has aborted a layout selection
gs_spec_layout TYPE disvariant, "specific layout
gv_ok_code LIKE syst-ucomm,
gv_repid LIKE sy-repid,
gv_return TYPE c,
gv_company_text TYPE t001-butxt,
gv_save_layout,
gt_context_own TYPE ui_functions, "Context Menu - Own transactions
gt_context_std TYPE ui_functions. "Context Menu - Standard transactions
*选择屏幕按钮
DATA: gs_functxt TYPE smp_dyntxt.
*上传数据内表
DATA: gs_excel TYPE alsmex_tabline,
gt_excel TYPE TABLE OF alsmex_tabline.
FIELD-SYMBOLS: <gs_excel> TYPE alsmex_tabline.
TYPES: BEGIN OF gy_data,
check_light TYPE char4,
create_light TYPE char4.
INCLUDE STRUCTURE ZEXCELUP_01.
TYPES: END OF gy_data.
DATA: gs_sales_items_in TYPE bapisditm,
gs_sales_partners TYPE bapiparnr,
gs_sales_conditions_in TYPE bapicond.
DATA: gt_sales_items_in TYPE STANDARD TABLE OF bapisditm,
gt_sales_partners TYPE STANDARD TABLE OF bapiparnr,
gt_sales_conditions_in TYPE STANDARD TABLE OF bapicond.
DATA:gt_create_return TYPE STANDARD TABLE OF bapiret2,
gs_create_return TYPE bapiret2.
TYPES: BEGIN OF gy_data_create,
number TYPE gy_data-number,
create_vbeln TYPE vbeln,
itm_number TYPE numc06,
sales_header_in TYPE bapisdhd1,
status_buffer_refresh TYPE bapiflag-bapiflag,
sales_items_in LIKE gt_sales_items_in,
sales_partners LIKE gt_sales_partners,
sales_conditions_in LIKE gt_sales_conditions_in,
create_return LIKE gt_create_return.
TYPES: END OF gy_data_create.
DATA: gt_data_create TYPE STANDARD TABLE OF gy_data_create,
gs_data_create TYPE gy_data_create.
DATA:gt_data TYPE STANDARD TABLE OF gy_data,
gs_data TYPE gy_data.
FIELD-SYMBOLS:<gs_data> TYPE gy_data.
DATA
