USP_REPORT_COAUPDATE
Returns the data for the AddressFinder report
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BATCHID | uniqueidentifier | IN | |
@CHANGED | int | IN | |
@REPORTUSERID | nvarchar(128) | IN | |
@ALTREPORTUSERID | nvarchar(128) | IN |
Definition
Copy
CREATE procedure dbo.USP_REPORT_COAUPDATE
(
@BATCHID uniqueidentifier,
@CHANGED int = null,
@REPORTUSERID nvarchar(128) = null,
@ALTREPORTUSERID nvarchar(128) = null
)
with execute as owner
as
set nocount on;
declare @CURRENTAPPUSERID uniqueidentifier;
declare @ISADMIN bit;
declare @APPUSER_IN_NONRACROLE bit;
declare @APPUSER_IN_NOSECGROUPROLE bit;
declare @APPUSER_IN_NONSITEROLE bit;
declare @APPUSER_IN_NOSITEROLE 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);
set @APPUSER_IN_NONSITEROLE = dbo.UFN_SECURITY_APPUSER_IN_NONSITEROLE(@CURRENTAPPUSERID);
set @APPUSER_IN_NOSITEROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SITE_ROLE(@CURRENTAPPUSERID);
select 'http://www.blackbaud.com/CONSTITUENTID?CONSTITUENTID=' + convert(nvarchar(36),BATCH.CONSTITUENTID) as CONSTITUENTID,
CONSTITUENT.NAME,
CONSTITUENT.LOOKUPID,
BATCH.ADDRESSBLOCK,
BATCH.CITY,
dbo.UFN_STATE_GETDESCRIPTION(BATCH.STATEID) as STATE,
BATCH.POSTCODE,
BATCH.STDADDRESSBLOCK,
BATCH.STDCITY,
dbo.UFN_STATE_GETDESCRIPTION(BATCH.STDSTATEID) as STDSTATE,
BATCH.STDPOSTCODE,
BATCH.COAADDRESSBLOCK,
BATCH.COACITY,
dbo.UFN_STATE_GETDESCRIPTION(BATCH.STDSTATEID) as COASTATE,
BATCH.COAPOSTCODE,
substring(dbo.UFN_ADDRESS_NCOAFOOTNOTECODE_GETDESCRIPTION(BATCH.NCOAFOOTNOTECODE),1,1) as NCOAFOOTNOTE,
BATCH.ADDRESSCHANGED,
dbo.UFN_ADDRESSTYPECODE_GETDESCRIPTION(ADDRESS.ADDRESSTYPECODEID) as ADDRESSTYPECODE,
COAUPDATE.DATELASTRUN,
DATA.UPDATEADDRESSCODE,
(select count(ID) from dbo.BATCHCOAUPDATE where BATCHID = @BATCHID) as ADDRESSESPROCESSED,
(select count(ID) from dbo.BATCHCOAUPDATE where BATCHID = @BATCHID and ADDRESSCHANGED = 1) as ADDRESSESUPDATED
from dbo.BATCHCOAUPDATE BATCH
inner join dbo.COAUPDATE on COAUPDATE.BATCHID = BATCH.BATCHID
inner join dbo.DATATUNEUP DATA on DATA.ID = COAUPDATE.DATATUNEUPID
inner join dbo.CONSTITUENT on CONSTITUENT.ID = BATCH.CONSTITUENTID
inner join dbo.ADDRESS on ADDRESS.ID = BATCH.ADDRESSID
where BATCH.BATCHID = @BATCHID and
(convert(int, ADDRESSCHANGED) = @CHANGED or @CHANGED is null)
and (@ISADMIN = 1 or
(
(@APPUSER_IN_NONRACROLE = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, CONSTITUENT.ID, @APPUSER_IN_NOSECGROUPROLE) = 1)
and
(@APPUSER_IN_NONSITEROLE = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT_BYSITE(@CURRENTAPPUSERID, CONSTITUENT.ID, @APPUSER_IN_NOSITEROLE) = 1)
))
order by CONSTITUENT.NAME;