LSMW+详细操作LSMW数据导入总结 本文关键词:导入,操作,数据,详细,LSMW
LSMW+详细操作LSMW数据导入总结 本文简介:2012-02-14LSMW数据导入总结LSMW数据导入总结2012-2-14WangxiaoxiLSMW工具的使用T-CODE:LSMW相关开发权限:B_LSMW_EXECB_LSMW_CHGLSMW传输方法:创建request以及手工导出导入一、初始界面功能AllObjects:系统中包含的所有
LSMW+详细操作LSMW数据导入总结 本文内容:
2012-02-14
LSMW数据导入总结
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
此选项是确定文件是否与系统相关,如果选择则在后续的步骤中可以为不同系统ID选择不同的文件名
如果是周期性的导入文件,需要使用Periodic,导入文件只能从
application
server读取
这次我使用了前两种方法
1
Recording
总结:对于较少字段,可以使用此方法。建议将所有相关的屏幕都录制,但应考虑必填项的内容,需要和顾问配合。只要屏幕录制到,此屏幕的字段可以后续进行添加。但是要考虑到因数据要求不同屏幕字段的隐藏,在执行时如果找不到定义的字段,则会报错停止。如果有这样的字段,可以对字段进行默认的【/】,表示对此字段不做操作,可以避免这个问题。
下面记录用到的一些简便功能:
1)浏览Project中的所有Recording
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的话都是相同的,都会创建batch的session
1
常用的创建batch
session
1)
创建batch
2)
Run
Batch
用于测试的有process
foreground以及display
errors
only
Process
foreground
以及
display
error
only又叫做交互式
在交互式过程中可以使用如下的ok代码,来帮助完成
/N
下一个事务
/bdel
删除当前事务
/bend
取消当前会话
/bda
前台处理
/bde
出错处理模式
/bbeg
重新启动事务
Display
errors
only模式可以及时修改数据正确录入
正式内容建议使用background
请选择extended
log
以及expert
mode
2
其它的standard
batch/direct
input的内容各不同,下面是bom的例子
Batch
监控的T-CODE:SM35
1)
Extended
log:除了E错误之外,W
I
S等类型的消息也将记录在日志中,该选项可以用于后台处理模式
2)
Expert
mode:仅在交互运行批输入时有效,在交互处理时忽略错误消息344,即【Batch
input
data
is
not
available
for
this
screen】,即使已经录制的屏幕字段没有数据输入也可以完成该会话
3)
Screen
standard
size:在处理表格控件
table
control和步循环
step
loop时,采用屏幕大小,该选项的原因是表格控件和步循环在不同用户屏幕中显示的条目可能不同
4)
Cancel
if
log
error
occurs:日志中有错误出现,则取消该会话
5)
Simulate
background
mode:在交互处理模式下模拟后台处理
会话结束后的状态:
通常会话完全处理后,系统会从会话队列中删除会话,可以通过会话log来查询处理结果
也可以选择当会话处理后保留会话
日志查看:按钮或者T-CODE:SM35P
批处理日志清除:程序RSDBCREC,应执行定期后台执行
释放并重新运行中断会话,在重新运行的过程中,将略过上次运行中断前所有已经成功创建的事务
执行尚未处理的事务
Direct
input管理器T-CODE:BMV0
Direct
input
后台执行时,必须使用application
server上的文件进行导入
1)
创建变式
2)
定义后台job
3)
运行job
33
/
33