声明:本文仅代表原作者观点,版权归原作者所有 ;来源|51CTO博客
项目中取数逻辑的总结,不见得符合其他项目,仅作参考:
*&---------------------------------------------------------------------*
*& 不同类型库存存储位置
*&---------------------------------------------------------------------*
不同类型的库存存在于不同的表中,按如下逻辑遍历相关表取出库存数量不为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中取得的价格单位;
版权归原作者所有,如有侵权请联系删除。
免责声明:本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容!本文内容为原作者观点,并不代表本公众号赞同其观点和对其真实性负责。
分享是一种精神