UFN_DATALIST_COMMUNICATIONLETTERS
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SEGMENTATIONID | uniqueidentifier | IN | |
@CHANNELCODE | tinyint | IN |
Definition
Copy
create function dbo.UFN_DATALIST_COMMUNICATIONLETTERS
(
@SEGMENTATIONID uniqueidentifier,
@CHANNELCODE tinyint = null
)
returns @RESULTS table (
SEGMENTATIONID uniqueidentifier,
COMMUNICATIONLETTERID uniqueidentifier,
SEQUENCE int,
NAME nvarchar(100),
CHANNEL nvarchar(50),
MAILCONTENTDEFINED bit,
EMAILCONTENTDEFINED bit,
MOVEUP_ENABLED bit,
MOVEDOWN_ENABLED bit,
REMOVE_ENABLED bit
)
as
begin
declare @MAXSEQUENCE int;
select
@MAXSEQUENCE = max(SEQUENCE)
from dbo.COMMUNICATIONLETTER
where SEGMENTATIONID = @SEGMENTATIONID;
insert into @RESULTS (SEGMENTATIONID, COMMUNICATIONLETTERID, SEQUENCE, NAME, CHANNEL, MAILCONTENTDEFINED, EMAILCONTENTDEFINED, MOVEUP_ENABLED, MOVEDOWN_ENABLED, REMOVE_ENABLED)
select
@SEGMENTATIONID as SEGMENTATIONID,
COMMUNICATIONLETTER.ID,
COMMUNICATIONLETTER.SEQUENCE,
COMMUNICATIONLETTER.NAME,
COMMUNICATIONLETTER.CHANNEL,
case when len(COMMUNICATIONLETTER.MAILCONTENTHTML) > 0 then 1 else 0 end as MAILCONTENTDEFINED,
case when len(COMMUNICATIONLETTER.EMAILCONTENTHTML) > 0 then 1 else 0 end as EMAILCONTENTDEFINED,
case
when COMMUNICATIONLETTER.SEQUENCE > 1 then 1
else 0
end as MOVEUP_ENABLED,
case
when COMMUNICATIONLETTER.SEQUENCE < @MAXSEQUENCE then 1
else 0
end as MOVEDOWN_ENABLED,
case
when @MAXSEQUENCE > 1 then 1
else 0
end as REMOVE_ENABLED
from dbo.COMMUNICATIONLETTER
left outer join dbo.MKTASKLADDER
on COMMUNICATIONLETTER.MKTASKLADDERID = MKTASKLADDER.ID
where SEGMENTATIONID = @SEGMENTATIONID
and (@CHANNELCODE is null or COMMUNICATIONLETTER.CHANNELCODE = @CHANNELCODE)
order by SEQUENCE asc;
return;
end