USP_DATAFORMTEMPLATE_VIEW_MEMBERSHIPPROGRAMPAGEEXPRESSION
The load procedure used by the view dataform template "Membership Program 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. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@NAME | nvarchar(100) | INOUT | Name |
@SITE | nvarchar(100) | INOUT | Site |
@EXPIRESON | nvarchar(20) | INOUT | Expiration date |
@ALLOWMULTIPLEMEMBERSHIPS | bit | INOUT | Allow multiple memberships |
@DESCRIPTION | nvarchar(255) | INOUT | Description |
@ISACTIVE | bit | INOUT | Active/Inactive |
@GIFTAIDQUALIFICATIONSTATUS | nvarchar(25) | INOUT | Gift Aid status |
@MEMBERSHIPRENEWALEFFORTPROCESSID | uniqueidentifier | INOUT | Process ID |
@HASMEMBERSHIPRENEWALEFFORTPROCESSSTATUS | bit | INOUT | Has membership renewal effort process status |
@ISBASICCMS | bit | INOUT | Approved for website |
@NETCOMMUNITYLINKESTABLISHED | bit | INOUT | Blackbaud Internet Solutions link established? |
@ALLOWADDONADULT | bit | INOUT | Allow additional members |
@ADDONADULTPRICE | money | INOUT | Price |
@ALLOWADDONGUEST | bit | INOUT | Allow guests |
@ADDONGUESTPRICE | money | INOUT | Price |
@BASECURRENCYID | uniqueidentifier | INOUT | Base currency |
@HASMEMBERSHIPS | bit | INOUT | Has memberships |
@PROGRAMBASEDONCODE | tinyint | INOUT | |
@PROGRAMTYPECODE | tinyint | INOUT | |
@TERMCOUNT | tinyint | INOUT | |
@ISANNUALDUESBASED | bit | INOUT | |
@HASTYPES | bit | INOUT | |
@TEXTID | nvarchar(50) | INOUT | |
@ISTYPEPROGRAM | bit | INOUT | |
@WHEREISREVENUETRACKEDCODE | tinyint | INOUT | |
@MULTIPLETERMS | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_MEMBERSHIPPROGRAMPAGEEXPRESSION
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@NAME nvarchar(100) = null output,
@SITE nvarchar(100) = null output,
@EXPIRESON nvarchar(20) = null output,
@ALLOWMULTIPLEMEMBERSHIPS bit = null output,
@DESCRIPTION nvarchar(255) = null output,
@ISACTIVE bit = null output,
@GIFTAIDQUALIFICATIONSTATUS nvarchar(25) = null output,
@MEMBERSHIPRENEWALEFFORTPROCESSID uniqueidentifier = null output,
@HASMEMBERSHIPRENEWALEFFORTPROCESSSTATUS bit = null output,
@ISBASICCMS bit = null output,
@NETCOMMUNITYLINKESTABLISHED bit = null output,
@ALLOWADDONADULT bit = null output,
@ADDONADULTPRICE money = null output,
@ALLOWADDONGUEST bit = null output,
@ADDONGUESTPRICE money = null output,
@BASECURRENCYID uniqueidentifier = null output,
@HASMEMBERSHIPS bit = null output,
@PROGRAMBASEDONCODE tinyint = null output,
@PROGRAMTYPECODE tinyint = null output,
@TERMCOUNT tinyint = null output,
@ISANNUALDUESBASED bit = null output,
@HASTYPES bit = null output,
@TEXTID nvarchar(50) = null output,
@ISTYPEPROGRAM bit = null output,
@WHEREISREVENUETRACKEDCODE tinyint = null output,
@MULTIPLETERMS bit = null output
)
as
set nocount on;
set @DATALOADED = 0;
set @TEXTID = @ID
select
@DATALOADED = 1,
@NAME = MEM.NAME,
@SITE = SITE.NAME,
@EXPIRESON = MEM.EXPIRESON,
@ALLOWMULTIPLEMEMBERSHIPS = MEM.ALLOWMULTIPLEMEMBERSHIPS,
@DESCRIPTION = MEM.DESCRIPTION,
@ISACTIVE = MEM.ISACTIVE,
@ISBASICCMS = ISNULL(CAST(dbo.MICROSITEPAGE.SITEPAGESID AS BIT), 0),
@NETCOMMUNITYLINKESTABLISHED = dbo.[UFN_MKTNETCOMMUNITYINTEGRATION_LINKESTABLISHED](),
@ALLOWADDONADULT = MEM.ALLOWADDONADULT,
@ADDONADULTPRICE = MEM.ADDONADULTPRICE,
@ALLOWADDONGUEST = MEM.ALLOWADDONGUEST,
@ADDONGUESTPRICE = MEM.ADDONGUESTPRICE,
@BASECURRENCYID = MEM.BASECURRENCYID,
@ISANNUALDUESBASED = case when (MEM.PROGRAMTYPECODE = 0 and MEM.PROGRAMBASEDONCODE = 0) then 1
else 0
end,
@ISTYPEPROGRAM = MEM.ISTYPEPROGRAM,
@WHEREISREVENUETRACKEDCODE = MEM.WHEREISREVENUETRACKEDCODE,
@MULTIPLETERMS = MEM.MULTIPLETERMS
from
dbo.MEMBERSHIPPROGRAM MEM
left join dbo.MICROSITEPAGE
on (MICROSITEPAGE.OBJECTID = MEM.ID)
and (MICROSITEPAGE.EXCLUDED = 0)
left join dbo.SITE
on MEM.SITEID = SITE.ID
where MEM.ID = @ID;
--Gift Aid is for UK only
if dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('9568A6C2-F7AA-45fd-8F54-21FE9654EE2D') = 1
begin
set @GIFTAIDQUALIFICATIONSTATUS = dbo.UFN_MEMBERSHIPQUALIFICATIONSTATUS(@ID)
end
-- Membership mailing process ID
select @MEMBERSHIPRENEWALEFFORTPROCESSID = [ID]
from dbo.MKTMEMBERSHIPRENEWALEFFORTPROCESS
where MEMBERSHIPPROGRAMID = @ID
-- Membership renewal notice status
if exists (select MKTMEMBERSHIPRENEWALEFFORTPROCESSSTATUS.ID
from dbo.MKTMEMBERSHIPRENEWALEFFORTPROCESSSTATUS
inner join dbo.MKTMEMBERSHIPRENEWALEFFORTPROCESS
on MKTMEMBERSHIPRENEWALEFFORTPROCESSSTATUS.PARAMETERSETID = MKTMEMBERSHIPRENEWALEFFORTPROCESS.ID
where MKTMEMBERSHIPRENEWALEFFORTPROCESS.MEMBERSHIPPROGRAMID = @ID
)
set @HASMEMBERSHIPRENEWALEFFORTPROCESSSTATUS = 1
else
set @HASMEMBERSHIPRENEWALEFFORTPROCESSSTATUS = 0
if exists(select 1 from dbo.MEMBERSHIP where MEMBERSHIP.MEMBERSHIPPROGRAMID = @ID)
set @HASMEMBERSHIPS = 1
else
set @HASMEMBERSHIPS = 0
select
@PROGRAMBASEDONCODE = MP.PROGRAMBASEDONCODE,
@PROGRAMTYPECODE = MP.PROGRAMTYPECODE,
@TERMCOUNT = MAX(MLT.SEQUENCE),
@HASTYPES = CASE WHEN MLTYPES.MAXSEQUENCE > 0 THEN 1 ELSE 0 END
from
dbo.MEMBERSHIPPROGRAM MP
join dbo.UFN_MEMBERSHIPPROGRAM_GETTERMS(@ID) MLT ON MLT.MEMBERSHIPPROGRAMID = MP.ID
left outer join (
select
max(MEMBERSHIPLEVELTYPE.SEQUENCE) MAXSEQUENCE,
MEMBERSHIPLEVEL.MEMBERSHIPPROGRAMID
from dbo.MEMBERSHIPLEVELTYPE
inner join dbo.MEMBERSHIPLEVEL on MEMBERSHIPLEVELTYPE.LEVELID = MEMBERSHIPLEVEL.ID
where
MEMBERSHIPLEVEL.MEMBERSHIPPROGRAMID = @ID
group by
MEMBERSHIPPROGRAMID
) MLTYPES on MLTYPES.MEMBERSHIPPROGRAMID = MP.ID
where
MP.ID = @ID
group by
MP.PROGRAMBASEDONCODE,
MP.PROGRAMTYPECODE,
CASE WHEN MLTYPES.MAXSEQUENCE > 0 THEN 1 ELSE 0 END
return 0;