咱们言归正传,开始进入系统,记住中文系统看到的不是英文得改用英文进入,除非你懂德文(目前在中文环境下可以显示英文了),嘿,你懂德文的话记得来找偶,保证有你好处☺
点击新建,项目名和描述自己填写,子项目也照样填写,建议用事务代码。这样一看就知道是啥东东了。建立完后双击第一步。
点击 Batch input Recording(也可以用系统 Standard 的东西),没有去做个 Batch input,其实对于复杂的数据 BAPI及 IDoc 比 BDC还要好用,表面看起来有点深奥,这里不多作解释。
点击新建立一个 Record,Recording 建议里填写事务代码,描述详细点。Owner默认(注意,其他用户看不到你的 Record)。
编辑和保存 Record,见下图。跟 CATT 和 BDC 录屏一样,数据要准备好,尽量不要做错误动作,按视图顺序录入数据,不要来回翻页),缺少字段用Repeat Recording 重录。
双击上图画圈里的颜色条(嘿,不知道怎么形容)
添加变量:Name 输入字段名(建议用Field Nmae 后的字段名);Description:能描述清楚就行了.Default Value 建议为空。保存,后退,保存,后退。到第二步维护数据源,如下图,双击进入。
点击修改,再点击新建,如下图,名称自定义。附:数据源,用过 BW 的朋友都很清楚,这里要给没用过的朋友解释一下数据源有用途:采集数据用,哇哈哈,就这么简单。别想太复杂了。
选择 table,然后按下面菜单导出。这步可重要啦,一般朋友都想不到这么简便的方法,大部分人做LSMW 失败就因为不懂是可以这样操作 D。保存成 xxx.xls 文件,这里叫 AA.xls
后退
选中第三步(给数据源定义字段),双击进入后再点击修改,双击批量输入,千万别点击新建。
大家可能都点击新建,如果上百字段,这可痛苦死了,宁愿上吊!也是初学者不原再用LSMW 的原因。下图是批量维护界面。先别动,打开刚才保存的 AA.xls
打开刚才导出的 Excle 表,把 Tablname 和 tcode 及上面的行全部删除掉,按上图内容把列调整成一致。把Char这列先全部替换成C,copy所有内容。
在下图粘贴,OK,效率高吧?再把Type 换过来,字符,货币等都用 C。。。。。。
保存退出,进入下一步(可跳过,好奇心强想看内容的进入看看,用默认即可,退出)。
第五步:维护数据源和 Record 对应关系。
进入后点击修改,如下图,
选择 Fields 下面的一个字段,再点击左上角:新建 Source Field(注:这步骤是将Record 与上上步建立的数据源对应起来,咱们用的字段名都相同,方便对应,不会出错)
将字段一一对应起来。对于常量输入点击 Rule,设定一个常量。其他规则一样。对于对应错的修改要点击:Initial 把该字段清理掉,再做对应关系。
保存,后退,进入下一步,如下图,没特殊要求这步可以跳过,有兴趣也可以进入看看。
到第七步:指定数据源输入
指定文件,一般选择 On the PC(Frontend),其他数据自行研究一下。
双击:on the pc ,弹出下图:名称路径自己定义。对于文本文件选择Tabulator(TAB 分隔)。其他选项还是那句:自己看一下,如 field names at the beginning of the file 表示第一行为字段名称;order of fields as in …..是说跟系统数据源对应关系按顺序对应
保存退出。下一步:Assign files 跳过。
进入 Read data
准备数据模板(哈哈,这个也是绝招,偶保证没几个人懂)。把刚才导出的文件加工成下图二列后COPY
SAKNR 科目编号 BUKRS 公司代码 WAERS 货币
XSALH 仅以本币计管理余额
MWSKZ 税务类型
XMWNO 允许含与不含税过帐
MITKZ 统驭科目类型
XOPVW 未清项管理 XKRES 显示行项目
ZUAWA 排序码
然后新建立一个工作表,用选择性粘贴,选择转置。
得到数据模板。
如下图哇哈哈,多快,没几秒就弄出来,而且不会出错。把正确数据填写完毕,去掉表头(前二行),保存。
注意:保存的文件名和路径要和上面步骤定义的一样。进入下一步:Read Data 步骤,检验数据是否正确
点击运行后如下图,如发现错误请检查以上步骤
双击黄色的数据
不正确则要修改对应关系及检查数据表退出进入一下步。做数据转换
运行~~
创建完批处理,则要进入中文环境执行批处理(文本有语言维护限制,在中文维护的是中文,英文中维护的是英文)。执行批处理事务:SM35
看执行结果,正确则 OK。有错误返回修改。
对于 LSMW其他功能以后再讲。如项目导入导出等,这些比较简单。
LSMW是跨系统用导入导出功能,不用传输。
附:LSMW、BDC、CATT 区别
LSMW: legacy system Migration workbench(遗产(旧)系统移值工作台)
BDC : Batch Data Communication(批处理)
CATT :Computer Aided Test Too(计算机辅助输入测试)
数据导入速度:LSMW=BDC>CATT
制作难度:BDC>LSMW>CATT
跨服务器传输(复制):LSMW 用导出导入,不用传输,不用建立程序 方便。CATT都要传输,BDC 传输或者生成 ABAP程序。
其实 LSMW终是产生批处理,所以速度和 BDC 相等,CATT 是模拟前端屏幕输入,速度慢,而且某些屏幕字段抓取不了