UFN_REVENUEBATCH_GETAPPLICATIONRECOGNITIONS
Returns recognitions for a revenue batch ID grouped by application.
Return
Return Type |
---|
xml |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BATCHREVENUEID | uniqueidentifier | IN | |
@USESPLITS | bit | IN |
Definition
Copy
CREATE function dbo.UFN_REVENUEBATCH_GETAPPLICATIONRECOGNITIONS
(
@BATCHREVENUEID uniqueidentifier,
@USESPLITS bit
)
returns xml
as
begin
declare @APPLICATIONRECOGNITIONS xml
declare @APPLICATIONRECOGNITIONSTABLE table
(
ADDITIONALAPPLICATIONTYPECODE tinyint,
ADDITIONALAPPLICATIONDESIGNATIONID uniqueidentifier,
ADDITIONALAPPLICATIONDECLINESGIFTAID bit,
ADDITIONALAPPLICATIONSPONSORSHIPID uniqueidentifier,
APPLICATIONID uniqueidentifier
)
insert into @APPLICATIONRECOGNITIONSTABLE
(
ADDITIONALAPPLICATIONTYPECODE,
ADDITIONALAPPLICATIONDESIGNATIONID,
ADDITIONALAPPLICATIONDECLINESGIFTAID,
ADDITIONALAPPLICATIONSPONSORSHIPID,
APPLICATIONID
)
select distinct
ADDITIONALAPPLICATIONTYPECODE,
ADDITIONALAPPLICATIONDESIGNATIONID,
ADDITIONALAPPLICATIONDECLINESGIFTAID,
ADDITIONALAPPLICATIONSPONSORSHIPID,
APPLICATIONID
from dbo.BATCHREVENUERECOGNITION
where BATCHREVENUEID = @BATCHREVENUEID
if @USESPLITS = 1
set @APPLICATIONRECOGNITIONS = ( select
NULL as APPLICATIONID,
ADDITIONALAPPLICATIONTYPECODE,
ADDITIONALAPPLICATIONDESIGNATIONID,
BATCHREVENUESPLIT.AMOUNT as APPLICATIONAMOUNT,
'' as APPLICATIONDESCRIPTION,
dbo.UFN_REVENUEBATCH_GETCOLLECTIONDESCRIPTION_3(ART.ADDITIONALAPPLICATIONTYPECODE, ART.ADDITIONALAPPLICATIONDESIGNATIONID, @BATCHREVENUEID, 1, ART.ADDITIONALAPPLICATIONDECLINESGIFTAID, ART.ADDITIONALAPPLICATIONSPONSORSHIPID) as COLLECTIONDESCRIPTION,
( select
AMOUNT,
CONSTITUENTID,
EFFECTIVEDATE,
BATCHREVENUERECOGNITION.ID,
REVENUERECOGNITIONTYPECODE.DESCRIPTION as RECOGNITIONTYPE,
REVENUERECOGNITIONTYPECODEID,
REVENUERECOGNITIONID
from dbo.BATCHREVENUERECOGNITION
left join dbo.REVENUERECOGNITIONTYPECODE on BATCHREVENUERECOGNITION.REVENUERECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODE.ID
where
BATCHREVENUERECOGNITION.ADDITIONALAPPLICATIONTYPECODE = ART.ADDITIONALAPPLICATIONTYPECODE
and BATCHREVENUERECOGNITION.ADDITIONALAPPLICATIONDESIGNATIONID = ART.ADDITIONALAPPLICATIONDESIGNATIONID
and BATCHREVENUERECOGNITION.ADDITIONALAPPLICATIONDECLINESGIFTAID = ART.ADDITIONALAPPLICATIONDECLINESGIFTAID
and coalesce(BATCHREVENUERECOGNITION.ADDITIONALAPPLICATIONSPONSORSHIPID,'00000000-0000-0000-0000-000000000000') = coalesce(ART.ADDITIONALAPPLICATIONSPONSORSHIPID,'00000000-0000-0000-0000-000000000000')
and BATCHREVENUERECOGNITION.BATCHREVENUEID = @BATCHREVENUEID
for xml raw('ITEM'),type,elements,BINARY BASE64
) as RECOGNITIONS,
ADDITIONALAPPLICATIONDECLINESGIFTAID,
ADDITIONALAPPLICATIONSPONSORSHIPID
from @APPLICATIONRECOGNITIONSTABLE ART
inner join dbo.DESIGNATION on ART.ADDITIONALAPPLICATIONDESIGNATIONID = DESIGNATION.ID
inner join dbo.BATCHREVENUESPLIT on
BATCHREVENUESPLIT.DESIGNATIONID = ART.ADDITIONALAPPLICATIONDESIGNATIONID
and BATCHREVENUESPLIT.DECLINESGIFTAID = ART.ADDITIONALAPPLICATIONDECLINESGIFTAID
--and BATCHREVENUESPLIT.SPONSORSHIPID = ART.ADDITIONALAPPLICATIONSPONSORSHIPID
and BATCHREVENUEID = @BATCHREVENUEID
for xml raw('ITEM'),type,elements,root('APPLICATIONRECOGNITIONS'),BINARY BASE64)
else
set @APPLICATIONRECOGNITIONS = (
select
APPLICATIONID,
ADDITIONALAPPLICATIONTYPECODE,
ADDITIONALAPPLICATIONDESIGNATIONID,
APPLICATIONAMOUNT,
APPLICATIONDESCRIPTION,
COLLECTIONDESCRIPTION,
RECOGNITIONS,
ADDITIONALAPPLICATIONDECLINESGIFTAID,
ADDITIONALAPPLICATIONSPONSORSHIPID
from (
select
NULL as APPLICATIONID,
ADDITIONALAPPLICATIONTYPECODE,
ADDITIONALAPPLICATIONDESIGNATIONID,
BATCHREVENUEADDITIONALAPPLICATIONS.APPLIED as APPLICATIONAMOUNT,
'' as APPLICATIONDESCRIPTION,
dbo.UFN_REVENUEBATCH_GETCOLLECTIONDESCRIPTION_3(ART.ADDITIONALAPPLICATIONTYPECODE, ART.ADDITIONALAPPLICATIONDESIGNATIONID, @BATCHREVENUEID, 1, ART.ADDITIONALAPPLICATIONDECLINESGIFTAID, ART.ADDITIONALAPPLICATIONSPONSORSHIPID) as COLLECTIONDESCRIPTION,
( select
AMOUNT,
CONSTITUENTID,
EFFECTIVEDATE,
BATCHREVENUERECOGNITION.ID,
REVENUERECOGNITIONTYPECODE.DESCRIPTION as RECOGNITIONTYPE,
REVENUERECOGNITIONTYPECODEID,
REVENUERECOGNITIONID
from dbo.BATCHREVENUERECOGNITION
left join dbo.REVENUERECOGNITIONTYPECODE on BATCHREVENUERECOGNITION.REVENUERECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODE.ID
where
BATCHREVENUERECOGNITION.ADDITIONALAPPLICATIONTYPECODE = ART.ADDITIONALAPPLICATIONTYPECODE
and BATCHREVENUERECOGNITION.ADDITIONALAPPLICATIONDESIGNATIONID = ART.ADDITIONALAPPLICATIONDESIGNATIONID
and BATCHREVENUERECOGNITION.ADDITIONALAPPLICATIONDECLINESGIFTAID = ART.ADDITIONALAPPLICATIONDECLINESGIFTAID
and coalesce(BATCHREVENUERECOGNITION.ADDITIONALAPPLICATIONSPONSORSHIPID,'00000000-0000-0000-0000-000000000000') = coalesce(ART.ADDITIONALAPPLICATIONSPONSORSHIPID,'00000000-0000-0000-0000-000000000000')
and BATCHREVENUERECOGNITION.BATCHREVENUEID = @BATCHREVENUEID
for xml raw('ITEM'),type,elements,BINARY BASE64
) as RECOGNITIONS,
ADDITIONALAPPLICATIONDECLINESGIFTAID,
ADDITIONALAPPLICATIONSPONSORSHIPID
from @APPLICATIONRECOGNITIONSTABLE ART
inner join dbo.DESIGNATION on ART.ADDITIONALAPPLICATIONDESIGNATIONID = DESIGNATION.ID
inner join dbo.BATCHREVENUEADDITIONALAPPLICATIONS on
BATCHREVENUEADDITIONALAPPLICATIONS.DESIGNATIONID = ART.ADDITIONALAPPLICATIONDESIGNATIONID
and BATCHREVENUEID = @BATCHREVENUEID
and BATCHREVENUEADDITIONALAPPLICATIONS.TYPECODE = ART.ADDITIONALAPPLICATIONTYPECODE
and BATCHREVENUEADDITIONALAPPLICATIONS.DECLINESGIFTAID = ART.ADDITIONALAPPLICATIONDECLINESGIFTAID
and coalesce(BATCHREVENUEADDITIONALAPPLICATIONS.SPONSORSHIPID,'00000000-0000-0000-0000-000000000000') = coalesce(ART.ADDITIONALAPPLICATIONSPONSORSHIPID,'00000000-0000-0000-0000-000000000000')
union all
select
ART.APPLICATIONID,
ADDITIONALAPPLICATIONTYPECODE,
ADDITIONALAPPLICATIONDESIGNATIONID,
BATCHREVENUEAPPLICATION.APPLIED as APPLICATIONAMOUNT,
'' as APPLICATIONDESCRIPTION,
dbo.UFN_REVENUEBATCH_GETCOLLECTIONDESCRIPTION_3(ART.ADDITIONALAPPLICATIONTYPECODE, ART.ADDITIONALAPPLICATIONDESIGNATIONID, @BATCHREVENUEID, 1, ART.ADDITIONALAPPLICATIONDECLINESGIFTAID, ART.ADDITIONALAPPLICATIONSPONSORSHIPID) as COLLECTIONDESCRIPTION,
( select
AMOUNT,
CONSTITUENTID,
EFFECTIVEDATE,
BATCHREVENUERECOGNITION.ID,
REVENUERECOGNITIONTYPECODE.DESCRIPTION as RECOGNITIONTYPE,
REVENUERECOGNITIONTYPECODEID,
REVENUERECOGNITIONID
from dbo.BATCHREVENUERECOGNITION
left join dbo.REVENUERECOGNITIONTYPECODE on BATCHREVENUERECOGNITION.REVENUERECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODE.ID
where
BATCHREVENUERECOGNITION.APPLICATIONID = ART.APPLICATIONID
and BATCHREVENUERECOGNITION.BATCHREVENUEID = @BATCHREVENUEID
for xml raw('ITEM'),type,elements,BINARY BASE64
) as RECOGNITIONS,
ADDITIONALAPPLICATIONDECLINESGIFTAID,
ADDITIONALAPPLICATIONSPONSORSHIPID
from @APPLICATIONRECOGNITIONSTABLE ART
inner join dbo.BATCHREVENUEAPPLICATION on
coalesce(BATCHREVENUEAPPLICATION.REVENUESPLITID, BATCHREVENUEAPPLICATION.REVENUEID, BATCHREVENUEAPPLICATION.REGISTRANTID) = ART.APPLICATIONID
and BATCHREVENUEID = @BATCHREVENUEID
union all
select
ART.APPLICATIONID,
ADDITIONALAPPLICATIONTYPECODE,
ADDITIONALAPPLICATIONDESIGNATIONID,
BATCHREVENUEAPPLICATION.APPLIED as APPLICATIONAMOUNT,
'' as APPLICATIONDESCRIPTION,
dbo.UFN_REVENUEBATCH_GETCOLLECTIONDESCRIPTION_3(ART.ADDITIONALAPPLICATIONTYPECODE, ART.ADDITIONALAPPLICATIONDESIGNATIONID, @BATCHREVENUEID, 1, ART.ADDITIONALAPPLICATIONDECLINESGIFTAID, ART.ADDITIONALAPPLICATIONSPONSORSHIPID) as COLLECTIONDESCRIPTION,
( select
AMOUNT,
CONSTITUENTID,
EFFECTIVEDATE,
BATCHREVENUERECOGNITION.ID,
REVENUERECOGNITIONTYPECODE.DESCRIPTION as RECOGNITIONTYPE,
REVENUERECOGNITIONTYPECODEID,
REVENUERECOGNITIONID
from dbo.BATCHREVENUERECOGNITION
left join dbo.REVENUERECOGNITIONTYPECODE on BATCHREVENUERECOGNITION.REVENUERECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODE.ID
where
BATCHREVENUERECOGNITION.APPLICATIONID = ART.APPLICATIONID
and BATCHREVENUERECOGNITION.BATCHREVENUEID = @BATCHREVENUEID
for xml raw('ITEM'),type,elements,BINARY BASE64
) as RECOGNITIONS,
ADDITIONALAPPLICATIONDECLINESGIFTAID,
ADDITIONALAPPLICATIONSPONSORSHIPID
from @APPLICATIONRECOGNITIONSTABLE ART
inner join
dbo.BATCHREVENUEAPPLICATION on BATCHREVENUEAPPLICATION.BATCHREVENUEID = @BATCHREVENUEID and BATCHREVENUEAPPLICATION.APPLICATIONTYPECODE = 2
where
ART.APPLICATIONID = '9B9C1DC8-7960-4D31-A0BC-8199AB7F94DA'
union all
select
ART.APPLICATIONID,
ADDITIONALAPPLICATIONTYPECODE,
ADDITIONALAPPLICATIONDESIGNATIONID,
BATCHREVENUEAPPLICATION.APPLIED as APPLICATIONAMOUNT,
'' as APPLICATIONDESCRIPTION,
dbo.UFN_REVENUEBATCH_GETCOLLECTIONDESCRIPTION_3(ART.ADDITIONALAPPLICATIONTYPECODE, ART.ADDITIONALAPPLICATIONDESIGNATIONID, @BATCHREVENUEID, 1, ART.ADDITIONALAPPLICATIONDECLINESGIFTAID, ART.ADDITIONALAPPLICATIONSPONSORSHIPID) as COLLECTIONDESCRIPTION,
( select
AMOUNT,
CONSTITUENTID,
EFFECTIVEDATE,
BATCHREVENUERECOGNITION.ID,
REVENUERECOGNITIONTYPECODE.DESCRIPTION as RECOGNITIONTYPE,
REVENUERECOGNITIONTYPECODEID,
REVENUERECOGNITIONID
from dbo.BATCHREVENUERECOGNITION
left join dbo.REVENUERECOGNITIONTYPECODE on BATCHREVENUERECOGNITION.REVENUERECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODE.ID
where
BATCHREVENUERECOGNITION.APPLICATIONID = ART.APPLICATIONID
and BATCHREVENUERECOGNITION.BATCHREVENUEID = @BATCHREVENUEID
for xml raw('ITEM'),type,elements,BINARY BASE64
) as RECOGNITIONS,
ADDITIONALAPPLICATIONDECLINESGIFTAID,
ADDITIONALAPPLICATIONSPONSORSHIPID
from @APPLICATIONRECOGNITIONSTABLE ART
inner join
dbo.BATCHREVENUEAPPLICATION on BATCHREVENUEAPPLICATION.BATCHREVENUEREGISTRANTID = ART.APPLICATIONID
where
BATCHREVENUEAPPLICATION.BATCHREVENUEID = @BATCHREVENUEID and
BATCHREVENUEAPPLICATION.APPLICATIONTYPECODE = 1
) as RECOGNITIONSSET
for xml raw('ITEM'),type,elements,root('APPLICATIONRECOGNITIONS'),BINARY BASE64)
return @APPLICATIONRECOGNITIONS
end