Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

problema consulta SQL de valor actualizado en SAP Bussiness One

Estas en el tema de problema consulta SQL de valor actualizado en SAP Bussiness One en el foro de SQL Server en Foros del Web. Estimados, Tengo un problema que no he podido resolver y me ha tomado mucho tiempo. Estoy haciendo un informe y necesito que me rescate el ...
  #1 (permalink)  
Antiguo 05/11/2010, 08:40
 
Fecha de Ingreso: noviembre-2010
Mensajes: 2
Antigüedad: 13 años, 5 meses
Puntos: 0
problema consulta SQL de valor actualizado en SAP Bussiness One

Estimados,
Tengo un problema que no he podido resolver y me ha tomado mucho tiempo. Estoy haciendo un informe y necesito que me rescate el ultimo valor del campo PrcAmount de la tabla OCR1 para obtener el valor del factor porcentual de la tabla OCR1 más actual para cada registro. Estoy haciendo una consulta para saber los costos por centro de beneficio y al tener asientos contables con una norma de reparto, me extrae todos los factores ingresados, pero yo necesito que me extraiga el más actual del campo PrcAmount de la tabla OCR1.
Sino hago esto, la consulta esta mala ya que en caso que exista mas de una actualizacion del valor porcentual(PrcAmount) de la tabla OCR1 para algun centro de beneficio(por ejemplo J1) sumaria mas de una vez en la linea "ELSE ((T1.Debit - T1.Credit) * T4.PrcAmount)/100"

Copio la consulta SQL. El problema esta en que se debe poner un where para que seleccione el PrcAmount con la fecha más actual y se resolvería el problema. El inconveniente es que no tengo mucha experiencia y no me toma la función para extraer el ultimo valor actualizado. De antemano muchas gracias.

SELECT
T0.RefDate
,T1.TransId
,T1.Account
,T2.FormatCode
,T2.AcctName
,T4.PrcCode
,max(T4.ValidFrom)
,T4.PrcAmount
,T5.GrpCode
,cast(isnull(t5.prcname,'') as varchar(100)) [PrcName]
,CASE
WHEN ISNULL(T1.ProfitCode,'') = '' THEN (T1.Debit - T1.Credit)
WHEN T4.PrcAmount = T4.OcrTotal THEN (T1.Debit - T1.Credit)
ELSE ((T1.Debit - T1.Credit) * T4.PrcAmount)/100
END [Saldo]
FROM OJDT T0
JOIN JDT1 T1 ON T1.TransId = T0.TransId
JOIN OACT T2 ON T2.AcctCode = T1.Account LEFT
JOIN OOCR T3 ON T3.OcrCode = T1.ProfitCode LEFT
JOIN OCR1 T4 ON T4.OcrCode = T3.OcrCode left
join OPRC t5 on t5.PrcCode = T4.PrcCode
WHERE T0.RefDate BETWEEN '20100901' AND '20100930' AND T4.PrcCode = 'J1'
group by T0.RefDate,T1.TransId,T1.Account,T2.FormatCode,T2. AcctName,T4.PrcCode,T5.GrpCode,T5.PrcName,T1.Profi tCode, T1.Debit, T1.Credit,T4.PrcAmount,T4.OcrTotal
  #2 (permalink)  
Antiguo 05/11/2010, 08:46
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: problema consulta SQL de valor actualizado en SAP Bussiness One

dbarraza que base de datos maneja sap bussiness one?

PrcAmount es de tipo fecha y necesitas la mas actual?

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 05/11/2010, 08:57
 
Fecha de Ingreso: noviembre-2010
Mensajes: 2
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: problema consulta SQL de valor actualizado en SAP Bussiness One

SAP en este servidor maneja sql server 2005.

PrcAmount es de tipo numerico.
ValidFrom es de tipo fecha.

Para explicarme aun mas.
Tabla OCR1
OcrCode-----PrcCode-----PrcAmount-----ValidFrom
Z7--------------J1----------5,40--------18/04/2009
Z7--------------J1----------5,90--------01/11/2009
Z7--------------J1----------5,90--------01/01/2010

Actualmente multiplica un asiento que tiene la norma de reparto Z7 por esos 3 valores de PrcAmount y los suma, algo que esta erroneo. Se requiere que rescate el ultimo valor de PrcAmount de la fecha mas reciente. Es decir que multiplique una sola vez el cargo por 5,90

No sé si me explique bien, cualquier duda a quienes me ayuden no duden en consultar.
  #4 (permalink)  
Antiguo 05/11/2010, 11:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Tema movido desde Bases de Datos a SQL Server
  #5 (permalink)  
Antiguo 05/11/2010, 12:01
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: problema consulta SQL de valor actualizado en SAP Bussiness One

Este tema, ya ha sido tratado en el foro, busca por "Ultimo registro"......
__________________
MCTS Isaias Islas

Etiquetas: registro, sap, sql, fechas, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:00.