IF (EXISTS (select proc_name from sysprocedure where proc_name='SpaCheckDeposits')) THEN DROP procedure SpaCheckDeposits END IF GO CREATE PROCEDURE "DBA"."SpaCheckDeposits"(in @GuestNo integer,in @KodAdmin integer,in @InvoiceNo integer,in @ZeroCountDeposit integer) begin declare @DepositNo integer; declare @ExchangeRate decimal(12,6); for f as curs scroll cursor for select Sum(SpaResMoney.Sum) as @CurrSum,SpaResMoney.Currency as @KodCurrency from "DBA".SpaResMoney where SpaResMoney.GuestNo=@GuestNo and SpaResMoney.Status=2 group by SpaResMoney.Currency do select min(DepositNo)-1 into @DepositNo from "DBA".SpaResMoney; if @DepositNo>=0 then set @DepositNo=-1 end if ; if @CurrSum<>0 then insert into "DBA".SpaResMoney(ReserveNo,DateMoney,KodAdmin,Sum,Currency,Payment,Note,GuestNo,DepositNo, Status,GroupNo,ContractNo,InvoiceNo,RoomNo,AccountNumber) values( 0,0,@KodAdmin,-@CurrSum,@KodCurrency,1,'',@GuestNo,@DepositNo,2,0,0,@InvoiceNo,0,0); select Currencies.ExchangeRate into @ExchangeRate from "DBA".Currencies where Currencies.KodCurrency=@KodCurrency; insert into "DBA".SpaResMoney(ReserveNo,DateMoney,KodAdmin,Sum,Currency,Payment,Note,GuestNo,DepositNo, Status,GroupNo,ContractNo,InvoiceNo,RoomNo,AccountNumber) values( 0,0,@KodAdmin,@CurrSum*@ExchangeRate,1,1,'',@GuestNo,@DepositNo-1,(if @ZeroCountDeposit<>0 then 2 else 1 endif),0,0,@InvoiceNo,0,0) end if end for end