UFN_MKTSOURCECODE_GETLENGTH
Return
Return Type |
---|
int |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCECODEID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.[UFN_MKTSOURCECODE_GETLENGTH]
(
@SOURCECODEID uniqueidentifier
)
returns int
as begin
declare @LENGTH int;
if (select [ISHISTORICAL] from dbo.[MKTSOURCECODE] where [ID] = @SOURCECODEID) = 0
with [SOURCECODEITEMLENGTHS] ([ITEMLENGTH]) as
(
select
case when len([MKTSOURCECODEPARTDEFINITIONVALUES].[DELIM]) > 0
then [MKTSOURCECODEPARTDEFINITIONVALUES].[LENGTH] + len([MKTSOURCECODEPARTDEFINITIONVALUES].[DELIM])
else [MKTSOURCECODEPARTDEFINITIONVALUES].[LENGTH] end as [TOTALLENGTH]
from dbo.[MKTSOURCECODEITEM]
inner join dbo.[MKTSOURCECODEVALIDPARTVALUES] on [MKTSOURCECODEVALIDPARTVALUES].MKTSOURCECODEITEMID = [MKTSOURCECODEITEM].[ID]
inner join dbo.[MKTSOURCECODEPARTDEFINITIONVALUES] on [MKTSOURCECODEPARTDEFINITIONVALUES].[ID] = [MKTSOURCECODEVALIDPARTVALUES].[MKTSOURCECODEPARTDEFINITIONVALUESID]
where [MKTSOURCECODEITEM].[SOURCECODEID] = @SOURCECODEID
group by [MKTSOURCECODEITEM].[SOURCECODEID], [MKTSOURCECODEITEM].[SEQUENCE], [MKTSOURCECODEPARTDEFINITIONVALUES].[LENGTH], [MKTSOURCECODEPARTDEFINITIONVALUES].[DELIM]
)
select
@LENGTH = sum([ITEMLENGTH])
from [SOURCECODEITEMLENGTHS];
else
set @LENGTH = 50;
return @LENGTH;
end