USP_DATAFORMTEMPLATE_VIEW_DESIGNATIONLEVELPAGEDATA
The load procedure used by the view dataform template "Fundraising Purpose Page Expression View Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@NAME | nvarchar(100) | INOUT | Name |
@DESIGNATIONLEVELNAME | nvarchar(100) | INOUT | DESIGNATIONLEVELNAME |
@HASRECIPIENTS | bit | INOUT | HASRECIPIENTS |
@HASDONORINFORMATION | bit | INOUT | HASDONORINFORMATION |
@HASFINANCIALINFORMATION | bit | INOUT | HASFINANCIALINFORMATION |
@DESIGNATIONID | uniqueidentifier | INOUT | DESIGNATIONID |
@HASKPIRIGHTS | bit | INOUT | HASKPIRIGHTS |
@STEWARDSHIPPACKAGEPROCESSID | uniqueidentifier | INOUT | STEWARDSHIPPACKAGEPROCESSID |
@GIFTFEE_ENABLED | bit | INOUT | GIFTFEE_ENABLED |
@DESIGNATIONLEVELGIFTFEE_ENABLED | bit | INOUT | DESIGNATIONLEVELGIFTFEE_ENABLED |
@GIFTFEES_AREDEFAULT | bit | INOUT | GIFTFEES_AREDEFAULT |
@HASGLMAPPING | bit | INOUT | HASGLMAPPING |
@ATTRIBUTEDEFINED | bit | INOUT | ATTRIBUTEDEFINED |
@ISACCEPTINGFUNDS | bit | INOUT | ISACCEPTINGFUNDS |
@CHANGECURRENCY_ENABLED | bit | INOUT | CHANGECURRENCY_ENABLED |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_DESIGNATIONLEVELPAGEDATA (
@ID uniqueidentifier
,@CURRENTAPPUSERID uniqueidentifier
,@DATALOADED bit = 0 output
,@NAME nvarchar(100) = null output
,@DESIGNATIONLEVELNAME nvarchar(100) = null output
,@HASRECIPIENTS bit = null output
,@HASDONORINFORMATION bit = null output
,@HASFINANCIALINFORMATION bit = null output
,@DESIGNATIONID uniqueidentifier = null output
,@HASKPIRIGHTS bit = null output
,@STEWARDSHIPPACKAGEPROCESSID uniqueidentifier = null output
,@GIFTFEE_ENABLED bit = null output
,@DESIGNATIONLEVELGIFTFEE_ENABLED bit = null output
,@GIFTFEES_AREDEFAULT bit = null output
,@HASGLMAPPING bit = null output
,@ATTRIBUTEDEFINED bit = null output
,@ISACCEPTINGFUNDS bit = null output
,@CHANGECURRENCY_ENABLED bit = null output
)
as
begin
set nocount on;
select @DATALOADED = 1
,@NAME = DESIGNATIONLEVEL.name
,@DESIGNATIONLEVELNAME = FPT.DESCRIPTION
,@HASRECIPIENTS = FPT.HASRECIPIENTS
,@HASDONORINFORMATION = FPT.HASDONORINFORMATION
,@HASFINANCIALINFORMATION = FPT.HASFINANCIALINFORMATION
,@DESIGNATIONID = (
select ID
from dbo.DESIGNATION
where DESIGNATIONLEVEL1ID = @ID
and DESIGNATIONLEVEL2ID is null
)
,@HASKPIRIGHTS = dbo.UFN_SECURITY_APPUSER_GRANTED_KPI(@CURRENTAPPUSERID, '32CC2B6B-73CF-43EC-A966-B86362F3F1AB')
--GUID is ID of FP Goal KPI Type
,@STEWARDSHIPPACKAGEPROCESSID = DESIGNATIONLEVEL.STEWARDSHIPPACKAGEPROCESSID
,@GIFTFEE_ENABLED = dbo.UFN_GIFTFEE_ENABLED()
,@DESIGNATIONLEVELGIFTFEE_ENABLED = dbo.UFN_DESIGNATIONLEVELGIFTFEE_ENABLED(@ID)
,@GIFTFEES_AREDEFAULT = 1
,@ATTRIBUTEDEFINED = dbo.UFN_ATTRIBUTECATEGORY_DEFINEDFORRECORDTYPE_FORAPPUSER('Fundraising Purpose', @CURRENTAPPUSERID)
,@ISACCEPTINGFUNDS = DESIGNATIONLEVEL.ISACCEPTINGFUNDS
from dbo.DESIGNATIONLEVEL
inner join dbo.DESIGNATIONLEVELTYPE FPT on DESIGNATIONLEVEL.DESIGNATIONLEVELTYPEID = FPT.ID
where DESIGNATIONLEVEL.ID = @ID
if @DATALOADED = 1
begin
if @HASRECIPIENTS = 0
set @HASRECIPIENTS = case
when exists (
select top 1 1
from dbo.DESIGNATIONLEVELRECIPIENT DLR
where DLR.DESIGNATIONLEVELID = @ID
)
then 1
else 0
end
if @HASDONORINFORMATION = 0
set @HASDONORINFORMATION = case
when exists (
select top 1 1
from dbo.FINANCIALTRANSACTION
inner join dbo.FINANCIALTRANSACTIONLINEITEM on FINANCIALTRANSACTION.ID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
inner join dbo.DESIGNATION D on D.ID = REVENUESPLIT_EXT.DESIGNATIONID
where FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
and FINANCIALTRANSACTIONLINEITEM.TYPECODE != 1
and (
D.DESIGNATIONLEVEL1ID = @ID
or D.DESIGNATIONLEVEL2ID = @ID
or D.DESIGNATIONLEVEL3ID = @ID
or D.DESIGNATIONLEVEL4ID = @ID
or D.DESIGNATIONLEVEL5ID = @ID
)
and (
FINANCIALTRANSACTION.TYPECODE in (
1
,3
,4
,6
,7
,8
)
or (
FINANCIALTRANSACTION.TYPECODE = 0
and REVENUESPLIT_EXT.APPLICATIONCODE in (
0
,1
,3
,4
)
)
or (
FINANCIALTRANSACTION.TYPECODE = 5
and REVENUESPLIT_EXT.APPLICATIONCODE = 0
)
)
)
then 1
else 0
end
if @HASFINANCIALINFORMATION = 0
set @HASFINANCIALINFORMATION = case
when exists (
select top 1 1
from dbo.DESIGNATIONLEVELFINANCIALINFO DLF
where DLF.DESIGNATIONLEVELID = @ID
)
then 1
else 0
end
end
if exists (
select top 1 1
from DESIGNATIONLEVELGIFTFEEOPTION
where ID = @ID
)
set @GIFTFEES_AREDEFAULT = 0;
if exists (
select top 1 1
from DESIGNATIONLEVELGIFTFEEOVERRIDE
where ID = @ID
and OVERRIDEGIFTFEESTRUCTURE = 1
)
set @GIFTFEES_AREDEFAULT = 0;
--if exists(select ID from dbo.PDACCOUNTSTRUCTURE where PDACCOUNTTABLESAVAILABLEFORSEGMENTID = '4C4A084F-597C-4CDE-BFB6-F1730397A01A')
--set @HASGLMAPPING = 1
if (
select count(ID)
from dbo.PDACCOUNTSTRUCTURE
where PDACCOUNTTABLESAVAILABLEFORSEGMENTID = '4C4A084F-597C-4CDE-BFB6-F1730397A01A'
) = 1
set @HASGLMAPPING = 1
declare @DESIGNATIONLEVELKPIEXISTS bit = 0;
WITH XMLNAMESPACES ('bb_appfx_dataforms' as DFI)
select @DESIGNATIONLEVELKPIEXISTS = 1
from dbo.KPIINSTANCE
where (
KPIINSTANCE.KPICATALOGID = '32CC2B6B-73CF-43EC-A966-B86362F3F1AB'
or KPIINSTANCE.KPICATALOGID = '9CD205B2-8D1B-4A50-A8D4-FAC4E5A5FF66'
)
and KPIINSTANCE.PARAMETERSXML.value('data(/DFI:DataFormItem/DFI:Values/DFI:fv[@ID="DESIGNATIONLEVELID"]/DFI:Value)[1]', 'varchar(36)') = cast(@ID as varchar(36))
declare @DESIGNATIONKPIEXISTS bit = 0;
WITH XMLNAMESPACES ('bb_appfx_dataforms' as DFI)
select @DESIGNATIONKPIEXISTS = 1
from dbo.KPIINSTANCE
where (
KPIINSTANCE.KPICATALOGID = '574D999C-7870-410E-9E12-6CAF955C2234'
or KPIINSTANCE.KPICATALOGID = 'A7463D6E-87B2-4F0F-BF44-C5D29BA77D5E'
)
and KPIINSTANCE.PARAMETERSXML.value('data(/DFI:DataFormItem/DFI:Values/DFI:fv[@ID="DESIGNATIONID"]/DFI:Value)[1]', 'varchar(36)') in (
select cast(DESIGNATION.ID as varchar(36))
from dbo.DESIGNATION
where (
DESIGNATION.DESIGNATIONLEVEL1ID = @ID
and DESIGNATION.DESIGNATIONLEVEL2ID is null
)
or (
DESIGNATION.DESIGNATIONLEVEL2ID = @ID
and DESIGNATION.DESIGNATIONLEVEL3ID is null
)
or (
DESIGNATION.DESIGNATIONLEVEL3ID = @ID
and DESIGNATION.DESIGNATIONLEVEL4ID is null
)
or (
DESIGNATION.DESIGNATIONLEVEL4ID = @ID
and DESIGNATION.DESIGNATIONLEVEL5ID is null
)
or DESIGNATION.DESIGNATIONLEVEL5ID = @ID
)
if (
select COUNT(ID)
from dbo.DESIGNATION
where (
DESIGNATION.DESIGNATIONLEVEL1ID = @ID
or DESIGNATION.DESIGNATIONLEVEL2ID = @ID
or DESIGNATION.DESIGNATIONLEVEL3ID = @ID
or DESIGNATION.DESIGNATIONLEVEL4ID = @ID
or DESIGNATION.DESIGNATIONLEVEL5ID = @ID
)
) < 2
and not exists (
select top 1 1
from dbo.BATCHDESIGNATIONLEVELFINANCIALINFO
where DESIGNATIONLEVELID = @ID
)
and @DESIGNATIONLEVELKPIEXISTS = 0
and @DESIGNATIONKPIEXISTS = 0
set @CHANGECURRENCY_ENABLED = 1
return 0
end