Hola buen día a todos ! espero se encuentren excelente.
Solicito su ayuda para resolver un problema que ya llevo tiempo y no he podido, les agradecería mucho.
Tengo la siguiente query para visualizar el stock por lote con ubicación o sin ubicaciones a los almacenes que no aplica y con su costo promedio.
El tema aquí es que para el costo promedio estoy tomando la tabla OITW pero me esta duplicando el artículo en algunas ocasiones, al revisar el Help de SAP donde nos dice como se relacionan las tablas, parece que no existe una relación entre la OITW y la OBTQ. Alguien sabe que tabla puedo tomar para imprimir el costo sin que me duplique los registros?
SELECT DISTINCT
T0.ItemCode 'Código'
,T2.ItemName 'Artículo'
,T0.DistNumber 'Lote'
,t0.MnfSerial 'Atributo 1'
,t0.LotNumber 'Atributo 2'
/*Si Almacén tiene activo las ubicaciones, toma el almacén del acumulado de ubicaciones
Si no, toma el almacén de la tabla de lotes*/
,CASE
WHEN t8.BinActivat='N' THEN t1.Whscode
WHEN t8.BinActivat='Y' THEN t4.Whscode
END 'Almacén'
,CASE
WHEN t8.BinActivat='N' THEN ''
WHEN t8.BinActivat='Y' THEN T4.BinCode
END 'Ubicación'
,t7.AvgPrice 'Costo promedio'
,CASE
WHEN t8.BinActivat='N' THEN t1.Quantity
WHEN t8.BinActivat='Y' THEN t3.OnHandQty
END 'Stock'
from
OBTN T0
inner join OBTQ T1 on T0.ItemCode = T1.ItemCode AND T0.SysNumber = T1.SysNumber
inner join OITM T2 on T0.ItemCode = T2.ItemCode
inner join OITW t7 onT1.ItemCode = t7.ItemCode AND t7.WhsCode=t1.WhsCode
inner join OBBQ T3 on T0.ItemCode = T3.ItemCode AND T0.AbsEntry = T3.SnBMDAbs
inner join OBIN T4 on T3.BinAbs = T4.AbsEntry
inner join OWHS t8 on t8.WhsCode = t1.WhsCode
where
(CASE
WHEN t8.BinActivat='N' THEN t1.Quantity
WHEN t8.BinActivat='Y' THEN T3.OnHandQty
END) > 0
and
t1.Quantity > 0
and
t0.ItemCode='Articulo a buscar'
order by
T0.ItemCode