on 2013 Apr 18 7:20 PM
Tengo una pregunta. quiero hacer una consulta donde me ponga el saldo inicial de cada cuenta, por decir algo, nivel 5. cual es su saldo inicial en X periodo anual.
Hay alguna manera de poder hacer esto??. y si la hay como?. yo se que cuando se cierra el periodo el saldo queda a 0. al menos asi me lo muestra el sistema. y se jala todo a las cuentas de arrastre.
Si pueden ayudarme les agradeceré mucho. no se si solo tengo por utilizar la tabla OACT, OJDT y JDT1. si saben cuales tablas más estan incluídas me ayudaría mucho.
Saludos.
Request clarification before answering.
Maria:
Lo que hay que tener claro son los tipos de transacciones, donde los de saldo inicial i final son -2 y -3. Entonces en la query seria bueno )no incluir este tipo de transacciones que seria al go asi:
select * from jdt1 where transtype not in (-2,-3)
Ahora si lo que deseas es el saldo inicial en un año x como por ejemplo 2012, tal vez no sea necesario filtrar estos movimientos seria algo asi como
select t1.acctcodes,um(t1.debit-t1.credit) from ojdt t0 inner join jdt1 t1 on t0.transid=t1.transid
where t0.refdate <'20111231' or (t0.refdate='20111231' and transtype <> -3)
group by t1.accctcode
dependiendo de que manera hacen los cierres, la query se podría ver modificada.
Tendrías que modificarla para que sea dinámica y le pases como parámetro el año
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
pues me quedo algo así.
ajaja error en acctcode que solo viene en el oact. en la version 2007 :s, no se si cambio en la 8.8, aunque tengo duda ese -2 y -3 a que se refiere?, si yo pongo el -3 la formula en el query manager me marca error si lo quito concuerda con el reporte de balance el saldo inicial.
SELECT
T10.[AcctCode],T10.FORMATCODE, T10.[AcctName],
T10
.[Finanse], T10.[Postable], T10.[Levels], T10.[FatherNum], T10.[CashBox],
T10
.[GroupMask], t11.saldo
FROM
[dbo].[OACT] T10
INNER
JOIN (
select
t1.accOUNT AS cuenta,sum(t1.debit-t1.credit) as saldo
from
ojdt t0 inner join jdt1 t1 on t0.transid=t1.transid
where
t0.refdate <'20111231' or (t0.refdate='20111231' /*and transtype <> -3*/)
group
by t1.accOUNT) AS T11 ON T10.ACCTCODE=T11.cuenta
El -2 son todos los asientos de saldo inicial que genera SAP y los -3 son todos los asientos de cierre que genera sap.
Estos movimientos se generan cuando se hacen los cierres.
En cuanto a la query que tienes donde dice transtype reemplázalo por t1.transtype.
En sisntesis lo que esta haciendo es sacar los asientos de cierre del año 2011. Si el año 2011 no esta cerrado no debieras tener problemas
Hola fernando ya le puse el -3. por cierto eso me da los saldos iniciales verdad, con que inicia mi periodo 2012. pero mi año 2011 esta cerrado por medio del cierre de periodo anual, entonces no debería de haber problema?¿?, me sale la info de ese saldo. Se supone que si hago un reporte del libro mayor me arroja ese saldo acumulado inicial para el siguiente periodo, esto es la forma en que cotejo, pero quiero saber que esta bien, ya que es un reporte en excel que me pide auditoría.
SELECT case when T10.FORMATCODE is null then t10.acctcode
else substring(t10.formatcode,1,5)+char(45)+substring(t10.formatcode,6,2)+char(45)+
substring(t10.formatcode,8,2)+char(45)+substring(t10.formatcode,10,2)
end as Numero, T10.[AcctName] as Descripcion, T10.[Levels] as Nivel, T10.[FatherNum] as Acumulativa,
case when T10.[Postable]='N' then 'A' else 'R' end 'Clase' , case when T10.[GroupMask]=1 then 'D'
when t10.groupmask=2 then 'A'
when t10.groupmask=3 then 'A'
When t10.groupmask=4 then 'A'
when t10.groupmask=5 then 'D'
when t10.groupmask=6 then 'D'
when t10.groupmask=7 then 'D'
When t10.groupmask=8 then 'A'
When t10.groupmask=9 then 'D' ELSE ''
end as Naturaleza,
case when T10.[GroupMask]=1 then 'A'
when t10.groupmask=2 then 'P'
when t10.groupmask=3 then 'C'
When t10.groupmask=4 then 'I'
when t10.groupmask=5 then 'CV'
when t10.groupmask=6 then 'G'
when t10.groupmask=7 then 'F'
When t10.groupmask=8 then 'O'
When t10.groupmask=9 then 'O' ELSE ''
end as Tipo,
t11.saldo
FROM [dbo].[OACT] T10
left JOIN (
select t1.accOUNT AS cuenta,sum(t1.debit-t1.credit) as saldo
from ojdt t0 inner join jdt1 t1 on t0.transid=t1.transid
where t0.refdate <'[%0]' or (t0.refdate='[%0]' and t1.transtype <> -3)
group by t1.accOUNT) AS T11 ON T10.ACCTCODE=T11.cuenta
order by CUENTA ASC,T10.LEVELS asc,T10.FATHERNUM ASC
Esta es la query final como me quedo, lo que yo necesitaba.
Hola Maria de los Ángeles, tu por Casualidad te ah tocada realizar un reporte de un detalle de cuenta con el saldo acumulado detallado, osea por linea?
Me están solicitando un reporte con ese campo detallado pero no logro sacarlo.
de antemano Gracias.
Utilizo la Versión SAP 8.82
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
pues probablemente esto te pueda servir.
[code]
SELECT T0.[TransId], T0.[TransType], T2.[FormatCode], T2.[AcctName], T1.[Line_ID], T1.[TransId], T1.[Debit], T1.[Credit], T1.[LineMemo], T1.[Ref3Line], T1.[RefDate], T1.[BalDueDeb]- T1.[BalDueCred] FROM OJDT T0 INNER JOIN JDT1 T1 ON T0.TransId = T1.TransId INNER JOIN OACT T2 ON T1.Account = T2.AcctCode WHERE t2.formatcode='[%0]'
[code]
ps algo así te debe de servir, el formatcode, agregas el código de la cuenta. y el T1.[BalDueDeb]- T1.[BalDueCred] te da el saldo de la cuenta en esa línea dentro de la transacción.
Salu2, esto es en la ersion 2007. no se en sap 8.8... puede que cambie un poquito.
User | Count |
---|---|
80 | |
12 | |
10 | |
5 | |
3 | |
3 | |
3 | |
2 | |
2 | |
2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.