Buenas tardes estimado todos.
Estoy tratando de generar un query para un reporte de ventas por vendedor por grupo de articulo el cual nativamente SAP BUSINESS ONE únicamente por vendedor.
mi query esta obviando las facturas canceladas, las facturas creadas por cancelacion ( facturas de reversión) , notas de crédito canceladas , notas de crédito creadas por cancelación (notas de crédito de reversión)
--------------QUERY---
SELECT A.clave_articulo,A.DESCR, A.LIN_PROD,A.CLAVE_CLPV, A.PRECIO,A.MES, A.ANO,A.CLAVE_CLNOM[NOMBRE],a.VEND,SUM(A.CAJA)[CAJA], SUM(A.TOTAL)[TOTAL], A.CATEGORIA
FROM(
select t1.ItemCode[clave_articulo],t1.Dscription[DESCR],t5.FirmName[LIN_PROD],t0.CardCode[CLAVE_CLPV], t1.PriceBefDi[PRECIO], DATEPART(mm,t0.docdate)[MES],DATEPART(yyyy,t0.docdate)[ANO], t0.CardName[CLAVE_CLNOM] , t4.SlpName[VEND], t1.Quantity[CAJA], t1.LineTotal[TOTAL],t3.ItmsGrpNam[CATEGORIA]
from [productiva].[dbo].[oinv] t0 inner join [productiva].[dbo].inv1 t1 on t0.DocEntry= t1.DocEntry
inner join [productiva].[dbo].oitm t2 on t1.ItemCode = t2.ItemCode
INNER JOIN [productiva].[dbo].OITB T3 ON T3.[ItmsGrpCod] = T2.[ItmsGrpCod]
inner join [productiva].[dbo].oslp t4 on t4.SlpCode = t0.SlpCode
INNER JOIN [productiva].[dbo].OMRC T5 ON T5.[FirmCode] = T2.[FirmCode]
where t0.CANCELED = 'n' and t0.DocNum not in (SELECT distinct T0.[DocNum]
FROM [productiva].[dbo].OINV T0 INNER JOIN [productiva].[dbo].INV1 T1 ON T0.[DocEntry] = T1.[DocEntry]
WHERE T1.[BaseRef] in (SELECT a.docnum
FROM [productiva].[dbo].OINV a
WHERE a.[CANCELED] = 'y'))
UNION
select t1.ItemCode[clave_articulo],t1.Dscription,t5.FirmName,t0.CardCode, t1.PriceBefDi, DATEPART(mm,t0.docdate),DATEPART(yyyy,t0.docdate), t0.CardName , t4.SlpName, t1.Quantity*-1, t1.LineTotal*-1,t3.ItmsGrpNam
from [productiva].[dbo].oRIN t0 inner join [productiva].[dbo].RIN1 t1 on t0.DocEntry= t1.DocEntry
inner join [productiva].[dbo].oitm t2 on t1.ItemCode = t2.ItemCode
INNER JOIN [productiva].[dbo].OITB T3 ON T3.[ItmsGrpCod] = T2.[ItmsGrpCod]
inner join [productiva].[dbo].oslp t4 on t4.SlpCode = t0.SlpCode
INNER JOIN [productiva].[dbo].OMRC T5 ON T5.[FirmCode] = T2.[FirmCode]
where t0.CANCELED = 'n' and t0.DocNum not in (SELECT distinct T0.[DocNum]
FROM [productiva].[dbo].ORIN T0 INNER JOIN [productiva].[dbo].RIN1 T1 ON T0.[DocEntry] = T1.[DocEntry]
WHERE T1.[BaseRef] in (SELECT a.docnum
FROM [productiva].[dbo].ORIN a
WHERE a.[CANCELED] = 'y'))
) AS A
GROUP BY A.clave_articulo,A.DESCR, A.LIN_PROD,A.CLAVE_CLPV, A.PRECIO,A.MES, A.ANO,A.CLAVE_CLNOM,a.VEND, A.CATEGORIA
-----------FIN QUERY -------
Lastimosamente cuando hago una comparacion de montos con los resultados nativos del reporte ANÁLISIS DE VENTAS de SAP no cuadran.
Por favor si pueden darme una mano si el query esta mal o como debo sacar esta información teniendo en cuenta que tengo facturas y notas de crédito canceladas.
Gracias de antemano.