¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Consulta de inventario: Código de artículo, nombre, presentación y movimientos mensuales

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 3 Vistas
0
Cargando...

Hola

¿Alguien me podría ayudar con una consulta de inventario de la siguiente manera?

Código artículo, nombre, presentación, saldo 31-12-2011, enero, febrero, marzo.

Agradeceré su respuesta.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Sandra,

Te envío el query que utilizamos para que lo pruebes, solicita código de bodega y fecha.

SELECT T0.[ItemCode] 'CÓDIGO SAP', T2.[ItemName] 'DESCRIPCIÓN', T2.SWW 'REF.FÁBRICA', T3.FIRMNAME 'MARCA',

(SELECT (SUM(Y.InQty) - SUM(Y.OutQty))

FROM OINM Y WHERE Y.ItemCode = T2.ItemCode AND Y.Warehouse = T1.WhsCode AND Y.DocDate BETWEEN '01/01/2001' AND '[%1]') 'STOCK', T1.[WhsCode] 'BODEGA', T1.WHSNAME 'NOMBRE BODEGA', (SELECT (SUM(Y.TransValue))

FROM OINM Y WHERE Y.ItemCode = T2.ItemCode AND Y.Warehouse = T1.WhsCode AND Y.DocDate BETWEEN '01/01/2001' AND '[%1]') 'Valor Acumulado'

FROM OITW T0

INNER JOIN OWHS T1 ON T0.WhsCode = T1.WhsCode

INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode

INNER JOIN OMRC T3 ON T2.FIRMCODE = T3.FIRMCODE

WHERE (SELECT (SUM(Y.InQty) - SUM(Y.OutQty)) FROM OINM Y WHERE Y.ItemCode = T2.ItemCode AND Y.Warehouse = T1.WhsCode AND Y.DocDate BETWEEN '01/01/2001' AND '[%1]' and (t0.whscode = [%2] OR t0.whscode = [%3] OR t0.whscode = [%4] OR t0.whscode = [%5] OR t0.whscode = [%6] OR t0.whscode = [%7] OR t0.whscode = [%8] OR t0.whscode = [%9] OR t0.whscode = [%10] OR t0.whscode = [%11] OR t0.whscode = [%12] OR t0.whscode = [%13])) != '0'

ORDER BY T0.[WhsCode], T0.[ItemCode]

Cuéntame cómo te va.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

He probado su consulta, pero es demasiado general y se sale de SAP.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

He intentado tu consulta, pero es demasiado general y se sale de SAP.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Prueba con este query, te comento que consta de 3 partes:

1.- Aquí se genera el reporte y te muestra el estado de tu stock en una fecha específica. (utiliza una tabla temporal que luego debe eliminarse).

SELECT T0.DocDate AS 'Fecha de contabilización',
T0.ItemCode AS 'Número de artículo',
t1.itemname AS 'Descripción', T2.ItmsGrpnam AS 'Grupo',
'Bod' AS 'Código de almacén',
CASE WHEN T0.InQty=0 OR T0.InQty IS NULL THEN T0.OutQty*-1 ELSE T0.InQty END AS 'Cantidad TRX',
T0.CalcPrice AS 'Costo',
CASE WHEN ((CASE WHEN T0.InQty=0 OR T0.InQty IS NULL THEN T0.OutQty*-1 ELSE T0.InQty END) * T0.CalcPrice) = 0 THEN ((CASE WHEN T0.InQty=0 OR T0.InQty IS NULL THEN T0.OutQty*-1 ELSE T0.InQty END) * T0.CalcPrice) ELSE T0.transvalue END AS 'Monto', T3.segment_0 AS 'Cuenta Stock', T3.AcctName AS 'Nombre Cuenta' INTO #TEMP
FROM dbo.OINM T0 INNER JOIN dbo.OITM T1 ON T0.ItemCode = T1.ItemCode INNER JOIN dbo.OITB T2 ON T1.ItmsGrpCod = T2.ItmsGrpCod INNER JOIN dbo.OACT T3 ON T2.BalInvntAc = T3.AcctCode
WHERE T0.DocDate <= '20110131'

2.- En esta sección visualizas lo generado en el reporte y guardado en la tabla temporal.

SELECT [Número de artículo], Descripción, Grupo, [Código de almacén], SUM([Cantidad TRX]) AS Cantidad, SUM(Monto) AS Valor, CAST ( CASE WHEN SUM(Monto)=0 OR SUM([Cantidad TRX])=0 THEN 0 ELSE SUM(Monto)/SUM([Cantidad TRX]) END AS NVARCHAR) AS 'Costo Promedio', [Cuenta Stock], [Nombre Cuenta]
FROM #TEMP
GROUP BY [Número de artículo], Descripción, [Código de almacén], [Cuenta Stock], [Nombre Cuenta], grupo

3.- Aquí simplemente eliminamos la tabla temporal, para que si deseas ejecutar nuevamente el query, esa tabla ya no exista.
--ELIMINAR TABLA TEMPORAL
USE TEMPDB
IF EXISTS(SELECT OBJECT_ID('tempdb..#Datos'))
BEGIN
--select 'Si Existe'
DROP TABLE #Temp
END
ELSE
BEGIN
SELECT 'No Existe'
END

ESPERO TUS COMENTARIOS.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?