UFN_REVENUEHISTORY_PAYMENTMETHOD_AUDIT2
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN | |
@REVENUEDATEADDED | datetime | IN | |
@ACTIONTYPECODE | tinyint | IN | |
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN |
Definition
Copy
create function [dbo].[UFN_REVENUEHISTORY_PAYMENTMETHOD_AUDIT2]
(
@REVENUEID uniqueidentifier,
@REVENUEDATEADDED datetime,
@ACTIONTYPECODE tinyint,
@STARTDATE datetime,
@ENDDATE datetime
)
returns @RESULT 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 @RESULT(
RECORDID,
AUDITDATE,
CHANGEDBYUSER,
PROCESS,
FIELD,
OLD,
NEW,
SEQUENCE,
ACTION,
CHANGEDBYAPP)
select
DETAILS.RECORDID,
case when DETAILS.ACTION = 'Insert' then DETAILS.DATEADDED when DETAILS.ACTION = 'Update' then DETAILS.DATECHANGED else DETAILS.AUDITDATE end as [AUDITDATE],
DETAILS.CHANGEDBYUSER,
DETAILS.PROCESS,
DETAILS.FIELD,
DETAILS.OLD,
DETAILS.NEW,
10 as [SEQUENCE],
DETAILS.ACTION,
DETAILS.CHANGEDBYAPP
from dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST_WITHDATERANGE('PAYMENTMETHODCODE', 'REVENUEPAYMENTMETHOD', 'REVENUEID', @REVENUEID, @REVENUEDATEADDED, 'Payment Method', '', @STARTDATE, @ENDDATE) DETAILS
union all
select
DETAILS.RECORDID,
case when DETAILS.ACTION = 'Insert' then DETAILS.DATEADDED when DETAILS.ACTION = 'Update' then DETAILS.DATECHANGED else DETAILS.AUDITDATE end as [AUDITDATE],
DETAILS.CHANGEDBYUSER,
DETAILS.PROCESS,
DETAILS.FIELD,
DETAILS.OLD,
DETAILS.NEW,
10 as [SEQUENCE],
DETAILS.ACTION,
DETAILS.CHANGEDBYAPP
from dbo.REVENUEPAYMENTMETHOD
cross apply dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST_WITHDATERANGE('REFERENCEDATE, REFERENCENUMBER', 'CASHPAYMENTMETHODDETAIL', 'ID', REVENUEPAYMENTMETHOD.ID, @REVENUEDATEADDED, 'Cash details', '', @STARTDATE, @ENDDATE) DETAILS
where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID
union all
select
DETAILS.RECORDID,
case when DETAILS.ACTION = 'Insert' then DETAILS.DATEADDED when DETAILS.ACTION = 'Update' then DETAILS.DATECHANGED else DETAILS.AUDITDATE end as [AUDITDATE],
DETAILS.CHANGEDBYUSER,
DETAILS.PROCESS,
DETAILS.FIELD,
DETAILS.OLD,
DETAILS.NEW,
10 as [SEQUENCE],
DETAILS.ACTION,
DETAILS.CHANGEDBYAPP
from dbo.REVENUEPAYMENTMETHOD
cross apply dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST_WITHDATERANGE('CHECKDATE, CHECKNUMBER, CONSTITUENTACCOUNTID', 'CHECKPAYMENTMETHODDETAIL', 'ID', REVENUEPAYMENTMETHOD.ID, @REVENUEDATEADDED, 'Check details', '', @STARTDATE, @ENDDATE) DETAILS
where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID and (FIELD <> 'CHECKDATE' or NEW <> '00000000')
union all
select
DETAILS.RECORDID,
case when DETAILS.ACTION = 'Insert' then DETAILS.DATEADDED when DETAILS.ACTION = 'Update' then DETAILS.DATECHANGED else DETAILS.AUDITDATE end as [AUDITDATE],
DETAILS.CHANGEDBYUSER,
DETAILS.PROCESS,
DETAILS.FIELD,
DETAILS.OLD,
DETAILS.NEW,
10 as [SEQUENCE],
DETAILS.ACTION,
DETAILS.CHANGEDBYAPP
from dbo.REVENUEPAYMENTMETHOD
cross apply dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST_WITHDATERANGE('CARDHOLDERNAME, CREDITTYPECODEID, CREDITCARDPARTIALNUMBER, EXPIRESON, AUTHORIZATIONCODE', 'CREDITCARDPAYMENTMETHODDETAIL', 'ID', REVENUEPAYMENTMETHOD.ID, @REVENUEDATEADDED, 'Credit card details', '', @STARTDATE, @ENDDATE) DETAILS
where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID and (FIELD <> 'EXPIRESON' or NEW <> '00000000')
union all
select
DETAILS.RECORDID,
case when DETAILS.ACTION = 'Insert' then DETAILS.DATEADDED when DETAILS.ACTION = 'Update' then DETAILS.DATECHANGED else DETAILS.AUDITDATE end as [AUDITDATE],
DETAILS.CHANGEDBYUSER,
DETAILS.PROCESS,
DETAILS.FIELD,
DETAILS.OLD,
DETAILS.NEW,
10 as [SEQUENCE],
DETAILS.ACTION,
DETAILS.CHANGEDBYAPP
from dbo.REVENUEPAYMENTMETHOD
cross apply dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST_WITHDATERANGE('REFERENCEDATE, REFERENCENUMBER, CONSTITUENTACCOUNTID, DIRECTDEBITRESULTCODE', 'DIRECTDEBITPAYMENTMETHODDETAIL', 'ID', REVENUEPAYMENTMETHOD.ID, @REVENUEDATEADDED, 'Direct debit details', '', @STARTDATE, @ENDDATE) DETAILS
where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID and (FIELD <> 'REFERENCEDATE' or NEW <> '00000000')
union all
select
DETAILS.RECORDID,
case when DETAILS.ACTION = 'Insert' then DETAILS.DATEADDED when DETAILS.ACTION = 'Update' then DETAILS.DATECHANGED else DETAILS.AUDITDATE end as [AUDITDATE],
DETAILS.CHANGEDBYUSER,
DETAILS.PROCESS,
DETAILS.FIELD,
DETAILS.OLD,
DETAILS.NEW,
10 as [SEQUENCE],
DETAILS.ACTION,
DETAILS.CHANGEDBYAPP
from dbo.REVENUEPAYMENTMETHOD
cross apply dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST_WITHDATERANGE('ISSUER, MEDIANPRICE, NUMBEROFUNITS, SYMBOL', 'STOCKDETAIL', 'ID', REVENUEPAYMENTMETHOD.ID, @REVENUEDATEADDED, 'Stock details', '', @STARTDATE, @ENDDATE) DETAILS
where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID and ((FIELD <> 'SALEDATE' and FIELD <> 'SALEPOSTDATE') or NEW <> '00000000')
union all
select
DETAILS.RECORDID,
case when DETAILS.ACTION = 'Insert' then DETAILS.DATEADDED when DETAILS.ACTION = 'Update' then DETAILS.DATECHANGED else DETAILS.AUDITDATE end as [AUDITDATE],
DETAILS.CHANGEDBYUSER,
DETAILS.PROCESS,
DETAILS.FIELD,
DETAILS.OLD,
DETAILS.NEW,
10 as [SEQUENCE],
DETAILS.ACTION,
DETAILS.CHANGEDBYAPP
from dbo.REVENUEPAYMENTMETHOD
cross apply dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST_WITHDATERANGE('PROPERTYSUBTYPECODEID, SALEDATE, SALEAMOUNT, BROKERFEE, SALEPOSTDATE, SALEPOSTSTATUSCODE', 'PROPERTYDETAIL', 'ID', REVENUEPAYMENTMETHOD.ID, @REVENUEDATEADDED, 'Property details', '', @STARTDATE, @ENDDATE) DETAILS
where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID and ((FIELD <> 'SALEDATE' and FIELD <> 'SALEPOSTDATE') or NEW <> '00000000')
union all
select
DETAILS.RECORDID,
case when DETAILS.ACTION = 'Insert' then DETAILS.DATEADDED when DETAILS.ACTION = 'Update' then DETAILS.DATECHANGED else DETAILS.AUDITDATE end as [AUDITDATE],
DETAILS.CHANGEDBYUSER,
DETAILS.PROCESS,
DETAILS.FIELD,
DETAILS.OLD,
DETAILS.NEW,
10 as [SEQUENCE],
DETAILS.ACTION,
DETAILS.CHANGEDBYAPP
from dbo.REVENUEPAYMENTMETHOD
cross apply dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST_WITHDATERANGE('GIFTINKINDSUBTYPECODEID, ITEMNAME, DISPOSITIONCODE, NUMBEROFUNITS, FAIRMARKETVALUE', 'GIFTINKINDPAYMENTMETHODDETAIL', 'ID', REVENUEPAYMENTMETHOD.ID, @REVENUEDATEADDED, 'Gift-in-kind details', '', @STARTDATE, @ENDDATE) DETAILS
where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID
union all
select
DETAILS.RECORDID,
case when DETAILS.ACTION = 'Insert' then DETAILS.DATEADDED when DETAILS.ACTION = 'Update' then DETAILS.DATECHANGED else DETAILS.AUDITDATE end as [AUDITDATE],
DETAILS.CHANGEDBYUSER,
DETAILS.PROCESS,
DETAILS.FIELD,
DETAILS.OLD,
DETAILS.NEW,
10 as [SEQUENCE],
DETAILS.ACTION,
DETAILS.CHANGEDBYAPP
from dbo.REVENUEPAYMENTMETHOD
cross apply dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST_WITHDATERANGE('REFERENCEDATE, REFERENCENUMBER, CONSTITUENTACCOUNTID', 'STANDINGORDERPAYMENTMETHODDETAIL', 'ID', REVENUEPAYMENTMETHOD.ID, @REVENUEDATEADDED, 'Standing order details', '', @STARTDATE, @ENDDATE) DETAILS
where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID and (FIELD <> 'REFERENCEDATE' or NEW <> '00000000')
union all
select
DETAILS.RECORDID,
case when DETAILS.ACTION = 'Insert' then DETAILS.DATEADDED when DETAILS.ACTION = 'Update' then DETAILS.DATECHANGED else DETAILS.AUDITDATE end as [AUDITDATE],
DETAILS.CHANGEDBYUSER,
DETAILS.PROCESS,
DETAILS.FIELD,
DETAILS.OLD,
DETAILS.NEW,
10 as [SEQUENCE],
DETAILS.ACTION,
DETAILS.CHANGEDBYAPP
from dbo.REVENUEPAYMENTMETHOD
cross apply dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST_WITHDATERANGE('SALEDATE, SALEAMOUNT, FEE, NUMBEROFUNITS, LOWPRICE, MEDIANPRICE, HIGHPRICE, SALEPOSTDATE, SALEPOSTSTATUSCODE', 'STOCKSALE', 'STOCKDETAILID', REVENUEPAYMENTMETHOD.ID, @REVENUEDATEADDED, 'Stock sale details', '', @STARTDATE, @ENDDATE) DETAILS
where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID and ((FIELD <> 'SALEDATE' and FIELD <> 'SALEPOSTDATE') or NEW <> '00000000')
union all
select
DETAILS.RECORDID,
case when DETAILS.ACTION = 'Insert' then DETAILS.DATEADDED when DETAILS.ACTION = 'Update' then DETAILS.DATECHANGED else DETAILS.AUDITDATE end as [AUDITDATE],
DETAILS.CHANGEDBYUSER,
DETAILS.PROCESS,
DETAILS.FIELD,
DETAILS.OLD,
DETAILS.NEW,
10 as [SEQUENCE],
DETAILS.ACTION,
DETAILS.CHANGEDBYAPP
from dbo.REVENUEPAYMENTMETHOD
cross apply dbo.UFN_AUDIT_GETDETAILFORCHILDTABLE_BYFIELDLIST_WITHDATERANGE('DATE, AMOUNT, APPRAISERID, DESCRIPTION', 'GIFTINKINDAPPRAISAL', 'GIFTINKINDPAYMENTMETHODDETAILID', REVENUEPAYMENTMETHOD.ID, @REVENUEDATEADDED, 'Appraisal', '', @STARTDATE, @ENDDATE) DETAILS
where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID and (FIELD <> 'DATE' or NEW <> '00000000')
if @ACTIONTYPECODE = 1
delete from @RESULT where ACTION = 'Delete' or ACTION = 'Update';
if @ACTIONTYPECODE = 2
delete from @RESULT where ACTION = 'Insert' or ACTION = 'Delete';
if @ACTIONTYPECODE = 3
delete from @RESULT where ACTION = 'Insert' or ACTION = 'Update';
return;
end