LSMW全称是Legacy System Migration Workbench。它能够对静态数据(如各个主数据)、动态数据(如初始化库存)、业务数据(如销售订单)等进行成批操作,是上线数据准备的主力武器。
LSMW的原理是对需要批处理操作的流程进行录制(类似于Mercury公司的WinRunner和LoadRunner),然后设定模板、再将准备好的数据传入到SAP系统进行预转换,如果合适就进行实际的转换。
LSMW是导入数据的一种强大工具,最大的好处就在于它的灵活性。一个导入模板的设计过程有15个步骤,其中每个都是独立的单元,可以进行单独的更新和修改,而不影响其它的模块。
LSMW的局限性:
它只能导入SAP系统固有类型的主数据,例如,Customer Master,Material Master 等等。如果自己创建了一个ABAP程序,LSMW就不能实现对它的控制。
SBDC: Batch input
eCATT: extended Computer Aided Test Tool
主要功能
Import数据:CSV files,Sequential files;
Convert数据
Import数据:Data Transfer;
概念
LSMW读取文件并转换其内容到相应的目标结构和字段,然后从目标结构的数据创建一个
SAP格式的文件,该文件可用于传输数据;SAP没有提供任何标准的转换程序,转换程序 从预定义的规则中产生;
LSMW从structure和conversion rule的定义生成2个可执行的ABAP程序,结果是一个SAP格式的
文件,在传输程序或者LSMW中执行;
LSMW支持的transfer methods:
1)标准的传输程序(batch input、call transaction、direct input);
2)使用IDocs;
3)使用BAPI;
4)使用recorder录制recording并生成batch input
project
t-code:lsmw;
步骤:
LSMW读取file(本地或者服务器上的,需要预定义source structure接受数据);
文件的内容保存为LSMW文件; 然后定义structures的关系和fields分配(定义source和target structure的maping); 定义source fields和target fields的value的conversion rule;(定义LSMW file如何转换为target structure);
1>定义传输主对象
1 maintain object attribution
2>维护原始格式
2 maintain source structures
3 maintain source fields
3>维护原始格式和目标格式之间的映射关系
4 maintain structure relations
5 maintain field mapping and conversion rules
6 maintain fixed values,translations,user-defined routines
4>实现原始数据-->目标格式数据
7 specify files
8 assign files
9 read data
10 display read data
11 convert data
12 display converted data
5>把目标格式的数据上传到SAP
13 create batch input session
14 run batch input session
===========个人理解==========================
t_code: lsmw
主要是的功能是: 作为系统常用的t_code 进行批量输入.
运行机制: 其实每个常用的t code, 都会对应一个系统的function 会有输入输出项。
关联到此t code,然后你要建一个内表结构,和系统标准的输入的内表结构相对应,但又不是内表结构里所有的字段都会用到,所以系统会提供一个内表,结构和输入输出的内表相同(用到的字段,就选中打勾,一一对应). 功能和BDC的批量录入相同.
注意事项:
第一,LSMW的步骤一共有十四步,一般而言,其中有八九步是关键步骤,必须执行,而且操作正确。比如第一步Maintain Object Attributes,实际上就是做录屏工作。录屏过程就不必细说,但有一点要提醒,尽量做到操作简捷,且操作界面不宜随意推动,否则容易导致录屏错乱。录屏结束,并指定导入字段后,还有一个操作是比较关键的。假如不去做,可能你会在做第二步时,系统提示无法找到Source Structures。这一步就是在选择recording的文件名
第二,当您做好第一步骤,回到LSMW Workbench时,请不要急着执行第二步骤,而是先选中第二步骤,然后点击 object overview,此时系统就会跳出一个对话框,您只要点击“table”,就可以得到field的清单。
第三,说说第五步Maintain Field Mapping and Conversion Rules吧,我觉得前面几步比较简单,就可以省略了。关于这一步其实有几个方法去找对应关系的。第一种方法:选中你要对应的字段,然后去单击新建source field,然后一个个去对应;第二种方法:可以去菜单栏里的“Extras”,单击auto-field mapping,系统就自动为你找到了字段对应关系,这一种方法比较适合字段较多的情况下。当然,这一步骤里,还可以简单程序的编写。
第四,在第七部Specify Files稍微唠叨一下。当您指定了txt数据文档后,需要选中delimiter下的tabulator。此外,在field structure下,有两个选择项,是有区别的。第一项field names at start of file,指的是,你的txt数据文档中必须含有字段名,当在文档的第一行输入了字段名之后,系统会自动去辨别这些字段,然后,去读取文档中的数据;第二项field order matches source structure definition,则表示,你的数据文档里可以不输入字段名,然后系统读取的是文档中的每个行项目。
第五,现在主要说说如何有效利用LSMW的匹配工具--EXCEL文件和TXT文件吧。这两个文件应该说在LSMW的使用时,非常有用,用得正确与否,直接关系到你的工作效率。首先关于准备数据文档,我们要用到EXCEL中的倒置功能。我们在第二步时,会引出一份field清单,但是这些fields是一列的,而我们导数据时,是要把它们转换成一行。假如field较少,我们可以复制and 粘贴,但当fields较多时,我们就要使用excel的倒置功能了。方法很简单,复制field一列,然后鼠标右键单击excel的单元格,此时出现一个对话框,然后您点击“选择性粘贴”,进入后,勾选“倒置”,然后确认就可以了。
现在我们接着说说使用文本文件(txt)的几个注意事项:首先,当我们将要导入的主数据都在excel文件中准备好后,就需要另存为txt文件,操作者需要打开txt文件检查一下,txt文件中是否有引号或tab空格存在,如果您在导物料主数据时,有引号存在,会导致物料描述产生格式错误,最典型的问题时,当你去把物料主数据引到excel时,这些有引号的物料描述会集合到一个单元格中,导致您操作的很大不便。另外,在specify file之前,您还需打开文本文件确认一下,数据的最后一行,是否存在空格行,若存在,则会出现导入错误,因此,需要用delete键去清除之。
此外,当您要去打开txt文件为excel文件进行编辑前,一定记得以“文本”形式打开!比如,您的txt文件中,采购组是001,002等,当你不以文本形式打开,则采购组就变成了1,2等,容易导致数据错误。
由于时间关系,最后提醒一下一点吧,当你对lsmw的准确性没有足够把握时,记得先导个两三条数据,选择前台操作,看看执行过程,当万事俱备时,再去执行批导,才保证数据万无一失。