设为首页 收藏本站
查看: 951|回复: 0

[经验分享] SAP 取月度期初库存和月度期末库存(历史库存)

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2015-9-22 07:21:21 | 显示全部楼层 |阅读模式
  SAP 取月度期初库存和月度期末库存(历史库存)
  http://blog.iyunv.com/lbxp521/article/details/6729266
  
  有很多人在做库存进销存的时候,感觉期初库存和期末库存比较难搞定,感觉要去取货物移动的数据来获取期初库存和期末库存,其实不然,只要理解原理就可以快速取出期初库存和期末库存
  库存表:MARDH MARD MSKUH MSKU MSLBH MSLB MSKAH MSKA
  下面以MARDH MARD为例,如果一个物料在2011年9月份做了一笔货物移动,则会自动在MARDH中更新2011年8月份的期末库存,假如在2011年9月份一直没有做货物移动,则不会更新MARDH中8月份的期末库存
  
  假如我想获得2011年7月份的库存,则需要先在MARH中查找7月份的库存,找不到找8月份的库存,找不到找9月份的库存,以此类推,最后都找不到,则用MARD中的库存
  
  * 下面代码为获取8月份的期初库存和8月份的期末库存
  
  PARAMETERS:
* 会计年度
  p_gjahr  LIKE bkpf-gjahr OBLIGATORY DEFAULT '2011',
* 期间
  p_monat  LIKE bkpf-monat OBLIGATORY DEFAULT '08'.
  
  DATA:
  v_gjahr  LIKE bkpf-gjahr,    " 上月期间年度
  v_monat  LIKE bkpf-monat.   " 上月期间月份
  
  * 获取上月度年度和月份
  IF p_monat = '01'.
    v_monat = '12'.
    v_gjahr = p_gjahr - 1.
  ELSE.
    v_monat = p_monat - 1.
    v_gjahr = p_gjahr.
  ENDIF.
  
  DATA: BEGIN OF typ_mardh,
        p_string(6) TYPE c.
          INCLUDE STRUCTURE mardh .
  DATA: END OF typ_mardh.
  DATA: i_mardh LIKE TABLE OF typ_mardh WITH HEADER LINE.     " 期末数据
  DATA: n_mardh LIKE TABLE OF typ_mardh WITH HEADER LINE.     " 当前库存
  DATA: m_mardh LIKE TABLE OF typ_mardh WITH HEADER LINE.     " 上月期初数据
  
  * 查找库存历史表
  SELECT   *
  FROM mardh
    INTO CORRESPONDING FIELDS OF TABLE m_mardh
   WHERE ( lfgja > v_gjahr OR ( lfgja = v_gjahr AND lfmon >= v_monat ) ).
  LOOP AT m_mardh .
    CONCATENATE m_mardh-lfgja m_mardh-lfmon INTO m_mardh-p_string .
    MODIFY m_mardh .
    IF m_mardh-p_string >= p_estring .
      MOVE-CORRESPONDING m_mardh TO i_mardh.
      APPEND i_mardh .
    ENDIF.
  ENDLOOP.
  
  SELECT   *
  FROM mard
    INTO CORRESPONDING FIELDS OF TABLE n_mardh .
  
  LOOP AT n_mardh .
    CONCATENATE n_mardh-lfgja n_mardh-lfmon INTO n_mardh-p_string .
    MODIFY n_mardh .
    MOVE-CORRESPONDING n_mardh TO m_mardh.
    APPEND m_mardh .
    MOVE-CORRESPONDING n_mardh TO i_mardh.
    APPEND i_mardh .
  ENDLOOP.
  
  * 期初库存都在表M_MARDH
  SORT m_mardh BY matnr werks lgort lfgja lfmon .
  DELETE ADJACENT DUPLICATES FROM m_mardh COMPARING matnr werks lgort.
  * 期末库存都在表I_MARDH
  SORT i_mardh BY matnr werks lgort lfgja lfmon .
  DELETE ADJACENT DUPLICATES FROM i_mardh COMPARING matnr werks lgort.
  
  下面在获取数据的时候,直接可以READ TABLE ........  BINARY SEARCH .

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-116895-1-1.html 上篇帖子: 【SAP HANA】关于SAP HANA中带层次结构的计算视图Cacultation View创建、激活状况下在系统中生成对象的研究 下篇帖子: SAP Control framework–CL_GUI_TOOLBAR
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表