USP_DATAFORMTEMPLATE_VIEW_DAILYSALESDATA
The load procedure used by the view dataform template "Daily Sales Page Expression View Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@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. |
@SALESORDERID | uniqueidentifier | INOUT | ID |
@ORDERNUMBER | int | INOUT | Order number |
@CAPTUREMARKETINGINFO | bit | INOUT | Capture marketing info |
@CONSTITUENTID | uniqueidentifier | INOUT | Order patron |
@PRIMARYMEMBERSHIPID | uniqueidentifier | INOUT | Patron's primary membership |
@CONSTITUENTEXISTS | bit | INOUT | Constituent exists on order |
@PRIMARYMEMBERSHIPDESCRIPTION | nvarchar(200) | INOUT | Description of membership |
@CONSTITUENTNAME | nvarchar(255) | INOUT | Constituent name |
@COMPLETEMARKETINGSURVEY | bit | INOUT | COMPLETEMARKETINGSURVEY |
@CONSTITUENTHASADDRESS | bit | INOUT | CONSTITUENTHASADDRESS |
@CONSTITUENTPOSTCODE | nvarchar(20) | INOUT | CONSTITUENTPOSTCODE |
@CONSTITUENTCOUNTRYID | uniqueidentifier | INOUT | CONSTITUENTCOUNTRYID |
@CONSTITUENTHASUSADDRESS | bit | INOUT | CONSTITUENTHASUSADDRESS |
@USER_GRANTED_CONSTITPAGE | bit | INOUT | USER_GRANTED_CONSTITPAGE |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_DAILYSALESDATA
(
@CURRENTAPPUSERID uniqueidentifier,
@DATALOADED bit = 0 output,
@SALESORDERID uniqueidentifier = null output,
@ORDERNUMBER int = null output,
@CAPTUREMARKETINGINFO bit = null output,
@CONSTITUENTID uniqueidentifier = null output,
@PRIMARYMEMBERSHIPID uniqueidentifier = null output,
@CONSTITUENTEXISTS bit = null output,
@PRIMARYMEMBERSHIPDESCRIPTION nvarchar(200) = null output,
@CONSTITUENTNAME nvarchar(255) = null output,
@COMPLETEMARKETINGSURVEY bit = null output,
@CONSTITUENTHASADDRESS bit = null output,
@CONSTITUENTPOSTCODE nvarchar(20) = null output,
@CONSTITUENTCOUNTRYID uniqueidentifier = null output,
@CONSTITUENTHASUSADDRESS bit = null output,
@USER_GRANTED_CONSTITPAGE bit = null output
)
as
set nocount on;
set @DATALOADED = 0;
if dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 begin
set @USER_GRANTED_CONSTITPAGE = 1
end
else begin
set @USER_GRANTED_CONSTITPAGE = dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_IN_SYSTEMROLE(@CURRENTAPPUSERID,'0c836902-a398-47a0-91eb-8b66e434148e')
end
declare @DAILYSALESMETHODID uniqueidentifier = dbo.UFN_SALESMETHOD_GETIDFROMTYPECODE(0);
select @CAPTUREMARKETINGINFO = SMMC.CAPTUREMARKETINGINFO
from dbo.SALESMETHODMARKETINGCONFIGURATION as SMMC
where SMMC.ID = @DAILYSALESMETHODID;
if exists(
select 1 from dbo.SALESMETHODMARKETINGSURVEYCONFIGURATION SMMSC
where SMMSC.SALESMETHODID = @DAILYSALESMETHODID
and SMMSC.ISACTIVE = 1
)
set @COMPLETEMARKETINGSURVEY = 1
else
set @COMPLETEMARKETINGSURVEY = 0
exec dbo.USP_DATAFORMTEMPLATE_ADD_ORDERCREATECHECK @ID = @SALESORDERID output, @SALESMETHODTYPECODE = 0, @CURRENTAPPUSERID = @CURRENTAPPUSERID
select
@DATALOADED = 1,
@ORDERNUMBER = SALESORDER.SEQUENCEID,
@CONSTITUENTID = SALESORDER.CONSTITUENTID,
@CONSTITUENTEXISTS = case when SALESORDER.CONSTITUENTID is not null then 1 else 0 end,
@CONSTITUENTNAME = dbo.UFN_CONSTITUENT_BUILDNAME([SALESORDER].[CONSTITUENTID])
from
dbo.SALESORDER
where
SALESORDER.ID = @SALESORDERID;
if @CONSTITUENTEXISTS = 1
begin
select top(1)
@PRIMARYMEMBERSHIPID = MEMBER.ID,
@PRIMARYMEMBERSHIPDESCRIPTION = '' + MEMBERSHIPPROGRAM.NAME + ' - ' + MEMBERSHIPLEVEL.NAME
from dbo.MEMBER
inner join dbo.MEMBERSHIP on MEMBER.MEMBERSHIPID = MEMBERSHIP.ID
inner join dbo.MEMBERSHIPLEVEL on MEMBERSHIP.MEMBERSHIPLEVELID = MEMBERSHIPLEVEL.ID
inner join dbo.MEMBERSHIPPROGRAM on MEMBERSHIPLEVEL.MEMBERSHIPPROGRAMID = MEMBERSHIPPROGRAM.ID
where
MEMBER.CONSTITUENTID = @CONSTITUENTID and
MEMBER.ISDROPPED = 0 and
getdate() <= dateadd(month, MEMBERSHIPLEVEL.AFTEREXPIRATION, MEMBERSHIP.EXPIRATIONDATE) and
MEMBERSHIP.STATUSCODE = 0
order by
MEMBERSHIPPROGRAM.ALLOWMULTIPLEMEMBERSHIPS asc
select
@CONSTITUENTHASADDRESS = case
when A.ID is null then 0
else 1
end,
@CONSTITUENTPOSTCODE = A.POSTCODE,
@CONSTITUENTCOUNTRYID = CTY.ID,
@CONSTITUENTHASUSADDRESS = case
when CTY.ISO3166 = 'US' then 1
else 0
end
from dbo.CONSTITUENT C
left outer join dbo.ADDRESS A on A.CONSTITUENTID = C.ID and A.ISPRIMARY = 1
left outer join dbo.COUNTRY CTY on CTY.ID = A.COUNTRYID
where C.ID = @CONSTITUENTID
end
return 0;