1、基本需求:

样式:

业务部门提出如上表格式进销存需求,并且金额要和总账中存货科目保持一致,如果要实现上表格式进校存,可以通过SAP标准程序(MC.9、MB51、MB5B)加工繁琐而成。现分析一下SAP标准程序逻辑优缺点及自开发程序实现方案。

2、SAP标准程序逻辑及优缺点分析

2.1  MC.9取数逻辑

MC.9取数逻辑基于S031和S032两个信息结构可以取的某个月底库存数量金库存金额,其中S032表记录当前库存数量及金额,S031表记录过去某个时间段的入库数量、金额及出库数量及金额,然后采用倒推方式计算出过去某个时点(按月)的库存数量及金额。

优点:如果查询数据量较小时,数据提取效率快且准确;

缺点:由于采用倒推方式,一旦查询数据量较大,查询时段如果有出入库操作,数据可能不准;

2.2  MB51取数逻辑

MB51查询某个时间段内出入库记录,基于MKPF和MSEG进行取数,跟踪MB51程序,主要逻辑如下:

select (g_t_fields)

into corresponding fields of table itab

from mkpf inner join mseg

on    mkpf~mandt = mseg~mandt

and mkpf~mblnr = mseg~mblnr

and mkpf~mjahr = mseg~mjahr

for all entries in matnr

where matnr = matnr-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不能记录价格修改、发票校验差异对存货价值影响,不能保持和总账一致;

2.2  MB5B取数逻辑

MB5B取数主要基于MARD、MBEW、BSIM、MKPF、MSEG这五张数据表,与MC.9类似,采用倒推逻辑并依据MARD、MKPF、MSEG计算某个时间段期初数量、借方数量、贷方数量、期末数量,依据MBEW、BSIM计算某个时间段期初价值、借方价值、贷方价值、期末价值。由于MKPF、MSEG依据MB51逻辑,不能记录价格修改、发票校验差异对存货价值影响,而BSIM只记录有价值更新的出入库记录,对免费入库类(只有数量更新无价值更新)不能记录,二者各有利弊。数量取数逻辑如下:

价值取数逻辑如下:

优点:既考虑数量、又考虑价值,如果查询数据量较少,数据比较全面且准确;

缺点:①查询速度慢;②借、贷方不能反映出、入库类型;③采用倒推方式,查询大数据量时,数据可能不准确;

3、自开发程序设计逻辑:

SAP标准程序MC.9、MB5B采用倒推逻辑,查询大数据量可能导致数据不准确,由于本集团工厂有60个左右,查询数据量大不可避免,鉴于以上原因不采用倒推逻辑。大概设计思路:从MBEWH、S031表直接取得期初库存数量及价值,然后从MKPF、MSEG、BSIM取得期间出入库数量及价值,依据期初数量、价值及当期出入库数量、价值计算期末数量及价值。

3.1 期初数量、价值计算

首先,介绍MBEWH表更新逻辑:如果第N月有一笔出入库或价值更新操作,系统会将N-1月月底数量及价值更新至MBEWH表。如下表(当前月份为2013-02)

假定要查2012-12月进销存,首先从MBEWH表取年度小于等于2012所有数据,然后删除年度等于2012、月份大于等于12数据。经过数据处理后,依据物料、评估范围取得年度+月份最大的那条记录(如:3100101001取到2012-09那条数据)。

其次,计算取得数据下个月份如:3100101001取到2012-09这条数据下月为2012-10),并和查询月份(2012-12)比较,如果二者不相等,从S031表取该时间段内(2012-10)出入库记录。将MBEWH、S031数据合并即为该物料2012-12期初数据。(为什么这样计算,仔细想想MBEWH更新逻辑)

3.2 期间入库、出库数据计算

然后,依据MKPF、MSEG、BSIM提取2012-12该月的出入库记录及价值更新记录。根据移动类型判断该记录属于入库或出库。

期末数据可以依据期初数据和当期出入库计算。这样设计采用正推逻辑,避免查询时有出入库操作对查询结果的影响;此程序既考虑了库存数量更新,又考虑了价值更新,保证了数据的全面性;这样就可保证进销存和总账一致,满足业务需求。

SAP进销存难点分析及对策相关推荐

  1. 三易通进销存系统 项目研发总结

    1.项目概要 系统主要功能模块有: (1)系统设置:主要包括商品修改.供货商设置.客户设置.vip设置.权限维护管理的功能 (2)进货管理:主要包括采购进货.采购退货.采购入库.横纵向尺码输入进货商品 ...

  2. 某SAP项目进销存报表优化小记

    此文系笔者原创,首发于AZSAP第一课堂 https://mp.weixin.qq.com/s/9yuDJohp1iNRR-hHTyT9WQ 上半年,笔者刚刚加入某运维项目,就接到了该项目客户中国总部 ...

  3. SAP MM 进销存报表优化小记

    SAP MM 进销存报表优化小记 笔者刚刚加入SY项目,就接到了SY集团上海总部SAP运维部门负责人的工作分配,说是有一只进销存报表,需要做一个优化,可能是需要重新设计重新开发. 笔者研究了他们现行进 ...

  4. 从人的角度分析进销存管理的需求

    最近想做一个贸易企业的进销存管理系统,我想从人的角度,或者说角色来分析管理需求.主要从以下几种角色进行分析:一.老板,二.经理(一和二统称管理员),三.业务员,四.采购员,五.仓管,六.文员或操作员, ...

  5. psm进销存管理系统、供应商管理、进货管理、销售管理、仓库管理、采购记录、库存盘点、调拨单、出库单、借入单、进货报表、采购记录、销售往来账、采购往来账、图表分析、人事管理、销售报表、财务报表、rp原型

    psm进销存管理系统.供应商管理.进货管理.销售管理.仓库管理.采购记录.库存盘点.调拨单.出库单.借入单.进货报表.采购记录.销售往来账.采购往来账.图表分析.人事管理.销售报表.财务报表.rp原型 ...

  6. SAP MM 进销存报表与标准报表MB5B

    SAP MM 进销存报表与标准报表MB5B 提到进销存报表,SAP提供了一个标准报表MB5B.这个报表能显示指定的日期范围内,期初库存(数量与金额),期末库存(数量与金额),总入库数(数量与金额),总 ...

  7. 进销存设计与分析_进仓单(2)

    进销存设计与分析_进仓单(2)   <script src="http://blog.csdn.net/count.aspx?ID=2090261&Type=Rank" ...

  8. 进销存设计与分析_总体(1)

    从整体流程图来看,进销存是分为两种形式:物流和款流,         物流:采购订单->采购进仓单(采购退货)->仓库,盘盈进仓->仓库,调拨进仓->仓库,销售订单->销 ...

  9. bs架构 erp 进销存_从应用架构看生鲜电商信息化建设

    编辑导读:对于生鲜电商来说,信息化建设是很重要的一环,所有的业务开展都离不开信息化的支持.本文作者讲从应用架构角度出发,对生鲜电商信息化建设展开分析,希望对你有帮助. 一.背景语言共识 之前介绍了从业 ...

最新文章

  1. LibreOJ #2006. 「SCOI2015」小凸玩矩阵 二分答案+二分匹配
  2. T1683 车厢重组 codevs
  3. 上拉电阻下拉电阻高阻态
  4. 如何用Python从数据库里面获取数据?4个步骤就能轻松实现
  5. 数字密码输入框对输入内容进行隐藏
  6. 云计算与 OpenStack - 每天5分钟玩转 OpenStack(14)
  7. 前端学习(485):css
  8. 【codevs1582】【BZOJ1228】E和D,博弈
  9. 全国植被覆盖度VFC逐月数据
  10. kuangbin最短路 模板
  11. python中gm11_python GM11
  12. CQF笔记M1L4随机分析和伊藤引理
  13. 西工大机考《 ERP原理及应用》大作业网考
  14. 芯片后端设计的DRC是什么
  15. python 拼音输入法_隐马尔科夫模型python实现简单拼音输入法
  16. 白话isEqual和hash的关系
  17. 戴尔win10重新安装win7系统
  18. idea插件之——在markdown复制粘贴图片
  19. 学计算机能用到的礼物,考上大学送什么礼物好,盘点10款有趣的
  20. 浅析“进位计数制及数制转换”

热门文章

  1. React手稿 - Context
  2. 殷拓联手红星美凯龙收购软装家具企业“墙尚”40%股份​
  3. leetcode-458-Poor Pigs
  4. 充分利用移动支付系统的10种方法
  5. JVM中的垃圾收集算法和Heap分区简记
  6. 运维常见统计表模板(word版)
  7. 11g Active DataGuard初探
  8. select fd_set
  9. 使用Jedit建立IDE图文教程
  10. DotNetCore跨平台~xUnit和测试报告