USP_GET_DONATIONS_USAGE_TRACKING_DATA
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@LastProcessingDate | datetime | IN | |
@ProductName | varchar(4) | IN |
Definition
Copy
create procedure dbo.USP_GET_DONATIONS_USAGE_TRACKING_DATA(
@LastProcessingDate DateTime,
@ProductName varchar(4)
)
as
begin
DECLARE @OrganizationDetails NVARCHAR(400)
SELECT @OrganizationDetails = CLARIFYSITEID,
@OrganizationDetails = @OrganizationDetails + ' - '
+ INSTALLATIONNAME
FROM dbo.INSTALLATIONINFO;
WITH DONATION_TRANSACTION_INFORMATION(DonationTransactionsID, PartTypeID, PageName, Currency)
AS (SELECT DonationTransactionsID,
CASE
WHEN Charindex('PartTypeID', CONVERT(VARCHAR(max), XMLObjectData)) > 0
THEN Substring(CONVERT(VARCHAR(max), XMLObjectData), ( Patindex('%<PartTypeID>%', CONVERT(VARCHAR(max), XMLObjectData)) + 12 ),
/* Calculate SUBSTRING length as end - start. */
( Patindex('%</PartTypeID>%', CONVERT(VARCHAR(max), XMLObjectData)) - ( Patindex('%<PartTypeID>%', CONVERT(VARCHAR(max), XMLObjectData)) + 12 ) ))
ELSE NULL
END AS PartId,
CASE
WHEN Charindex('PageName', CONVERT(VARCHAR(max), XMLObjectData)) > 0
THEN Substring(CONVERT(VARCHAR(max), XMLObjectData), ( Patindex('%<PageName>%', CONVERT(VARCHAR(max), XMLObjectData)) + 10 ),
/* Calculate SUBSTRING length as end - start. */
( Patindex('%</PageName>%', CONVERT(VARCHAR(max), XMLObjectData)) - ( Patindex('%<PageName>%', CONVERT(VARCHAR(max), XMLObjectData)) + 10 ) ))
ELSE NULL
END AS PageName,
CASE
WHEN Charindex('CurrencyType', CONVERT(VARCHAR(max), XMLObjectData)) > 0
THEN Substring(CONVERT(VARCHAR(max), XMLObjectData), ( Patindex('%<CurrencyType>%', CONVERT(VARCHAR(max), XMLObjectData)) + 14 ),
/* Calculate SUBSTRING length as end - start. */
( Patindex('%</CurrencyType>%', CONVERT(VARCHAR(max), XMLObjectData)) - ( Patindex('%<CurrencyType>%', CONVERT(VARCHAR(max), XMLObjectData)) + 14 ) ))
ELSE NULL
END AS Currency
FROM dbo.DONATIONTRANSACTIONS
WHERE DONATIONTRANSACTIONS.Status = 1
AND IsDeleted = 0)
SELECT @ProductName + '-' + 'OnlineDonations' + '-'
+ @OrganizationDetails AS 'Group',
CONTENTTYPES.NAME AS PartType,
DONATION_TRANSACTION_INFORMATION.PageName AS PageName,
Year(DONATIONTRANSACTIONS.DateAdded) AS TransactionYear,
Month(DONATIONTRANSACTIONS.DateAdded) AS TransactionMonth,
Day(DONATIONTRANSACTIONS.DateAdded) AS TransactionDay,
Count(DONATIONTRANSACTIONS.DonationTransactionsID) AS TotalTransactionsCountForTheDay,
Sum(DONATIONTRANSACTIONS.GiftAmount) AS TotalTransactionsAmountForTheDay,
DONATION_TRANSACTION_INFORMATION.Currency AS Currency,
MAX(DONATIONTRANSACTIONS.DateAdded) AS MaxTransactionDate
FROM dbo.DONATIONTRANSACTIONS
INNER JOIN DONATION_TRANSACTION_INFORMATION
ON DONATION_TRANSACTION_INFORMATION.DonationTransactionsID = DONATIONTRANSACTIONS.DonationTransactionsID
INNER JOIN dbo.CONTENTTYPES
ON CONTENTTYPES.id = DONATION_TRANSACTION_INFORMATION.PartTypeID
WHERE DONATIONTRANSACTIONS.DateAdded > @LastProcessingDate
GROUP BY
CONTENTTYPES.NAME,
DONATION_TRANSACTION_INFORMATION.PageName,
Year(DONATIONTRANSACTIONS.DateAdded),
Month(DONATIONTRANSACTIONS.DateAdded),
Day(DONATIONTRANSACTIONS.DateAdded),
DONATION_TRANSACTION_INFORMATION.Currency
ORDER BY
Year(DONATIONTRANSACTIONS.DateAdded),
Month(DONATIONTRANSACTIONS.DateAdded)
end