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