Materiales faltantes en cada orden de fabricación

@GabrielGS quisiera saber como puedo traer en un query los datos de la tabla OITM Y OWOR para poder cruzar los materiales faltantes en cada orden de fabricación
gracias

tendría que permitirme exportar un excel mas o menos así


gracias

Hola :grin:

Prueba con esto:

SELECT 
	T0.ItemCode
	, T0.ItemName
	, T0.InvntryUom
	, T0.OnHand
	, T0.IsCommited as 'Comprometido'
	, T0.OnOrder as 'Solicitado'
	, (T0.OnHand - T0.IsCommited) as 'Faltante' 
	, T1.SolicitadoOP
	, T1.EntregadoOP
	, T1.RechazadoOP
	, (SolicitadoOP - EntregadoOP - RechazadoOP) as 'Faltante OP'
FROM 
	OITM T0 LEFT JOIN ( SELECT
							ItemCode
							,SUM(PlannedQty) as SolicitadoOP
							,SUM(CmpltQty) as EntregadoOP
							,SUM(RjctQty) as RechazadoOP
						FROM 
							OWOR
						WHERE
							Status != 'C'
						GROUP BY
							ItemCode
						) T1 ON T0.ItemCode = T1.ItemCode
WHERE
	(T0.[IsCommited] > (0 ) )
	AND (T0.OnHand - T0.IsCommited) < 0

Si quieres solo los Items que unicamente tengan una OP(OWOR) quita el LEFT JOIN y deja solo JOIN

Saludos!

2 Me gusta

Hola @GabrielGS
quisiera saber si es posible traer todos los materiales por orden de fabricación que tengan estado de liberado ademas de las cantidades por cada material de la orden de fabricación
estaba tomando como base este ejemplo

pero hay tablas que no tienen que ver con la consulta
de antemano gracias.

1 me gusta

Buen Día Amigo, no sé si entendí, pero con este query obtengo las ordenes de fabricación liberadas, el articulo que se fabricara, los códigos de los materiales y sus cantidades base. Espero y te sirva, Saludos.

SELECT T0.[DocNum],
T0.[ItemCode] AS ‘Codigo de Articulo a Fabricar’,
T2.[ItemName] AS ‘Producto a Fabricar’,
T0.[PlannedQty] AS ‘Cantidad Planeada’,
T1.[ItemCode] AS ‘Codigo Materiales’,
T1.[BaseQty] AS 'Cantidad Base de Materiales’
FROM
OWOR T0 INNER JOIN WOR1 T1 ON T0.[DocEntry] = T1.[DocEntry]
INNER JOIN OITM T2 ON T0.[ItemCode] = T2.[ItemCode]
WHERE T0.[Status] = ‘R’ – “R” Status de la Orden de Fabricación de Liberada

1 me gusta

hola
gracias por el aporte al final lo termine haciendo asi

SELECT
T0.DocEntry as 'Orden de Fabricacion',
T0.[Project], 
T1.[ItemCode],
 T1.[ItemName],
T1.InvntryUom,
T0.PlannedQty as 'cantidad planificada',
T1.Onhand,
T0.IssuedQty as 'consumido',
T1.OnOrder  
FROM WOR1 T0 
INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
WHERE T0.[DocEntry] >= [%0]

ya con este query solucione practicamente el problema

2 Me gusta