zoukankan      html  css  js  c++  java
  • MM库存类型、库存数量、库存金额取值逻辑

    项目中取数逻辑的总结
    不见得符合其他项目,仅作参考
     
    *&---------------------------------------------------------------------*
    *& 不同类型库存存储位置
    *&---------------------------------------------------------------------*
    不同类型的库存存在于不同的表中,按如下逻辑遍历相关表取出库存数量不为0的库存数据:
    1、 一般库存:取得MARD-WERKS(工厂代码)、
                          MARD-MATNR(物料号)、
                          MARD-LGORT(仓库编号),
                    条件:MARD-LABST > ‘0’或者
                          MARD-INSME >‘0’或者
                          MARD-SPEME>‘0’
                          MARD- UMLME>‘0’;
     
    2、 供应商寄售特殊库存:取得MKOL -WERKS(工厂代码)、
                                    MKOL -MATNR(物料号)、
                                    MKOL -LGORT(仓库编号)、
                                    MKOL- CHARG(批次),
                              条件:MKOL-SLABS>‘0’ 或者
                                    MKOL-SINSM>‘0’或者
                                    MKOL-SSPEM>‘0’;
     
    3、 委外加工特殊库存:取得MSLB-WERKS(工厂代码)、
                                  MSLB-MATNR(物料号),
                            条件:MSLB-LBLAB>‘0’ 或者
                                  MSLB-LBINS>‘0’; (该表没有仓库编码信息,如果库存信息取自该表,则仓库编码为空)
     
    4、 销售订单库存:取得MSKA -WERKS(工厂代码)、
                              MSKA -MATNR(物料号)、
                              MSKA -LGORT(仓库编号),
                        条件:MSKA-KALAB>‘0’ 或者
                              MSKA-KAINS>‘0’或者
                              MSKA-KASPE>‘0’;
     
    5、 项目特殊库存:取得MSPR-WERKS(工厂代码)、
       MSPR-MATNR(物料号)、
             MSPR-LGORT(仓库编号),
                        条件:MSPR-PRLAB>‘0’ 或者
     MSPR-PRINS>‘0’或者
     MSPR-PRSPE>‘0’;
     
     
    *&---------------------------------------------------------------------*
    *&不同库存类型库存数量
    *&---------------------------------------------------------------------*
    1、供应商寄售特殊库存表MKOL字段SLABS表示非限制使用库存数,
                                   SINSM表示质检库存数,
                                   SSPEM表示冻结库存数;
     
    2、委外加工特殊库存表MSLB字段LBLAB表示非限制使用库存数,
                                 LBINS表示质检库存数,无冻结库存;
     
    3、销售订单库存表MSKA字段KALAB表示非限制使用库存数,
                             KAINS表示质检库存数,
                             KASPE表示冻结库存数;
     
    4、项目特殊库存表 MSPR字段PRLAB表示非限制使用库存数,
                              PRINS表示质检库存数,
                              PRSPE表示冻结库存数;
     
    5、一般库存表MARD 字段LABST表示非限制使用库存数,
                          INSME表示质检库存数,
                          SPEME表示冻结库存数,
                          UMLME表示在途库存数。 
     
     
    *&---------------------------------------------------------------------*
    *&不同库存类型的金额取值
    *&---------------------------------------------------------------------*
    *1、如果工厂属性为空,即代保管工厂,则总库存金额为0;
    *2、如果工厂属性为X,即不是代保管工厂,则按如下逻辑取数:
    *A、如果特殊库存类型为空或“O”,
    *   则取得MBEW-VPRSV(价格控制)、MBEW-VERPR(移动平均价)、MBEW-PEINH(价格单位)、MBEW-STPRS(标准价),
    *   条件:MBEW-MATNR=物料编号 AND MBEW- BWKEY=工厂代码 AND MBEW- BWTAR = 空;
    *   如果取得的MBEW-VPRSV = ‘V’,
    *       则总库存金额 = 库存数量* MBEW-VERPR / MBEW-PEINH;
    *   如果取得的MBEW-VPRSV = ‘S’,
    *       则总库存金额 = 库存数量* MBEW- STPRS / MBEW-PEINH;
    *B、如果特库存类型为Q,
    *   则取得QBEW-VPRSV(价格控制)、QBEW-VERPR(移动平均价)、QBEW-PEINH(价格单位)、QBEW-STPRS(标准价),
    *   条件:QBEW-MATNR=物料编号 AND QBEW- BWKEY=工厂代码 AND QBEW- BWTAR = 空 AND QBEW- PSPNR =特殊库存编号;
    *   如果取得的QBEW-VPRSV = ‘V’,
    *      则总库存金额 = 库存数量* QBEW-VERPR / QBEW-PEINH;
    *   如果取得的QBEW-VPRSV = ‘S’,
    *      则总库存金额 = 库存数量* QBEW- STPRS / QBEW-PEINH;
    *C、如果特库存类型为E,
    *   则取得EBEW-VPRSV(价格控制)、EBEW-VERPR(移动平均价)、EBEW-PEINH(价格单位)、EBEW-STPRS(标准价),
    *   条件:EBEW-MATNR=物料编号 AND EBEW- BWKEY=工厂代码 AND 
                        EBEW- BWTAR = 空 AND 
                      (EBEW- VBELN+EBEW-POSNR) =特殊库存编号(写程序时需分别取得EBEW- VBELN和EBEW-POSNR值,组合再一起作为条件);
    *   如果取得的EBEW-VPRSV = ‘V’,
    *       则总库存金额 = 库存数量* EBEW-VERPR /EBEW-PEINH;
    *   如果取得的EBEW-VPRSV = ‘S’,
    *      则总库存金额 = 库存数量* EBEW- STPRS / EBEW-PEINH;
    *D、如果特殊库存类型为K,则:
    *   a、取得EKPO- INFNR(信息记录)、EKKO- EKORG(采购组织),
    *      条件:EKKO-EBELN = EKPO-EBELN AND
                            EKPO-EBELN = MSEG-EBELN AND
                            MSEG-EBELP =  EKPO-EBELP AND 
                             MSEG-MATNR = 物料编号 AND 
                             MSEG-WERKS = 工厂号 AND 
                             MSEG- CHARG = 批次号 AND 
                             MSEG- BWART=’101’AND 
                             MSEG-SOBKZ = ‘K’AND 
                             MSEG- LIFNR = 特殊库存编号 AND 
                             MSEG- LGORT = 仓库编号
     
    *   b、取得EINE- NETPR (净价)、EINE- PEINH (价格单位),
    *      条件: EINE- INFNR = a中取得的信息记录  AND
                             EINE- EKORG = a中取得的采购组织 AND 
                              EINE- ESOKZ =’2’                             AND 
                              EINE- WERKS = 工厂代码
    *   c、总库存金额=库存数量*b中取得的净价/b中取得的价格单位;
    http://blog.sina.com.cn/sapliumeng
    本人常年接收SAP运维和远程项目,ECC,S/4HANA,CRM,WDA. 远程人天可谈,终身售后,有活请联系V信:18925782767(问问题免费,欢迎交流!) !!请关注本人技术分享公众号:SAP翔子(可扫头像二维码) 每天分享新知识,博客文章也会陆续整理并迁移至公众号,与您一起共同学习
  • 相关阅读:
    C++分数类
    2019 SDN大作业
    个人作业-软工实践总结
    2019 SDN上机第7次作业
    2019 SDN上机第6次作业
    2019 SDN课程阅读作业(2)
    个人作业--软件评测
    2019 SDN上机第5次作业
    2019 SDN上机第4次作业
    2019 SDN第一次阅读作业
  • 原文地址:https://www.cnblogs.com/rainysblog/p/14919984.html
Copyright © 2011-2022 走看看