USP_DATALIST_REVENUEDEFAULTRECOGNITIONBYDESIGNATION

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@GIVENANONYMOUSLY bit IN
@DESIGNATIONS xml IN
@DATE datetime IN

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_REVENUEDEFAULTRECOGNITIONBYDESIGNATION
                (
                    @CONSTITUENTID uniqueidentifier,
                    @GIVENANONYMOUSLY bit = null,
                    @DESIGNATIONS xml = null,
                    @DATE datetime = null
                )
                as

                declare @DESIGNATIONSTABLE table(DESIGNATIONID uniqueidentifier, AMOUNT money)
                insert into @DESIGNATIONSTABLE(DESIGNATIONID, AMOUNT)
                select T.c.value('(DESIGNATIONID)[1]', 'uniqueidentifier'), T.c.value('(AMOUNT)[1]', 'money')
                from @DESIGNATIONS.nodes('/DESIGNATIONS/ITEM') T(c)

                declare @DESIGNATIONID uniqueidentifier;
                declare @AMOUNT money;
                declare @RETURNTABLE table(CONSTITUENTID uniqueidentifier, NAME nvarchar(300), DESIGNATIONID uniqueidentifier, REVENUERECOGNITIONTYPECODEID uniqueidentifier, DESCRIPTION nvarchar(100), AMOUNT money)

                declare DESIGNATIONCURSOR cursor local fast_forward for
                select DESIGNATIONID, AMOUNT from @DESIGNATIONSTABLE

                open DESIGNATIONCURSOR;

                fetch next from DESIGNATIONCURSOR into @DESIGNATIONID, @AMOUNT

                while @@FETCH_STATUS = 0
                begin
                    insert into @RETURNTABLE(CONSTITUENTID, NAME, DESIGNATIONID, REVENUERECOGNITIONTYPECODEID, DESCRIPTION, AMOUNT)
                    select
                        CONSTITUENTID,
                        coalesce(NF.NAME, dbo.UFN_REVENUEBATCHCONSTITUENT_BUILDNAME(RECOGNITIONS.CONSTITUENTID)) as NAME,
                        @DESIGNATIONID,
                        REVENUERECOGNITIONTYPECODEID,
                        REVENUERECOGNITIONTYPECODE.DESCRIPTION,
                        AMOUNT
                    from dbo.UFN_REVENUEBATCH_GETRECOGNITIONDEFAULTS_2(@GIVENANONYMOUSLY, @CONSTITUENTID, @AMOUNT, @DATE, null, default, default) as RECOGNITIONS
                    outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(RECOGNITIONS.CONSTITUENTID) NF
                    left outer join dbo.REVENUERECOGNITIONTYPECODE on RECOGNITIONS.REVENUERECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODE.ID

                    fetch next from DESIGNATIONCURSOR into @DESIGNATIONID, @AMOUNT
                end

                close DESIGNATIONCURSOR;
                deallocate DESIGNATIONCURSOR;

                select CONSTITUENTID, NAME, DESIGNATIONID, REVENUERECOGNITIONTYPECODEID, DESCRIPTION, AMOUNT
                from @RETURNTABLE