精华内容
下载资源
问答
  • 进销存报表
    千次阅读
    2018-07-30 08:09:00

       此文系笔者原创,首发于AZSAP第一课堂 https://mp.weixin.qq.com/s/9yuDJohp1iNRR-hHTyT9WQ

     

    上半年,笔者刚刚加入某运维项目,就接到了该项目客户中国总部SAP运维部门负责人的工作分配,说是让我帮忙优化一只进销存报表,很可能是需要重新设计重新开发。

     

    该项目是一个民营企业项目,几年前就已经上线了,目前处于运维阶段。民营企业的SAP项目有一个特点,你懂的,就是各种增强开发很多很多,以至于SAP系统主要被当作一个数据库来使用!很多标准的功能没有被使用,一些标准的function module也被封装了外壳然后在一些自定义的功能里被使用。像我这种没有参与前期实施的过程在项目运维几年后中途加入的外部顾问,进入这个项目立马就被安排这种对于历史遗留问题的优化任务,真有点掉入大坑两眼一抹黑的感觉。

     

    怎么办?我来这里就是要帮助客户解决问题,为客户创造价值的,不是来喝茶聊天的。所以,虽然很难搞,也要迎难而上。

     

    既然要优化报表,就得要了解现行报表的过去与现状。

     

    笔者首先与客户的内部顾问了解了一下这个报表的一些情况。经过与内部顾问的沟通,得知该报表有2个硬伤,第一个硬伤是性能超级慢,基本不堪使用。我测试过了,发现查询日期范围,即使是昨天到今天2天,报表依旧会跑死,报ABAP Runtime Error。这确实不堪使用,让业务部门多难受啊!第二个硬伤是期末库存金额与财务科目余额表里的库存金额对不上。

     

    然后就是要找到导致报表两大硬伤的原因。

     

    据悉,性能慢是因为报表功能过于复杂以及超大的数据量。从报表第一版程序到现在,报表程序被改了无数次,增加了很多逻辑,功能越来越复杂。既要能按批次来查询进销存,还要能按照存储地点来查询;既要查询库存数量,还要计算金额,面积;而其面积的计算,又涉及到物料主数据和批次主数据里的分类视图数据;加上客户系统里的工厂代码超过40个,日积月累,货物移动方面的数据量巨大。笔者找了开发同事帮忙分析代码,发现其性能瓶颈之一在查询批次进销存数据的时候,耗时太多。

     

    为了找到起初期末库存余额与科目余额表不一致的根本原因,我也找开同事帮忙一起分析代码。经查,该报表是采取倒推方式计算期初库存,其大致逻辑是首先拿到系统当前实时库存,然后计算当前日期与期末日期以及期初日期之间的货物移动数据,然后计算出期初期末库存数量与金额。同时我们发现,现行报表程序计算库存余额的时候,仅仅考虑到了货物移动带来的库存价值的变化,却未能考虑到非货物移动比如修改物料成本价,比如发票校验导致的库存价值的变化,这是导致库存余额跟科目表余额差异的原因。

     

    找到了现行报表不堪使用的根本原因之后,笔者开始了报表优化的设计。

     

    首先,我把报表功能进行裁剪,把查询粒度加大,不再支持按批次按存储地点级别的进销存查询,只在工厂级别出进销存报表。这样避免在大数据量以及逻辑复杂的情况下因查询粒度过细再次出现性能问题。当然这些建议需要得到业务团队的认可。客户业务团队因这个报表而受苦久矣,所以对于我提出的这个优化建议,对方欣然同意。

     

    其次,我决定采用顺推方式得到期末余额,先根据MBEWH/MSEG/MKPF/BSIM表里抓取到期初余额,然后抓取查询日期范围内货物移动以及其它事务代码导致的库存变化数据,计算出期末余额。如果采用倒推方式,可能会出现性能问题,比如业务如果想查询2015-01-01 到2015-01-31 这个期间的进销存,倒推的方式需要得到当前(现在是2018年7月)库存,然后计算当前日期到2015-01-31 这段时间段范围内(三年多的时间范围)货物移动金额以及非货物移动库存金额差异,然后计算出期末余额,再计算期初余额,无疑这么做在数据量大的系统里还是会出现性能慢的问题。而采用顺推方式,则先计算出2015-01-01的期初余额,这个可以从一些表里直接抓取数据,然后查询一个很小时间段范围内的货物移动数据以及非货物移动库存金额差异数据就可以得到期初库存,然后查询到2015-01-01 到2015-01-31 这一个月时间段里的库存变化数据,得到2015-01-31这天的库存余额。这样报表程序需要查询的数据量明显减少,当然性能上要好一些。

     

    最后,在计算期初期末余额的时候,要去BSIM表里抓取到非货物移动导致的库存价值变化的数据。笔者总结了,需要去BSIM表里抓取凭证类型为ML/PR/RE等的财务凭证里的金额,按借方和贷方汇总,计入指定查询日期范围内非货物移动的库存差异金额栏位,这个栏位参与计算期末余额。同时笔者上网查询资料得知,一些项目的进销存报表里,常常因为没有考虑到这BSIM表里这三种类型的财务凭证里的金额,导致进销存报表余额与科目余额表数据不一致,看来这是SAP项目实践中常见问题之一。

     

    在这几个大的思路的指引下,开发出来的新的进销存报表,性能快到让业务人员喜出望外,与财务科目余额表的数据一致也让财务业务人员不再为进销存报表而痛心疾首了。

    更多相关内容
  • 给玻璃厂开发的一套管理系统,已在玻璃厂使用,包括权限管理,客户管理,进出货管理,订单管理,报表打印,财务管理,材料管理等
  • SAP MM 进销存报表优化小记

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

    SAP MM 进销存报表优化小记

     

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

     

    笔者研究了他们现行进销存报表,也与内部顾问了解了一下这个报表的一些情况,得知该报表有2个硬伤,第一个是性能超级慢,基本不堪使用,查询日期范围,即使是昨天到今天2天,报表依旧会跑死,报ABAP Runtime Error;第二个是期末库存金额与财务科目余额表里的库存金额对不上。性能慢是因为报表功能过于复杂,从报表第一版程序到现在,被改了无数次,增加了很多逻辑;既要能按批次来查询进销存,还要能按照storage location来查询;既要查询库存数量,还要计算金额,面积;而其面积的计算,又涉及到物料主数据和批次主数据里的classification视图数据;加上客户系统里的工厂代码超过40个,日积月累,货物移动方面的数据量巨大。诸多原因导致该报表处于被弃用的状态,而交给我的任务是救活这张报表!

     

    为了实现这个优化,找到性能慢的原因以及库存余额与科目余额表不一致的问题,笔者找了开发同事帮忙分析代码,发现其性能慢在查询批次进销存数据的时候,耗时太多;同时,抓取期初库存余额的时候,仅仅考虑到了货物移动带来的库存价值的变化,却未能考虑到非货物移动比如修改物料成本价,比如发票校验导致的库存价值的变化。这是导致库存余额跟科目表余额差异的原因。

     

    找到了原因,笔者开始了报表优化的设计。把报表功能缩小,不再支持按批次进销存查询,只在工厂级别(不考虑storage location级别)的进销存;同时采用顺推方式得到期末余额,现根据MBEWH/MSEG/MKPF/BSIM表里抓取到期初余额,然后抓取查询日期范围内货物移动以及其它事务代码导致的库存变化数据,计算出期末余额。特别去BSIM表里抓取到非货物移动导致的库存价值变化的数据,笔者总结了,需要去BSIM表里抓取凭证类型为ML/PR/RE等的财务凭证里的金额,按借方和贷方汇总,计入指定查询日期范围内货物移动的库存差异金额栏位,这个栏位参与计算期末余额。

     

     

     

    1. Document type=ML (ML结算)

    Document number: 2100000186

     

     

    看BKPF数据,

     

    没有物料凭证号的。

     

    1. Document type: PR (价格更改), 财务凭证号:2200000087

     

     

    看BKPF表数据,

     

    也是没有物料凭证号的。

     

    3,Document type: RE(发票总额),2500000049

     

    看财务凭证,是一张发票校验对应的财务凭证,有一笔库存差异计入了库存科目里,如下图:

     

     

     

     

    这种发票后2张后续的财务凭证,

     

     

     

    看物料分类帐数据,凭证号:1005446306

     

    就一个物料有库存价值修改的。而物料分类帐凭证,是不在BSIM里出现的。

     

    也就是说,如果一张发票校验,因为价格差异导致库存变动的话,它对应的财务凭证会出现在BSIM表里。

     

    同时笔者上网查询资料得知,很多项目里,都因为没有考虑到这BSIM表里这三种财务凭证里的金额,导致进销存报表余额与科目余额表数据不一致。看这样子这是项目实践中常见问题之一。

     

    相信这次对症下药的报表优化,能取得成功。

     

     

    2018-6-18 写于无锡市新吴区

    展开全文
  • 办公软件是很多上班族都... 那么今天就来分享一下如何用Excel制作一个小规模的进销存小系统。 我们都知道有仓库、有货物的地方都离不开进销存软件,大多都是花钱买的,也有也有花大价钱自己找人订制的。其实,如果只...

    办公软件是很多上班族都需要天天用到工具,如果工作中需要处理大量的数据,那么EXCEL一定就是首选办公软件了,毫不夸张的说用好excel可以解放你工作中80%的处理数据时间,让你轻松办公喝咖啡,数据交由excel处理。

    那么今天就来分享一下如何用Excel制作一个小规模的进销存小系统。

    我们都知道有仓库、有货物的地方都离不开进销存软件,大多都是花钱买的,也有也有花大价钱自己找人订制的。其实,如果只是小规模的库存货物管理,用excel表格即可做出即简单、又容易维护的进销存小系统。

    接下来我们就一起来看下到底是怎么制作的

    一:入库表

    ec51d1b6431b1394723edd1b28159f35.png

    入库

    二:出货表

    04e3d24ce9b7898e591af94e38730107.png

    出货

    三:最终生成的进销存报表:可根据开始日期(B2)和结束日期(D2)的日期,自动生成该期间的进销存报表:

    7413b9c9b68f4ea59af258c463f4bb53.png

    不同时间区间的进出库存(10/1-10/5)

    0ce2d394455b061e38254e0120617c08.png

    不同时间区间的进出库存(10/1-10/15)

    d21124d6be17fa351da01167a2ca18de.png

    不同时间区间的进出库存(10/5-11/1)

    好的,下面来详解具体制作工程

    对于上图中的进销存报表样式,我们只需要一个函数即可搞定,它就是 Sumifs函数。

    1、期初库存的计算

    期初库存= 期初日期之前的入库总数 - 期初日期之前的出库总数

    =SUMIFS(入库!D:D,入库!A:A,"

    注意:条件中对比符号连接单元格地址引用时,一定要用&连接。"

    246b4faff31003bef6bac2ae6fbb028d.png

    期初库存的计算

    2、本期入库( D列)和出库(E列)计算

    本期入库 = 入库表在指定期间的入库数量之和

    =SUMIFS(入库!D:D,入库!A:A,">="&$B$2,入库!A:A,"<="&$D$2,入库!B:B,A5,入库!C:C,B5)

    d05834e09ffdd9671fb57142aeae9e16.png

    本期入库计算

    本期出库= 出库表在指定期间的入库数量之和

    =SUMIFS(出货!D:D,出货!A:A,">="&$B$2,出货!A:A,"<="&$D$2,出货!B:B,A4,出货!C:C,B4)

    eaa66e8e9abe4a25f46765ffab2fecff.png

    本期出库计算

    3.最后期未库存(G列)就简单了

    =期初库存+本期入库-本期出库

    =C4+D4-E4

    04e279b0992f1d03eea99a75beacfb3c.png

    期未库存计算

    至此,一个小规模的进销存小系统就这样做好了,是不是很简单,希望各位朋友一起来讨论哦

    展开全文
  • 摘要:C#源码,数据库应用,进销存,报表系统 C#2005商品进销存报表管理系统,SQL2000数据库,明日科技教学范例。商品进销存报表系统主要由【基本档案】、【进货管理】、【销售管理】、【库存管理】、【报表设计】和...
  • 含有函数公式的进销存报表,汇集进出库明细,汇总,库存预警等等功能,比较方便实用,适用于原料仓
  • 模板俱乐部ERPV2系统 第一步:访问http://网址/install (安装程序) 第二部:数据库中导入install目录下的erpv2.sql文件! 账号密码下载后查看压缩文件包中有。
  • XX公司进销存报表

    2020-12-13 10:42:10
    XX公司进销存报表以企业理财为核心,以财务管理为内容,需要XX公司进销存报表朋友千万不要错过咯,欢迎大...该文档为XX公司进销存报表,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 产品进销存日报表.xls

    2022-02-09 09:39:05
    产品进销存日报表.xls
  • 酒店酒水进销存日报表.doc
  • 商品进销存系统,带系统说明书,用C#2005编写,功能强大完善。数据库用sql 2005.
  • SAP MM 进销存报表优化小记.pdf
  • 【MM系列】SAP 物料进销存报表查看

    千次阅读 2019-09-28 21:28:15
    公众号: SAP Technical 本文作者: matinal 原文出处: http://www.cnblogs.com/SAPmatinal/ ...查看更多信息,需要开发新的报表了 转载于:https://www.cnblogs.com/SAPmatinal/p/11174353.html
    公众号: SAP Technical
    本文作者: matinal
     

     

    前言部分

    大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

    正文部分

    MB51 + MB5B查看

    物料在工厂、库存地点下的某个期间的物料移动

    每一笔物料凭证之后,这个物料在这个工厂、库存地点下的库存结存和结存金额

    查看更多信息,需要开发新的报表了

    转载于:https://www.cnblogs.com/SAPmatinal/p/11174353.html

    展开全文
  • 产品进销存日报表(表格模板、XLS格式).xls
  • 含有函数公式的进销存报表,汇集进出库明细,汇总,库存预警等等功能,比较方便实用,适用于成品仓
  • .net商品进销存报表系统
  • * *
  • 金蝶ERP在线进销库存报表系统PHP源码扫码枪多仓库预警仓储物流.zip
  • 仓库进销存报表

    2013-02-25 11:17:14
    仓库进销存报表\适合品种不多的小型企业、简单、实用,欢迎下载,交流
  • SAP MM 进销存报表与标准报表MB5B

    千次阅读 2018-07-06 12:53:50
    SAP MM 进销存报表与标准报表MB5B 提到进销存报表,SAP提供了一个标准报表MB5B。这个报表能显示指定的日期范围内,期初库存(数量与金额),期末库存(数量与金额),总...
  • 商品进销存报表系统 主要功能 商品进销存报表系统主要由【基本档案】、【进货管理】、【销售管理】、【库存管理】、【报表设计】和【系统维护】等模块组成。进入该系统后,用户可以对系统中的信息进行添加、修改、...
  • 或者因为报表对应收应付金额计算的不准确,而导致企业对资  关键字:进销存报表软件测试  本文适合有过MIS系统报表测试经验,或者有关进销存系统测试经验的朋友参考。  报表功能的基本要求,就是通过查询/统计/...
  • c# 商品进销存报表系统 适用于 管理系统开发 对于学习数据库 必不可少 不敢独享 拿来分享
  • 商品进销存报表系统.rar,商品进销存报表系统,GoodsReportManage,GoodsReportManage,bin,Debug,GoodsReportManage.exe,GoodsReportManage.vshost.exe,GoodsReportManage.pdb,DataBase,db_GoodsManage_Log.LDF,db_...
  • ViooMa进销存系统-进销存与往来帐务实现一体化,大量重复烦琐的工作均由web进销存系统自动完成,操作过程简化,大大降低使用人员的工作量。只需简单地录入进货、销售、收款、付款等单据,而系统就自动帮您统计、...
  • 进销存ERP源码 一、源码描述 这是一款十分完整的进销存管理系统源码,采用了典型的三层架构技术, 该系统运用extjs+jquery+AjaxPro富客户端无刷新ajax技术,使用NPOI导出excel数据,使用 OfficeActiveX插件操作...
  • .rar,商品进销存报表系统,库存管理系统使用说明书.doc,GoodsReportManage,GoodsReportManage.sln,GoodsReportManage,GoodsReportManage.csproj.user,Stock,StockAlarm.cs,ChangeGoodsStock.Designer.cs,...
  • 进销存表格完整版

    2015-05-03 21:01:57
    里诺进销存表格模板完整版,可适用于加载模板使用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,695
精华内容 2,678
关键字:

进销存报表

友情链接: nsga2code.rar