前段时间上面要求做一个历史库存账龄分析,取历史数据的时候一直纠结于用mchb/mchbh/mska/mskah等实时和历史库存表,然而试来试去还是不能成功,于是决定DEBUG下MB5B的源代码,测试了下,好像可以了,现把过程登记下来:

选择窗口:

执行:

1、先根据选择界面的条件(前四个)从MCHB和MSKA表中取出相应的所有记录到IMCHB/IMSKA内表中,并经过重量累加处理以及COLLECT等方法,最终形成内标IT_TOTAL。

2、根据选择界面的条件(前5个,其中日期条件为MKPF-BUDAT GE 日期),取出这个过账日期之后(含这天)的所有凭证记录;

3、循环处理内表IT_TOTAL,为其重量赋值:

LOOP AT IT_TOTAL.
    IT_TOTAL-BUDAT = S_BUDAT.
    READ TABLE IT_MCH1 INTO WA_MCH1 WITH KEY MATNR = IT_TOTAL-MATNR CHARG = IT_TOTAL-CHARG.
    IF SY-SUBRC = 0.
      IT_TOTAL-ERSDA = WA_MCH1-ERSDA.
    ENDIF.
    LOOP AT IT_MSEG WHERE WERKS = IT_TOTAL-WERKS AND MATNR = IT_TOTAL-MATNR AND CHARG = IT_TOTAL-CHARG.
      IF IT_MSEG-SHKZG EQ 'S'.
        IT_TOTAL-TOTAL = IT_TOTAL-TOTAL - IT_MSEG-MENGE.
      ELSE.
        IT_TOTAL-TOTAL = IT_TOTAL-TOTAL + IT_MSEG-MENGE.
      ENDIF.
    ENDLOOP.

MODIFY IT_TOTAL.
  ENDLOOP.

4、最后结果检查,同MB5B。

SAP存货账龄分析之库存获取的更多相关文章

  1. SAP MM 销售订单库存与普通库存之间相互转换过账后对于EBEWH以及MBEWH表的更新

    SAP MM 销售订单库存与普通库存之间相互转换过账后对于EBEWH以及MBEWH表的更新 1,DEMO数据 物料号:1300009995 工厂:2160 销售订单号/item号:0010097627 ...

  2. SAP PM:通过接口获取设备资产基本信息

    在SAP工厂维护模块中,给设备贴二维码标签是现在越来越流行的做法.因此通过扫描二维码获取设备资产信息是个非常基本的需求. 以下实例简单实现了,给SAP RFC传入设备编码获取设备资产基本信息的需求. ...

  3. SAP MM Consignment 寄售库存

    转自:http://blog.csdn.net/futurewind/article/details/3985200 寄售,定义就是供应商的货物放在自己的库存中,使用的时候可以转到自己的库存,不用了就 ...

  4. SAP WM 有无保存WM Level历史库存的Table?

    SAP WM 有无保存WM Level历史库存的Table? 前日下班回家的路上,收到一个前客户内部顾问同行发过来的微信,问我在SAP系统里哪个表是用来存储WM Level历史库存的. 这个问题问住了 ...

  5. 【MM系列】SAP库龄报表逻辑理解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP库龄报表逻辑理解   第一篇 ...

  6. 【MM系列】SAP SAP库龄报表逻辑理解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP SAP库龄报表逻辑理解   ...

  7. 技能UP:SAP OBYC自动记账的实例说明(含value String应用说明)

    一. 自动过账原理 在MM模块的许多操作都能实现在FI模块自动过账,如PO收货.发票验证(LIV).工单发料.向生产车间发料等等.不用说,一定需要在IMG中进行配置才可以实现自动处理.但SAP实现的这 ...

  8. SAP MM/FI 自动过账实现 OBYC 接口执行

    一. 自动过账原理 在MM模块的许多操作都能实现在FI模块自动过账,如PO收货.发票验证(LIV).工单发料.向生产车间发料等等.不用说,一定需要在IMG中进行配置才可以实现自动处理.但SAP实现的这 ...

  9. SAP实施方法与过程——ASAP

    ASAP是SAP公司为使R/3项目的实施更简单.更有效的一套完整的快速实施方法.ASAP优化了在实施过程中对时间.质量和资源的有效使用等方面的控制.它是一个包括了使得项目实施得以成功所有基本要素的完整 ...

随机推荐

  1. careercup-高等难度 18.6

    18.6 设计一个算法,给定10亿个数字,找出最小的100万个数字.假定计算机内存足以容纳全部10亿个数字. 解法: 方法1:排序 按升序排序所有的元素,然后取出前100万个数,时间复杂度为O(nlo ...

  2. css中postion的fixed与absolute区别详解

    fixed:固定定位,参照位置是浏览器窗口的左上角,即坐标点为(0px, 0px) absolute:绝对定位,参展位置是离当前元素最近的定位方式为fixed,absolute,relative的祖先 ...

  3. Oracle—用户管理的完全恢复(四)

    在用户管理的备份(三)中,最后打开数据库时,用了alter database open resetlogs;的命令,这里为什么用resetlogs命令? 一.resetlogs的作用 1.将当前的日志 ...

  4. 全栈一路坑之使用django创建博客

    最近在看一篇全栈增长工程师实战,然后学习里面的项目,结果发现作者用的技术太过老旧,好多东西都已经被抛弃了,所以结合着官方文档和自己的一些理解将错误的信息替换一下,边写边学习 准备工作和工具 作者说需要 ...

  5. 1.6.7 Detecting Languages During Indexing

    1. Detecting Languages During Indexing 在索引的时候,solr可以使用langid UpdateRequestProcessor来识别语言,然后映射文本到特定语言 ...

  6. iOS - 导航控制器

    1.导航控制器 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.bac ...

  7. oneThink 数据库连接失败,总提示密码不对的解决办法

    oneThink的数据库配置文件是\Application\Common\Conf\config.php,按理来说,在这里修改数据库配置应该就可以重新连接,可是不管我怎么修改密码总是和我设置的不一致, ...

  8. VMware系统运维(七)vCenter Inventory Server安装

    1.vCenter Inventory Server安装即vCenter 清单服务 2.下一步 3.接受协议,下一步 4.选择安装位置,下一步 5.设置域名,注意在安装之前一定要加域,嘻嘻. 6.设置 ...

  9. C# Exception的子类Serializable警告

    编译时发出的警告:警告 CA2237[1] 将 [Serializable] 添加到 'HardwareException',原因是此类型实现了 ISerializable. Cause[1] An ...

  10. 转: Android 后台任务型App多进程架构演化

    评注:android 后台分进程保活方式的实践 Android 后台任务型App多进程架构演化 字数1621 阅读2790 评论8 喜欢35 什么是后台任务型app 类似音乐.录音机,需要用户长时间在 ...