Troç de codi per al Transaction Notification de SAP Business One per comprovar que els preus dels articles especificats a una comanda no siguin per sota del preu de compra:
/* DMB: Comprovar per les comandes que els preus dels articles no siguin més baixos que els preus de compra */ if @object_type='17' and @transaction_type='A' begin declare @linia as int declare @itemCode as nvarchar(50) declare @preu as numeric(19,6) declare @ultimPreuDeCompra as numeric(19,6) DECLARE linies CURSOR FOR SELECT T1.VisOrder,IT.ItemCode,T1.Price, IT.LastPurPrc FROM ORDR T0 JOIN RDR1 T1 on T1.DocEntry=T0.DocEntry JOIN OITM IT on IT.ItemCode=T1.ItemCode WHERE T0.DocEntry=@list_of_cols_val_tab_del; OPEN linies; FETCH NEXT FROM linies INTO @linia,@itemcode,@preu,@ultimPreuDeCompra; WHILE @@FETCH_STATUS = 0 BEGIN if @preu<@ultimPreuDeCompra begin set @error='9001'; set @error_message='L''article '+@itemCode+' de la linia '+CAST(@linia+1 as nvarchar)+' te un preu inferior al de compra.'; BREAK; end; FETCH NEXT FROM linies INTO @linia,@itemcode,@preu,@ultimPreuDeCompra; END; CLOSE linies; DEALLOCATE linies; end