惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
L
LangChain Blog
H
Help Net Security
博客园_首页
T
Tailwind CSS Blog
Microsoft Security Blog
Microsoft Security Blog
T
The Blog of Author Tim Ferriss
雷峰网
雷峰网
Recent Announcements
Recent Announcements
D
DataBreaches.Net
U
Unit 42
Vercel News
Vercel News
I
InfoQ
Martin Fowler
Martin Fowler
Microsoft Azure Blog
Microsoft Azure Blog
Apple Machine Learning Research
Apple Machine Learning Research
S
SegmentFault 最新的问题
Jina AI
Jina AI
博客园 - 叶小钗
博客园 - 【当耐特】
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
Last Week in AI
Last Week in AI

博客园 - 轻烟随风

SAP FICO财务模块常见BAPI函数清单 SAP 中 MB52 用到的核心函数和表 SAP SMW0 配置EXCEL 上载模板,供其他tcode 下载模板 SAP ABAP 查看TCODE enhanced 增强点,se38 批量查看 利用 Sapnco 在.net/c# 中跨系统调用 SAP RFC 功能,执行SAP中的函数 利用 SapNwRfc 在.net/c# 中跨系统调用 SAP RFC 功能,执行SAP中的函数 SAP ABAP 在alv报表上建立菜单栏工具栏 SAP ABAP BAPI_PRODORD_CHANGE 修改生产订单基本信息 项目管理-十大管理-信息系统项目管理师 sql server sa 账号登录失败,需开启混合身份验证 Vue pnpm run dev 出现 'vite' 不是内部或外部命令,也不是可运行的程序 SAP ABAP collect 函数 SAP ECC 740 创建表的索引 Oracle 查看死锁的相关sql 语句代码 SAP ABAP 函数CS_BOM_EXPL_MAT_V2获取CS03的bom 列表 SAP 客户端 GUI 的画面功能介绍 SAP ABAP 中的 STOP EXIT CHECK 的区别 SAP ABAP ISM_SD_GET_PRICING_CONDITIONS 订单价格定价 SAP ABAP 弹出对话框进行确认提醒的函数POPUP_TO_CONFIRM
SAP ABAP ALSM_EXCEL_TO_INTERNAL_TABLE 导入excel 和 GUI_UP...
轻烟随风 · 2025-02-19 · via 博客园 - 轻烟随风

 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:导入单元格的结束行

输出参数: 
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.  " 去掉第一行表头