Buenas, tengo esta consulta:
En SAP hay un reporte llamado “Analisis de ventas por articulos”, este reporte trae (Numero de articulo, descripcion, cantidad, importe ventas, ganancia bruta, % ganancia bruta).
Lo que esta pidiendo el usuario es algo parecido, numero articulo, descripcion, cantidad, Precio, costo, Ganancia Bruta (Esta ganancia bruta tendria el mismo efecto que el margen de centro de beneficio, aqui seria la resta del precio de cada producto - el costo de los mismos), y el % de esa ganancia que iria con respecto al costo.
Aplico esta Query pero me genera el siguiente error:
1). [SAP AG][LIBODBCHDB32 DLL][HDBODBC32] Syntax error or access violation;257 sql syntax error: incorrect syntax near “Codigo”: line 1 col 18 ‘Valores definidos por usuario’ (CSHS) (at pos 18)
¿sabriais decirme cual es el error?
`SELECT A.ItemCode'Codigo', A.ItemName'Nombre Item', SUM(Cantidad)'Cantidad', SUM(Ventas)'Ventas', SUM(Costos)'Costos', SUM(Ganancia)'Ganancia Bruta', (SUM(A.Ganancia)/SUM(A.Ventas))*100 '%Ganancia'
FROM (
SELECT DISTINCT T0.ItemCode, T0.ItemName,
ISNULL((SELECT SUM(Y.Quantity) FROM OINV Z INNER JOIN INV1 Y ON Y.DocEntry=Z.DocEntry WHERE Z.DocDate BETWEEN '[%0]' AND '[%1]' AND Y.ItemCode=T0.ItemCode),0)'Cantidad',
ISNULL((SELECT SUM(Y.Quantity*Y.Price) FROM OINV Z INNER JOIN INV1 Y ON Y.DocEntry=Z.DocEntry WHERE Z.DocDate BETWEEN '[%0]' AND '[%1]' AND Y.ItemCode=T0.ItemCode),0)'Ventas',
ISNULL((SELECT SUM(Y.Quantity*Y.GrossBuyPr) FROM OINV Z INNER JOIN INV1 Y ON Y.DocEntry=Z.DocEntry WHERE Z.DocDate BETWEEN '[%0]' AND '[%1]' AND Y.ItemCode=T0.ItemCode),0)'Costos',
ISNULL((SELECT SUM(Y.Quantity*Y.Price)-SUM(Y.Quantity*Y.GrossBuyPr) FROM OINV Z INNER JOIN INV1 Y ON Y.DocEntry=Z.DocEntry WHERE Z.DocDate BETWEEN '[%0]' AND '[%1]' AND Y.ItemCode=T0.ItemCode),0)'Ganancia'
FROM OITM T0
UNION ALL
SELECT DISTINCT T0.ItemCode, T0.ItemName,
ISNULL((SELECT -SUM(Y.Quantity) FROM ORIN Z INNER JOIN INV1 Y ON Y.DocEntry=Z.DocEntry WHERE Z.DocDate BETWEEN '[%0]' AND '[%1]' AND Y.ItemCode=T0.ItemCode),0)'Cantidad',
ISNULL((SELECT -SUM(Y.Quantity*Y.Price) FROM ORIN Z INNER JOIN INV1 Y ON Y.DocEntry=Z.DocEntry WHERE Z.DocDate BETWEEN '[%0]' AND '[%1]' AND Y.ItemCode=T0.ItemCode),0)'Ventas',
ISNULL((SELECT -SUM(Y.Quantity*Y.GrossBuyPr) FROM ORIN Z INNER JOIN INV1 Y ON Y.DocEntry=Z.DocEntry WHERE Z.DocDate BETWEEN '[%0]' AND '[%1]' AND Y.ItemCode=T0.ItemCode),0)'Costos',
ISNULL((SELECT -SUM(Y.Quantity*Y.Price)+SUM(Y.Quantity*Y.GrossBuyPr) FROM ORIN Z INNER JOIN INV1 Y ON Y.DocEntry=Z.DocEntry WHERE Z.DocDate BETWEEN '[%0]' AND '[%1]' AND Y.ItemCode=T0.ItemCode),0)'Ganancia'
FROM OITM T0
) AS A
WHERE A.Cantidad != 0 AND A.Ventas != 0 AND A.Costos != 0 AND A.Ganancia != 0
GROUP BY A.ItemCode, A.ItemName
ORDER BY 1`