Query Lista de Materiales SAP B1

Buenas tardes señores, necesito realizar una consulta sobre lista de materiales en SAP B1, pero que sea recurrente y/o que tenga varios niveles, ya que en nuestra implementación, una lista de materiales, pertenece y/o es ingrediente de otra y así sucesivamente hasta 5 niveles mas o mas y para poder sacar el costo de una lista, necesito llevar todas la lista y sus componenentes a nivel de ingredientes para obtener el costo de cada uno…

Lista 1
Ingrediente 1
Ingrediente 2
Ingrediente 3
Ingrediente 4
Lista 4

Lista 4
Ingrediente 11
Ingrediente 12
Lista 5

Lista 5
Lista 99
Lista 77
Lista 25

Lista 77
Ingrediente 22
Ingrediente 23
Ingrediente 24

Por su apoyo muy agradecido…

Revisa este tema: Consulta del resultado de la consulta
Ahí sugiero una consulta recurrente.

Saludos,

¿Y la sección de presentaciones @Armando_Caste?

Willy, gracias pero tenes algún ejemplo con el que me podas ayudar?

Nativamente cuentas con ese reporte en informes de produccion --> lista de materiales

en este podas desglosarlo hasta su ultimo nivel solo dale expandir

–PADRE1
COMPONENTE1A
COMPONENTE2B
—COMPONENTE3C
COMPONENTE3C1
COMPONENTE3C2

hola @Armando_Caste, este script es muy basico para obtener las listas de materiales pero te podrias ayudar.

SELECT T0.[Code], T2.[ItemName], T0.[PlAvgSize], T0.[ToWH], T1.[Code], T1.ChildNum,
	ISNULL(( Select A.[ItemName] from oitm A Where A.ItemCode = T1.Code),0)[Descripcion], 
	T1.[Quantity], T1.[Warehouse], T1.[Price], T2.BuyUnitMsr
	FROM OITT T0  INNER JOIN -- Encabezado de lista de materiales
		 ITT1 T1 ON T0.[Code] = T1.[Father] INNER JOIN  -- Detalle de lista de materiales
		 OITM T2 ON T0.[Code] = T2.[ItemCode] -- Maestro de Articulos

Espero te sea de ayuda, siempre comenta como te va.

Saludos

Probaste el query del BOM del tema que te sugerí?

With BOM (Root,Parent,Child,Level,Quantity) As
(
Select P.Code ,convert(nvarchar(20),'') ,P.Code ,0 Level, convert(varchar(20),' ')
From OITT P
Union All
Select B.Root,c.Father,C.Code,Level+1,convert(varchar(20),C.Quantity)
From Itt1 C
  Inner join BOM B on c.Father=B.Child
)
Select B.*
From BOM B
Order By B.Root,B.Level
Option (MAXRECURSION 99)
2 Me gusta

Muchas gracias por la ayuda, voy a utilizar la consulta de base, para ir construyendo la consulta que necesito, le agradezco mucho

@Willy_Caldero gracias por tu aporte, eso si, al principio me arrojaba error, pero era por que después del unión all los campos c.father y level+1 tambien se deben convertir.

Consulta se puede poner un distinct?, por que me repite algunas columnas.

Saludos

Si por supuesto, en la ultima parte es un select comun y silvestre.

Saludos,

1 me gusta

A mi me sirvió de mucho.
Gracias

Produccion–Informes de Produccion–Informes Lista de Materiales

Seleccionas Articulos y das enter…despues le das expandir todo…exportar a excel y listo…asi salen las Listas de Materiales, Padres e hijos…y si un hijo tiene hijos tambien te lo muestra y asi sucesivamente.

Saludos

@Elmer te sugiero abrir otro tema para ayudarte, de todas maneras, el query empieza desde la Clausula “WITH With BOM (Root,Parent,Child,Level,Quantity) As” que es donde se define la tabla temporal.