USP_DATALIST_MKTINDIRECTRESPONSESSUMMARY
Returns a summary of indirect responses for a marketing effort.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SEGMENTATIONID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@CURRENCYCODE | tinyint | IN | Currency |
Definition
Copy
CREATE procedure dbo.[USP_DATALIST_MKTINDIRECTRESPONSESSUMMARY]
(
@SEGMENTATIONID uniqueidentifier,
@CURRENCYCODE tinyint = 1
)
as
set nocount on;
declare @APPEALIDLIST nvarchar(max);
declare @APPEALDESCLIST nvarchar(max);
declare @APPEALID nvarchar(100);
declare @APPEALDESC nvarchar(255);
declare @BASECURRENCYID uniqueidentifier;
declare APPEALCURSOR cursor local fast_forward for
select [APPEALID], [APPEALDESCRIPTION]
from dbo.[MKTSEGMENTATIONACTIVATE]
where [SEGMENTATIONID] = @SEGMENTATIONID;
open APPEALCURSOR;
fetch next from APPEALCURSOR into @APPEALID, @APPEALDESC;
while (@@FETCH_STATUS = 0)
begin
if @APPEALIDLIST is not null
set @APPEALIDLIST = @APPEALIDLIST + ', ';
if @APPEALDESCLIST is not null
set @APPEALDESCLIST = @APPEALDESCLIST + ', ';
set @APPEALIDLIST = isnull(@APPEALIDLIST,'') + @APPEALID;
set @APPEALDESCLIST = isnull(@APPEALDESCLIST,'') + @APPEALDESC;
fetch next from APPEALCURSOR into @APPEALID, @APPEALDESC;
end;
close APPEALCURSOR;
deallocate APPEALCURSOR;
--Return the results...
select
(select [NAME] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID) as [MAILINGNAME],
@APPEALIDLIST as [APPEALID],
@APPEALDESCLIST as [APPEALDESCRIPTION],
[INDIRECTRESPONDERS] as [RESPONDERS],
[INDIRECTRESPONSES] as [RESPONSES],
case when @CURRENCYCODE = 1 then [ORGANIZATIONINDIRECTTOTALGIFTAMOUNT] else [INDIRECTTOTALGIFTAMOUNT] end as [TOTALGIFTAMOUNT],
case when @CURRENCYCODE = 1 then [ORGANIZATIONINDIRECTAVERAGEGIFTAMOUNT] else [INDIRECTAVERAGEGIFTAMOUNT] end as [AVERAGEGIFTAMOUNT],
dbo.[UFN_MKTSEGMENTATION_ISAPPEALMAILING](@SEGMENTATIONID) as [ISAPPEALMAILING],
[CURRENCY].[ISO4217] as [CURRENCYISOCURRENCYCODE],
[CURRENCY].[DECIMALDIGITS] as [CURRENCYDECIMALDIGITS],
[CURRENCY].[CURRENCYSYMBOL],
[CURRENCY].[SYMBOLDISPLAYSETTINGCODE] as [CURRENCYSYMBOLDISPLAYSETTINGCODE]
from dbo.[MKTSEGMENTATIONACTIVE]
inner join dbo.[CURRENCY] on [CURRENCY].[ID] = case when @CURRENCYCODE = 1 then dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]() else [MKTSEGMENTATIONACTIVE].[BASECURRENCYID] end
where [MKTSEGMENTATIONACTIVE].[ID] = @SEGMENTATIONID;
return 0;