Query entradas & salidas de artículos

Buenas tardes compañeros, me presento soy Oswaldo Castillo de la ciudad de Puebla, Mexico. Soy analista SAP Business One en una empresa, y me encuentro realizando un Query para saber cuantas veces entro y salió un articulo por rango de fechas. Pero aun no me queda porque anexo la fecha y no me la toma en cuenta a la hora de ejecutar el Query agradeceria mucho su apoyo.

SELECT distinct T0.[ItemCode], T0.[Dscription], T0.[Warehouse], T1.[OnHand], T0.[DocDate], ((select sum (InQty) from OINM where OINM.itemcode=T0.Itemcode )) as Entradas, ((select sum (OutQty) from OINM where OINM.itemcode=T0.Itemcode )) as Salidas FROM OINM T0 INNER JOIN OITM T1 ON T0.[ItemCode] = T1.[ItemCode] WHERE T0.[DocDate] >[%0] AND T0.[DocDate] <[%1]

Saludos.

1 me gusta

buenas tardes @OswaldoCasher, y bienvenido a esta gran comunidad. Saludos desde España. ¿cual es el problema de esta query? a mi me funciona bien

1 me gusta

Buenas tardes @joseramonsoli saludos desde México en efecto la Query no tienen ningún error, simplemente que yo le ingreso por ejemplo la fecha del 01/01/2021 al 31/01/2021, y en la suma de entradas y salidas no toma en cuenta esas fechas, la fecha que toma en en cuenta es desde que se creo el primero ingreso hasta la fecha del dia de hoy, yo lo que quiero es que pueda filtrar por fechas que le ingreso, espero haberme explicado un poco mejor.

1 me gusta

buenos días @OswaldoCasher, Estás usando SAP BO con HANA?

Buenos días @joseramonsoli es correcto estamos utilizando SAP BO con HANA.

Buen Día @OswaldoCasher

Lo que sucede es que en las subconsultas que tienes para sacar la suma de las entradas y las salidas, ahi no tienes definido un rango de fechas, por lo tanto esas subconsultas siempre te regresaran la suma de todos los registros existentes en la tabla OINM, prueba poniendo el mismo where en ambas subconsultas.

1 me gusta

Buen día @cdeleon, si lo he intentado y lo he metido de esta manera:

SELECT distinct T0.[ItemCode], T0.[Dscription], T0.[Warehouse], T1.[OnHand], T0.[DocDate], ((select sum (InQty) from OINM where OINM.itemcode=T0.Itemcode WHERE T0.[DocDate] >[%0] AND T0.[DocDate] <[%1] )) as Entradas, ((select sum (OutQty) from OINM where OINM.itemcode=T0.Itemcode WHERE T0.[DocDate] >[%0] AND T0.[DocDate] <[%1])) as Salidas FROM OINM T0 INNER JOIN OITM T1 ON T0.[ItemCode] = T1.[ItemCode]

Me podrías apoyar si tengo un error, te lo agradecería mucho.

Saludos.

Buenas Tardes

Te anexo el siguiente código que al parecer hace lo que necesitas, te muestra todos los artículos y revisa cuantas entradas y salidas tuvo en un periodo determinado.

SELECT T0.[ItemCode], T0.[ItemName], T0.[OnHand],
(SELECT sum(t10.inqty)
FROM oinm t10
WHERE t10.itemcode=t0.itemcode and t10.docdate between [%0] and [%1]
GROUP BY t10.itemcode) as entradas,
(SELECT sum(t10.outqty)
FROM oinm t10
WHERE t10.itemcode=t0.itemcode and t10.docdate between [%0] and [%1]
GROUP BY t10.itemcode) as salidas
FROM OITM T0

Este te saca todos los articulos, solo es cuestion lo depures, para que te muestre solo los que tengan movimientos.

1 me gusta

Muchísimas gracias @cdeleon de verdad te lo agradezco, y si funcionan tal cual lo necesitaba. Gracias por tu tiempo y en poder apoyarme.

Saludos cordiales.