Buenas tardes a todos, me llamo Alberto Fernández, soy usuario de SAP BO desde hace un año, creó que lo manejo de forma adecuada, las consulta (Query) me llaman mucho la atención, he hecho varias muy interesantes, en muchas me quedo detenidos por no obtener los resultados deseados, pero he consultado la comunidad SAP y he resulto varias, me han sido de mucha ayuda. Ahora recurro de forma personal con la siguiente consulta para obtener ayuda directa, es la primera vez y de ante mano agradezco cualquier ayuda que pueda recibir.
Tengo la siguiente Query de un Estado de Resultados, pero quiero obtener la suma de varias cuentas para su presentación, es decir, El costo de ventas se resumen con 9 cuentas contables y solo requiero que concentre el resultado de las nueve cuentas en la categoría que corresponde al costo de ventas.
La estructura es:
SELECT
T0.AcctCode 'Código',
Category, (CASE Category WHEN 1 THEN 'Ventas' WHEN 2 THEN 'Costo de Ventas' WHEN 3 THEN 'Fletes' WHEN 4 THEN 'Comisiones' WHEN 5 THEN 'Sueldos' WHEN 6 THEN 'Prestaciones' WHEN 7 THEN 'Rentas' WHEN 8 THEN 'Reparación y Mantenimiento' WHEN 9 THEN 'Energeticos' WHEN 10 THEN 'Gastos de Viaje' WHEN 11 THEN 'Telefonos' WHEN 12 THEN 'Gastos de Oficina' WHEN 13 THEN 'Honorarios' WHEN 14 THEN 'Cuotas' WHEN 15 THEN 'Depreciación' WHEN 16THEN 'Normas' WHEN 17 THEN 'Otros'
ELSE 'NOT INCLUDED' END) [Cuenta],
ROUND(Isnull((SELECT SUM(T3.Debit - T3.Credit) FROM OACT T2
INNER JOIN dbo.JDT1 T3 ON T3.Account = T2.AcctCode
WHERE T3.RefDate BETWEEN '20150101' AND '20150131' AND T3.Account LIKE T1.Account GROUP BY T2.AcctCode),0)/1000,0) 'Enero',
ROUND(Isnull((SELECT SUM(T3.Debit - T3.Credit) FROM OACT T2
INNER JOIN dbo.JDT1 T3 ON T3.Account = T2.AcctCode
WHERE T3.RefDate BETWEEN '20150201' AND '20150228' AND T3.Account LIKE T1.Account GROUP BY T2.AcctCode),0)/1000,0) 'Febrero',
ROUND(Isnull((SELECT SUM(T3.Debit - T3.Credit) FROM OACT T2
INNER JOIN dbo.JDT1 T3 ON T3.Account = T2.AcctCode
WHERE T3.RefDate BETWEEN '20150301' AND '20150331' AND T3.Account LIKE T1.Account GROUP BY T2.AcctCode),0)/1000,0) 'Marzo',
ROUND(Isnull((SELECT SUM(T3.Debit - T3.Credit) FROM OACT T2
INNER JOIN dbo.JDT1 T3 ON T3.Account = T2.AcctCode
WHERE T3.RefDate BETWEEN '20150401' AND '20150430' AND T3.Account LIKE T1.Account GROUP BY T2.AcctCode),0)/1000,0) 'Abril'
FROM OACT T0 INNER JOIN JDT1 T1 ON T1.Account = T0.AcctCode WHERE T1.RefDate BETWEEN '20150101' AND '20151231' AND T0.AcctCode BETWEEN '4' AND '7'
GROUP BY T0.AcctCode,Account,Category ORDER BY T0.Category,Account
Gracias su ayuda, quedo al pendiente.
Saludos desde