当前位置: 首页 > news >正文

【ABAP函数】+ALSM_EXCEL_TO_INTERNAL_TABLE批导长字段

做批导程序,个人比较喜欢使用函数:'TEXT_CONVERT_XLS_TO_SAP',因为过程比较清晰明了。还有一个函数也是批导EXCEL文件用得比较多的,即'ALSM_EXCEL_TO_INTERNAL_TABLE',在使用时,一般会复制出来使用,即'ZALSM_EXCEL_TO_INTERNAL_TABLE'。

今天有个需求是批导一个长文本字段,大概500个字符长度,最开始使用的就是'TEXT_CONVERT_XLS_TO_SAP'这个函数,但是这个函数在接收字段的时候单元格有长度限制,就自动被截断了,然后我就直接换了一个函数使用,'ALSM_EXCEL_TO_INTERNAL_TABLE',然后修改限制的长度,如下:

直接复制原函数出来,使用Z开头,包含到我们自己的包里面。

然后修改导入参数的限制长度,同样也是复制出来,用Z开头

然后就可以超长字段批导EXCEL了。

FORM FRM_UPLOAD_FILE_LONG .DATA: GT_XLSTMP    TYPE ZALSMEX_TABLINE_LONG OCCURS 0 WITH HEADER LINE,CL_EXCEPTION TYPE REF TO CX_ROOT.DATA: GV_OKCODE LIKE SY-UCOMM,GV_INDEX  TYPE I,GV_TABIX  TYPE I.DATA: LV_PREV_MATNR1 TYPE MATNR,LT_MATNR2      TYPE TABLE OF MATNR.FIELD-SYMBOLS: <FS_G_TABLE>     TYPE STANDARD TABLE,<FS_G_TMP_TABLE> TYPE STANDARD TABLE, " excel临时文件存放内表<FS_G_WORK>      TYPE ANY,<FS_G_TMP_WORK>  TYPE ANY,            " excel临时文件存放工作区<FS_G_FIELD>,<FS_G_TMP_FIELD>,<FS_G_DATA>      TYPE ANY TABLE.      " 存放从submit中返回的ALV的数据CLEAR: GT_XLSTMP.CALL FUNCTION 'ZALSM_EXCEL_TO_INTERNAL_TABLEL'EXPORTINGFILENAME                = P_FILEI_BEGIN_COL             = 1"从第1列开始读取EXCELI_BEGIN_ROW             = 2"从第二行开始读取EXCELI_END_COL               = 4"读EXCEL到第四列结束I_END_ROW               = 999999"最多读取999999行EXCEL数据TABLESINTERN                  = GT_XLSTMPEXCEPTIONSINCONSISTENT_PARAMETERS = 1UPLOAD_OLE              = 2OTHERS                  = 3.IF SY-SUBRC <> 0.MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ELSE.* 将数据转换成自建表的数据格式SORT GT_XLSTMP BY ROW COL.TRY .LOOP AT GT_XLSTMP.CLEAR: GV_INDEX.MOVE GT_XLSTMP-COL TO GV_INDEX.UNASSIGN <FS_G_FIELD>.ASSIGN COMPONENT GV_INDEX OF STRUCTURE GS_EXCEL TO <FS_G_FIELD>.IF SY-SUBRC = 0.MOVE GT_XLSTMP-VALUE TO <FS_G_FIELD>.AT END OF ROW.APPEND GS_EXCEL TO GT_EXCEL.CLEAR: GS_EXCEL.ENDAT.ELSE.MESSAGE  '数据格式异常,请检查!' TYPE 'S' DISPLAY LIKE 'E'.LEAVE LIST-PROCESSING.ENDIF.ENDLOOP.CATCH CX_ROOT INTO CL_EXCEPTION. " 捕获数据格式错误异常MESSAGE  '数据格式异常,请检查!' TYPE 'S' DISPLAY LIKE 'E'.LEAVE LIST-PROCESSING.ENDTRY.ENDIF.
endform.

http://www.dtcms.com/a/515349.html

相关文章:

  • 艺术学院网站模板wordpress二手车模板
  • docker api 常用接口
  • flutter鸿蒙:实现类似B站或抖音的弹幕功能
  • 从静态模型到数据驱动:图观模型编辑器让工程设备真实还原
  • 了解Docker的多阶段构建(Multi-stage Build)
  • [特殊字符] Berry.Live:开箱即用的.NET直播流媒体服务器
  • 网站模板的修改宝安企业网站建设
  • 网站开发软件费用2018网站流量怎么做
  • 数据结构:顺序表讲解(1)
  • 第二次作业-第二章时间服务
  • Python爬虫实战:获取香港恒生指数历史数据与趋势分析
  • 【Frida Android】基础篇11:Native层hook基础——修改原生函数的返回值
  • 什么是DNS负载均衡?提升网站稳定性与容错性的方法
  • 设计自学网站哪个好建设银行网站怎么短信转账
  • 网站如何做seo优化教程迪虎科技网站建设
  • win10底部搜索栏怎么关闭 图文详解
  • 网站备案密码是什么样的大冶建设局网站
  • python学习之进程
  • PAGE下载安装图解教程(附安装包)
  • 接口练习哈哈
  • 【原理解析】详细剖析 HAMi 在支持 NVIDIA GPU 拓扑感知调度时的具体设计与实现原理
  • Dubins曲线:最短有向路径的数学之美与工程实现
  • 解读“Time Model Statistics”中的“sql execute elapsed time”
  • 图形化设计或流程编辑软件界面组件
  • C++ char 类型深度解析:字符与字节的双重身份
  • 做网站的群html5网站正在建设中模板下载
  • 常平众展做网站长沙网上房地产官网
  • 在 Linux 中实现虚拟机管理程序级行为分析
  • Jmeter请求发送加密参数详解
  • STM32G474单片机开发入门(二十二)SHT30温湿度传感器模块实战