SAP ABAP ALSM_EXCEL_TO_INTERNAL_TABLE 导入excel 和 GUI_UPLOAD 导入 txt
ALSM_EXCEL_TO_INTERNAL_TABLE 导入excel
GUI_UPLOAD 导入 txt
这两个函数都是比较常见的导入功能,也很好用。 可以自定义封装一个类似下图导入功能。
1.ALSM_EXCEL_TO_INTERNAL_TABLE,这个函数模块可以把用户本地 EXCEL 文件中的一个矩形块中的内容上传到一个内表中。
输入参数:
FILENAME:最长 128 个字符的路径名称。
I_BEGIN_COL:导入单元格的开始列
I_BEGIN_ROW:导入单元格的开始行
I_END_COL:导入单元格的结束列
I_END_ROW:导入单元格的结束行
FILENAME:最长 128 个字符的路径名称。
I_BEGIN_COL:导入单元格的开始列
I_BEGIN_ROW:导入单元格的开始行
I_END_COL:导入单元格的结束列
I_END_ROW:导入单元格的结束行
输出参数:
INTERN:内表,存储单元格的内容。结构如下:
-ROW:数据所在行
-COL:数据所在列
-VALUE:数据,最长 50 个字符,如果超过,则相同 ROW COL 的记录出现多行
INTERN:内表,存储单元格的内容。结构如下:
-ROW:数据所在行
-COL:数据所在列
-VALUE:数据,最长 50 个字符,如果超过,则相同 ROW COL 的记录出现多行
主要代码如下:
TYPES:BEGIN OF ty_data, aufnr TYPE afko-aufnr, "订单 END OF ty_data. PARAMETERS: p_impfil LIKE rlgrap-filename . --画面上定义一个选择框 DATA: itab TYPE TABLE OF alsmex_tabline WITH HEADER LINE. "主要代码: FIELD-SYMBOLS: <fs>, <fs_alv> TYPE ty_data. CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE' EXPORTING filename = g_file i_begin_col = 1 i_begin_row = 2 "--去掉表头 i_end_col = 30 i_end_row = 15000 TABLES intern = itab[]. --先放到系统内表 "- 再放入自定义内表: LOOP AT itab. ON CHANGE OF itab-row. IF sy-tabix NE 1. APPEND w_data TO t_data. CLEAR w_data. ENDIF. ENDON.ASSIGN COMPONENT itab-col OF STRUCTURE w_data TO <fs>. "动态方法将值传到相应的内表 <fs> = itab-value. ENDLOOP. APPEND w_data TO t_data.
2.GUI_UPLOAD --上载txt
l_name = p_impfil. CLEAR:t_data. CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename = l_name "选择文件的路径 filetype = 'DAT' has_field_separator = 'X' read_by_line = 'X' codepage = '4110' * ignore_cerr = abap_true replacement = '#' TABLES data_tab = t_data2 EXCEPTIONS file_open_error = 1 file_read_error = 2 no_batch = 3 gui_refuse_filetransfer = 4 invalid_type = 5 no_authority = 6 unknown_error = 7 bad_data_format = 8 header_not_allowed = 9 separator_not_allowed = 10 header_too_long = 11 unknown_dp_error = 12 access_denied = 13 dp_out_of_memory = 14 disk_full = 15 dp_timeout = 16 OTHERS = 17. DELETE t_data2 INDEX 1. " 去掉第一行表头
分类:
SAP
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通