Support 1000-9999 sibling records. The limit had been 999. Westinghouse Alrams exceded this limit

This commit is contained in:
Rich 2015-06-16 19:52:30 +00:00
parent b4720a578a
commit 0f347f27cc

View File

@ -1250,14 +1250,14 @@ BEGIN
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else
case P.FromType
--when 1 then 'PRC' + @Delim + cast(1 as varchar(3))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(3))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(3))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(3))
--when 1 then 'PRC' + @Delim + cast(1 as varchar(4))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(4))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(4))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(4))
when 5 then @DelimStep +'RNO' + @DelimStep
when 7 then @DelimStep +'Table' + @DelimStep
else case when Z.FromType < 3 then @Delim else @DelimStep end +
case when I.deletestatus != 0 then 'Old ' else '' end + cast(1 as varchar(3))
case when I.deletestatus != 0 then 'Old ' else '' end + cast(1 as varchar(4))
end end Path,
OrdinalPath + '.' + Right('000' + Cast(P.FromType as varchar(4)), 4) + '-' ,
OrdinalPath + '.' + Right('000' + Cast(P.FromType as varchar(4)), 4) + '-00001',
@ -1284,14 +1284,14 @@ BEGIN
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else
case P.FromType
--when 1 then 'PRC' + @Delim + cast(1 as varchar(3))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(3))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(3))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(3))
--when 1 then 'PRC' + @Delim + cast(1 as varchar(4))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(4))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(4))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(4))
when 5 then @DelimStep +'RNO' + @DelimStep
when 7 then @DelimStep +'Table' + @DelimStep
else case when Z.FromType < 3 then @Delim else @DelimStep end +
case when I.deletestatus != 0 then 'Old ' else '' end + cast(1 as varchar(3))
case when I.deletestatus != 0 then 'Old ' else '' end + cast(1 as varchar(4))
end end Path,
OrdinalPath + '.' + Right('000' + Cast(P.FromType as varchar(4)), 4) + '-' ,
OrdinalPath + '.' + Right('000' + Cast(P.FromType as varchar(4)), 4) + '-00001',
@ -1310,7 +1310,7 @@ BEGIN
when 0 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end +
case when I.deletestatus != 0 then 'Old ' else '' end + cast(Ordinal + 2 as varchar(3))
case when I.deletestatus != 0 then 'Old ' else '' end + cast(Ordinal + 2 as varchar(4))
end Path,
POrdinalPath,
POrdinalPath + right('00000' + cast(Z.[Ordinal] + 2 as varchar(5)), 5),
@ -1594,13 +1594,13 @@ Union All
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'') -- Section
else
case P.FromType
--when 1 then 'PRC' + @Delim + cast(1 as varchar(3))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(3))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(3))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(3))
--when 1 then 'PRC' + @Delim + cast(1 as varchar(4))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(4))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(4))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(4))
when 5 then @DelimStep +'RNO' + @DelimStep
when 7 then @DelimStep +'Table' + @DelimStep
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(3))
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(4))
end end Path,
case when P.FromType = 5 then -1 else 0 end IsRNO,
OrdinalPath + '.' + Right('000' + Cast(P.FromType as varchar(4)), 4) + '-' ,
@ -1618,7 +1618,7 @@ Union All
PPath + case C.Type/10000
when 0 then @Delim + UnitPrefix + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'') -- Procedure
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'') -- Section
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(3))
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(4))
end Path, 0,
POrdinalPath,
POrdinalPath + right('00000' + cast(Z.[Ordinal] + 2 as varchar(5)), 5), UnitPrefix
@ -1744,13 +1744,13 @@ Union All
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else
case P.FromType
--when 1 then 'PRC' + @Delim + cast(1 as varchar(3))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(3))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(3))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(3))
--when 1 then 'PRC' + @Delim + cast(1 as varchar(4))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(4))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(4))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(4))
when 5 then @DelimStep +'RNO' + @DelimStep
when 7 then @DelimStep +'Table' + @DelimStep
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(3))
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(4))
end end Path,
case when P.FromType = 5 then -1 else 0 end IsRNO,
OrdinalPath + '.' + Right('0000' + Cast(P.FromType as varchar(4)), 4) + '-' ,
@ -1768,7 +1768,7 @@ Union All
PPath + case C.Type/10000
when 0 then @Delim + UnitPrefix + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(3))
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(4))
end Path, 0,
POrdinalPath,
POrdinalPath + right('0000' + cast(Z.[Ordinal] + 2 as varchar(4)), 4), UnitPrefix
@ -1886,13 +1886,13 @@ Union All
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else
case P.FromType
--when 1 then 'PRC' + @Delim + cast(1 as varchar(3))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(3))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(3))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(3))
--when 1 then 'PRC' + @Delim + cast(1 as varchar(4))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(4))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(4))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(4))
when 5 then @DelimStep +'RNO' + @DelimStep
when 7 then @DelimStep +'Table' + @DelimStep
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(3))
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(4))
end end Path,
case when P.FromType = 5 then -1 else 0 end IsRNO,
OrdinalPath + '.' + Right('0000' + Cast(P.FromType as varchar(4)), 4) + '-' ,
@ -1910,7 +1910,7 @@ Union All
PPath + case C.Type/10000
when 0 then @Delim + UnitPrefix + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(3))
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(4))
end Path, 0,
POrdinalPath,
POrdinalPath + right('0000' + cast(Z.[Ordinal] + 2 as varchar(4)), 4), UnitPrefix
@ -2130,13 +2130,13 @@ Union All
when 1 then @Delim + @UnitPrefix + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else
case P.FromType
--when 1 then 'PRC' + @Delim + cast(1 as varchar(3))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(3))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(3))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(3))
--when 1 then 'PRC' + @Delim + cast(1 as varchar(4))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(4))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(4))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(4))
when 5 then @DelimStep +'RNO' + @DelimStep
when 7 then @DelimStep +'Table' + @DelimStep
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(3))
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(4))
end end Path,
case when P.FromType = 5 then -1 else 0 end IsRNO,
OrdinalPath + '.' + Right('0000' + Cast(P.FromType as varchar(4)), 4) + '-' ,
@ -2155,7 +2155,7 @@ Union All
PPath + case C.Type/10000
when 0 then @Delim + @UnitPrefix + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
when 1 then @Delim + @UnitPrefix + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(3))
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(4))
end Path, 0,
POrdinalPath,
POrdinalPath + right('0000' + cast(Z.[Ordinal] + 2 as varchar(4)), 4),
@ -2317,13 +2317,13 @@ Union All
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else
case P.FromType
--when 1 then 'PRC' + @Delim + cast(1 as varchar(3))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(3))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(3))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(3))
--when 1 then 'PRC' + @Delim + cast(1 as varchar(4))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(4))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(4))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(4))
when 5 then @DelimStep +'RNO' + @DelimStep
when 7 then @DelimStep +'Table' + @DelimStep
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(3))
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(4))
end end Path,
case when P.FromType = 5 then -1 else 0 end IsRNO,
OrdinalPath + '.' + Right('0000' + Cast(P.FromType as varchar(4)), 4) + '-' ,
@ -2341,7 +2341,7 @@ Union All
PPath + case C.Type/10000
when 0 then @Delim + UnitPrefix + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(3))
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(4))
end Path, 0,
POrdinalPath,
POrdinalPath + right('0000' + cast(Z.[Ordinal] + 2 as varchar(4)), 4), UnitPrefix
@ -2666,13 +2666,13 @@ Union All
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else
case P.FromType
--when 1 then 'PRC' + @Delim + cast(1 as varchar(3))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(3))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(3))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(3))
--when 1 then 'PRC' + @Delim + cast(1 as varchar(4))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(4))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(4))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(4))
when 5 then @DelimStep +'RNO' + @DelimStep
when 7 then @DelimStep +'Table' + @DelimStep
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(3))
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(4))
end end Path,
case when P.FromType = 5 then -1 else 0 end IsRNO,
OrdinalPath + '.' + Right('000' + Cast(P.FromType as varchar(4)), 4) + '-' ,
@ -2690,7 +2690,7 @@ Union All
PPath + case C.Type/10000
when 0 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else case when .dbo.vefn_GetLastDelim(Path) = '.' THEN @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(3))
else case when .dbo.vefn_GetLastDelim(Path) = '.' THEN @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(4))
end Path, 0,
POrdinalPath,
POrdinalPath + right('00000' + cast(Z.[Ordinal] + 2 as varchar(5)), 5)
@ -2798,7 +2798,7 @@ with Itemz(ItemCount,ItemID,PreviousID,FromType,CType,Number,Text,PPath, Path) a
where ItemID=@ItemID
Union All
-- siblings
Select ItemCount+1,I.PreviousID,II.PreviousID,0,C.Type/10000,Z.Number,Z.Text,PPath,cast(ItemCount + 1 as nvarchar(3)) + PPath
Select ItemCount+1,I.PreviousID,II.PreviousID,0,C.Type/10000,Z.Number,Z.Text,PPath,cast(ItemCount + 1 as nvarchar(4)) + PPath
from Items I
join Contents C on I.ContentID = C.ContentID
Join Items II on II.ItemID = I.PreviousID
@ -2809,30 +2809,30 @@ with Itemz(ItemCount,ItemID,PreviousID,FromType,CType,Number,Text,PPath, Path) a
select 1,I.ItemID,I.PreviousID,P.FromType,C.Type/10000,C.Number,C.Text,
case C.Type/10000
when 0 then '`' + Isnull(C.Number,'') +'`' + Isnull(C.Text,'')
when 1 then '`' + Isnull(C.Number,'') +'`' + Isnull(C.Text,'') +'`' + cast(ItemCount + 0 as varchar(3))
when 1 then '`' + Isnull(C.Number,'') +'`' + Isnull(C.Text,'') +'`' + cast(ItemCount + 0 as varchar(4))
else
case P.FromType
when 1 then 'PRC`' + cast(ItemCount + 0 as varchar(3))
when 2 then '`SEC`' + cast(ItemCount + 0 as varchar(3))
when 3 then '`Caution`' + cast(ItemCount + 0 as varchar(3))
when 4 then '`Note`' + cast(ItemCount + 0 as varchar(3))
when 1 then 'PRC`' + cast(ItemCount + 0 as varchar(4))
when 2 then '`SEC`' + cast(ItemCount + 0 as varchar(4))
when 3 then '`Caution`' + cast(ItemCount + 0 as varchar(4))
when 4 then '`Note`' + cast(ItemCount + 0 as varchar(4))
when 5 then '`RNO`'
when 7 then '`Table`'
else '`' + cast(ItemCount + 0 as varchar(3))
else '`' + cast(ItemCount + 0 as varchar(4))
end end + PPath PPath,
--'1' +
case C.Type/10000
when 0 then '`' + Isnull(C.Number,'') +'`' + Isnull(C.Text,'')
when 1 then '`' + Isnull(C.Number,'') +'`' + Isnull(C.Text,'') +'`' + cast(ItemCount + 0 as varchar(3))
when 1 then '`' + Isnull(C.Number,'') +'`' + Isnull(C.Text,'') +'`' + cast(ItemCount + 0 as varchar(4))
else
case P.FromType
when 1 then 'PRC`' + cast(ItemCount + 0 as varchar(3))
when 2 then '`SEC`' + cast(ItemCount + 0 as varchar(3))
when 3 then '`Caution`' + cast(ItemCount + 0 as varchar(3))
when 4 then '`Note`' + cast(ItemCount + 0 as varchar(3))
when 1 then 'PRC`' + cast(ItemCount + 0 as varchar(4))
when 2 then '`SEC`' + cast(ItemCount + 0 as varchar(4))
when 3 then '`Caution`' + cast(ItemCount + 0 as varchar(4))
when 4 then '`Note`' + cast(ItemCount + 0 as varchar(4))
when 5 then '`RNO'
when 7 then '`Table'
else '`' + cast(ItemCount + 0 as varchar(3))
else '`' + cast(ItemCount + 0 as varchar(4))
end end + PPath Path
from Parts P
@ -9306,13 +9306,13 @@ BEGIN
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else
case P.FromType
--when 1 then 'PRC' + @Delim + cast(1 as varchar(3))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(3))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(3))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(3))
--when 1 then 'PRC' + @Delim + cast(1 as varchar(4))
--when 2 then 'SEC' + @Delim + cast(1 as varchar(4))
when 3 then @DelimStep +'Caution' + @DelimStep + cast(1 as varchar(4))
when 4 then @DelimStep +'Note' + @DelimStep + cast(1 as varchar(4))
when 5 then @DelimStep +'RNO' + @DelimStep
when 7 then @DelimStep +'Table' + @DelimStep
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(3))
else case when Z.FromType < 3 then @Delim else @DelimStep end + cast(1 as varchar(4))
end end Path,
case when P.FromType = 5 then -1 else 0 end IsRNO,
OrdinalPath + '.' + Right('0000' + Cast(P.FromType as varchar(4)), 4) + '-' ,
@ -9330,7 +9330,7 @@ BEGIN
PPath + case C.Type/10000
when 0 then @Delim + UnitPrefix + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
when 1 then @Delim + Isnull(C.Number,'') + @DelimNumber + Isnull(C.Text,'')
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(3))
else case when .dbo.vefn_GetLastDelim(Path) = '.' then @DelimStep else @Delim end + cast(Ordinal + 2 as varchar(4))
end Path, 0,
POrdinalPath,
POrdinalPath + right('0000' + cast(Z.[Ordinal] + 2 as varchar(4)), 4), UnitPrefix
@ -10850,3 +10850,88 @@ GO
IF (@@Error = 0) PRINT 'Procedure Creation: vesp_ListItemsAfterLastChanged Succeeded'
ELSE PRINT 'Procedure Creation: vesp_ListItemsAfterLastChanged Error on Creation'
GO
GO
/****** Object: StoredProcedure [ve_GetShortPath] ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetShortPath]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
DROP FUNCTION [ve_GetShortPath];
GO
/*
select ItemID, CC.Type, dbo.ve_GetPath(ItemID)
from Items II join Contents CC on II.ContentID = CC.ContentID
where ItemID in(111,265,266,267)
*/
-- drop function ve_GetPath
/*****************************************************************************
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
*****************************************************************************/
CREATE FUNCTION [dbo].[ve_GetShortPath] (@ItemID int) RETURNS varchar(max)
WITH EXECUTE AS OWNER
AS
BEGIN
-- declare @STructID int
--set @StructID=11
declare @Path varchar(max);
with Itemz(ItemCount,ItemID,PreviousID,FromType,CType,Number,Text,PPath, Path) as (
Select 1,ItemID,PreviousID,0,C.Type/10000,C.Number,C.Text,
Cast(Case when C.Type < 20000 then '`' + [dbo].[ve_GetShortPart](C.Number,C.Text) else '' end as nvarchar(max)) PPath,
Cast(Case when C.Type < 20000 then '`' + [dbo].[ve_GetShortPart](C.Number,C.Text) else '1' end as nvarchar(max)) Path
from Items I
join Contents C on I.ContentID = C.ContentID
where ItemID=@ItemID
Union All
-- siblings
Select ItemCount+1,I.PreviousID,II.PreviousID,0,C.Type/10000,Z.Number,Z.Text,PPath,cast(ItemCount + 1 as nvarchar(4)) + PPath
from Items I
join Contents C on I.ContentID = C.ContentID
Join Items II on II.ItemID = I.PreviousID
Join Itemz Z on I.ItemID=Z.ItemID
where I.PreviousID != 0
Union All
-- children
select 1,I.ItemID,I.PreviousID,P.FromType,C.Type/10000,C.Number,C.Text,
case C.Type/10000
when 0 then '`' + [dbo].[ve_GetShortPart](C.Number,C.Text)
when 1 then '`' + [dbo].[ve_GetShortPart](C.Number,C.Text) +'`' + cast(ItemCount + 0 as varchar(4))
else
case P.FromType
when 1 then 'PRC`' + cast(ItemCount + 0 as varchar(4))
when 2 then '`SEC`' + cast(ItemCount + 0 as varchar(4))
when 3 then '`Caution`' + cast(ItemCount + 0 as varchar(4))
when 4 then '`Note`' + cast(ItemCount + 0 as varchar(4))
when 5 then '`RNO`'
when 7 then '`Table`'
else '`' + cast(ItemCount + 0 as varchar(4))
end end + PPath PPath,
--'1' +
case C.Type/10000
when 0 then '`' + [dbo].[ve_GetShortPart](C.Number,C.Text)
when 1 then '`' + [dbo].[ve_GetShortPart](C.Number,C.Text) +'`' + cast(ItemCount + 0 as varchar(4))
else
case P.FromType
when 1 then 'PRC`' + cast(ItemCount + 0 as varchar(4))
when 2 then '`SEC`' + cast(ItemCount + 0 as varchar(4))
when 3 then '`Caution`' + cast(ItemCount + 0 as varchar(4))
when 4 then '`Note`' + cast(ItemCount + 0 as varchar(4))
when 5 then '`RNO'
when 7 then '`Table'
else '`' + cast(ItemCount + 0 as varchar(4))
end end + PPath Path
from Parts P
join Items I on I.ContentID = P.ContentID
join Contents C on I.ContentID = C.ContentID
join Itemz Z on P.ItemID=Z.ItemID
)
select @Path = path From Itemz where ItemCount=1 and CType=0
OPTION (MAXRECURSION 10000)
return REPLACE(@Path,'\u8209?','-')
END;
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'ScalarFunction Creation: ve_GetShortPath Succeeded'
ELSE PRINT 'ScalarFunction Creation: ve_GetShortPath Error on Creation'
GO
PRINT '20150616 - Uses VarChar(4) for Siblings!'