ABAP SM30添加导入excel的功能按钮

2023-12-28 15:18

本文主要是介绍ABAP SM30添加导入excel的功能按钮,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

场景:ABAP SM30添加导入excel的功能按钮

需求提出:SM30维护试图时可以导入excel数据:


第一步,为已创建的维护试图添加导入按钮:

找到对应的status,如图:

在这里插入图片描述
在这里插入图片描述
进入tcode:SE41
找到并进入上图对应的status,(注意:此处的维护status应该是EULG),点击更改!
在这里插入图片描述
新增导入按钮
在这里插入图片描述
至此按钮添加完毕


第二步,添加对应事件处理:

按钮事件一般在PAI处理就行了:
添加一个新MODULE。

在这里插入图片描述
UPLOAD内部代码

MODULE upload INPUT.DATA: lt_itab TYPE STANDARD TABLE OF ****,ls_wa   LIKE LINE OF           lt_itab.DATA: lt_tab  TYPE         filetable,ls_file_table  TYPE         file_table,ls_file        LIKE LINE OF lt_file_table,lv_rc          TYPE         i,lv_user_action TYPE         i.DATA: lt_data TYPE alsmex_tabline OCCURS 0 WITH HEADER LINE.DATA lv_file TYPE rlgrap-filename.CONSTANTS: lc_default_extension TYPE string VALUE 'xlsx',lc_file_filter       TYPE string VALUE '*.xlsx'.CONSTANTS: lv_beign_row TYPE i VALUE 1,lv_end_row   TYPE i VALUE 3000,lv_begin_col TYPE i VALUE 1,lv_end_col   TYPE i VALUE 2.CASE function.WHEN 'IMPORT'.CALL METHOD cl_gui_frontend_services=>file_open_dialogEXPORTINGwindow_title      = 'Select File'
*     default_filename  = '*.XLSX'file_filter       = 'Excel Files (*.xlsx)|*.xlsx|Excel Files (*.xls)|*.xls'initial_directory = '/'           "初始化的目录
*     multiselection    = 'X'CHANGINGfile_table        = lt_tabrc                = lv_rc.IF sy-subrc <> 0 AND sy-subrc <> 3.MESSAGE e000(****) WITH '选择文件出错!'(007).ENDIF.READ TABLE lt_tab INTO ls_file_table INDEX 1.lv_file = ls_file_table.IF ls_file_table-filename = ''.MESSAGE S000(****) WITH '未选择文件!' DISPLAY LIKE 'E'.EXIT.ENDIF.CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'EXPORTINGfilename                = lv_filei_begin_col             = lv_begin_coli_begin_row             = lv_beign_rowi_end_col               = lv_end_coli_end_row               = lv_end_row"如果需要自定义sheet name,百度搜索自建方法,很简单,教程很多,这里不做赘述TABLESintern                  = lt_data "此处放上面定义的Excel专用内表EXCEPTIONSinconsistent_parameters = 1upload_ole              = 2OTHERS                  = 3.IF lt_data[] IS  INITIAL .MESSAGE s000(****) WITH '文件无数据或文件格式出错,请重新选择文件!' DISPLAY LIKE 'E'.SORT lt_data BY row col ASCENDING.ENDIF.LOOP AT lt_data. "将上面定义的excel专用内表赋值给alv出力内表CASE lt_data-col.WHEN 1.ls_wa-pcon_dec_code = lt_data-value.WHEN 2.ls_wa-pcon_ran_dec = lt_data-value.APPEND  ls_wa TO lt_itab."对于这个例子,excel表有3列,append要加在最后一列.CLEAR  ls_wa.ENDCASE.ENDLOOP.MODIFY **** FROM TABLE lt_itab.IF sy-subrc = 0.MESSAGE s000(***) WITH '导入并更新****成功'.COMMIT WORK.ELSE.MESSAGE s000(***) WITH '导入并更新****失败'.ROLLBACK WORK.ENDIF.ENDCASE.ENDMODULE.                 " UPLOAD  INPUT

结语:

按照上述步骤导入就可以了,代码可能略显粗糙,主要提供思路不是最终版,我的代码有个缺点,这种方法导入就直接更新底表了,查看数据需要重新进此维护试图,期待大神改进方法,把导入的数据放入”新条目“的内表中去用标准保存,感谢观看,希望能对你有所帮助,有问题评论区一起讨论吧!

这篇关于ABAP SM30添加导入excel的功能按钮的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/546393

相关文章

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

使用Python处理CSV和Excel文件的操作方法

《使用Python处理CSV和Excel文件的操作方法》在数据分析、自动化和日常开发中,CSV和Excel文件是非常常见的数据存储格式,ython提供了强大的工具来读取、编辑和保存这两种文件,满足从基... 目录1. CSV 文件概述和处理方法1.1 CSV 文件格式的基本介绍1.2 使用 python 内

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram