在SAP系统中,批处理操作有很多种方法。如果是对一个事务码(T-CODE)进行批处理操作,常用的是LSMW。LSMW全称是Legacy System Migration Workbench。它能够对静态数据、动态数据、业务数据等进行批处理操作,是上线数据准备的主力武器。 LSMW的原是对需要批处理操作的流程进行录屏,然后设定模板,再将准备好的数据传入到SAP系统进行预转换,如果合适就进行实际的转换。 LSMW导入数据操作分为以下几个大步骤:
1、 准备需要导入的数据; 2、 转换模板定义; 3、 读取数据并预转换; 4、 实际转换。
操作模拟图:
操作界面说明
1、 管理界面
LSMW批量导入的事务码(TCODE)就是LSMW,在主窗口界面输入就可以进入。
输入TCODE:LSMW
1
输入事务码后,如果是第一次运行,则出现如下界面:
这是一个欢迎界面,将选择框打上勾则下次进入就不会再显示了,按确认进入到LSMW的管理界面:
这个界面主要解决以下几个方面的问题:
(1) 批导入对象的管理,包括新增、修改、删除、查找、导出、导入等操作。 (2) 进入到其他工作界面,主要有录屏操作界面、分步操作界面。
如果要进行一个批处理操作,则需要输入或通过选择确定Project、SubProject和Object。如下图,然后再进行具体的操作:
2
2、 分步操作界面
在管理界面选择Project、SubProject和Object后,按界面,如下图所示:
执行按钮运行键进入分步操作
在上图中显示了分步操作的菜单,用鼠标双击各个菜单行可进入不同界面。其实这里共有20个步骤,在实际操作中我们不需要使用那么多,只需要现有的14个就可以了。
实际操作步骤
一个完整的批处理操作,需求很大步骤,步骤分为几大部分: 1. 数据准备
2. 创建批处理对象
3. 模板定义(此部分又可分为三部分:屏幕录像、源表定义、转换字段对应) 4. 预转换(此部分又可分为两部分:读取源表数据和预转换) 5. 实际转换
下面以批量导入某一个信息类型为例,来详细介绍LSMW的操作步骤: 步骤1:数据准备 数据准备一般使用Excel整理数据,如下图:
3
步骤2:创建批处理对象 一个批处理对象是个树形结构,包括三层:Project、SubProject、Object,我们分别称为项目、子项目、对象。在主界面输入事务码LSMW,进入系统工作界面,如下图所示:
首先需要创建项目(Project),然后创建子项目(SubProject),最后创建一个批处理对象(Object)。如需要放在已创建过的项目和子项目下,则就不需要重复创建这两项了。
点击创建按钮
输入相应的短文本描述,如下图:
在上图所示对话框中,输入项目描述,按
键进入下一个屏幕,如下图所示:
4
在上图所示对话框中,输入子项目的描述,按
键再进入下一个屏幕,如图所示:
在上图所示对话框中,输入对象的名字及描述,按处理对象就创建成功了。
键保存退出对话框,如下图所示,批
点击
显示对象命名信息,在该页面中会显示一个批处理对象的三层
结构---项目、子项目和对象。当然一个项目(Project)下,可以创建多个子项目(SubProject),一个子项目(SubProject)下也可以创建多个对象(Object)。点击
键返回管理界面。
步骤3:屏幕录像并定义变量(上)
在管理界面点击菜单Goto->Recordings进入屏幕录像界面:
5
点击该项
进入后,点击
键创建录像,弹出对话框如下图所示:
在上图所示对话框中,输入录像名称(Recording)及描述(Description),所有者(Owner)是自动带出来的值,可不用管理。点击
进入下一屏,弹出对话框
在上图中输入需要录像的事务代码,本例为创建信息类型,则事务代码:PA30。点击入事务代码录像操作。
进
6
输入人员编号 输入信息类型 如有子类型,则此还需要输入
填写好相关信息后,点击新建按钮(如是修改则点击修改按钮),进入下一个屏:
填写相关信息
点击保存按钮
,现录像已经完成。
步骤3:屏幕录像并定义变量(下)
录像完成后,会返回到如下图所示界面:
7
在上图界面是一个树形结构,它表示刚才录像的数据,录像后的信息分为三层:事务代码(如PA30)、录像屏幕(如SAPMP50A)、字段信息(如BDC_CURSOR)。
现将该信息类型所需字段填写完整,保存,系统会自动进入下一个页面。字段填写完整的方式有:当点击
或者
或者单个点击填写相关信息。
时只能对单个字段进行设置,后面红色段将会出现信息,如图所示:
当点击
时会对所有字段进行设置,后面红色段将会全部出现信息,如图所示:
8
如需改变上面个别信息,可双击此行,会弹出对话框,如图所示:
在上图所示界面中,可以修改变量的名称(第一行Name)、说明(第二行Name)及默认值(Default Value)。修改好所需的字段变量后,下图为此例所需的相关字段,然后按保存键退出
,返回管理界面。
步骤4:定义对象属性 以下步骤中,我们将从管理界面进入到分步操作界面:
9
在管理界面(上图)点击
键,进入分步操作界面,如下图所示:
这步是定义对象的属性,主要是将对象知名录像的名称。用鼠标双击Maintain Object Attributes进入到定义对象属性界面。
10
点击此按钮 选择录像名,文本将自动带出
如果进入的界面是现实状态,请点击
按钮,进入编辑状态,如上图
所示。这个界面只需要按图所示选择“Batch Input Recording”项,并选择录像名就可以了。然后按键返回分步操作界面,这时分步操作的界面的右部显示了一行,表示最后操作的日期、时间和操作者。
步骤5:定义源表结构名称
在分步操作界面用鼠标双击“Maintain Source Structures”进入操作界面,如下图所示:
如果进入的界面是显示状态,请点击
修改键进入编辑状态。然后点击
新建按钮,输
入源表定义的名称及描述,如下图所示:
11
点击
确认键退出,屏幕显示如下图所示:
然后点击键并退至分步操作界面。
步骤6:定义源表字段结构
在分步操作界面鼠标单选按钮放至“Maintain Source Fields”点击
按钮,显示界面如下:
点击
按钮,显示界面如下:
12
选择菜单“系统”-“列表”-“保存”-“本地文件”,显示界面如下:
13
选择“电子表格”点击按钮,显示页面如下:
选择要保持文件的目录,输入文件名,点击
按钮,将表保存为EXCEL文件方式。
然后在分步操作界面,用鼠标双击“Maintain Source Fields”,进入定义源表字段结构界面。如下图所示,如进入的是显示状态,按
进入修改状态。
选中源数据结构名称点击
进入字段编辑界面,如下图:
打开刚才保存的EXCEL文件,把TABNAME和TCODE及上面的行全部删除掉,按上图内容把列调整成一致。并把CHAR这列全部替换成C,COPY所有内容。
14
删除红色框行的内容 调整后,如下图显示:
将内容COPY至SAP,如下图所示:
然后保存退出,再保存退出,回到分步操作界面。
步骤7:源表结构域录像关联
在分步操作界面双击“Maintain Structure Relations”进入操作界面,如下图所示:
由于只有一个录像与这个源表结构对应,系统会自动对应上,如有多个需选择对应。如已经对应上此时还需点击修改按钮后保存下,就OK了(如不做此操作此步骤后不会显示修改时间与修改人),最后按键返回分步操作界面。
步骤8: 源表字段与录像字段关联
在分步操作界面用鼠标双击“Maintain Field Mapping and Conversion Rules”,进入源表及录像关联操作界面,如果是显示状态,请按
15
按钮,此时界面如下:
上图中显示了在录像中定义的几个变量,然后选中“PERNR”字段,点击钮,弹出源表字段列表对话框,如下图所示:
按
在对话框中选择相应的源表字段,按
键确认退出,如下图所示:
依次类推,分别将其他字段分别对应上,全部完成后界面如图所示:
16
按保存并退出返回至分步操作界面。
步骤9:固定值,转换条件,用户定义
在此步骤中可以设定录像中字段值的来源,除对应源表字段外,在此步骤中还可以设定为固定值、转换条件、或是更为复杂的用户定义(用ABAP编程)。一般可跳过此步骤。 如需进入请在分步操作界面用鼠标双击“Maintain Fixed Values, Translations, User-Defined Routines”,如下图所示:
步骤10:指定源表文件
本步骤指定源表的文件,也就是将需要导入的数据保存至模板中,并保存成文本格式。 数据模板准备,把刚才导出的文件删除多余行与列后COPY到一个新建立的工作表,用选择性粘贴,选择转置,得到数据模板后,把正确数据填写完毕,去掉表头(第二行),保存。 删除多余行与列后,如图所示:
粘贴至新工作表后,如图所示:
17
数据准备:
保存为文本格式:
注意:保存的文件名和路径要和步骤“Specify Files”里面的“Legacy Data”设置File的路径保持一致。文件要保存为文本文件,文件中不要有多余的空格和字符。
在分步操作界面用鼠标双击Specify Files进入操作界面,如下图:
在本步骤中要指定三个值,其中一个需要手工指定,其余两个会自动生成。手工指定的“Legacy Data”,自动生成的是“Imported Data”、“Converted Data”,当点击改状态时,如下图所示。
进入修
18
在上图中显示了自动创建的两个系统文件,其中“Imported Data”设定了导入的数据文件名;“Converted Data”设定了转换的数据文件名。然后用鼠标指定“Legacy Data”行,再用鼠标点击
创建,屏幕弹出设定源表文件的对话框,如下图所示:
上图中需要输入源表文件名,及源表文件的属性设置,上图为原始界面,下图为输入后界面所示:
19
在上图中,“File”项输入源表的文件名(InputPA9013.txt文件);“Name”项输入说明,可为任意值,但不能不输入。“Delimiter”指定文件的分隔符,我们的文件的分隔符是Tab键,所以选中Tabulator;“Field Name At Start Of File”项表示指定第一行是否有字段名;“Field Order Matches Source Structure Definition”项表示指定字段顺序是否与源表数据相同。全部填写和选中完成后,按
键确认退回到操作界面,如下图所示:
20
最后点击保存并退出。
步骤11:指定文件
本步骤是指定源表数据结构和对应的数据文件(.txt)。在分步操作界面用鼠标双击“Assign Files”进入操作界面,如下图所示。如果是现实状态,请按
变为修改状态。
由于批导入对象只定义了一个源表数据结构,并在上一步骤定义了一个数据文件(InputPA9013.txt),所以系统自动进行了对应处理,如上图所示。在图上点击黄色的“PA30_9013_CREAT”,在点击
构,如下图所示,此步骤可以不用操作。
按钮,弹出对话框告知文件已指定了源表结
按
键返回分步操作界面。
21
步骤12:读取数据
此步骤是将源表数据读取进本机的系统文件,也就是步骤10指定源表文件中的“Imported Data”指定的文件。在分步操作界面用鼠标双击“Read Data”进入操作界面,如下图所示:
在上图中第一行填写要读取的起止行数,如不填写则全部读取,按毕后显示如下图所示,表示正确读取了5行数据,在按
运行键执行。执行完
键返回到分步操作界面:
步骤13:显示读取的数据
本步骤就是显示上一步骤读取的数据。在分步操作界面用鼠标双击“Display Imported Data”弹出对话框,如下图所示:
在上图所示的对话框中,“From Line”项和“To Line”项要求填写显示的开始行数和结束行数,如不填写则显示全部。按
键进入显示数据界面,如下图所示:
22
上图显示了上一步骤读取的数据,共有5行,用鼠标双击任意一行,比如第1行,显示详细信息,如下图所示:
上图显示了一行数据的详细信息,包括字段名(“Field Name”)、字段描述(“Field Text”)、字段值(“Field Value”)。字段是源表中的字段,而不是录像中的字段。连续按键返回分步操作界面。
步骤14:转换数据
本步骤是将读取进系统文件的数据进行转换,存放在步骤10指定源表文件“Converted Data”指定的转换文件中。本步骤和下一步骤显示可以查看转换是否正确,如不正确可返回到以前步骤进行操作。本步骤操作的数据不会再SAP系统中真正执行。
在分步操作界面用鼠标双击“Convert Data”进入操作界面,如下图所示:
23
在上图中要求输入转换的开始和结束行数,如不填写则全部转换。按屏幕显示转换结果,如下图所示:
键执行。执行完毕
在上图中显示正确转换了5行,按键返回分步操作界面。
步骤15:显示转换数据
本步骤就是显示上一步的以预转换结果。在分步操作界面用鼠标双击“Display Converted Data”,弹出对话框,如下图所示:
填入显示的开始行和结束行,如不填写则全部显示,和步骤13显示读取的数据一样,“From Line”项和“To Line”要求填写显示的开始行和结束行,如不填写则显示全部。按进入显示转换数据界面,如下图所示:
键
上图显示了上一步骤转换的数据,共有5行。用鼠标双击任意一行,比如第1行,显示详细信息,如下图所示:
24
上图显示了一行转换过来的数据的详细信息,然后连续按键返回分步操作界面。
步骤16:创建转换任务
比步骤开始实际转换,是创建一个转换任务但不实际转换,并将转换的数据存放到SAP服务器端。在分步操作界面用鼠标双击“Create Batch Input Session”进入操作界面,如下图所示。
按上图所示,把“Keep Batch Input Folder(s)”项打上勾,按示对画框,如上图创建成功,再按
键返回到分步操作界面。
运行键执行。运行后显
25
步骤17:执行转换任务
本步骤进行实际的转换。在分步操作界面用鼠标双击“Run Batch Input Session”进入操作界面,如下图所示:
在上图中显示已创建的转换任务,尚未执行。用鼠标选中此任务,并按出执行选择对话框,如下图所示:
键,弹
对话框中,运行模式“Processing Mode”有三个可选项:
1、 处理/前台:每个事物代码运行在前台,可一步一步运行,可在运行时修改,可看其效
果,并可以修改,但速度慢,一般用于测试。 2、 仅显示错误:后台运行,错误时显示到前台。
3、 不可见:后台运行,错误时也不报出,在全部运行完后可通过查看转换结果看到错误。
本次操作选择“不可见”,再选中专家方式。按
执行,转换任务是后台SAP服务器
上运行,客户端可退出。
步骤18:查看执行结果
等任务执行完毕我们可以查看批处理的结果。也可以在执行过程中查看,当然数据时不完整,但可以看到已执行的部分情况。和上一步一样,在分步操作界面用数据双击“Run Batch Input Session”再次进入转换界面。如下图所示,任务条的状态是已完成,成功4条,没有错误。若有错误会在
中显示。
26
下面演示的是若有错误该如何查看,若产生了错误则如下图所示:
用鼠标选中此任务,双击或者按然后点Choose 先点击Incorrect 显示转换结果,如下图所示:
在上图屏幕表明索引号为2、3、5项运行成功(Processing),第1、4项失败(Incorrect)。点击“显示”组中的“Incorrect”项,只显示不成功的索引,然后点击“Choose”按钮,如下图所示:
27
双击此处
在上图界面中,双击左屏第1行,显示详细情况,如下图所示:
在上图中显示此行数据操作的各个屏幕的编号,我们用鼠标双击屏幕好(Src.)为“1000”的行,显示此屏幕的详细信息,如下图所示:
28
在上图中尚未显示出错的原因,此时我们按
键返回,然后点击下一个页面,如下图所示:
29
在上图界面中显示了任务执行过程中的全部信息,此时我们就可以看到是哪个数据出了问题。
至此,关于LSMW批量导入操作结束完毕。
下面介绍如果将做好的LSMW传输至其他CLIENT或者PRD系统
首先进入LSMW的管理界面,填写好相关的Project、SubProject和Object的信息,如下图所示:
如果我们要导出该Object,需要点击菜单栏中Extras->Export Project
此时会弹出如下对话框:
点击确认按钮会产生如下界面:
此时我们会在这个树形结构中找到我们的Recordings和Subproject->PA下我们刚才所创建的
30
内容,此时我们所需要做的是把其他不需要的去掉(点击那些点点点就可以去掉了,
如果需要去掉整个Subprojects下某个如“PY”,则只需要点击蓝色线条就OK了),保留我们需要的
。
然后点击菜单栏下:Export Rules -> Export
31
将上图文件保存至系统盘中,此时会弹出下面对话框:
点击确认
,此时在系统盘中就可以看到我们刚才导出的文件了,现在导出操作就此完成
了。
如果导入到另外的CLIENT呢?
进入LSMW的管理界面,然后点击菜单栏Extras->Import Projects,如下图所示:
32
然后会弹出对话框,把你刚刚保存的那个文件选中打开,然后就会弹出下面对话框,
点击
确认后,如下图所示:
然后再点击菜单栏Edit->Import,进入导入:
33
点击
确认,此时整个导入工作就OK了,现可以进入LSMW进行检查是否导入成功!
SAP批导入处理的几种方式:
1.1. ECATT解释Extended Computer Aided Test Tool(T-code:SECATT)
ECATT是SAP自带的功能测试工具,主要目标用于SAP业务流程的自动化测试,每个测试都会生成一个详细的日志来显示测试流程和测试结果。和CATT相比,CATT操作简单,类似于BDC的录屏功能,常用于简单的业务数据导入,基本已被ECATT完全取代。除了CATT功能之后,ECATT主要应用于基于GUI Windows/GUI Java自动化测试,同时也为外部工具提供了第三方接口(获BC-ECATT授权)。所有的测试脚本,无论是ECATT自己生成的还是外部的工具他们都应该具有相同的数据对象类型,与SAP结合在一起并保存在相同的位置。在R/3的功能测试中,ECATT录屏功能简单实用,测试脚本、测试数据、系统数据分别存放,可重复使用,并附有详细测试报告以及纠错功能,作为自带工具简单实用。对于WEB方面的测试的话就要借用第三方的测试软件,如知名的Mercury的QTP。
1.2. LSMW解释Legacy System Migration Workbench (T-code: LSMW)
LSMW, 是SAP推荐用来从旧的系统或非SAP系统把大批量或周期性的数据迁移到SAP的主力工具,类似于ECATT/SCATT,其优点可以在一个Session中处理大批量数据,并灵活易学易用。如果用BDC和ECATT只能根据定制好的画面输入参数。一旦没有这个值系统就会报错。比喻我们根据业务对FI AC_count Document或者主数据一些参数作了扩展,一旦参数缺失或者不匹配,不得不终止Session,通过SM35手动去更正或者重新录屏。LSMW具有一般的通用性,他导入模板的设计过程包括15个步骤,每个都是独立的单元并可进行单独的更新和修改,而不影响其它的模块只需作一些调整做出相应mapping,将必要的数据指定对应的字段就可行了,无需额外的编码。
当然,LSMW局限在于只能导入固定类型的主数据,如Customer/Vendor_master,Material_master,Financial Document, G/L Account。如果是自定义的ABAP程序来导入主数据就行不通了。同样做了一个FI Ac_countDocument的例子,对出现重复的统计的Line Item时显得也不是特别得心应手。
1.3. BDC解释Batch Data Conversion (T-code: SHDB)
BDC同样是通过SHDB把用户一次性的业务操作记录全部记录下,然后供用户使用。开发人员可以生成程序构建数据源。只要存在重复的业务操作,自然会想到BDC录屏。
1.4. LSMW、BDC、CATT区别 全称
BDC Batch Data 34
LSMW Legacy System CATT Computer Aided Test Communication 作用 导入速度 制作难度 跨服务器 批处理 LSMW=BDC>CATT BDC>LSMW>CATT 传输或生成ABAP程序 Migration Workbench 大批量或则周期性批处理 LSMW=BDC>CATT BDC>LSMW>CATT LSMW用导出导入,不用传输 Too 计算机辅助输入测试 LSMW=BDC>CATT BDC>LSMW>CATT CATT都要传输 其实LSMW最终是产生批处理,所以速度和BDC相等,CATT是模拟前端屏幕输入,速度慢,而且某些屏幕字段抓取不了。
35
因篇幅问题不能全部显示,请点此查看更多更全内容