Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member212181
Active Contributor

Hi All,

I am Unnikrishnan from India-Kerala State, having 5+ years of experience in SAP Business One.

Here I am posting some queries reports which may helpful for newcomers.

1. Detailed Sales Analysis


Declare @FDate DateTime, @TDate DateTime, @CardCode Varchar (20), @ItmGrpN Varchar (100),  @ItemCode Varchar (100)

Select @FDate = min(Q.Refdate) from OJDT Q where Q.Refdate >='[%0]'

Select @TDate = max(R.Refdate) from OJDT R where R.Refdate <='[%1]'

Select @CardCode = Min(S.CardCode) from OCRD S where S.CardCode like N'%[%3]%'

Select @ItmGrpN = Min(T.ItmsGrpNam) from OITB T where T.ItmsGrpNam like N'%[%4]%'

Select @ItemCode = Min(U.ItemCode) from OITM U where U.ItemCode like N'%[%5]%'

--Select @FDate, @TDate, @ItmGrpN, @ItemName

Select 'AR Invoice'[Type]

,case A.DocType When 'I' then 'Item' else 'Service' end[DocType]

,A.DocCur

,A.DocDate

, A.DocNum

,A.CardCode, C.CardName,D.GroupName[BP group]

,B.ItemCode

,Case A.DocType When 'I' then E.ItemName else B.Dscription end [ItemName/Description]

,B.Quantity[Quantity]

,B.Price

,B.Rate

, B.Currency[Price Currency]

,B.LineTotal- (B.LineTotal*isnull(A.DiscPrcnt,0)/100)[LineTotalLC],B.GrssProfit

,B.TotalFrgn- (B.TotalFrgn*isnull(A.DiscPrcnt,0)/100)[LineTotalFC]

,B.GTotalFC

,Case When B.SlpCode<>'-1' then F.SlpName

  When B.SlpCode='-1' and A.SlpCode<>'-1' then (Select M.SlpName from OSLP M where A.SlpCode = M.SlpCode) else '' end [Sales Person]

from OINV A

  Left Outer Join INV1 B on A.Docentry = B.DocEntry

  Left Outer Join OCRD C on A.CardCode = C.CardCode

  Left Outer Join OCRG D on C.GroupCode = D.GroupCode

  left outer join OITM E on B.ItemCode = E.ItemCode

  Left Outer Join OSLP F on B.SlpCode = F.SlpCode

  Left Outer Join OITB G on E.ItmsGrpCod = G.ItmsGrpCod

Where A.Canceled = 'N'

  and A.DocDate >=@FDate and A.DocDate  <=@TDate

  and D.GroupName Like N'%[%2]%'

  and C.CardCode  Like '%[%3]%'

  and (G.ItmsGrpNam Like N'%[%4]%' or G.ItmsGrpNam is null)

  and (B.ItemCode Like '%[%5]%' or B.ItemCode is null)

Union All

Select 'AR Credit Note'[Type]

,case A.DocType When 'I' then 'Item' else 'Service' end[DocType]

,A.DocCur

,A.DocDate

, A.DocNum

,A.CardCode, C.CardName,D.GroupName[BP group]

,B.ItemCode

,Case A.DocType When 'I' then E.ItemName else B.Dscription end [ItemName/Description]

, Case when B.NoInvtryMv ='Y' then 0 else -B.Quantity end [Quantity]

,B.Price

,B.Rate

, B.Currency [Price Currency]

,-B.LineTotal+ (B.LineTotal*isnull(A.DiscPrcnt,0)/100)[LineTotal],-B.GrssProfit

,-B.TotalFrgn+ (B.TotalFrgn*isnull(A.DiscPrcnt,0)/100)[LineTotalFC]

,-B.GTotalFC

,Case When B.SlpCode<>'-1' then F.SlpName

  When B.SlpCode='-1' and A.SlpCode<>'-1' then (Select M.SlpName from OSLP M where A.SlpCode = M.SlpCode) else '' end [Sales Person]

from ORIN A

  Left Outer Join RIN1 B on A.Docentry = B.DocEntry

  Left Outer Join OCRD C on A.CardCode = C.CardCode

  Left Outer Join OCRG D on C.GroupCode = D.GroupCode

  left outer join OITM E on B.ItemCode = E.ItemCode

  Left Outer Join OSLP F on B.SlpCode = F.SlpCode

  Left Outer Join OITB G on E.ItmsGrpCod = G.ItmsGrpCod

Where A.Canceled = 'N'

  and A.DocDate >=@FDate and A.DocDate  <=@TDate

  and D.GroupName Like N'%[%2]%'

  and C.CardCode  Like '%[%3]%'

  and (G.ItmsGrpNam Like N'%[%4]%' or G.ItmsGrpNam is null)

  and (B.ItemCode Like '%[%5]%' or B.ItemCode is null)

Order BY 3

2. Sales Order to AR Invoice Tracking

Select A.DocNum[SO No], A.DocEntry [SO DocEntry], A.DocDate [SO DocDate], H.ItmsGrpNam, G.FrgnName, G.ItemCode, G.ItemName

  , D.DocDate [DC Date], D.DocNum [DC No], F.DocDate [Invoice Date], F.DocNum [Invoice No]

From ORDR A

  Inner Join RDR1 B on A.docEntry = B.DocEntry

  left Outer Join DLN1 C on C.BaseType = 17 and C.BaseEntry = B.DocEntry and C.BaseLine = B.LineNum

  left Outer Join ODLN D on C.docEntry = D.DocEntry and D.Canceled = 'N'

  left Outer Join INV1 E on E.BaseType = 15 and E.BaseEntry = C.DocEntry and E.BaseLine = C.LineNum

  left Outer Join OINV F on E.docEntry = F.DocEntry  and F.Canceled = 'N'

  Inner Join OITM G on B.ItemCode = G.ItemCode

  Inner Join OITB H on G.ItmsGrpCod = H.ItmsGrpCod

Where A.DocDate >=[%0]

  and A.DocDate <=[%1]

3. Approval Process tracking for AP Down payment request

SELECT T5.U_NAME "RequestedBy"

,T6."U_NAME" "Originator"

, T0."DocNum", T0."DocStatus", T0."DocDate"

,T13.U_Name [Authorized By]

FROM ODPO T0 

Left Outer Join ODRF T4 ON T0.[draftKey] = T4.[DocEntry] and T4.ObjType = 204

Left Outer Join OUSR T5 on T4.UserSign = T5.USERID

LEFT oUTER jOIN OUSR T6 on T0.UserSign = T6.USERID

Left Outer Join OWDD T11 on T11.ObjType = 204and T11.DocEntry = T0.DocEntry

Left Outer join  WDD1 T12 on T12.WddCode= T11.WddCode and T12.Status='Y'

LEFT oUTER jOIN OUSR T13 on T12.UserID = T13.USERID

WHERE T0."CANCELED"='N'

Order By T0."DocDate", T0."DocNum"

4. Comparision of AP Invoice Price with PO Price

SELECT  T0.DocDate,T0.NumAtCard,T0.DocNum,O1.CardName,T1.ItemCode, I1.ItemName,T4.Price [POrate],T1.Price [AP Invoice Rate],(T4.Price-T1.Price) Diff

FROM OPCH T0

inner join PCH1 T1 ON T0.[DocEntry]=T1.[DocEntry]

Inner Join OCRD O1 on T0.CardCode = O1.CardCode

Inner Join OITM I1 on T1.ItemCode = I1.ItemCode

inner join  PDN1 T2 ON T1.BaseType = 20 and T1.[BaseEntry]=T2.[DocEntry] AND T1.BaseLine = T2.LineNum

inner JOIN OPDN T3 ON T3.[DocEntry]=T2.[DocEntry]

inner JOIN POR1 T4 ON T2.BaseType = 22 and T2.[BaseEntry]=T4.[DocEntry] AND T2.BaseLine = T4.LineNum

inner JOIN OPOR T5 ON T4.[DocEntry]=T5.[DocEntry]

Where T0.DocDate >=[%0] and T0.DocDate <=[%1]

5. Stock Ledger

Declare @FDate DateTime, @TDate DateTime, @Whs Varchar (10)

Select @FDate = Min(AA.DocDate) from OINM AA Where AA.DocDate>=[%0]

Select @TDate = Max(AB.DocDate) from OINM AB Where AB.DocDate<=[%1]

Select @Whs = Max(AC.Warehouse) from OINM AC Where AC.Warehouse Like '%[%2]%'

Set @FDate = '[%0]'

Set @TDate = '[%1]'

;WITH STKLOG AS

(

Select A.ItemCode[Item_Code], B.ItemName[Item_Name],A.Warehouse[Warehouse_Code]

  ,0[OB_Qty]

  ,0[OB_Value]

  ,Sum(A.InQty)[ReceiptQty]

  ,Case When A.TransValue>0 then Sum(A.TransValue) else 0 end [ReceiptValue]

  ,Sum(A.OutQty)[OutQty]

  ,Case When A.TransValue<=0 then Sum(A.TransValue) else 0 end [OutValue]

  ,0[Cls_Qty]

  ,0[Cls_Value]

from dbo.OINM A

  Inner Join OITM B on A.ItemCode = B.ItemCode

Where A.DocDate>=@FDate and A.DocDate<=@TDate and A.Warehouse Like '%[%2]%'

Group By A.ItemCode, B.ItemName,A.Warehouse, A.TransValue

Union All

SELECT T0.ItemCode[Item_Code], T1.ItemName[Item_Name], T0.Warehouse[Warehouse_Code]

  ,Case When T0.DocDate <@FDate then Sum(T0.InQty-T0.OutQty) else 0 end [OB_Qty]

  ,Case When T0.DocDate <@FDate then Sum(T0.TransValue) else 0 end [OB_Value]

  ,0[ReceiptQty]

  ,0[ReceiptValue]

  ,0[OutQty]

  ,0[OutValue]

  ,Case When T0.DocDate <=@TDate then Sum(T0.InQty-T0.OutQty) else 0 end [Cls_Qty]

  ,Case When T0.DocDate <=@TDate then Sum(T0.TransValue) else 0 end [Cls_Value]

FROM OINM T0 

  INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode

WHERE T0.DocDate <=@TDate and T0.Warehouse Like '%[%2]%'

GROUP BY T0.[ItemCode], T1.ItemName, T0.Warehouse, T0.DocDate

)

----

Select @FDate[From Date], @TDate [To Date]

  , STKLOG.Item_Code

  , STKLOG.Item_Name, STKLOG.Warehouse_Code

  ,Sum(STKLOG.OB_Qty)[OBQTY]

  ,Sum(STKLOG.OB_Value)[OBValue]

  ,Sum(STKLoG.ReceiptQty)[RecQty]

  , Sum(STKLOG.ReceiptValue)[RecValue]

  ,Sum(STKLoG.OutQty)[OutQty]

  ,Sum(STKLOG.OutValue)[OutValue]

  ,Sum(STKLOG.Cls_Qty)[ClsQty], Sum(STKLOG.Cls_Value)[ClsValue]

From STKLOG

group By STKLOG.Item_Code, STKLOG.Item_Name, STKLOG.Warehouse_Code

------------------------

Please share your feedback

Thanks

Unnikrishnan

21 Comments
Labels in this area