SAP批量导入数据研究

合集下载

SAP批量导入数据研究

SAP批量导入数据研究

SAP批量导入数据研究SAP批量导入数据研究曾春年1,刘洋1,董爱强21武汉理工大学信息工程学院,武汉 (430070)2中国电力科学研究院,北京 (100058)摘要:SAP系统代表了世界上最先进的企业资源计划技术,广泛的应用于各行各业,为企业带来了更有效的管理模式和提高整个企业的竞争力。

随着企业信息化的发展,越来越多的公司要求上SAP系统,而企业的业务数据如何传输至SAP系统是众多企业面临的难题。

SAP系统中的业务数据可以通过用户手工输入或者利用系统工具自动上传,手工输入通常适用于少量的数据,而对于大批量业务数据,靠手工输入的方式是无法让人接受的也是不经济的,因此需要考虑寻找一种在后台自动的执行的批量导入的方法。

本文以一个自行定制的批量导入程序对SAP的数据导入进行研究。

关键词:LSMW,DXWB,BAPI,ALE1. 引言ERP 软件在国内外发展十分迅速,全球ERP 市场收入增长速度惊人。

面对巨大的市场,一些企业纷纷加入到ERP 的开发和研发队伍中,世界上先后涌出了数百家专门从事MRP,MRPII 和ERP 产品的开发,销售和咨询公司。

按近年来ERP 软件及服务的营业收入排序,前几名的包括SAP, Oracle, J.D.Edwards 等公司。

SAP 非常注重系统二次开发,它提供了优秀的二次开发平台、业务程序接口(BAPI),应用程序链接(ALE),电子数据交换(EDI--Electronic Bata Interchange)等丰富的接口和函数(这方面正是国内ERP 软件最为欠缺的,甚至包括一些国外的ERP 软件),这不仅弥补了SAP 本身的许多不足,同时也更利于客户的个性化开发。

现在国内外许多企业和技术人员都在进行这方面的研究与开发。

尤其在国外有许多优秀的专门从事SAP 实施的顾问,他们能够根据客户的要求和现状设计出优秀的数据传输程序,满足客户的特殊要求。

然而,国内从事数据传输开发的人员不管是在数量上还是在质量上都远远不能满足客户的需求,这主要受到多方面因素的制约,比如:对SAP 本系统理解还不够;SAP 的培训费用昂贵;相关方面资料欠缺;除了对软件本身的构架相当熟悉,而且要对数据库结构有相当的了解等。

sap三种批量导入方法

sap三种批量导入方法

在SAP项目实施时主要有三种批量导入方法:LSMW,CATT,BDC第一种:LSMW-----Legacy System Migration Workbench.The LSM Workbench is an R/3 based tool that support whe n transferring data from non-SAP systems to SAP R/3.T-code: LSMW第二种: CATTCATT(computer aided test tool) screen record, s ystem will not create program.T-code: SCAT第三种: BDCFor batch input or change, system will create program, and you can change the program.T-code: SHDBBDC导入Batch Input是一种数据批量输入SAP系统的辅助程序,SAP系统的资料、格式可以通过Batch Inpu t录入SAP系统Batch Input的机制是模拟事务处理将数据录入R/3系统Batch Input类似SAP的CATT,控制性更好,处理能力更强1、首先我们需要把需要批导入事务的操作步骤记录下来,可以用T-CODE“SHDB”来记录。

在COMMAND LINE中输入“SHDB”。

2、进入TRANSACTION RECORDER界面3、点“NEW RECORDER”创建一个记录,现在以修改订单为例,键入记录名“ZAMAO”,输入事务代码“VA02”,然后“START RECORDING”。

4、下面的任务就是记录下修改订单的操作步骤。

5、填入订单号码,按确定6、现在来增加一下订单的PO DATE。

7、填入“,点“保存”。

8、这样就完成了一个最最简单的BDC录取工作,录完之后会出现系统运行的操作的跟踪,包括程序号,屏幕号,字段名,值等等,下面的任务是根据这些写到程序里面以完成SAP自动跑订单修改的这一动作。

SAP数据的导入与批量更改

SAP数据的导入与批量更改

Read data
Convert data
Converted data
Read data
One or several files
Legacy data on PC
Legacy data on application
server
R/3 Standard
Batch Input processing
Direct Input processing
9
八、导入更改数据心得体会
• 认真仔细 • 需要ABAP基础 • 测试
10
谢谢!
Copyright © 2008 版权所有 东软集团
11
SAP数据的导入与批量更改
ERP事业部顾问二部 2009年7月17日
赵瑜
Copyright © 2008 Neusoft Corporation
目录
一.数据导入方法概览 二.数据导入的前提 三.LSMW原理介绍 四.LSMW实例演示 五.SM35原理介绍 六.SM35实例演示 七.SAP数据批量更改演示 八.导入更改数据心得体会
data import
LSMW
data on SAP data base
6
五、SM35原理介绍
一、录屏产生BDCCODE
二、excel模板进行转换
三、执行转换的BDC CODE
7
六、SM35实例演示
8
七、SAP数据批量更改演示 物料主数据------MM17 供应商主数据-------XK99 客户主数据-------XD99 采购订单------MEMASSPO 汇总------MASS
2
一、数据导入方法概览
LSMW BDC(SM35也是一种) BAPI IDOC CATT

SAP LSMW会计科目批量导入详解

SAP LSMW会计科目批量导入详解

SAP LSMW会计科目批量导入详解首先要按如下步骤创建批量导入项目1.输入事物码LSMW,进入系统工作界面。

2.输入需要创建的项目对象名称。

转换对象命名分为三层,分别为项目名(MASTER DATA)、子项目名(FICO)、对象名(FS00)。

3.点击创建按钮4,5 ,6 输入相应短文本描述。

点击7.点击执行项目创建完成后执行,开始进入如下批量导入数据的设置步骤第1步骤:双击如下点击菜单Goto→Recordings Overview 进入屏幕录像界面点击创建录像,弹出对话框对话框需输入录像名称(recording)及描述(Descxxxxription)。

所有者(Owner)是自带出来的值,可不用管理。

本例录像名称为FS00。

输入需要录像的事物代码本例为创建物料主数据,事物代码FS00。

点击进入事物代码的操作录像,录屏有一些注意事项,以后用专门章节加以说明。

按前台FS00操作方法操作进行录屏,录屏时候需要注意,要保证批量导入的字段都要输入值,如果这个录屏数据,该字段刚好是空值,也要输入一个值,回车后,再改回原值,这样可以保证空值字段也能被录到。

回车,点击“控制数据”录制完成后回车,保存。

录屏后如下信息需要注意录屏后的信息分为三层:事物代码(本例为”FS00 总账科目主数据维护”)、录像屏幕(如SAPLGL_ACCOUNT_MASTER_MAINTAIN 2001)、字段信息(如“BH00”)。

按下先默认所有录制的字段都为变量,如果有某些字段是固定的值,可以光标选中该字段,然后按下“Reset”.如果出现像下面那样重复录制的字段,需要删除后面那个,删除方法:将光标位置定在那个字段上,然后点击.,所有类似下面那样有重复的字段都要删除,只保留期中第一次出现的字段。

删除重复字和定义好变量和固定值后按保存,同时将上面录制的字段按如下格式做一个EXCEL表,后面步骤会用到然后按上面字段顺序准备如下批量导入的EXCEL数据模板。

erp软件之sap资料lsmw批量导入数据培训教程手册课件

erp软件之sap资料lsmw批量导入数据培训教程手册课件

16
数据培训教程手册
• 对于常量输入点击constant,设定一个常量。其他规则一 样。对于对应错的修改要点击:Initial把该字段清理掉, 再做对应关系。
erp软件之sap资料lsmw批量导入
17
数据培训教程手册
• 第六步可跳过,直接进 入第七步。
• 第七步:指定数据源输 入 指定文件,一般选择 On the PC(Frontend), 双击,弹出右图,名称 路径自己定义。对于文 本文件选择 Tabulator(TAB分隔)。 FIELD STRUCTURE选
field names at the beginning of the file表示 第一行为字段名称。保 存退出。下一步: Assign files 保存,退出。
erp软件之sap资料lsmw批量导入
18
数据培训教程手册
• 进入read data, 准备数据模版。
• 把刚才导出的文件加工成下图二列后COPY
• 第四步只要保存退出即可,不需改动。
erp软件之sap资料lsmw批量导入
15
数据培训教程手册
• 维护数据源与record 对应关系。在菜单栏 点击extra 选中 auto field mapping, 点击accept proposal , 系统自动完成
mapping.
erp软件之sap资料lsmw批量导入
1
数据培训教程手册
具体操作
• 输入交易代码lsmw,进入lsmw创建界面 • 可以选择输入project ,subproject , object , 也可新建
erp软件之sap资料lsmw批量导入
2
数据培训教程手册
• 以0021为例,点击 新建对象。输入数据,回车

SAP BDC批量导入数据

SAP BDC批量导入数据

SAP BDC批量導入數據EvansBatch Input(批導入)Batch Input是一種資料批量輸入SAP系統的輔助程式,SAP系統的資料、格式可以通過Batch Input錄入SAP系統Batch Input的機制是類比事務處理將資料錄入R/3系統Batch Input類似SAP的CATT,控制性更好,處理能力更強1、首先我們需要把需要批導入事務的操作步驟記錄下來,可以用T-CODE‚SHDB‛來記錄。

在COMMAND LINE中輸入‚SHDB‛。

2、進入TRANSACTION RECORDER介面3、點‚NEW RECORDER‛創建一個記錄,現在以修改訂單為例,鍵入記錄名‚ZAMAO‛,輸入事務代碼‚VA02‛,然後‚START RECORDING‛。

4、下面的任務就是記錄下修改訂單的操作步驟。

5、填入訂單號碼,按確定6、現在來增加一下訂單的PO DATE。

7、填入‚2006.10.01‛,點‚保存‛。

8、這樣就完成了一個最最簡單的BDC錄取工作,錄完之後會出現系統運行的操作的跟蹤,包括程式號,螢幕號,欄位名,值等等,下面的任務是根據這些寫到程式裏面以完成SAP自動跑訂單修改的這一動作。

9、首先必須定義BDC變數:* BDC tableDATA: t_bdc LIKE bdcdata OCCURS 0 WITH HEADER LINE,t_bdcmsg LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.DATA: BEGIN OF t_log OCCURS 0,information(289) TYPE c, “返回信息END OF t_log.DATA: v_mode TYPE c VALUE …N‟.其中TABLE t_bdc中記錄的具體的操作步驟,而TABLE t_bdcmsg是記錄系統返回的資訊,成功與否都記錄到自定義的資訊表t_log中。

SAP 三种批量导入方法

SAP 三种批量导入方法

在SAP项目实施时主要有三种批量导入方法:LSMW,CATT,BDC第一种:LSMW-----Legacy System Migration Workbench.The LSM Workbench is an R/3 based tool that support when transferring data from non-SAP systems to SAP R/3.T-code: LSMW第二种: CATTCATT(computer aided test tool) screen recor d, system will not create program.T-code: SCAT第三种: BDCFor batch input or change, system will cre ate program, and you can change the program.T-code: SHDBBDC导入Batch Input是一种数据批量输入SAP系统的辅助程序,SAP系统的资料、格式可以通过Batch Input录入SAP系统Batch Input的机制是模拟事务处理将数据录入R/3系统Batch Input类似SAP的CATT,控制性更好,处理能力更强1、首先我们需要把需要批导入事务的操作步骤记录下来,可以用T-CODE“SHDB”来记录。

在COMMAND LINE中输入“SHDB”。

2、进入TRANSACTION RECORDER界面3、点“NEW RECORDER”创建一个记录,现在以修改订单为例,键入记录名“ZAMAO”,输入事务代码“VA02”,然后“START RECORDING”。

4、下面的任务就是记录下修改订单的操作步骤。

5、填入订单号码,按确定6、现在来增加一下订单的PO DATE。

7、填入“,点“保存”。

8、这样就完成了一个最最简单的BDC录取工作,录完之后会出现系统运行的操作的跟踪,包括程序号,屏幕号,字段名,值等等,下面的任务是根据这些写到程序里面以完成SAP自动跑订单修改的这一动作。

sap三种批量导入方法

sap三种批量导入方法

在SAP项目实施时主要有三种批量导入方法:LSMW,CATT,BDC第一种:LSMW-----Legacy System Migration Workbench.The LSM Workbench is an R/3 based tool that support whe n transferring data from non-SAP systems to SAP R/3.T-code: LSMW第二种: CATTCATT(computer aided test tool) screen record, s ystem will not create program.T-code: SCAT第三种: BDCFor batch input or change, system will create program, and you can change the program.T-code: SHDBBDC导入Batch Input是一种数据批量输入SAP系统的辅助程序,SAP系统的资料、格式可以通过Batch Inpu t录入SAP系统Batch Input的机制是模拟事务处理将数据录入R/3系统Batch Input类似SAP的CATT,控制性更好,处理能力更强1、首先我们需要把需要批导入事务的操作步骤记录下来,可以用T-CODE“SHDB”来记录。

在COMMAND LINE中输入“SHDB”。

2、进入TRANSACTION RECORDER界面3、点“NEW RECORDER”创建一个记录,现在以修改订单为例,键入记录名“ZAMAO”,输入事务代码“VA02”,然后“START RECORDING”。

4、下面的任务就是记录下修改订单的操作步骤。

5、填入订单号码,按确定6、现在来增加一下订单的PO DATE。

7、填入“,点“保存”。

8、这样就完成了一个最最简单的BDC录取工作,录完之后会出现系统运行的操作的跟踪,包括程序号,屏幕号,字段名,值等等,下面的任务是根据这些写到程序里面以完成SAP自动跑订单修改的这一动作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SAP批量导入数据研究SAP批量导入数据研究曾春年1,刘洋1,董爱强21武汉理工大学信息工程学院,武汉 (430070)2中国电力科学研究院,北京 (100058)摘要:SAP系统代表了世界上最先进的企业资源计划技术,广泛的应用于各行各业,为企业带来了更有效的管理模式和提高整个企业的竞争力。

随着企业信息化的发展,越来越多的公司要求上SAP系统,而企业的业务数据如何传输至SAP系统是众多企业面临的难题。

SAP系统中的业务数据可以通过用户手工输入或者利用系统工具自动上传,手工输入通常适用于少量的数据,而对于大批量业务数据,靠手工输入的方式是无法让人接受的也是不经济的,因此需要考虑寻找一种在后台自动的执行的批量导入的方法。

本文以一个自行定制的批量导入程序对SAP的数据导入进行研究。

关键词:LSMW,DXWB,BAPI,ALE1. 引言ERP 软件在国内外发展十分迅速,全球ERP 市场收入增长速度惊人。

面对巨大的市场,一些企业纷纷加入到ERP 的开发和研发队伍中,世界上先后涌出了数百家专门从事MRP,MRPII 和ERP 产品的开发,销售和咨询公司。

按近年来ERP 软件及服务的营业收入排序,前几名的包括SAP, Oracle, J.D.Edwards 等公司。

SAP 非常注重系统二次开发,它提供了优秀的二次开发平台、业务程序接口(BAPI),应用程序链接(ALE),电子数据交换(EDI--Electronic Bata Interchange)等丰富的接口和函数(这方面正是国内ERP 软件最为欠缺的,甚至包括一些国外的ERP 软件),这不仅弥补了SAP 本身的许多不足,同时也更利于客户的个性化开发。

现在国内外许多企业和技术人员都在进行这方面的研究与开发。

尤其在国外有许多优秀的专门从事SAP 实施的顾问,他们能够根据客户的要求和现状设计出优秀的数据传输程序,满足客户的特殊要求。

然而,国内从事数据传输开发的人员不管是在数量上还是在质量上都远远不能满足客户的需求,这主要受到多方面因素的制约,比如:对SAP 本系统理解还不够;SAP 的培训费用昂贵;相关方面资料欠缺;除了对软件本身的构架相当熟悉,而且要对数据库结构有相当的了解等。

再者,由于SAP 用户群广泛,所面临的客户可谓是千差万别,这就严重限制了数据传输程序的通用性,从而也增加了数据传输程序的费用。

国内在这方面做的工作还属于起步阶段。

2. SAP 系统简介SAP R/3系统结构是典型的服务器-客户机分布式体系结构[1],其中提供服务的元素称为服务器,一般又小型机或大型机承担,位置一般固定,放在企业的机房。

而使用这些服务的元素则称之为客户端,一般是用户的个人电脑例如手提等,位置随意,需要插上网线或通过无线网络连接到服务器。

一个典型的SAP R/3商业应用系统在逻辑上由面向用户的显示层,应用层和数据库层三个级别组成[1]。

其中显示层接受用户的输入,并返回系统处理的结果;应用层从表示层接受用户的输入,执行计算,赋值等操作并且可以从数据库层提取数据进行处理或者将新数据传输至数据库进行储存。

数据库层储存着主要的商用数据(包括用户主记录和事务数据等)和程序以及其他开发过程中的元数据,通过关系数据库管理系统进行操作。

在SAP 三层系统结构中,每个逻辑层都分别对应相应的硬件计算机,所有的逻辑层可以安装在同一台物理计算机中,或者每一层都对应不同的计算机。

R/3 的分层体系结构使应用和数据库的分离安装在不同的服务器上显得十分顺理成章,其间通过网络通信,有助于分散了系统负载,提高系统的效率。

3. SAP 数据传输方法及技术实现SAP系统自动批量数据传输没有明确的界限,一般来说有三种主要方法[2] [3] [4],即(1)通过SAP标准数据传输程序,(2)通过BAPI或IDoc接口,(3)创建定制的BDC程序进行数据传输。

SAP各个业务对象所提供的标准数据传输程序中的具体传输技术包括批输入,调用事务以及直接输入。

标准数据传输程序,BAPI或定制程序可直接运行,但同时SAP还提供一些工作台,例如旧系统迁移工作台lsmw,系统数据传输工作台dxwb。

通过这些工作台,不仅可以传输数据,还可以实现项目组织,从原始文件到SAP可以读取的目标文件的格式转换,以及文件上传,下载,事务录制等多种辅助功能。

4. 创建定制批输入程序在SAP系统中,经常遇到要重复输入数据的问题(数据不同,但操作是相同的),典型的情况就是在切换系统的时候或系统上线后,大量的业务数据需要迁移的SAP 系统,大致的过程不外乎是这样的:输入一个TCode,进入某个屏幕,然后输入一个值,有时还需要加上一个附加的checkbox选项等,点执行或确定按钮,进入下一个屏幕在某些字段输入值或者修改这些字段的值,然后按“enter”….最后按”save”,一条记录完成了,继续下一条,如此循环。

上面所述的情况,如果让人来做的话,可能真是让人受不了,费时耗力,及其不便。

是否可以找出一种方法,让系统自动批量完成数据的导入工作呢?一种比较好的办法就是根据实际需求定制开发程序来完成。

如果熟练的掌握了批输入程序的设计技巧,自行开发定制的批输入程序并不会耗费更多的工作量,而且无疑增加了数据传输的灵活性和适用性,程序员可随时调整自己的程序,以满足数据传输的新需求。

4.1 定制批输入程序原理定制批输入程序指的是由ABAP 程序开发人员自行开发的支持批输入或调用事务技术的数据传输程序。

通过SAP 的事物录制工具,可以自动生成批输入程序,然后与ABAP 程序员自己开发的程序相结合,定制成符合特定需求的数据传输程序。

4.2 定制批输入程序步骤创建定制的批输入程序并传输数据的基本流程如下:(1)通过事物录制工具(Tcode:SHDB)录制事务,生成批输入程序框架,完整录制一笔有效的业务数据,录制完毕后,事务录制器显示录制的记录。

(2)按照格式准备好要导入的数据,最常见的利用EXCEL,将业务数据按规定的格式储存在Excel中。

(3)编写ABAP程序[1](TCode:SE38),定义内表,通过选择屏幕循环Excel,将储存在Excel中的业务数据依次读入到内表。

根据事务录制器显示的记录对相应的字段赋值,最后调用事务实现业务数据的批量输入。

整个导入工作由程序自动控制。

4.3 实例及核心代码在这里以一个批量创建用户为例进行介绍,创建用户的事务代码(Tcode:SU01)1. 先录制事务(Tcode:SHDB),事务记录器显示的录制记录如下[2]:图1 事务记录器显示的录制记录Fig1 recorded data displayed by the transaction recorder2. 准备要导入的用户id 以及用户名,为简单其见,在这里以创建五个用户为例子,每个用户的默认密码在程序中固定设为123456图2 准备好的要导入的数据Fig2 ready the importing data3.编写程序(TCode:SE38)(1)将Excel 内容读取至内表:FORM frm_upload_data.CLEAR i_xlstmp.REFRESH i_xlstmp.CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE' EXPORTINGfilename = p_filei_begin_col = 1i_begin_row = 2i_end_col = 2i_end_row = 30000TABLESintern = i_xlstmpEXCEPTIONSinconsistent_parameters = 1upload_ole = 2OTHERS = 3.IF sy-subrc NE 0 .v_stop = 'X' .ENDIF.CHECK v_stop = space .ENDFORM.(2)读取内表i_xlstmp 的数据转换为标准格式:FORM frm_convert_excel.CLEAR i_excel.REFRESH i_excel.LOOP AT i_xlstmp.CASE i_xlstmp-col.WHEN 1.i_excel-userid = i_xlstmp-value+0(12).WHEN 2.i_excel-name_last = i_xlstmp-value. ENDCASE.AT END OF row .APPEND i_excel .PERFORM frm_exec_bdc USING i_excel. CLEAR i_excel .ENDAT .ENDLOOP.ENDFORM.(3)程序与屏幕FORM frm_bdc_dynpro USING program dynpro. CLEAR i_bdc.i_bdc-program = program.i_bdc-dynpro = dynpro.i_bdc-dynbegin = 'X'.APPEND i_bdc.ENDFORM.(4)字段填值:FORM frm_bdc_field USING fnam fval.CLEAR i_bdc.i_bdc-fnam = fnam.i_bdc-fval = fval.APPEND i_bdc.ENDFORM.(5)根据录制的记录编程创建用户:FORM frm_exec_bdc USING wa_user TYPE typ_user .REFRESH i_bdc.PERFORM frm_bdc_dynpro USING 'SAPLSUU5' '0050'.PERFORM frm_bdc_field USING: 'BDC_CURSOR' 'USR02-BNAME', 'BDC_OKCODE' '=CREA','USR02-BNAME' wa_user-userid.PERFORM frm_bdc_dynpro USING 'SAPLSUU5' '0100'.PERFORM frm_bdc_field USING: 'BDC_SUBSCR' 'SAPLSZA50900MAINAREA','BDC_CURSOR' 'ADDR3_DATA-NAME_LAST','BDC_OKCODE' '=LOGO','ADDR3_DATA-NAME_LAST' wa_user-name_last,'ADDR3_DATA-LANGU_P' 'ZH','ADDR3_DATA-DEFLT_COMM' 'RML'.PERFORM frm_bdc_dynpro USING 'SAPLSUU5' '0100'.PERFORM frm_bdc_field USING: 'BDC_SUBSCR' 'SAPLSUU5 0101MAINAREA','BDC_CURSOR' 'G_PASSWORD2','BDC_OKCODE' '=UPD','USLOGOND-USTYP' 'A','G_PASSWORD1' '123456','G_PASSWORD2' '123456'.CALL TRANSACTION 'SU01' USING i_bdc MODE 'N' UPDATE 'S' MESSAGES INTOi_mess.ENDFORM.创建好程序后,直接运行程序,在选择屏幕中选择准备好的Excel 数据源文件,继续运行后程序自动创建五个用户。

相关文档
最新文档