【点晴模切ERP】SAP系统Excel数据批量导入武器--老是摸我(LSMW)
当前位置:点晴教程→点晴ERP企业管理信息系统
→『 经验分享&操作答疑 』
(1)CATT:Computer Aided Test Too (计算机辅助输入测试) (2)BDC:Batch Data Communication(批处理) (3)LSMW:legacy system Migration workbench(遗产系统迁移工作台) 对于一个新人,LSMW 的困难主要在于: 1、对LSMW本身的认识和理解 2、业务操作面的困难。 这个是在录屏的过程中使用具体的TCODE去进行实际业务处理的录屏过程方面的困难。 首先,有些事务码录屏时的界面和我们平时使用的界面并不完全一致,这就要求对前台的业务处理比较熟悉; 其次,录屏过程中可能会有很多的无关字段,甚至因为无关操作触发的更多无关的东西,如果对这些不够熟悉,则会在录屏结果中看到凌乱复杂的字段信息。 也就是说,在录屏前,你要基本保证自己对业务处理过程足够熟悉,且要精简,不要有过多无关操作,最后一定要触发保存;也就是说,你录屏时操作的一条数据,它本身应该是已经完成且保存了。另外,一个教训是,录屏时尽量选择直接手动输入录屏,避免复制,指SAP的复制功能,不是Ctrl+C/V,因为可能会丢失一些字段导致录屏失败。 以建立会计科目(Tcode:FS00)为例。执行事务代码:LSMW,如下图: 点击创建,输入project项目编码和描述;或者选择已有的项目,在已有项目下面创建。选择或者创建对应的子项目Subproject。创建项目包Object。 输入Project、Subproject和Object后,点“执行”按钮或回车,进入LSMW操作界面,可以看到LSMW共有14个单独步骤,从Maintain Object Attributes->Run Batch Input Session,如下图。接下来,按菜单操作就可以了。 注:Project/Subproject/Object取名不能太长,否则在第7步”Specify Files”可能出现文件长度错误。 1、 Maintain Object Attributes第一步的主要任务实际上是创建录屏Recording。 如上图,首先选择“Display<->Change”进入修改状态,再选择“Batch Input Recording”, 一定要在该字段填入Recording名,由于该Recording可能还并不存在,因此,需要选择上图的[1]的标志;或者,点击菜单go to--recordings,如图: go to recording后显示如下: 选择新建按钮,Recording输入“ZFS00“,确定后输入Tcode:FS00,开始录屏。 注:Recording输入的“ZFS00“就是Tcode:SM35显示的会话名称,在第13步”Create Batch Input Session”将产生这个会话。 录屏结束后,如下图,系统自动列出操作所有操作屏幕和数据字段。 双击数据字段,如科目,输入字段名称SAKNR(保持和SAP屏幕字段一致,也可叫KJKM)和数据字段描述。为批导涉及的所有字段都建立好字段名称和字段描述。 注: (1)可以点”Default All”按钮取所有字段的默认值。 2、 Maintain Source Structures建立一个源结构。 定义我们自己要以TXT文件提供的数据源的格式的名称,注意是数据源的名称,相当于一个结构的名称,不是文件名也不是字段名。接下来将为该结构建立批导字段。 3、 Maintain Source Fields定义数据源里面各个字段的名称和文本、长度等信息,相当于确定结构里的各个字段。 如上图,按图-[1]的”新建”按钮,出现图-[2],填入字段名称、描述、长度和字段类型,假设批导需要上图-[3]的这些字段,则批导的Excel(最后可存为制表符为分割符的Txt文本)数据内容必须按这些字段的顺序组织,如果字段不对,可以使用上图-[4]的两个按钮调整顺序。 强调:最好保持Source Fields的顺序、录屏字段变量顺序和批导数据文件字段的先后顺序完全一致。 注:创建”Source Fields”,如果选上Selection Parameter for “imput/ConvertData”标志,表示该字段允许从批导文件上载时可根据该字段进行刷选。 一个批导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定义录屏时产生的结构与我们在2和3自己定义的结构在结构名层级的对应关系,不涉及字段的对应关系,因为5才是字段的对应关系,相当于是SAP把结构名称和里面的字段分开来处理对应关系了。 通常的数据迁移实例不应复杂,本例中,由于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分配文件。 由于只存在一个源结构,所以批导数据组织文本文件自动对应到该唯一的源结构,而源结构中的数据字段也自动关联到批导记录录屏字段,至此,灰橹檬荩涂捎τ肔SMW将数据批导入系统。 9、 Read Data从之前定义的文件中读数据,前提是每次使用LSMW之前,你要准备好这个数据,放到对应的文件里。 本例中,批导数据组织文本文件前2行为注释行,因此可以设置从第3行开始读取数据记录。 “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行开始。 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的变态以及一些非人性化的功能设计在这里不予过多的吐槽。总之LSMW对于操作人员来说,要求有十二分的细心。 LSMW简单的可以理解为,为批量处理的数据做一个执行的录屏模板,而后所有的数据都会按照这个模板一一执行。所以录屏过程中,要把自己当成一个德国生产的机器人,要严格按照既定的步骤、格式和顺序,不要有多余的操作;否则,执行的时候就会很容易报错。就像《雪山飞狐》里的苗人凤,因学“提撩剑白鹤舒翅”这一招时,背上忽然有蚤子咬他却不敢伸手搔痒,只好耸动背脊赶走蚤子;自此,每当使到这一招,背上就会不由自主的发痒,背心便会微耸,从而露出破绽。一个多余的录屏动作,往往造成的是致命的后果。 LSMW通常接受CSV或TXT格式的原始数据文档。从Excel转换过来的文档,需要经过多次手工检查确保完全符合LSMW的要求之后,才可以顺利导入系统。不然的话,一次又一次出现的中断错误,绝对可以让你抓狂。操作LSMW的人,必须对Excel日常操作和LSMW导入数据的结构非常熟悉,否则当错误发生时根本无法进行排查。 点晴模切ERP更多信息:http://moqie.clicksun.cn,联系电话:4001861886 该文章在 2024/6/18 9:59:15 编辑过 |
关键字查询
相关文章
正在查询... |