¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como inverter as colunas em um relatório SAP de demonstração de resultados para mostrar os centros de custo à direita.

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 Vistas
0
Cargando...

Olá a todos

Temos esta consulta que gentilmente me passaram algum tempo atrás, onde me traz os dados do relatório nativo de SAP de perdas e ganhos. Ele nos mostra à direita os meses e em colunas os centros de custo, mas gostaríamos ao contrário, que nas colunas à direita apareçam os centros de custo e possamos escolher o mês e o ano. Alguém poderia nos dizer como seria? Obrigado pela ajuda, cumprimentos.

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 [Jan],

[2] as [Fev],

[3] as [Mar],

[4] as [Abr],

[5] as [Mai],

[6] as [Jun],

[7] as [Jul],

[8] as [Ago],

[9] as [Set],

[10] as [Out],

[11] as [Nov],

[12] as [Dez]

FROM (

SELECT

T1.FormatCode 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 1 AND 8

GROUP BY T1.FormatCode, 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]

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Obrigado Juan Carlos

Funcionou perfeitamente

Saudações

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

É quando um centro de custo não foi selecionado... Você pode alterar o @ por outro texto (Sem CC, A definir, etc), fazendo isso na linha 7 da query que eu te passei.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Juan Carlos

Obrigado pelo seu contributo, ao revisar, a que se refere a coluna @ esses dados?

Saudações

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Victor, tente isso:


declare @CentroCusto como varchar(max)
declare @Consulta como varchar(max)
DECLARE @ANO nvarchar(4)
declare @Mes nvarchar(2)
SET @ANO = (SELECT A.Year FROM dbo.OACP A WHERE A.Year='[%0]')
SET @Mes = (select top 1 B.SubNum from dbo.OFPR B WHERE B.SubNum='[%1]')

set @CentroCusto= STUFF((Select distinct '],['span class="token punctuation">(+ isnull(T2.PrcName,'@') 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)=@ANO e month(T0.RefDate) = 2 E T1.GroupMask ENTRE 1 E 8
    GRUPO POR T1.FormatCode, T1.AcctName, T2.PrcName PARA XML CAMINHO('')),1,2,'') +']'

set @Consulta='selecionar * de (
  selecionar T1.FormatCode COMO Conta, T1.AcctName COMO Nome, isnull(T2.PrcName,''@'') COMO CCusto, SOMA(T0.Credit-T0.Debit) [CargoAbono]
  DE dbo.JDT1 T0
  INNER JOIN dbo.OACT T1 ON T1.AcctCode=T0.Account
  LEFT JOIN dbo
            
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?