diff --git a/PROMS/DataLoader/PROMSFixes.Sql b/PROMS/DataLoader/PROMSFixes.Sql index 1a9ccc5f..efcd93ed 100644 --- a/PROMS/DataLoader/PROMSFixes.Sql +++ b/PROMS/DataLoader/PROMSFixes.Sql @@ -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!' \ No newline at end of file