Dear Experts,
The below query give details of Item code, description, sales qty, transfer qty, total sales, receipts, closing qty, pending so qty, pending po qty, between two dates
Now the requirement is want to display only items for which sales happened between the given dates
Select T.ItemCode, t.ItemName,T.SWW 'Attribute ',T.U_Branch'Branch',
--CASE When T2.ItmsGrpNam ='--' Then 'Non-SKF' Else T2.ItmsGrpNam End 'Platform',
Sum(t.IssueQty) SalesQty,SUM(t.BIQty) 'Branch Transfer Qty',(Sum(t.IssueQty)+SUM(t.BIQty))'Total Sales',sum(t.OpenQty) OpenQty,
Sum(t.Receipts) Receipts,SUM(T.BRreceipts) 'Branch Transfer Receipt Qty',(Sum(t.Receipts)+SUM(T.BRreceipts))'Total Receipt ',
sum(t.ClosingQty) ClosingQty, SUM(t.OrderQty) 'Pending SO QTY', SUM(t.POQty) 'Pending PO QTY' From
(
--Opening Stock
Select A.ItemCode, B.ItemName,isnull(SUM(A.InQty),0)- isnull(SUM(A.outqty),0)OpenQty, SUM(A.Transvalue)OpenVal
,0 Receipts,0 ReceiptVal,0 IssueQty,0 IssueVal,0 ClosingQty,0 ClosingVal
, 0 BRreceipts, 0 BRvalue,0 BIQty,0 BIValue, 0 OrderQty, 0 Value, 0 POQty, 0 POValue,C.U_Branch,B.SWW
From OINM A
Inner join OITM B on A.ItemCode = B.ItemCode
Inner join OWHS C on C.WhsCode = A.Warehouse
Where A.DocDate < @FromDate and (isnull(C.U_Branch,'')=@Branch or @Branch='')
Group by A.ItemCode, B.ItemName,C.U_Branch,B.SWW
Union All
--Receipts ignoring branch transfer
Select A.ItemCode, B.ItemName,0 OpenQty, 0 OpenVal
,Sum(A.InQty) Receipts, SUM(A.Transvalue)ReceiptVal,0 IssueQty,0 IssueVal,0 ClosingQty,0 ClosingVal
, 0 BRreceipts, 0 BRvalue,0 BIQty,0 BIValue, 0 OrderQty, 0 Value, 0 POQty, 0 POValue,C.U_Branch,B.SWW
From OINM A
Inner join OITM B on A.ItemCode = B.ItemCode and A.InQty > 0
Inner join OWHS C on C.WhsCode = A.Warehouse
Where A.TransType in ('20','18','69') and A.DocDate >= @FromDate and A.DocDate <= @ToDate and (isnull(C.U_Branch,'')=@Branch or @Branch='')
Group by A.ItemCode, B.ItemName,C.U_Branch,B.SWW
Union All
--Purchase Cancellations
Select A.ItemCode, B.ItemName,0 OpenQty, 0 OpenVal
,-Sum(A.OutQty) Receipts, SUM(A.Transvalue)ReceiptVal,0 IssueQty,0 IssueVal,0 ClosingQty,0 ClosingVal
, 0 BRreceipts, 0 BRvalue,0 BIQty,0 BIValue, 0 OrderQty, 0 Value, 0 POQty, 0 POValue,C.U_Branch,B.SWW
From OINM A
Inner join OITM B on A.ItemCode = B.ItemCode and A.OutQty > 0
Inner join OWHS C on C.WhsCode = A.Warehouse
Where A.TransType in ('19','21') and A.DocDate >= @FromDate and A.DocDate <= @ToDate and (isnull(C.U_Branch,'')=@Branch or @Branch='')
Group by A.ItemCode, B.ItemName,C.U_Branch,B.SWW
union all
---- Bringing value additions in purchase invoice and inventory travel
Select A.ItemCode, B.ItemName,0 OpenQty, 0 OpenVal
,0 Receipts, SUM(A.Transvalue)ReceiptVal,0 IssueQty,0 IssueVal,0 ClosingQty,0 ClosingVal
, 0 BRreceipts, 0 BRvalue,0 BIQty,0 BIValue, 0 OrderQty, 0 Value, 0 POQty, 0 POValue,C.U_Branch,B.SWW
From OINM A
Inner join OITM B on A.ItemCode = B.ItemCode
Inner join OWHS C on C.WhsCode = A.Warehouse
Where A.TransType in ('18','162') and A.DocDate >= @FromDate and A.DocDate <= @ToDate and A.InQty =0 and A.OutQty =0 and (isnull(C.U_Branch,'')=@Branch or @Branch='')
Group by A.ItemCode, B.ItemName,C.U_Branch,B.SWW
Union all
--Sales ignoring branch transfer
Select A.ItemCode, B.ItemName,0 OpenQty, 0 OpenVal
,0 Receipts, 0 ReceiptVal, SUM(A.Outqty) IssueQty, -SUM(A.TransValue) IssueVal,0 ClosingQty,0 ClosingVal
, 0 BRreceipts, 0 BRvalue,0 BIQty,0 BIValue, 0 OrderQty, 0 Value, 0 POQty, 0 POValue,C.U_Branch,B.SWW
From OINM A
Inner join OITM B on A.ItemCode = B.ItemCode
Inner join OWHS C on C.WhsCode = A.Warehouse
Where A.TransType in ('13') and A.DocDate >= @FromDate and A.DocDate <= @ToDate and A.OutQty >0 and (isnull(C.U_Branch,'')=@Branch or @Branch='')
Group by A.ItemCode, B.ItemName,C.U_Branch,B.SWW
Union all
--Sales creditnote
Select A.ItemCode, B.ItemName,0 OpenQty, 0 OpenVal
,0 Receipts, 0 ReceiptVal, -SUM(A.InQty) IssueQty, -SUM(A.TransValue) IssueVal,0 ClosingQty,0 ClosingVal
, 0 BRreceipts, 0 BRvalue,0 BIQty,0 BIValue, 0 OrderQty, 0 Value, 0 POQty, 0 POValue,C.U_Branch,B.SWW
From OINM A
Inner join OITM B on A.ItemCode = B.ItemCode
Inner join OWHS C on C.WhsCode = A.Warehouse
Where A.TransType in ('14') and A.DocDate >= @FromDate and A.DocDate <= @ToDate and A.InQty >0 and (isnull(C.U_Branch,'')=@Branch or @Branch='')
Group by A.ItemCode, B.ItemName,C.U_Branch,B.SWW
Union all
Select A.ItemCode, B.ItemName,0 OpenQty, 0 OpenVal
,0 Receipts, 0 ReceiptVal, 0 IssueQty, 0 IssueVal,isnull(SUM(A.InQty),0)-isnull(SUM(A.outqty),0) ClosingQty, SUM(A.Transvalue)ClosingVal
, 0 BRreceipts, 0 BRvalue,0 BIQty,0 BIValue, 0 OrderQty, 0 Value, 0 POQty, 0 POValue,C.U_Branch,B.SWW
From OINM A
Inner join OITM B on A.ItemCode = B.ItemCode
Inner join OWHS C on C.WhsCode = A.Warehouse
Where A.DocDate <= @ToDate and (isnull(C.U_Branch,'')=@Branch or @Branch='')
Group by A.ItemCode, B.ItemName,C.U_Branch,B.SWW
Union all
-- Branch Receipts
Select A.ItemCode, B.ItemName,0 OpenQty, 0 OpenVal
,0 Receipts, 0 ReceiptVal,0 IssueQty,0 IssueVal,0 ClosingQty,0 ClosingVal, SUM(A.inqty) BRreceipts, sum(A.TransValue) BRvalue
,0 BIQty,0 BIValue, 0 OrderQty, 0 Value, 0 POQty, 0 POValue,C.U_Branch,B.SWW
From OINM A
Inner join OITM B on A.ItemCode = B.ItemCode and A.InQty > 0
Inner join OWHS C on C.WhsCode = A.Warehouse
Where A.TransType in ('59','67') and A.DocDate >= @FromDate and A.DocDate <= @ToDate and (isnull(C.U_Branch,'')=@Branch or @Branch='')
Group by A.ItemCode, B.ItemName,C.U_Branch,B.SWW
Union all
-- Branch Isues
Select A.ItemCode, B.ItemName,0 OpenQty, 0 OpenVal
,0 Receipts, 0 ReceiptVal,0 IssueQty,0 IssueVal,0 ClosingQty,0 ClosingVal,0 BRreceipts, 0 BRvalue,
SUM(A.Outqty) BIQty, -SUM(A.TransValue) BIValue, 0 OrderQty, 0 Value, 0 POQty, 0 POValue,C.U_Branch,B.SWW
From OINM A
Inner join OITM B on A.ItemCode = B.ItemCode and A.OutQty > 0
Inner join OWHS C on C.WhsCode = A.Warehouse
Where A.TransType in ('60','67') and A.DocDate >= @FromDate and A.DocDate <= @ToDate and (isnull(C.U_Branch,'')=@Branch or @Branch='')
Group by A.ItemCode, B.ItemName,C.U_Branch,B.SWW
Union all
-- Open Order Value
Select A.ItemCode, B.ItemName,0 OpenQty, 0 OpenVal
,0 Receipts, 0 ReceiptVal,0 IssueQty,0 IssueVal,0 ClosingQty,0 ClosingVal,0 BRreceipts, 0 BRvalue,
0 BIQty, 0 BIValue, Sum(A.OpenCreQty) OrderQty, Sum(A.LineTotal) Value , 0 POQty, 0 POValue,D.U_Branch,B.SWW
From RDR1 A
Inner join OITM B on A.ItemCode = B.itemcode
inner join ORDR C on C.Docentry = A.DocEntry
Inner join OWHS D on D.WhsCode = A.WhsCode
Where C.DocDate >= @FromDate and C.DocDate <= @ToDate and (isnull(D.U_Branch,'')=@Branch or @Branch='') and A.LineStatus ='O'
Group by A.ItemCode, B.ItemName,D.U_Branch,B.SWW
-- Open Purchase Value
Union all
Select A.ItemCode, B.ItemName,0 OpenQty, 0 OpenVal
,0 Receipts, 0 ReceiptVal,0 IssueQty,0 IssueVal,0 ClosingQty,0 ClosingVal,0 BRreceipts, 0 BRvalue,
0 BIQty, 0 BIValue, 0 OrderQty, 0 Value , Sum(A.OpenCreQty) POQty, Sum(A.LineTotal) POValue,D.U_Branch,B.SWW
From POR1 A
Inner join OITM B on A.ItemCode = B.itemcode
inner join OPOR C on C.Docentry = A.DocEntry
Inner join OWHS D on D.WhsCode = A.WhsCode
Where C.DocDate >= @FromDate and C.DocDate <= @ToDate and (isnull(D.U_Branch,'')=@Branch or @Branch='') and A.LineStatus ='O'
Group by A.ItemCode, B.ItemName,D.U_Branch,B.SWW
) T
Inner join OITM t1 on t1.ItemCode = t.ItemCode
Inner join OITB T2 on T2.ItmsGrpCod = T1.ItmsGrpCod
Group by t.ItemCode, t.ItemName, t.U_Branch, T2.ItmsGrpNam, T1.U_Subgrp, T1.U_CustSpec,T.SWW
Regards,
Karthik B