USP_DESIGNATIONLEVELPROFILEREPORT_RECIPIENTS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DESIGNATIONLEVELID | uniqueidentifier | IN | |
@REPORTUSERID | nvarchar(128) | IN | |
@CURRENCYCODE | tinyint | IN | |
@ALTREPORTUSERID | nvarchar(128) | IN |
Definition
Copy
create proc dbo.USP_DESIGNATIONLEVELPROFILEREPORT_RECIPIENTS
(
@DESIGNATIONLEVELID uniqueidentifier,
@REPORTUSERID nvarchar(128) = null,
@CURRENCYCODE tinyint = 1,
@ALTREPORTUSERID nvarchar(128) = null
)
as
set nocount on;
declare @CURRENTAPPUSERID uniqueidentifier;
declare @ISADMIN bit;
declare @APPUSER_IN_NONRACROLE bit;
declare @APPUSER_IN_NOSECGROUPROLE bit;
set @CURRENTAPPUSERID = dbo.UFN_APPUSER_GETREPORTAPPUSERID(@REPORTUSERID, @ALTREPORTUSERID);
set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
set @APPUSER_IN_NONRACROLE = dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE(@CURRENTAPPUSERID);
set @APPUSER_IN_NOSECGROUPROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SECURITY_GROUP_ROLE(@CURRENTAPPUSERID);
if @CURRENCYCODE = 1
begin
declare @CURRENCYID uniqueidentifier;
declare @CURRENCYISO nvarchar(3);
declare @CURRENCYDECIMALDIGITS tinyint;
declare @CURRENCYSYMBOL nvarchar(5);
declare @CURRENCYSYMBOLDISPLAYSETTINGCODE tinyint;
set @CURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
select
@CURRENCYISO = ISO4217,
@CURRENCYDECIMALDIGITS = DECIMALDIGITS,
@CURRENCYSYMBOL = CURRENCYSYMBOL,
@CURRENCYSYMBOLDISPLAYSETTINGCODE = SYMBOLDISPLAYSETTINGCODE
from dbo.CURRENCY where ID = @CURRENCYID;
select
CONSTITUENT.[NAME],
RECIPIENT.DATE,
RECIPIENT.ORGANIZATIONAMOUNT as AMOUNT,
@CURRENCYID as CURRENCYID,
@CURRENCYISO as CURRENCYISO,
@CURRENCYDECIMALDIGITS as CURRENCYDECIMALDIGITS,
@CURRENCYSYMBOL as CURRENCYSYMBOL,
@CURRENCYSYMBOLDISPLAYSETTINGCODE as CURRENCYSYMBOLDISPLAYSETTINGCODE
from
dbo.DESIGNATIONLEVELRECIPIENT RECIPIENT
inner join dbo.CONSTITUENT on RECIPIENT.CONSTITUENTID = CONSTITUENT.ID
where
RECIPIENT.DESIGNATIONLEVELID = @DESIGNATIONLEVELID
and (@ISADMIN = 1 or
@APPUSER_IN_NONRACROLE = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, RECIPIENT.CONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1)
order by
RECIPIENT.SEQUENCE;
end
else
select
CONSTITUENT.[NAME],
RECIPIENT.DATE,
RECIPIENT.AMOUNT,
CURRENCYPROPERTIES.ID as CURRENCYID,
CURRENCYPROPERTIES.ISO4217 as CURRENCYISO,
CURRENCYPROPERTIES.DECIMALDIGITS as CURRENCYDECIMALDIGITS,
CURRENCYPROPERTIES.CURRENCYSYMBOL as CURRENCYSYMBOL,
CURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE as CURRENCYSYMBOLDISPLAYSETTINGCODE
from
dbo.DESIGNATIONLEVELRECIPIENT RECIPIENT
inner join dbo.CONSTITUENT on RECIPIENT.CONSTITUENTID = CONSTITUENT.ID
outer apply dbo.UFN_CURRENCY_GETPROPERTIES(RECIPIENT.BASECURRENCYID) CURRENCYPROPERTIES
where
RECIPIENT.DESIGNATIONLEVELID = @DESIGNATIONLEVELID
and (@ISADMIN = 1 or
@APPUSER_IN_NONRACROLE = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, RECIPIENT.CONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1)
order by
RECIPIENT.SEQUENCE;