Informe Perdidas y ganancias por centro de costo

Hola, me acaba de pedir el area de contraloria, desarrollar, el informe de estado de perdidas y ganancias pero por centro de costo, y la verdad no se ni como empezar, solo he realizado reportes sencillos en crystal u consultas mediante el query manager

Alguien ha desarrollado algo asi?

alguna sugerencia

1 me gusta

Ya existe ese reporte, es nativo de SAP, solo es necesario dar clic en ampliado y seleccionar el centro o los centros, dependerá de las dimensiones que tengas configuradas la manera en como se mostrará.

2 Me gusta

Utiliza las tablas:
OACT Cuentas contables
OJDT Encabezado de asiento
JDT1 Líneas de asiento
OOCR Norma de reparto
OCR1 Filas de Norma de reparto para extraer el factor.
OPRC si deseas que la variable de emisión sea el nombre de la norma de reparto…

1 me gusta

Gracias, por tu respuesta efectivamente, ya existe pero el area de contraloria quiere que salga directo, sin seleccionar los centro de costos, por ejemplo

Numero de cuenta Descripcion CC 1 % CC2 % CC3 % Total Global Dif.

Y el angelito del contralor, piensa que solo es cambiar cualquier cosa y, no es asi!!!

1 me gusta

Pero que necesito, solo con una consulta del query manager, o tengo que armar un procedimiento almacenado, por eso digo no se ni como empezar

1 me gusta

Solo la consulta en el query manager

1 me gusta

Estimado, buscando un poco en la web se encuentra facilmente

DECLARE @ANIO SMALLINT
 
SET @ANIO = (SELECT A.Year FROM dbo.OACP A WHERE A.Year='[%0]')
 
SELECT 
	P.[Cuenta],
	P.[Nombre],
	P.[CCosto],
	[1] as [Ene],
	[2] as [Feb],
	[3] as [Mar],
	[4] as [Abr],
	[5] as [May],
	[6] as [Jun],
	[7] as [Jul],
	[8] as [Ago],
	[9] as [Sep],
	[10] as [Oct],
	[11] as [Nov],
	[12] as [Dic]
 
FROM (
	SELECT
		T0.Account AS Cuenta,
		T1.AcctName AS Nombre,
		T2.PrcName AS CCosto,
		MONTH(T0.RefDate)'Month',
		SUM(T0.Credit-T0.Debit)'CargoAbono'
 
	FROM dbo.JDT1 T0
	INNER JOIN dbo.OACT T1 ON T1.AcctCode=T0.Account
	LEFT JOIN dbo.OPRC T2 ON T2.PrcCode=T0.ProfitCode
 
	WHERE YEAR(T0.RefDate)=@ANIO AND T1.GroupMask BETWEEN 6 AND 8
	GROUP BY T0.Account, T1.AcctName, T2.PrcName,MONTH(T0.RefDate)
) P
 
PIVOT (
	SUM(CargoAbono)
	FOR [Month] IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])
) P
 
ORDER BY P.[Cuenta], P.[CCosto]

Saludos

Fuente: http://www.qualityinfosolutions.com/el-poder-del-pivot-2/

4 Me gusta

Ya lo revise… pero me marca error, ya que tengo sap on hana, de todas formas gracias por tu ayuda

1 me gusta

En sap hana no tienes la funcion pivot.
Debes hacer una subconsulta por mes

select A."AcctCode", A."AcctName", B."PrcCode", B."PrcName",
ifnull((select sum(C."Credit"-C."Debit") from JDT1 C where C."Account"=A."AcctCode" and C."ProfitCode"=B."PrcCode" and C."RefDate" between '20170101' and '20170131'),0) Ene2017
from OACT A
join OPRC B on 1=1
where A."GroupMask" between '6' and '8'

Saludos

4 Me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.