SAP-LSMW详细操作

  • 格式:doc
  • 大小:1.38 MB
  • 文档页数:30

精品--

--精品

LSMW数据导入总结

2012-2-14

Wang xiaoxi

精品--

--精品

LSMW工具的使用

T-CODE:LSMW

相关开发权限:B_LSMW_EXEC B_LSMW_CHG

LSMW传输方法:创建request 以及 手工导出导入

一、初始界面功能

All Objects:系统中包含的所有LSMW

My Objects:自己创建的所有LSMW

All Project Objects:当前project所包含的所有内容 精品--

--精品

Project Documentation:当前Project的相关文档

二、创建LSMW的属性

Object Type and Import Method

主要有四种方法:Standard Batch/Direct Input、Recording、BAPI、IDoc 精品--

--精品 这次我使用了前两种方法

1 Recording

总结:对于较少字段,可以使用此方法。建议将所有相关的屏幕都录制,但应考虑必填项的内容,需要和顾问配合。只要屏幕录制到,此屏幕的字段可以后续进行添加。但是要考虑到因数据要求不同屏幕字段的隐藏,在执行时如果找不到定义的字段,则会报错停止。如果有这样的字段,可以对字段进行默认的【/】,表示对此字段不做操作,可以避免这个问题。

下面记录用到的一些简便功能:

1)浏览Project中的所有Recording 如果是周期性的导入文件,需要使用Periodic,导入文件只能从 application

server读取

此选项是确定文件是否与系统相关,如果选择则在后续的步骤中可以为不同系统ID选择不同的文件名

精品--

--精品

2)Recording Object 精品--

--精品

3)自动默认字段名称

4)增加和删除屏幕中的字段 所录制的屏幕信息

录制的字段以及默认值

表格或者列表录制信息 精品--

--精品

这两个button用于增加屏幕中的非列表和table的字段

增加table或者列表的字段时,类似下图中带条目index的字段时

使用如下方法

Radio button 1:可以选择字段所在的屏幕,然后进行添加

Radio button 2:可以自己输入所需要添加的屏幕字段,特别是列表和table的字段数据

录屏注意内容: 精品--

--精品 ➢ 录制屏幕时尽量不要有错误或者其它的提示message出现

➢ 录制添加数据的屏幕时,要使用添加或者创建按钮,不能找第几行作为输入行,要考虑行数很多以及行数不在录制屏幕的情况

➢ 对于数值的录屏,尽量不要回车来确认输入屏幕,因为当屏幕的数值输入规则为带小数,而你所输入的货币为JPY KRW这样的货币时,带小数的数值时会报错的,哪怕是199.00这样的格式小数也会报错

➢ 对于table control 以及 step loop的录制,需要进行翻页时使用以下功能键

向下翻页:/23 或者功能键page down

跳转至末页:/24 或者功能键 end

向上翻页:/22 或者功能键 page up

跳转至首页:/21 或者功能键 home

滚动条的动作功能是不能被recording记录的,因此必须使用上述的ok码或者功能键

2. Standard Batch/Direct Input

二 导入结构和导入字段的创建 可以选择系统中的Standard

batch和Direct Input程序

本质仍是录屏,系统将所有屏幕字段都预制 精品--

--精品

1 结构

结构有单层结构和多层结构,一般录屏的多为单层结构,Standard Batch/Direct Input的业务中存在多条或者有header和item结构的多使用多层结构

精品--

--精品 这两个按钮可以改变现在的结构层次,但是需要注意的是,如果将层次降低将无法再提升回来,这在修改的时候需要注意,否则需要做重复的工作

2 导入结构的字段

创建字段有三种方法:一个一个手工添加;从其他的project结构中copy过来;表格式的批量添加

一般新建常使用表格式批量添加或者从类似的project中copy过来,进行修改时多用手工添加

字段的顺序可以进行调整

【Fields with the same name】可以检查在结构中或者在多个结构中是否有name相同的字段,在单个结构中存在相同name的field会导致数据导入错误,而多结构中存在相同的name的field,系统会认为这个字段作为关联结构层次中的key字段,会认为这个字段拥有同样值的数据是作为一组数据使用的

例如下面的结构,使用matnr字段进行结构的关联,拥有同一个matnr值的数据被认为一组数据 精品--

--精品

在很多时候,业务数据的字段中没有这样的关联字段,而我们需要有这种标识关联关系的字段时,我们可以自己添加关联字段,比如ZINDEX这样的字段 精品--

--精品

在定义导入结构的字段长度时,可以适当的放大字段长度,因为导入系统中的字段长度,决定于系统结构中的字段长度,所有放大导入结构的字段长度可以避免系统可以接受的长度在导入字段中被截取

另外,所有的字段类型都可以使用CHAR型来导入

日期时间这种特殊格式的字段,需要与系统中个人设置保持一致,设置T-CODE:SU01/SU3,

在进行测试后,正式导入数据时,请一定要检查个人设置与测试时是否相同,否则测试没有问题的数据,很可能在正式导入时报错 精品--

--精品

三 导入结构字段与系统字段对应以及转换规则 精品--

--精品

1指定对应的系统结构

2 指定结构对应的字段信息,这是比较重要的部分

1)一般来说,默认的设置回只显示业务相关的屏幕字段,但是很多时候我们需要看到技术字段或者系统默认的字段,我们可以进行设置

方法:

只显示了业务相关的字段 精品--

--精品

设置layout

我们可以选择所有的内容,但是一般我们只看到Technical Fields就可以了

如下图绿色的部分,就是default setting 精品--

--精品 红框中的字段表示,如果字段没有任何输入值,也就是说与导入数据无关时,系统会默认为【/】,因此当我们的录屏中,如果遇到不同的类型数据,有的需要填写值有的不需要时,就可以通过这个数据去调整,不用因为一点点不同,进行多个录屏

2)转换规则

常用的就是MOVE语句,其余的稍懂ABAP开发即可进行

3)自动匹配字段

当有许多字段需要导入时,字段名称相同,在这种情况下使用一个一个字段匹配是很繁琐的,可以使用自动匹配字段的功能 精品--

--精品 4)未被指定的导入字段check

此功能可以检查还有那些导入字段没有指定给系统字段

5)检查转换规则是否正确,类似开发中的激活检查

3 常量、固定值、数据对应翻译的创建

使用的相对少,比较有用的是常量的定义和对导入文件中较规律数据的转换

例如101-》A01 精品--

--精品 在以上所有内容定义完成后,可以看下整体的导入字段,导入文件的字段以及对应关系

可以看到之前所定义的各种结构以及对应关系,以及转换的代码 精品--

--精品 四 导入文件的路径、逻辑路径以及属性设置

精品--

--精品 1 导入文件的路径以及逻辑文件

可以定义数据导入是通过个人PC的数据文件、应用服务器上的文件、逻辑文件

导入后读取的文件命名

转换后的文件命名

如果从application server进行数据upload,需要先将导入文件上传到application server上

Application server的file monitor的T-CODE:AL11

DIR_HOME对应的目录是数据传输默认的目录

上传文件到application server的T-CODE: SXDA_TOOLS

使用copy功能将本地PC文件上传至application server 精品--

--精品

定义逻辑文件T-CODE:FILE

或者直接在下面输入logical path 和 logical name,系统会直接创建

Logical name不是跨系统的,所以当lsmw从比如DEV系统导入到QAS系统时,需要重新定义 精品--

--精品

2 指定导入文件与导入结构的关系

五 导入文件的读取和数据格式转换 精品--

--精品

1 Read Data和Convert Data都可以选择条目数

2 Read Data之前需要对导入文件进行检查

1) 字符集的选择

有些中文数据,导入后会出现乱码现象,可以选集字符集UTF-8进行导入

文件可以选择text文件或者cvs文件等,但是文件的分隔符要与之前导入文件设置的分隔符一致,否则导入时会出现问题 精品--

--精品

2)如果将excel转成text文档时,请check是否有数据前后带【”】引号的情况以及是否包含全黑色的小块数据,如果有这样的数据,请替换掉

当excel转换时,请check下数字的内容是不是变成了科学记录法,例如【1.2E+12】的数据

3)另外在导入前先对excel文件进行检查,特别是数值小数格式以及日期时间等特定格式,调整后再转换为text文件

3 每次read data之后,建议display下数据,检查描述是否乱码,以及字段对应是否准确,以免数据导入错误

4 convert data的时候,如果报错,系统会提供报错信息,请检查相应的编码是否准确,常犯的错误

1)进行转换规则使用ABAP CODE的时候,代码错误

2) 导入文件正在使用

3) 导入文件中包含全黑色的小块,这个会导致数据错位

六 创建Batch 以及执行导入

standard batch/direct input最后两部会根据各种业务内容的程序不同而不同,recording的话