UFN_REVENUETRIBUTE_VALIDAMOUNT

Checks whether the revenue tribute amount is valid for the transaction.

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@REVENUEID uniqueidentifier IN
@AMOUNT money IN

Definition

Copy


            create function dbo.UFN_REVENUETRIBUTE_VALIDAMOUNT
            (
                @ID uniqueidentifier,
                @REVENUEID uniqueidentifier,
                @AMOUNT money
            )
            returns bit
            with execute as caller
            as begin
                declare @VALID bit;
                declare @REVENUEAMOUNT money;
                declare @OTHERREVENUETRIBUTEAMOUNT money;

                select @REVENUEAMOUNT = REVENUE.AMOUNT from dbo.REVENUE where ID = @REVENUEID;

                select 
                    @OTHERREVENUETRIBUTEAMOUNT = sum(RT.AMOUNT)
                from 
                    dbo.REVENUETRIBUTE RT 
                inner join 
                    dbo.REVENUE on RT.REVENUEID = REVENUE.ID 
                where 
                    REVENUE.ID = @REVENUEID
                    and RT.ID <> @ID;

                if (@AMOUNT + coalesce(@OTHERREVENUETRIBUTEAMOUNT, 0)) > @REVENUEAMOUNT
                    select @VALID = 0;
                else
                    select @VALID = 1;

                return @VALID;

            end