Estimado Alejandro, te agradezco todo el apoyo, tal vez no me supe dar a entender, voy a poner el query y una imagen de como resulta la consulta pues ya se logro que nos muestre la informacion como se queria.
Aqui el query.
ALTER proc XXXXX
@coduen varchar(max),
@periodo varchar(max)
as
begin
DROP TABLE dbo.UniUen
CREATE TABLE UniUen
(
AcctCode int,
AcctName varchar(max),
ConMed numeric(19,8),
Lab numeric(19,8),
Rad numeric(19,8),
Pat numeric(19,8),
ProAmb numeric(19,8),
ProCir numeric(19,8),
PrOdon numeric(19,8),
Hospit numeric(19,8),
Farm numeric(19,8),
PlaFam numeric(19,8),
otros numeric(19,8),
)
insert into UniUen (acctcode,acctname)
select distinct
T2.AcctCode,
T2.AcctName
from JDT1 T1
inner join OJDT T0 on T0.TransId = T1.TransId
inner join OACT T2 on T1.Account = T2.AcctCode
inner join oocr T4 on T1.profitcode = T4.ocrcode
left join ocr1 T5 on T4.ocrcode = T5.ocrcode
left join OFPR T3 on T1.FinncPriod = T3.AbsEntry
where (T4.OcrCode = @coduen or T5.prccode = @coduen) and T0.TransId = T1.TransId and T1.Account = T2.AcctCode and t3.Code = @periodo
group by T2.AcctCode,T2.AcctName
order by T2.AcctCode
declare @cuenta int
declare @nombrecuenta varchar(80)
declare @profit varchar(18)
declare @linuen varchar(18)
declare @ccosto varchar(18)
declare @saldo numeric(19,8)
declare unineg cursor
for
select distinct
T2.AcctCode,
T2.AcctName,
t1.profitcode,
t4.u_biz_lin_uen,
T1.ocrcode2,
sum(T1.Debit-T1.Credit)as 'Saldo'
from JDT1 T1
inner join OJDT T0 on T0.TransId = T1.TransId
inner join OACT T2 on T1.Account = T2.AcctCode
inner join oocr T4 on T1.profitcode = T4.ocrcode
left join ocr1 T5 on T4.ocrcode = T5.ocrcode
left join OFPR T3 on T1.FinncPriod = T3.AbsEntry
where (T4.OcrCode = @coduen or T5.prccode = @coduen) and T0.TransId = T1.TransId and T1.Account = T2.AcctCode and t3.Code = @Periodo
group by T2.AcctCode,T1.profitcode,T1.ocrcode2, T2.AcctName,T4.OcrCode,T4.u_biz_lin_uen
order by T2.AcctCode, T1.profitcode
OPEN unineg
fetch next from unineg
into @cuenta,@nombrecuenta,@profit,@linuen,@ccosto,@saldo
while @@FETCH_STATUS = 0 begin
update UniUen
set AcctCode = @cuenta,
AcctName = @nombrecuenta,
ConMed = (case when @linuen = '01' then @saldo else 0 end),
Lab = (case when @linuen = '10' then @saldo else 0 end),
Rad = (case when @linuen = '11' then @saldo else 0 end),
Pat = (case when @linuen = '12' then @saldo else 0 end),
ProAmb = (case when @linuen = '20' then @saldo else 0 end),
ProCir = (case when @linuen = '21' then @saldo else 0 end),
PrOdon = (case when @linuen = '22' then @saldo else 0 end),
Hospit = (case when @linuen = '30' then @saldo else 0 end),
Farm = (case when @linuen = '40' then @saldo else 0 end),
PlaFam = (case when @linuen = '50' then @saldo else 0 end),
otros = (case when @linuen = '90' then @saldo else 0 end)
where AcctCode = @cuenta
fetch next from unineg
into @cuenta,@nombrecuenta,@profit,@linuen,@ccosto,@saldo
end
CLOSE unineg
DEALLOCATE unineg
select * from UniUen
end
Con esto consegui la estructura en la imagen y los resultados esperados.
Una pegunta... aca me permite elegir una unidad de negocio y me muestra sus resultados, como podria hacer que me muestre el total de todas las lineas de negocio de todas las unidades. Se puede poner un parametro que sea tal vez 'Todos' y que me de solo los totales? Como hacerlo?
Gracias