SAP进销存难点分析及对策
1、基本需求:
代磅
■
-----■■-
本期人陣蠱騷
孑哉二匕?.量
S:千
2 S
主L人操
处找一、婆
丨加
ABC
1303
业务部门提出如上表格式进销存需求,并且金额要和总账中存货科目保持一致,如果要实现上 表格式进校存,可以通过 SAP标准程序(MC.9、MB51、MB5B )加工繁琐而成。现分析一下 SAP标准程序逻辑优缺点及自开发程序实现方案。
2、SAP标准程序逻辑及优缺点分析
2.1 MC . 9取数逻辑
MC.9取数逻辑基于S031和S032两个信息结构可以取的某个月底库存数量金库存金额,
其中S032表记录当前库存数量及金额,S031表记录过去某个时间段的入库数量、 金额及出库
数量及金额,然后采用倒推方式计算出过去某个时点(按月)的库存数量及金额。
r
S031 :朋间I出库入库的N
7
1 201?^
二月|三月
四月 五月 貢冃 七月f
S032 :忧时直库存为B
-
二二月底库存厂
当箭日期:5012^7^250
L
二月底库存:A二
J
优点:如果查询数据量较小时,数据提取效率快且准确;
缺点:由于采用倒推方式,一旦查询数据量较大,查询时段如果有出入库操作,数据可能不准;
22 MB51取数逻辑
MB51查询某个时间段内出入库记录,基于 MKPF和MSEG进行取数,跟踪 MB51程序,
主要逻辑如下:
select (g_t_fields)
into corresp onding fields of table itab
from mkpf inner join mseg
on mkpf?ma ndt = mseg ?mandt
and mkpf?mb Inr = mseg ?mblnr
and mkpf?mjahr = mseg ?mjahr
for all en tries in matnr
where mat nr = mat nr-low
and MKPF?BUDAT in BUDAT
and MSEG?BWART in BWART
and MSEG?CHARG in CHARG
and MSEG?KUNNR in KUNNR
and MSEG?LGORT in LGORT
and MSEG?LIFNR in LIFNR
and MSEG?SOBKZ in SOBKZ
and MKPF~USNAM in USNAM
and MKPF?VGART in VGART
and MSEG?WERKS in WERKS
and MKPF?XBLNR in XBLNR
%_HINTS
ORACLE SUBSTITUTE VALUES.
优点:能够准确查询某个时间段内出、入库记录;
缺点:MB51不能记录价格修改、发票校验差异对存货价值影响,不能保持和总账一致;
22 MB5B取数逻辑
MB5B取数主要基于 MARD、MBEW、BSIM、MKPF、MSEG 这五张数据表,与 MC.9类
似,采用倒推逻辑并依据 MARD、MKPF、MSEG计算某个时间段期初数量、借方数量、贷方
数量、期末数量,依据 MBEW、BSIM计算某个时间段期初价值、借方价值、贷方价值、期末
价值。由于MKPF、MSEG依据MB51逻辑,不能记录价格修改、发票校验差异对存货价值影
响,而BSIM只记录有价值更新的出入库记录,对免费入库类(只有数量更新无价值更新)不
能记录,二者各有利弊。数量取数逻辑如下:
數量2012^MKPFyMSEG :期间出库数呈A仁人库缠A2二月f三月f四月五月六月 七月
數量
2012^
MKPFyMSEG :期间出库数呈A仁人库缠A2
二月f三月f四月
五月
六月 七月
MARD :此时点库存数呈A3
0310-0321期间进销存?
当前日期:兀仁年7^256
倒推3月巾当前期初库存数量:AO =A3+A1 -A2
依据MKPF. MSEG计算03 1003 21期间入应阳*出產A5
3月创日期末库存数虽:A6 = A 0+ A4 - A5
价值取数逻辑如下:
MSIM :期间出库价值.丸库数量M2
MSIM :期间出库价值.丸库数量M2
二月£三月f四月
五月
亢月
七月f
MBEW :此时点肆存价值胡M
03.10-03.21期闾进销存?
03.10-03.21期闾进销存?
当前日期:20M年7^250
倒推3月10当前期初库存价值:NO = M3 + M1 - M2依据MKPF. MSEG计算03 10-03 21期闫入库出库M53月2T日期末库存数盘:M6 = MO + M4 - M5
优点:既考虑数量、又考虑价值,如果查询数据量较少,数据比较全面且准确;
缺点:①查询速度慢;②借、贷方不能反映出、入库类型;③采用倒推方式,查询大数据量时,
数据可能不
原创力文档

文档评论(0)