Quantcast
Channel: SCN : Discussion List - SAP Business One (Español)
Viewing all articles
Browse latest Browse all 2061

Ayuda transaction Ordenes de Fabricacion

$
0
0

Buena tarde Expertos de la comunidad , estoy trabajando con este transaction que me detecta los productos que no tienen existencia, y asi no dejar crear la orden de fabricacion , este codigo bloquea  si alguno de los articulos no hay disponibilidad,"hasta alli todo bien", el problema que tengo  es el siguiente.

 

                                                                                                                                                                

 

 

Ejemplo: creacion de 50 pares de zapatos

 

 

codigo           Articulo           cantidad requerida                   cantidad Disponible 102 suelas ( oitw.onhand-oitw.iscommited)

 

101066          Suelas                     100

 

 

 

 

 

 

 

haciendo mis pruebas   incremento el numero de pares de zapatos que quiero y pongo '60' logicamente me va a marcar que no tengo disponible para esta cantidad, luego pongo  49 pares logicamente me tendria que dejar pasar porque si tengo disponible en mis almacenes, esta es mi interrogante que tengo mal en el Query para que no me funcione, lo raro de todo esto es que si me deja pasar si solo me gasto el 60 % exactamente del material,  es decir si pongo la cantidad de pares donde se consumen 62 suelas si me funciona este transaction. Agradeceria si alguien me pudiera brindar su mano a resolver este caso.

 

 

saludos cordiales

 

 

 

 

 

 

Declare @Num int

IF @object_type in ('202') and @transaction_type in ('A')

begin

SET @Num=(select Top 1 COUNT(c.ItemCode)

  from OITW a

inner join OITM b on a.ItemCode=b.ItemCode

inner join WOR1 c on a.ItemCode=c.ItemCode

left join OWOR d on c.DocEntry=d.DocEntry 

left join ITT1 e on c.ItemCode=e.Code

where d.DocNum =@list_of_cols_val_tab_del

and c.ItemCode not IN('GIF','MO')and

c.ItemCode  like '1%'

group by b.ItemCode,b.ItemName,c.PlannedQty,c.ItemCode

having ((Sum(a.OnHand)-SUM(a.IsCommited)) <=(c.PlannedQty))

)

--Parte 2

 

declare @ItemWor1 varchar(100) 

 

  SET @ItemWOR1 =(SELECT CONVERT(VARCHAR(100),  c.ItemCode) + ',  '

from OITW a

inner join OITM b on a.ItemCode=b.ItemCode

inner join WOR1 c on a.ItemCode=c.ItemCode

left join OWOR d on c.DocEntry=d.DocEntry 

left join ITT1 e on c.ItemCode=e.Code --Poner en Revision

where d.DocNum =@list_of_cols_val_tab_del

and c.ItemCode not IN('GIF','MO')and

c.ItemCode  like '1%'

group by b.ItemCode,b.ItemName,c.PlannedQty,c.ItemCode

having ((Sum(a.OnHand)-SUM(a.IsCommited)) <=(c.PlannedQty))

ORDER BY 1 FOR XML PATH(''))

IF (@Num>0 or @Num='' )

  BEGIN

  SELECT @error = 101

  SELECT @error_message = N'Existen  componentes en Status de no Disponibles: '  + @ItemWOR1

 

end 

end


Viewing all articles
Browse latest Browse all 2061

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>