Ayuda SAP

Consulta sobre Query en SAP BO

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

La categoría de cuentas en Business One es OACT.ActType, sus valores: “I” para ingresos, “E” para gastos y “N” para cuentas de balance.

Si en vez de consulta sql, lo trabajas o generas con crystal reports, creo que sería más sencillo para obtener esos subtotales por grupos de cuentas o tipos que especificas.

Gracias meqs por tu respuesta, estoy buscando sumar estos grupos, porque deseo obtener un reporte que me compare las cifras del Mes, presupuesto y mes año anterior, así como los acumulados, es decir, un reporte que de la siguiente información:
Mes Años Anterior Presup Mes Descripción de cuentas Acum Pres Acum Año Ant Acum

Ya tengo la información, solo que no he podido totalizar las cuentas en las categorías mencionadas.

Saludos

Perdon por revivir este post que ya es viejo, porque no pruebas con tablas pivote?

Saludos

1 me gusta

Este tema se cerró por inactividad.

Copia la URL de este debate, y abre un nuevo tema en #feedback si:

  • El autor del debate no marcó ninguna respuesta como solución, y tú crees tener la solución
  • Crees tener otra solución a la que actualmente está marcada.

Si, en cambio tienes una duda parecida a la que se debatió, o la misma duda, abre un nuevo tema en la categoría que corresponda y pon que el tema se debatió oportunamente (pega el enlace a este debate), así los otros lectores pueden saber de qué hablas.

Ayúdanos a tener una comunidad organizada.