UFN_CONSTITUENTHISTORY_CONSTITUENTCHILDTABLES_AUDIT
Returns the audit information for the child tables for a given constituent record.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | |
@CONSTITUENTDATEADDED | datetime | IN | |
@ACTIONTYPECODE | tinyint | IN |
Definition
Copy
CREATE function dbo.UFN_CONSTITUENTHISTORY_CONSTITUENTCHILDTABLES_AUDIT
(
@CONSTITUENTID uniqueidentifier,
@CONSTITUENTDATEADDED datetime,
@ACTIONTYPECODE tinyint
)
returns @RESULTS table
(
RECORDID uniqueidentifier,
AUDITDATE datetime,
CHANGEDBYUSER nvarchar(128),
PROCESS nvarchar(255),
FIELD nvarchar(128),
OLD nvarchar(4000),
NEW nvarchar(4000),
SEQUENCE int,
ACTION nvarchar(8),
CHANGEDBYAPP nvarchar(200)
) as
begin
insert into @RESULTS
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
40 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('PHONETYPECODEID,NUMBER,ISPRIMARY', 'PHONE', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Phone', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
50 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('EMAILADDRESSTYPECODEID,EMAILADDRESS,ISPRIMARY', 'EMAILADDRESS', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Email address', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
60 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('ADDRESSTYPECODEID,COUNTRYID,STATEID,ADDRESSBLOCK,CITY,POSTCODE,CART,DPC,LOT,ISPRIMARY,DONOTMAIL,STARTDATE,ENDDATE', 'ADDRESS', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Address', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
70 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('CONSTITUENTINTERESTCODEID,NOTE', 'CONSTITUENTINTEREST', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Interest', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
80 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('MATCHINGGIFTCONDITIONTYPECODEID,MATCHINGFACTOR,MAXMATCHANNUAL,MAXMATCHPERGIFT,MAXMATCHTOTAL,MINMATCHPERGIFT,NOTES', 'MATCHINGGIFTCONDITION', 'ORGANIZATIONID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Matching gift condition', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
90 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('CONSTITUENCYCODEID,DATEFROM,DATETO', 'CONSTITUENCY', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'User defined constituency', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
90 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('DATEFROM,DATETO', 'BOARDMEMBERDATERANGE', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Board member constituency', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
90 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('DATEFROM,DATETO', 'FUNDRAISERDATERANGE', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Fundraiser constituency', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
90 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('DATEFROM,DATETO', 'PROSPECTDATERANGE', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Prospect constituency', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
90 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('DATEFROM,DATETO', 'STAFFDATERANGE', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Staff constituency', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
90 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('DATEFROM,DATETO', 'VOLUNTEERDATERANGE', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Volunteer constituency', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
100 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('EDUCATIONALINSTITUTIONID,ISPRIMARYRECORD,KNOWNNAME,EDUCATIONALHISTORYTYPECODEID,CONSTITUENCYSTATUSCODE,EDUCATIONALDEGREECODEID,STARTDATE,ENDDATE,GPA,CLASSOF,FRATERNITY', 'EDUCATIONALHISTORY', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Educational history', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
110 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('DATEENTERED,TITLE,AUTHORID,TEXTNOTE,CONSTITUENTNOTETYPECODEID', 'CONSTITUENTNOTE', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Note', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
120 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('DATEENTERED,TITLE,AUTHORID,CONSTITUENTMEDIALINKTYPECODEID,MEDIAURL', 'CONSTITUENTMEDIALINK', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Media link', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
130 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('DATEENTERED,TITLE,AUTHORID,CONSTITUENTATTACHMENTTYPECODEID,FILENAME', 'CONSTITUENTATTACHMENT', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Attachment', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
140 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('ALIASTYPECODEID,KEYNAME,FIRSTNAME', 'ALIAS', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Alias', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
150 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('NAMEFORMATTYPECODEID,NAMEFORMATFUNCTIONID,CUSTOMNAME', 'NAMEFORMAT', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Name format', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
160 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('RECIPROCALCONSTITUENTID,RELATIONSHIPTYPECODEID,RECIPROCALTYPECODEID,STARTDATE,ENDDATE,ISSPOUSE,ISPRIMARYBUSINESS,ISCONTACT,CONTACTTYPECODEID,POSITION,ISMATCHINGGIFTRELATIONSHIP', 'RELATIONSHIP', 'RELATIONSHIPCONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Relationship', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
case when FIELD = 'Financial account:ACCOUNTNUMBER' then '**********' else OLD end,
case when FIELD = 'Financial account:ACCOUNTNUMBER' then '**********' else NEW end,
170 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('FINANCIALINSTITUTIONID,ACCOUNTNUMBER,ACCOUNTTYPECODE,EFTSTATUSCODE', 'CONSTITUENTACCOUNT', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Financial account', '')
union all
select
RECORDID,
case when ACTION = 'Insert' then DATEADDED when ACTION = 'Update' then DATECHANGED else AUDITDATE end as [AUDITDATE],
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
180 as [SEQUENCE],
ACTION,
CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST('CONSTIT_SECURITY_ATTRIBUTEID', 'CONSTIT_SECURITY_ATTRIBUTE_ASSIGNMENT', 'CONSTITUENTID', @CONSTITUENTID, @CONSTITUENTDATEADDED, 'Constituent group', '')
if @ACTIONTYPECODE = 1
delete from @RESULTS where ACTION = 'Delete' or ACTION = 'Update';
if @ACTIONTYPECODE = 2
delete from @RESULTS where ACTION = 'Insert' or ACTION = 'Delete';
if @ACTIONTYPECODE = 3
delete from @RESULTS where ACTION = 'Insert' or ACTION = 'Update';
return;
end