Consulta orden de produccion

Cómo puedo hacer una consulta para que me de los datos de las ordenes de producción , con los artículos empleados (emisión de componentes) y el lote y cantidad de cada uno de ellos.

Gracias

Hola!

Prueba COOIS, o COOISPI

Slds,

Inma

es SAP B1 amiga estas transacciones son de ECC

@thilus buen día, en SAP las tablas OWOR y WOR1 son de los documentos de orden de fabricación, ademas te puedes ayudar con la tabla OINM y filtran por tipo de documentos.

Saludos.

Las tablas para esa consulta seria las siguientes:
OWOR (Cabecera de orden de producción)
WOR1 (Lineas de orden de producción)
IBT1 (Tiene todos los movimientos de los lotes, solo lo enlazas por el base type que seria el 202)

la consulta seria algo asi:

Select
a.DocNum,
A.PostDate,
A.StartDate,
A.DueDate,
B.ItemCode,
D.ItemName,
B.BaseQty,
C.BatchNum
from OWOR A
INNER JOIN WOR1 B ON A.DocEntry = B.DocEntry
INNER JOIN IBT1 C ON A.ObjType = C.BaseType
INNER JOIN OITM D ON B.ItemCode = D.ItemCode

Pruebala ya que no uso esta opcion

1 me gusta

Funciona pero necesito enlazarla a la OBTN

podrías reemplazar la IBT1 por la OBTN

quedaría así:

Select a.DocNum, A.PostDate, A.StartDate, A.DueDate, B.ItemCode, D.ItemName, B.BaseQty, C.BatchNum from OWOR A INNER JOIN WOR1 B ON A.DocEntry = B.DocEntry INNER JOIN OBTN C ON A.ObjType = C.BaseType INNER JOIN OITM D ON B.ItemCode = D.ItemCode

Este campo C.BaseType no existe en la tabla OBTN

Select a.DocNum, A.PostDate, A.StartDate, A.DueDate, B.ItemCode, D.ItemName, B.BaseQty, C.DistNumber 
from OWOR A 
INNER JOIN WOR1 B ON A.DocEntry = B.DocEntry 
INNER JOIN OBTN C ON A.ObjType = C.ObjType
INNER JOIN OITM D ON B.ItemCode = D.ItemCode

No me devuelve ningún registro y el lote de la consulta anterior, es decir, utilizando IBT1 no coincide con los lotes de la producción.

La idea es que me diga que producto se fabricó en cada orden y con que cantidad de ingredientes y lotes.

ohhh cierto disculpa!

No se si al final lo resolviste pero el FROM del query seria el siguiente:

SELECT TOP 10 
	* 

	/*
		Toma en cuanta que si se utilizo mas de un lote de MP esa linea de tu salida sera doble en la vista IBT1
		y para mostrarla por lote utilizado debes mostrar la cantidad de IBT

		Tambien considera agrupaciones ya sea por Emisiones o recibos ya que de lo contrario duplicara 
		toda la info de emision por cada uno de los recibos o viceversa, o simplemente muestra solo emisiones o solo recibos 
	*/
FROM 
	OWOR T0 
	INNER JOIN WOR1 T1 ON T0.DocEntry = T1.DocEntry
	LEFT JOIN (OIGE T2 --Emision de Produccion (Salidad MP)
			INNER JOIN IGE1 T3 ON T2.DocEntry = T3.DocEntry
			LEFT JOIN IBT1 T4 ON T4.BaseType = T2.ObjType AND T4.BaseEntry = T2.DocEntry AND T4.BaseLinNum = T3.LineNum
		) ON T3.BaseEntry = T0.DocEntry AND T3.BaseLine = T1.LineNum AND T3.BaseType = '202' 
	LEFT JOIN (OIGN T5 --Recibo de Produccion (Entrada de PT)
			INNER JOIN IGN1 T6 ON T5.DocEntry = T6.DocEntry
			LEFT JOIN IBT1 T7 ON T7.BaseType = T5.ObjType AND T7.BaseEntry = T5.DocEntry AND T7.BaseLinNum = T6.LineNum
		) ON T6.BaseEntry = T0.DocEntry AND T6.BaseLine = T1.LineNum AND T6.BaseType = '202' 

Este tema se cerró automáticamente 91 días después de la última publicación. No se permiten nuevas respuestas.