查询项目开闭数量

2020-09-29 22:51发布

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

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


你好

我已经创建了一个代码,该代码将在任何给定日期获取商品的开仓和平仓数量。 请修改下面的代码以获取当前日期,这样我就不会输入日期了。

声明@FromDate DateTime
 声明@ToDate DateTime
 声明@Group nvarchar(50)
 声明@Whscode nvarchar(50)
 设置@FromDate =(从OIVL S0中选择min(S0.Docdate),其中S0.Docdate> ='[%0]')
 设置@ToDate =(从OIVL s1中选择max(S1.Docdate),其中S1.Docdate <='[%1]')
 设置@Group =(从OITB S2中选择Max(S2.ItmsGrpNam),其中s2.ItmsGrpNam ='[库存物品]')
 设置@Whscode =(从OIVL S3中选择Max(S3.Loccode),其中s3.LocCode ='DAMMAM')
 选择T0.ItemCode,T1.ItemName,T1.InvntryUom AS'UNIT',
 SUM(当T0.DocDate <@FromDate然后是(ISNULL(T0.InQty,0)-ISNULL(T0.OutQty,0))ELSE 0 END)时为" OPENING QTY",
 SUM(ISNULL(T0.InQty,0)-ISNULL(T0.OutQty,0))作为"关闭数量"
 从OIVL T0
 左JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
 左连接OITB T2在T1.ItmsGrpCod = T2.ItmsGrpCod
 --T0。[DOCDATE]> ='[%0]'并且
 T0。[DOCDATE] <='[%1]'和T2.ItmsGrpNam ='库存物品'和T0.Loccode ='DAMMAM'
 按T0.ItemCode,T1.ItemName,T1.OnHand,T1.IsCommited,T1.OnOrder,T1.ItmsGrpCod,InvntryUom,T0.LocCode分组
 

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

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


你好

我已经创建了一个代码,该代码将在任何给定日期获取商品的开仓和平仓数量。 请修改下面的代码以获取当前日期,这样我就不会输入日期了。

声明@FromDate DateTime
 声明@ToDate DateTime
 声明@Group nvarchar(50)
 声明@Whscode nvarchar(50)
 设置@FromDate =(从OIVL S0中选择min(S0.Docdate),其中S0.Docdate> ='[%0]')
 设置@ToDate =(从OIVL s1中选择max(S1.Docdate),其中S1.Docdate <='[%1]')
 设置@Group =(从OITB S2中选择Max(S2.ItmsGrpNam),其中s2.ItmsGrpNam ='[库存物品]')
 设置@Whscode =(从OIVL S3中选择Max(S3.Loccode),其中s3.LocCode ='DAMMAM')
 选择T0.ItemCode,T1.ItemName,T1.InvntryUom AS'UNIT',
 SUM(当T0.DocDate <@FromDate然后是(ISNULL(T0.InQty,0)-ISNULL(T0.OutQty,0))ELSE 0 END)时为" OPENING QTY",
 SUM(ISNULL(T0.InQty,0)-ISNULL(T0.OutQty,0))作为"关闭数量"
 从OIVL T0
 左JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
 左连接OITB T2在T1.ItmsGrpCod = T2.ItmsGrpCod
 --T0。[DOCDATE]> ='[%0]'并且
 T0。[DOCDATE] <='[%1]'和T2.ItmsGrpNam ='库存物品'和T0.Loccode ='DAMMAM'
 按T0.ItemCode,T1.ItemName,T1.OnHand,T1.IsCommited,T1.OnOrder,T1.ItmsGrpCod,InvntryUom,T0.LocCode分组
 
付费偷看设置
发送
7条回答
CJones
1楼-- · 2020-09-29 23:09

请帮助。

谢谢

哎,真难
2楼-- · 2020-09-29 23:20

嗨。

感谢您提供验证码。 由于错误而无法执行代码。 并尽可能删除date参数,因为我只想在一天之内查询开仓和平仓数量。 原因是我将其放置在Alert中,因此它将自动运行。

歪着头看世界
3楼-- · 2020-09-29 23:07

您好,请使用此查询获取该物料的期末存货。

声明@FromDate日期时间声明@ToDate日期时间声明@Whse nvarchar(10)从dbo.OINM S0中选择@FromDate = min(S0.Docdate),其中S0.Docdate> ='[%0]选择@ToDate = max( dbo.OINM s1中的S1.Docdate),其中S1.Docdate <= [%1]从dbo.OINM S2中选择@Whse = Max(s2.Warehouse),其中S2.Warehouse ='[%2]'选择@Whse作为' Warehouse',a.Itemcode,max(a.Dscription)作为ItemName,sum(a.OpeningBalance)作为OpeningBalance,sum(a.INq)作为'IN',sum(a.OUT)作为OUT,(((sum .OpeningBalance)+ sum(a.INq))-Sum(a.OUT))作为结束,(从OITM i选择i.InvntryUom,其中i.ItemCode = a.Itemcode)作为UOM从(选择N1.Warehouse,N1。 Itemcode,N1.Dscription,(sum(N1.inqty)-sum(n1.outqty))作为OpeningBalance,0作为INq,0作为OUT从dbo.OINM N1其中N1.DocDate <@FromDate和N1.Warehouse = @Whse 按N1.Warehouse分组,N1.ItemCode,N1.Dscription联合全部选择N1.Warehouse,N1.Itemcode,N1.Dscription,0作为OpeningBalance,sum(N1.inqty),0作为OUT从dbo.OINM N1其中N1。 DocDate> = @FromDate和N 1.DocDate <= @ToDate和N1.Inqty> 0和N1.Warehouse = @Whse按N1.Warehouse,N1.ItemCode,N1.Dscription联合分组全部选择N1.Warehouse,N1.Itemcode,N1.Dscription,0作为 OpeningBalance,0,sum(N1.outqty)as d从dbo.OINM N1输出,其中N1.DocDate> = @FromDate和N1.DocDate <= @ ToDate并且N1.OutQty> 0和N1.Warehouse = @Whse按N1分组。 Warehouse,N1.ItemCode,N1.Dscription)a,dbo.OITM I1其中a.ItemCode = I1.ItemCode按a.Itemcode分组,具有sum(a.OpeningBalance)+ sum(a.INq)+ sum(a.OUT) > 0按a.Itemcode排序

绿领巾童鞋
4楼-- · 2020-09-29 22:58

嗨,

谢谢您的帮助,但查询返回零。 没有信息出来。 它说没有选择标准的数据。 我要过滤掉的物料组是DAMMAM仓库下的"库存物料"

宇峰科技
5楼-- · 2020-09-29 23:01

嗨,

我删除了date参数,此查询将生成所有仓库截至当前系统日期的期初和期末库存

声明@FromDate日期时间声明@ToDate日期时间声明@Whse nvarchar(10)从dbo.OINM S0中选择@FromDate = min(S0.Docdate),其中S0.Docdate> = getdate()选择@ToDate = max(S1。 dbo.OINM s1中的Docdate),其中S1.Docdate <= getdate()选择@Whse作为'Warehouse',选择a.Itemcode,将max(a.Dscription)作为ItemName,将sum(a.OpeningBalance)作为OpeningBalance,将sum(a。 INq)作为'IN',sum(a.OUT)作为OUT,(((sum(a.OpeningBalance)+ sum(a.INq))-Sum(a.OUT))作为Closing,(从OITM中选择i.InvntryUom i其中i.ItemCode = a.Itemcode)作为UOM从(选择N1.Warehouse,N1.Itemcode,N1.Dscription,(sum(N1.inqty)-sum(n1.outqty))作为OpeningBalance,0作为INq,0 从dbo.OINM N1输出为OUT,其中N1.DocDate <@FromDate由N1.Warehouse,N1.ItemCode,N1.Dscription联合分组全部选择N1.Warehouse,N1.Itemcode,N1.Dscription,0作为OpeningBalance,sum(N1。 inqty),0作为OUT From dbo.OINM N1其中N1.DocDate> = @FromDate和N1.DocDate <= @ToDate和N1.Inqty> 0按N1.Warehouse,N1.ItemCode,N1.Dscription联合所有 选择N1.Warehouse,N1.Itemcode,N1.Dscription,0作为OpeningBalance,0,sum(N1.outqty)作为OUT从dbo.OINM N1其中N1.DocDate> = @FromDate和N1.DocDate <= @ ToDate和N1 .OutQty> 0按N1.Warehouse分组,N1.ItemCode,N1.Dscription)a,dbo.OITM I1其中a.ItemCode = I1.ItemCode按具有sum(a.OpeningBalance)+ sum(a.INq )+ sum(a.OUT)> 0按a.Itemcode排序

灬番茄
6楼-- · 2020-09-29 23:12

嗨,

在SQL Server中,使用GETDATE()获取当前日期。/p>

ie设置@ToDate = GETDATE()

关于

Edy

一周热门 更多>