Overview
LSMW 是导入数据的一种工具,最大的好处就在于它的灵活性,举一个例子来说,different material type have
different field in the master. For one field , some field is suppressed and the other is mandatory. But
if you want use one single format to import all fields no matter what the material type is ,
batch input 和 catt 都会出错,因为他们都只能根据制定好的画面来输入,如果你导入的数据没有
这个值,那就会
出错,我想这个观点你们都能理解的,那么怎么才能把数据导入呢?而不需要另外再创建更多的不同
情况的 catt 和
batch input,那就是 LSMW.如:在某一个字段上进行编程,代码如下(这段代码是具有通用性的,你
们只要在用的时候把字段名改一下就可以了:
IF NOT
BBSEG-MWSKZ = LINE_ITEM-MWSKZ.
ENDIF.这句话的意思是:如果这个字段在我输入的文件中没有出现,那么就不要考虑导入这个字段。
举一个财务凭证的例子。事务代码:fb01 输入一张财务凭证。
Debit: 10010100 ---100 现金科目 ,这个科目在 screen layout 里只定义了显示 profit center 字
段而不是成本中心字段。
Credit:费用科目 55010101---这个科目只定义了 cost center 字段,而没有利润中心字段,这样的
话,如果用 batch input 录下来的其他类型的凭证,可能这两个字段都没有显示在输入凭证的画面,
这样的话,如果用 bi 或 CATT 就会报错,说这两个字段找不到。明白了么?
那下来再谈谈 LSMW 的局限性:
LINE_ITEM-MWSKZ IS INITIAL.
局限在于,它只能导入那些固定类型的主数据,比如,MATERIAL MASTER ,FINANCIAL DOCUMENT GL
ACCOUNT 等等,如果你自己创建了一个 ABAP 程序,是用来输入自己的一种主数据,那他就不能实现。
不过我想,大多数我们需要导入
的主数据已经被包含在这里边了。 ,当然一批修改值他也可以办到。只要把默认的 TRANSACTION
CODE 改为你需要
的就可以了。
下面我就用图形的方式来 STEP BY STEP 的教给大家如何操作。我还是用财务凭证来给大家说明吧,
因为财务凭证的描述性比较强。所需要的导入的文件格式我放在另外的一个文件中,请参考。
Initial
Screen
Input
description
of the
project ,
subproject
and object
维护属性
Then…
Click
“F8”
输入画面
如图所示
请记住是
LSMW 每步都
要用 CHANGE
的方式进去
然后 SAVE.然
后 CLICK
回到总画面
去维护下一
个参数。
维护结构
每个导入的项目
都需要有结构,每
个结构代表一组
有独立属性的值,
如,DOCUMENT
HEADER AND
DOCUMENT LINE
ITEM 应该放在不
同的结构中,因为
他们的属性值不
同,因为 HEADER
每张凭证只有 1
个而每张凭证中
的行项却又很多,
所以应该分成两
个结构,因为同一
个 TRANSACTION
如:FB01 创建的
时候至少有 2 个
行项,却只能有 1
个凭证头,就象
PO 一样。但是系
统如何识别 1 个
凭证头对应几个
(N 个)行项呢?
也就是说如何在
一个事物代码中
把 1 个凭证头和
几个行项看多一
个 RECORD 呢?所
以我们在下面的
创建字段的过程
中要加入一个识
别码,我把他叫做
HEADID 和 LineID
并分别属于表头
结构 FDOC 和行项
结构 LINE_ITEM,
这里 LINE_ITEM
结构属于 FDOC 结
构。
Then…
Click “F8”
输入画面
如图所示
然后保存,结
构看下图
显示结构
然后返回到
总的维护画
面去,每步都
要保存
维护
SOUCE
FIELDS
CLICK “F8”
进去。
维护字段
先看如何维
护字段,这里
有 2 种不同的
维护字段,一
种是自定义
的,如,
HEADID,我前
面提到的,这
个字段只是
让系统去区
别不同的结
构,但 SAP 并
没有这个字
段,
2.一种是系
统里已经有
的字段,我就
直接用它就
可以,不过请
记住,所有字
段最好维护
成 CHAR 类型
的,不管它本
身是什么类
型的,但是长
度一定要>=
这个 SAP 的字
段的长度,最
好是等于
(SE11 可以
看到表)
我用到的两
个表:表头表
BKPF,行项表
BSEG,除自定
义表之外,字
段名都和原
来的表的字
段一样。
创建完后
的结果
保存后退出
到总参数维
护画面.
维护结构
关系
这个就是把
我们创建的
结构和 SAP 实
际里的结构
联系起来了,
请选
RELATIONSHI
P 来创建表间
关系,这里因
为我们只用
到 BBSEG 和
BBKPF 表,其
他表因为没
有涉及的字
段,所以没有
分配给他们。
第一个 SAP 默
认结构是一
定要分配给
你的最高级
的结构的。这
里就是 FDOC.
这样讲可不
可以?和?
分配完以后,
保存退出(后
面的描述中,
保存退出就
是指退到维
护参数的总
画面。)
最重要的
一步,字段
MAPPI
NG
所有重要的
东西都在这
一步,也是最
难的一步,在
这里,你要告
诉系统,你自
己的哪个字
段对应 SAP 里
的哪个字段,
我前面所说
的一点点小
程序也是在
这里使用的,
目的是让系
统这个傻瓜
知道那些字
段出现时表
示有这个字
段,哪些不出
现表示没有
这个字段。
(大家看得
懂我说的
么?)