USP_REVENUESOLICITOR_VALIDATESOLICITORS

Validate solicitors against a revenue amount.

Parameters

Parameter Parameter Type Mode Description
@SOLICITORS xml IN
@REVENUEAMOUNT money IN

Definition

Copy


            CREATE procedure dbo.USP_REVENUESOLICITOR_VALIDATESOLICITORS
            (
                @SOLICITORS xml,
                @REVENUEAMOUNT money
            )
            as
            set nocount on;

            declare @AMOUNT money;

            declare SOLICITORCURSOR cursor local fast_forward for
                select AMOUNT 
                from dbo.UFN_REVENUE_GETSOLICITORS_FROMITEMLISTXML(@SOLICITORS);

            open SOLICITORCURSOR 
                fetch next from SOLICITORCURSOR into @AMOUNT;

                while @@FETCH_STATUS =0

                begin
                    if @AMOUNT > @REVENUEAMOUNT
                        raiserror('The amount credited to a single solicitor cannot be greater than the gift amount.', 13, 11);
                    else if @AMOUNT < 0
                        raiserror('BBERR_REVENUESOLICITOR_AMOUNTNOTNEGATIVE', 13, 12);

                    fetch next from SOLICITORCURSOR into @AMOUNT;
                end

            --When a cursor is used, it should be explicitly closed/deallocated in case of blocking or USP running long

            close SOLICITORCURSOR;
            deallocate SOLICITORCURSOR;