Restricción en detalle Factura Deudores con TN

Hola a todos, tengo un problema, espero puedan ayudarme:

Estoy programando una restricción de precios en Transaction Notification, a nivel detalle, en el momento en que sea crea una Factura de Deudores , en donde se compare el precio unitario de venta del producto con un precio de lista, el cual se extrae desde una tabla definida por usuario la cual cree ( @PRECIOVENTAFIJO) dependiendo los plazos de pago del cliente. El precio unitario de venta debe ser mayor o igual a este precio de lista, si esto no se cumple, debe tirar un error. No tengo problemas al momento de ingresar un producto, pero al momento de ingresar dos o más, me sale el siguiente error: Se ha producido un error interno (512) [Mensaje 131-183].

Este es mi código:

DECLARE @DIF FLOAT

If @object_type='13'
BEGIN
		
If @transaction_type = 'A' 
BEGIN 
		

SET @DIF= (Select case when INV1.Currency='USD' then INV1.PRICE else INV1.PRICE/ORTT.Rate END FROM INV1 INNER JOIN ORTT ON INV1.DOCDATE=ORTT.RATEDATE WHERE ORTT.Currency='usd' and INV1.DOCENTRY=@list_of_cols_val_tab_del)
                  - (SELECT CASE WHEN DATEDIFF(day,dbo.OINV.TAXDATE,dbo.OINV.DOCDUEDATE)<=120 THEN     dbo.[@PRECIOVENTAFIJO].[U_Precio120] WHEN DATEDIFF(day,dbo.OINV.TAXDATE,dbo.OINV.DOCDUEDATE)<=150 THEN     dbo.[@PRECIOVENTAFIJO].[U_Precio150] WHEN DATEDIFF(day, dbo.OINV.TAXDATE,dbo.OINV.DOCDUEDATE)<=180 THEN     dbo.[@PRECIOVENTAFIJO].[U_Precio180] WHEN DATEDIFF(day, dbo.OINV.TAXDATE,dbo.OINV.DOCDUEDATE)<=210 THEN    dbo.[@PRECIOVENTAFIJO].[U_Precio210] WHEN DATEDIFF(day, dbo.OINV.TAXDATE,dbo.OINV.DOCDUEDATE)<=240 THEN    dbo.[@PRECIOVENTAFIJO].[U_Precio240] WHEN DATEDIFF(day, dbo.OINV.TAXDATE,dbo.OINV.DOCDUEDATE)<=270 THEN   dbo.[@PRECIOVENTAFIJO].[U_Precio270] WHEN DATEDIFF(day, dbo.OINV.TAXDATE,dbo.OINV.DOCDUEDATE)<=300 THEN    dbo.[@PRECIOVENTAFIJO].[U_Precio300] WHEN DATEDIFF(day, dbo.OINV.TAXDATE,dbo.OINV.DOCDUEDATE)<=330 THEN dbo.[@PRECIOVENTAFIJO].[U_Precio330] ELSE dbo.[@PRECIOVENTAFIJO].[U_Precio360]  END
FROM dbo.OINV inner join dbo.INV1 ON dbo.OINV.Docentry = dbo.INV1.Docentry inner join [dbo].[@PRECIOVENTAFIJO] ON dbo.[@PRECIOVENTAFIJO].[CODE]=dbo.INV1.Itemcode 
WHERE OINV.Docentry = @list_of_cols_val_tab_del and month(dbo.[@PRECIOVENTAFIJO].[U_FechaPrecio])=month(OINV.Taxdate) and year(dbo.[@PRECIOVENTAFIJO].[U_FechaPrecio])=year(OINV.Taxdate))
-- ESTA ES LA DIFERENCIA ENTRE PRECIOS @DIF=(PRECIO UNITARIO DE VENTA) - (PRECIO LISTA SEGÚN PLAZO)
			
		IF (@DIF<0)
		BEGIN 
			   
		SET @error = 213
		SET @error_message = 'El precio unitario debe ser mayor o igual al precio fijo'
                END
END 
END

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