cancel
Showing results for 
Search instead for 
Did you mean: 

Bloquear las entregar componentes

Former Member
0 Kudos

Jóvenes expertos solicito su ayuda nuevamente ya que me hicieron el requerimiento siguiente que al momento de que exista una orden de fabricación y se le realice la entrega de componentes y se desee crear no lo permita si la desviación del producto es mayor a 2.

Espero me puedan dar una idea de como realizar esto.

De antemano agradezco su ayuda y su tiempo

Saludos Cordiales

Accepted Solutions (1)

Accepted Solutions (1)

former_member227744
Active Participant
0 Kudos

Carlos:

Mira estos SP_Transaction Notification, y tómalos de ejemplo para lo que necesitas.

Saludos,

Manuel Díaz G.

Answers (1)

Answers (1)

Former Member
0 Kudos

Yo utilizo este código para validar que no se declare + del 10% de lo planificado en la orden de fabricación, espero te sirva. Saludos.

------------------------------------------------------------------------------------------

--**  VALIDA QUE NO SE DECLARE MAS DEL 10% DE LO PLANIFICADO EN ORDENES DE FABRICACION **--

------------------------------------------------------------------------------------------

IF @object_type='59' AND @transaction_type IN ('A','U')

Begin

  if (EXISTS( Select T0.Trantype from ign1 T0 where T0.docentry = @list_of_cols_val_tab_del and T0.Trantype='C' ))

  BEGIN

  declare @xdocnum as nvarchar(12)

  set @xdocnum = (select Baseref  from IGN1 where docentry = @list_of_cols_val_tab_del)

  declare @planificado as decimal(14,2)

  declare @declarado as decimal(14,2)

  set @planificado = cast((select PlannedQty from owor T0 where T0.DocNum = @xdocnum) as decimal(14,2))

  set @declarado = cast((SELECT  sum(B1.Quantity)

  FROM OWOR A INNER JOIN

  IGN1 B1 ON  A.ItemCode = B1.ItemCode AND A.DocNum=B1.BaseRef

  WHERE  a.ItemCode=B1.ItemCode and TranType<>'R'

    and A.docnum = @xdocnum

  GROUP BY A.DocNum) as decimal(14,2))

  IF ( @declarado > (@planificado*1.10) )

  BEGIN

  Set @Error = 1212

  Set @error_message =  'Planificado : '+cast(@planificado as nvarchar(20)) +'   Declarado  '+cast(@declarado as nvarchar(20))+'  ...La declaración no procede'

  END

  END

END