LSMW是一个支持从非SAP系统(“遗留系统”)向SAP R/3系统转移数据的工具。这可以是一次性的转移,也可以是定期的。
LSMW还支持以多种方式转换遗留系统的数据。这些数据可以通过批量输入、直接输入、BAPI或IDocs导入到SAP R/3系统。
此外,LSM工作台提供了一个记录功能,它允许生成一个 “数据迁移对象”,以实现从任何需要的事务中迁移。
LSM工作台的主要功能是:
1、使用事务码LSMW启动LSMW工作台:基本属性介绍
项目(Project):一个最多10个字符的ID来命名你的数据传输项目。如果你想从几个遗留系统转移数据,你可以为每个遗留系统创建一个项目。
子项目(SubProject):一个最多10个字符的ID,作为进一步的结构化属性。
对象(Object):一个最多10个字符的ID,用于命名业务对象。
2、输入项目ID,子项目ID,对象ID。点击执行,下一个屏幕给出LSMW数据迁移的步骤。
举个简单栗子:批量修改物料描述。(使用到的事务码:MM02)
其原理是:先创建录屏,然后建立目标结构(所需的字段),源结构(所需的字段)。建立源结构与目标结构之间的映射。读取遗留数据(多种形式)保存到源结构,将源结构与目标结构进行转换。最后,将目标结构的的数据导入到SAP系统中。
1、勾选单选按钮Batch Input Recording,然后进入录屏概览界面:
2、进入界面后,点击创建按钮,之后在弹窗中输入Recording的名称及其描述,点击确认进入下一步。
3、在弹窗中输入事务代码(MM02):用于修改物料主数据。点击确认,然后进行录屏。
4、进入MM02的初始屏幕后,输入物料编码(例如:3302或者其它的):
5、选择Select View(s),选中Basic Data 1,点击确定。
6、进入界面后,找到物料描述字段,修改其物料描述,然后点击保存。
7、录屏结束之后会进入该界面,我们可以对其进行删减或者指定输入字段。
8、调整后的效果如下:生成带有两个字段(MATNR和MAKTX)的目标结构。点击保存,退回到上个界面(可以看到目标结构),再返回到上上个界面(如:1)。
9、在界面的Recording输入框中,输入我们刚创建的录屏对象RCD_T01,然后点击保存。到此,定义对象属性的步骤结束。
1、点击创建,在弹窗中输入源结构名称和描述,点击确定,最后点击保存即可。
1、选中源结构SOURCE_MAT,点击创建按钮,为其添加字段(比如:物料编码,物料描述)。注*:物料编码和物料描述的字段类型和字段长度必须与目标结构的字段相一致。
例如:material char 10(对应目标结构中的MATNR),description char 40(对应目标结构中的MAKTX)。若有多个字段,按同样的方式创建就可以了。也可以用Excel列表复制。
1、选中目标结构中的字段MATNR,选中Source Field按钮,再弹窗中选择源结构中对应的字段(Material)即可。针对MAKTX字段,执行相同的步骤即可。最后点击保存。
注意:有些字段是由系统预设的。这些字段被称为 “技术字段”,被标记为 “默认设置”。这些字段的编码在第一次进入字段映射时不显示,它可以通过显示变量显示。改变默认设置可能会严重影响数据转换的流程。如果你错误地改变了默认设置,你可以通过选择Extras -> Restore to default来恢复。
2、最终效果如下:
扩展部分:Maintain Fixed Values, Translations and User-written Routines
Fixed Values:固定值是指在整个项目中固定的值,例如。公司代码。我们可以给BUKRS分配一个固定值,这个固定值可以在这个项目的所有对象中使用。因此,如果值发生变化,我们只能在一个地方改变,即固定值,而不是在每一个对象中改变。
Translations:在这里,你可以为任何遗留字段保持固定的翻译,翻译可以被分配到字段映射和转换规则中。翻译可以是1:1或多:1等。
User-Defined Routines:这些是用户定义的子程序,在对象中用于处理数据。
上述所有三个功能都是可重复使用的规则,对一个项目中的所有对象都有效。
1、创建文件LSMW Test.txt文件,文件内容如下(包含物料编码和物料描述):
注*:我这里用的是Tab键隔开。
2、选择Legacy Data On the PC(Frontend),点击创建按钮,选择文件,并输入描述。勾选确定,最后保存即可。
注*:由于我们上面用得是Tab键,所以需要选择Tabulator。
3、效果如下:
1、点击执行按钮即可,执行成功则如下(已读到两条记录):
从文件中读取数据时,我们可以选择只读取几条记录,而不是整个数据块,以便能够测试前几条记录。这也提供了用户定义的选择参数,可用于根据指定的条件限制读取数据。
1、可以查看文件所导入的数据。若发现导入错误,可返回上一步重新进行导入。
1、转换数据是根据维护字段映射和转换例程中编写的转换例程,将数据从源结构转移到目标结构。
1、点击执行,既可以看到转换后的结果。随便点击一条即可查看明细。
1、选中会话名称(O_TEST01)、点击Process按钮,然后在弹窗中选择Background,然后点击Process按钮即可。执行结束之后,可以看到左下角提示执行成功。最后退出即可。
Ps:这个基于个人学习的总结归纳,可能某部分内容或概念解释不太清楚,有兴趣的或者想深入了解的,可以参照一下其它的博客。