可用库存的历史

2020-09-27 01:18发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 如何查找过去特定日期的可...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

如何查找过去特定日期的可用库存?

我知道过去任何日期的OnHand:

 SELECT LocType,LocCode,ItemCode,SUM(InQty-OutQty)[OnHand]
 从OIVL
 DocDate <='7/7/2017'
    AND ITEMCODE ='xyz'
 按LocType,LocCode,ItemCode分组

但是,这并不说明已提交的内容。 它显示的是手头上的东西,而不是实际可用的东西(OnHand-Committed = Available)。 那么,如何获得该日期的"可用"数字?

谢谢!

1条回答
d56caomao
2020-09-27 01:42 .采纳回答

其他可能需要此功能的人。 这将为您提供历史库存数量和成本。 只需输入商品代码和您要检查的日期即可。 如果您省略物料代码,它将返回所有物料的详细信息。


创建功能[dbo]。[ufnStockAndCostHistory]
 (
     @EndDate DATETIME,@ItemCode NVARCHAR(255)='全部'
 )
 退货表
 如
 返回
 (
     成本为(
         选择
             OINM.TransNum,
             OINM.ItemCode,
             OINM仓库,
             OINM.Balance,
             OINM.CreateDate
         从OINM(NOLOCK)
             在OITM.ItemCode = OINM.ItemCode上加入OITM(NOLOCK)
             在OITM.ItmsGrpCod = OITB.ItmsGrpCod上加入OITB(NOLOCK)
         在哪里OINM.CreateDate <= @EndDate

     ),
     FinalCostByWarehouse AS(
         选择 *
         从成本
         在哪里TransNum =(
             选择最大数(TransNum)
             FROM费用子项
             其中Cost.ItemCode = sub.ItemCode
                 AND Cost.Warehouse =子仓库)
     ),
     数量AS(
         选择
             OINM.ItemCode,
             OINM仓库,
             SUM(OINM.InQty)-SUM(OINM.OutQty)[数量]
         从OINM(NOLOCK)
             在OITM.ItemCode = OINM.ItemCode上加入OITM(NOLOCK)
             在OITM.ItmsGrpCod = OITB.ItmsGrpCod上加入OITB(NOLOCK)
         在哪里OINM.CreateDate <= @EndDate
         由OINM.Warehouse的OINM.ItemCode分组
     )
     选择
         OITW.ItemCode,
         OITW.WhsCode,
         c。余额[费用],
         q。数量[数量]
     来自OITW
         左联接FinalCostByWarehouse c OITW.ItemCode = c.ItemCode
             AND OITW.WhsCode = c。仓库
         左联接数量q ON OITW.ItemCode = q.ItemCode
             AND OITW.WhsCode = q。仓库
     在哪里(OITW.ItemCode = @ItemCode
         或@ItemCode ='全部')
         AND(ISNULL(c.Balance,0)> 0
             或ISNULL(q.qty,0)> 0)
 )

 

用法如下:

选择*
 FROM ufnStockAndCostHistory('9/15/2017','B107A-12HB')

谢谢

伊恩

一周热门 更多>