首页 > 编程语言 >SAP 批量写入自建表数据 源码

SAP 批量写入自建表数据 源码

时间:2024-02-03 09:45:57浏览次数:24  
标签:gt SELECTION gs &-----------------------------------------------------------

使用的时候修改 对应的参考的表结构即可,针对不同的自建表以及excel数据,修改ALSM_EXCEL_TO_INTERNAL_TABLE的起始行列和结束行列

*&---------------------------------------------------------------------*
*& Report Y_PNJ_DEMO07
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT y_pnj_demo07.

"请勿删除

DATA: gt_table   TYPE TABLE OF alsmex_tabline,
      gs_table   TYPE alsmex_tabline,
      gt_ztwm007 TYPE STANDARD TABLE OF ztwm007,
      gs_ztwm007 TYPE ztwm007.

FIELD-SYMBOLS:<fs>.

SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME.
  PARAMETERS: p_file TYPE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK blk2.

INITIALIZATION.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  " 本地文件搜索帮助
  PERFORM frm_file_open.   " 用于上传文件

AT SELECTION-SCREEN.
  PERFORM frm_getdata. " 获取上载的excel数据

START-OF-SELECTION.

END-OF-SELECTION.

*&---------------------------------------------------------------------*
*& Form frm_file_open 上传文件
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_file_open .

  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      mask             = ',EXCEL FILE,*.XLS;*XLSX;'
      mode             = '0' "S是保存,0是打开
    IMPORTING
      filename         = p_file
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.

ENDFORM.

*&---------------------------------------------------------------------*
*& Form frm_getdata
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_getdata .

  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      filename    = p_file
      i_begin_col = 1
      i_begin_row = 1
      i_end_col   = 11
      i_end_row   = 6
    TABLES
      intern      = gt_table.


  LOOP AT gt_table INTO gs_table.

    ASSIGN COMPONENT gs_table-col OF STRUCTURE gs_ztwm007 TO <fs>.   "把工作区gs_tab中的字段赋给字段符号,而工作区gs_tab中的字段取决于内表中的列ls_excel-col
    CONDENSE gs_table-value.                  " 去掉空格
    <fs> = gs_table-value.
    AT END OF row.                                    "如果是最后一行就把工作区gs_tab存到内表gt_tab中
      "gs_tab-row = ls_excel-row.
      APPEND gs_ztwm007 TO gt_ztwm007.
      CLEAR: gs_ztwm007.
    ENDAT.
  ENDLOOP.

  MODIFY ztwm007 FROM TABLE gt_ztwm007.

ENDFORM.

标签:gt,SELECTION,gs,&-----------------------------------------------------------
From: https://www.cnblogs.com/pnj-owowa/p/18004359

相关文章

  • 短视频源码实现流式传输,降低处理大文件时对内存的占用
    短视频源码实现流式传输,降低处理大文件时对内存的占用其实当使用Node.js向短视频源码客户端返回大文件时,我们最好使用流的形式来返回文件流,这样能避免处理大文件时,占用过多的内存。具体实现方式如下所示:constfs=require("fs");constzlib=require("zlib");consthtt......
  • 短视频源码,实现预处理防止客户端频繁请求
    Go语言实现在Go语言中,使用db.Prepare()方法实现预处理:func(db*DB)Prepare(querystring)(*Stmt,error)Prepare执行预处理SQL语句,并返回Stmt结构体指针,进行数据绑定操作。查询操作使用db.Prepare()方法声明预处理SQL,使用stmt.Query()将数据替换占位......
  • [Flink] Flink源码分析 : BoundedOutOfOrdernessTimestampExtractor
    0序言0.1缘起importorg.apache.flink.api.common.functions.MapFunction;importorg.apache.flink.api.java.tuple.Tuple;importorg.apache.flink.api.java.tuple.Tuple3;importorg.apache.flink.configuration.Configuration;importorg.apache.flink.configuration.......
  • Pytest 源码解读 [7] - PyTest on pluggy
    之前花了很多篇幅来介绍 pluggy 这个插件框架。核心原因就是因为其实 pytest 是一个完全基于 pluggy 开发的测试框架,这个也可以解释为什么说 pytest 是一个很灵活的测试框架,支持很多插件(https://docs.pytest.org/en/7.0.x/reference/plugin_list.html)。 其实原因就......
  • 在ubuntu16.04下,源码编译安装特定版本的MongoDB PHP扩展
    背景:我的php项目在连接其他mongo库时报:Serveratxxx:27017reportswireversion5,butthisversionoflibmongocrequiresatleast6(MongoDB3.6)原因:本地MongoDBPHP扩展的版本过高解决方法:降低本地PHP扩展MongoDB版本,现在要降到mongodb-1.12.0版本步骤:1:下载......
  • 【设计模式】原型模式——JDK源码中的原型模式
    原型模式在JDK源码中有广泛的应用,想找原型模式的实现也比较容易,只要找Cloneable接口的子类即可。因为JDK源码中Cloneable的子类太多,本文只讨论最典型的几种。ArrayList首先看ArrayList和原型模式有关的代码:publicclassArrayList<E>extendsAbstractList<E>implementsL......
  • 高德司机端趣接单抢单辅助器源码分享下载 -24软件网
    在网约车行业中,司机端抢单是一项关键的操作,直接关系到司机的订单量和收入。有一些开发者或者个体经营者可能尝试通过编写抢单源码辅助器来提高抢单的效率。然而,这样的做法可能会违反平台规定,涉及到技术伦理和法律风险。本文将介绍司机端抢单源码辅助器的技术实现方式,以及可能面临......
  • SAP® ERP为食品添加剂企业构建持续竞争优势
    帕斯嘉(Palsgaard)是一家丹麦乳化剂与稳定剂制造商和供应商,拥有超过110年的悠久历史,为全球糖果、巧克力、乳制品、冰淇淋、烘焙、调味酱、人造奶油、肉制品及相关食品行业提供产品。 帕斯嘉以忠诚、承诺和责任为核心价值理念;其每一位员工都将这一理念铭刻于心并付诸实践,成为“用心做......
  • 搭建高效企业培训平台:教育系统源码开发详解
    为了更好地满足企业培训的需求,许多组织纷纷转向数字化教育,搭建高效的企业培训平台成为当务之急。本篇文章,小编将为您讲解教育系统源码的开发细节,为搭建一个功能强大、灵活高效的企业培训平台提供详尽的指南。 一、教育系统的基础架构1.1数据库设计众所周知,数据库设计是整个平台的......
  • Striped64源码阅读
    目录简介模型代码分析成员变量方法补充ThreadLocalRandomContended注解-解决伪共享问题参考链接本人的源码阅读主要聚焦于类的使用场景,一般只在java层面进行分析,没有深入到一些native方法的实现。并且由于知识储备不完整,很可能出现疏漏甚至是谬误,欢迎指出共同学习本文基于cor......