USP_DATAFORMTEMPLATE_VIEW_BATCHMEMBERSHIPDUESROWCONTEXT
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@DATALOADED | bit | INOUT | |
@PRIMARYMEMBERNAME | nvarchar(100) | INOUT | |
@PRIMARYMEMBERLOOKUPID | nvarchar(20) | INOUT | |
@PROMONAME | nvarchar(100) | INOUT | |
@PROMOTIONTYPECODE | tinyint | INOUT | |
@PROMODISCOUNTCALCULATIONTYPECODE | tinyint | INOUT | |
@PROMOAMOUNT | money | INOUT | |
@PROMOPERCENT | decimal(5, 2) | INOUT | |
@PROMOEXTENSIONCALCULATIONTYPECODE | tinyint | INOUT | |
@PROMOEXTENSIONVALUE | int | INOUT | |
@RECEIPTAMOUNT | money | INOUT | |
@TOTALAMOUNT | money | INOUT | |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | |
@ADDITIONALMEMBERS | xml | INOUT | |
@BENEFITS | xml | INOUT | |
@ADDONS | xml | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_BATCHMEMBERSHIPDUESROWCONTEXT
(
@ID uniqueidentifier
, @DATALOADED bit = 0 output
, @PRIMARYMEMBERNAME nvarchar(100) = null output
, @PRIMARYMEMBERLOOKUPID nvarchar(20) = null output
, @PROMONAME nvarchar(100) = null output
, @PROMOTIONTYPECODE tinyint = null output
, @PROMODISCOUNTCALCULATIONTYPECODE tinyint = null output
, @PROMOAMOUNT money = null output
, @PROMOPERCENT decimal(5,2) = null output
, @PROMOEXTENSIONCALCULATIONTYPECODE tinyint = null output
, @PROMOEXTENSIONVALUE integer = null output
, @RECEIPTAMOUNT money = null output
, @TOTALAMOUNT money = null output
, @TRANSACTIONCURRENCYID uniqueidentifier = null output
, @ADDITIONALMEMBERS xml = null output
, @BENEFITS xml = null output
, @ADDONS xml = null output
)
as
set nocount on;
--to fix the 'record specified does not exist' error when adding new rows through batch grid
set @DATALOADED = 1;
--None of this actually matters; data is sent over from the batch handler directly.
select
@PRIMARYMEMBERNAME = C.NAME
, @PRIMARYMEMBERLOOKUPID = C.LOOKUPID
, @PROMONAME =
case when BMD.PROMOTIONCODE is not null
then 'Promo code'
else MP.[NAME]
end
, @PROMOTIONTYPECODE = MP.PROMOTIONTYPECODE
, @PROMODISCOUNTCALCULATIONTYPECODE = MP.DISCOUNTCALCULATIONTYPECODE
, @PROMOAMOUNT = MP.[AMOUNT]
, @PROMOPERCENT = MP.[PERCENT]
, @PROMOEXTENSIONCALCULATIONTYPECODE = MP.EXTENSIONCALCULATIONTYPECODE
, @PROMOEXTENSIONVALUE = MP.EXTENSIONVALUE
, @RECEIPTAMOUNT = BMD.TAXDEDUCTIBLEAMOUNT
, @TOTALAMOUNT = BMD.TOTALAMOUNT
, @TRANSACTIONCURRENCYID = BMD.TRANSACTIONCURRENCYID
, @ADDITIONALMEMBERS = dbo.UFN_MEMBERSHIPDUESBATCH_GETMEMBERSFORCONTEXTVIEW_TOITEMLISTXML(@ID)
, @BENEFITS = dbo.UFN_MEMBERSHIPDUESBATCH_GETALLBENEFITSFORCONTEXTVIEW_TOITEMLISTXML(@ID)
, @ADDONS = dbo.UFN_MEMBERSHIPDUESBATCH_GETADDONSFORCONTEXTVIEW_TOITEMLISTXML(@ID)
from dbo.BATCHMEMBERSHIPDUES BMD
inner join dbo.CONSTITUENT C
on C.ID = case
when BMD.DUESTYPECODE = 0 then BMD.BILLTOCONSTITUENTID -- Paying for membership
else BMD.MEMBERSHIPRECIPIENTID -- Giving or comping membership
end
left join dbo.MEMBERSHIPPROMO MP
on coalesce (BMD.APPLIEDDISCOUNTID, BMD.MEMBERSHIPPROMOID) = MP.ID
where BMD.ID = @ID
return 0;