LSMW批量数据处理的操作流程

SAP通过BDC(录屏)方式进行数据批量处理有两种方式,分别是LSMW和SM35。这里介绍一下LSMW的操作流程。

一.LSMW操作指南

以建立会计科目(Tcode:FS00)为例,如上图,点“新建”按钮,输入Project、Subproject和Object后,点“执行”按钮或回车,进入LSMW操作界面,可以看到LSMW共有14个单独步骤,从Maintain Object Attributes->Run Batch Input Session,如下图。

:Project/Subproject/Object取名不能太长,否则在第7步”Specify Files”可能出现文件长度错误。

下面一一介绍这14个步骤的操作。

(1).Maintain Object Attributes

如上图,首先选择“Display<->Change”进入修改状态,再选择“Batch Input Recording”, 一定要在该字段填入Recording名,由于该Recording可能还并不存在,因此,需要选择上图-[1]的标志,进入下图:

选择新建按钮,Recording输入“ZFS00“,确定后输入Tcode: FS00,开始录屏。

注:Recording输入的“ZFS00“就是Tcode:SM35显示的会话名称,在第13步”Create Batch Input Session”将产生这个会话。

录屏结束后,如下图,系统自动列出操作所有操作屏幕和数据字段。

双击数据字段,如科目,输入字段名称SAKNR(保持和SAP屏幕字段一致,也可叫KJKM)和数据字段描述。为批导涉及的所有字段都建立好字段名称和字段描述。

注:

(1).可以点”Default All”按钮取所有字段的默认值。

(2).其他任何使用LSMW建立主数据批导的,操作方法类似,不过记录的屏幕和字段不同而已。

(2).Maintain Source Structures

建立一个源结构,源结构只是一个名称,接下来将为该结构建立批导字段。

(3).Maintain Source Fields

如上图,按图-[1]的”新建”按钮,出现图-[2],填入字段名称、描述、长度和字段类型,假设批导需要上图-[3]的这些字段,则批导的Excel(最后可存为制表符为分割符的Txt文本)数据内容必须按这些字段的顺序组织,如果字段不对,可以使用上图-[4]的两个按钮调整顺序。

强调:最好保持Source Fields的顺序、录屏字段变量顺序和批导数据文件字段的先后顺序完全一致。

注:创建”Source Fields”,如果选上Selection Parameter for “imput/Convert

Data”标志,表示该字段允许从批导文件上载时可根据该字段进行刷选

一个批导excel数据组织示范图,可以看到和Source fields是按顺序一一对应的。

上面的excel前2行为注释行,在第7步“Read Data”中可指定数据行从第3行开始,假设本例从第3行开始到第7行,共有5条数据记录行。

此步中,选择下图-[1]的”Table Maintenance” 按钮,可看到如下图-[2]的集中维护方式。

小技巧

这里的字段长度必须大于实际表字段的长度,数据类型和长度最好匹配,要知道一个将批导字段的数据类型和长度,可以采用下面的3个步骤:

(1). 在操作屏幕对着该字段按”F1”帮助键,然后选择下图-[1]的。

(2).比如FS00操作界面的总账科目字段,可以看到它的字段名称叫SAKNR。

(3).双击字段名可以知道SAKNR的数据类型为10位的字符型。

(4). Maintain Structure Relations

通常的数据迁移实例不应复杂,本例中,由于batch input recording只有1个,所以Source structure已自动默认分配。

(5). Maintain Field Mapping and Conversion Rules

首先,选择下图-[1]的“Source Field”,将批导字段变量和源结构的源字段关联上, 然后选择下图-[2]的”Rule”, 维护字段映射和转换规则,比如可以设置公司代码为有常数(Constant),如果公司代码固定,其实也可以直接在excel都输入固定公司代码。

Rule一般选择“Transfer(Move)”,表示字段到字段的移动,如下图。

这步非常重要!!实际上这步是将录屏ZFS00时的数据字段和源结构做映射,由于源结构在第7步”Specify Files”中将关联上一外部批导数据组织文本文件,也就是说,数据组织文件的内容(字段)将和第3步“Maintain Source Fields”源结构的源字段关联,通过本步骤的映射,即批导录屏字段和外部组织文件的字段关联上了。

(6). Maintain Fixed Values,Translations,User_Defined Routines

复杂业务的特殊情况下自定义一些数据转换规则,比如导一些销售数据,可根据销售组织+分销渠道不同分别在客户小组写入不同内容,当然,你也可直接在excel中人为就组织好这些数据,因此,这个步骤也不是必须的。

(7). Specify Files

如上图,将组织好的excel转换为文本,分割符如图-[2]选择Tab制表符。注意上图中选择“Field Order Matches Source Structure Definition”表示批数据内容文件的字段顺序必须和源结构字段定义相互匹配。

如果在第一步中Project/Subproject/Object取名过长,可能导致错误,见下图:

Project/Subproject/Object都取名为Z_AS01_TEST1后,文件名超过45个字符,无法正确指定上载数据文件。

(8). Assign Files

由于只存在一个源结构,所以批导数据组织文本文件自动对应到该唯一的源结构,而源结构中的数据字段也自动关联到批导记录录屏字段,至此,只要组织好数据,就可应用LSMW将数据批导入系统。

(9).Read Data

批导数据组织文本文件前2行为注释行,因此可以设置从第3行开始读取数据记录。

*系统似乎要求需填写“到”的行,否则将只读“从”的这一行记录,象本例中,表示

从第3行到第7行共5条数据记录

“Read Data”时一定要注意将批导数据组织文本文件及时关闭

(10).Display Read Data

本例中共有5条数据记录,选择“Display Read Data”,如果想显示全部记录,则行选择从1到5,而非”Read Data”的3-7行,这很好理解,”Read Data”时是从本地机器的原始文本文件中第3行读到第7行,应该是放置在一个内表中,而”Display Read Data”是将该内表中的5行显示出来,所以应该是从内表的第1行开始。

Display Read Data”不过是给你一检查数据上传是否正确的检查机会!

(11).Convert Data

将内表中的数据进行转换。

(12).Display Convert Data

Display Convert Data”允许你检查需批导的数据是否转换正确,如果检查无误,就可以执行第13步的建立会话。如下图,可以看到科目8888888881-8888888885共5个会计科目将被建立,这正式我们所需要的。

(13).Create Batch Input Session

建立一批导会话,这个会话使用Tcode:SM35可以看见,会话的名称正是第一步做Batch Input Recording输入的名称ZFS00。点“运行“按钮系统提示如下,表示5条数据的批导会话已经成功生成。

最好选上“Keep Batch Input Folder(s)?”,这样执行的会话完毕后将保存,Tcode:SM35 可见,否则,可能执行完LSMW后,会话会给删除。

(14).Run Batch Input Session

Run Batch Input Session“实际上就是调用Tcode:SM35,可以看到已经产生会话ZFS00,选中后点“Process”按钮执行,如果需批导海量数据,可以先测试导入几个,选择”处理/前台“可以看到一步步的详细操作,你必须耐心地按回车键,通常选择的是”仅显示错误“。

二.LSMW的传输和导出导入

可以将LSMW实例从一个系统传输到另一个系统,如从开发系统传输到测试或生产系统,只要如上图-[1]选择菜单“Generate Change Request”就可以,如果两个系统间未建立连接,无法直接传输,也可以采用Export Project/Import Project的方式导出导入LSMW实例。

原文发布于微信公众号 - SAP ERP管理实践(gh_2013ee3d8459)

原文发表时间:2019-03-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券