IF (EXISTS (select proc_name from sysprocedure where proc_name='SpaCheckContractDeposits')) THEN DROP procedure SpaCheckContractDeposits END IF GO CREATE PROCEDURE "DBA"."SpaCheckContractDeposits"(in @ContractNo 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.ContractNo=@ContractNo 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,'',0,@DepositNo,2,0,@ContractNo,@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,'',0,@DepositNo-1,(if @ZeroCountDeposit<>0 then 2 else 1 endif),0,@ContractNo,@InvoiceNo,0,0) end if end for end