diff --git a/PROMS/DataLoader/PROMSFixes.Sql b/PROMS/DataLoader/PROMSFixes.Sql
index a5290893..06d40da8 100644
--- a/PROMS/DataLoader/PROMSFixes.Sql
+++ b/PROMS/DataLoader/PROMSFixes.Sql
@@ -11083,10 +11083,7 @@ PRINT '20150808 Improved performance for delete procedure'
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetEnhancedFolders]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
DROP FUNCTION [vefn_GetEnhancedFolders];
GO
-SET ANSI_NULLS ON
-GO
-SET QUOTED_IDENTIFIER ON
-GO
+
/*
select * from vefn_GetEnhancedFolders(11)
*/
@@ -11418,6 +11415,1148 @@ ELSE PRINT 'StoredProcedure [ClearCBOverrideForProcedure] Error on Creation'
go
PRINT '20160126 Improved performance for checkouts'
PRINT '20160226 11:00 SQL Code Version '
+
+SET ANSI_NULLS ON
+GO
+SET QUOTED_IDENTIFIER ON
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_PurgeEnhanced]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
+ DROP PROCEDURE [vesp_PurgeEnhanced];
+GO
+/*
+*/
+
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE PROCEDURE [dbo].[vesp_PurgeEnhanced]
+
+WITH EXECUTE AS OWNER
+AS
+BEGIN TRY -- Try Block
+ BEGIN TRANSACTION
+ declare @Enh TABLE
+ (
+ ID int,
+ xConfig xml
+ )
+ insert into @Enh
+ SELECT VersionID,xConfig FROM (Select cast(config as xml) xconfig,* from DocVersions) t1
+ Cross Apply xconfig.nodes('//Enhanced[1]') tEnhanced(xEnhanced)
+
+ Update @Enh Set xConfig.modify('delete //Enhanced') From @Enh
+ Update DV Set Config = cast(xconfig as varchar(max)) From Docversions DV
+ Join @Enh EE ON EE.ID = DV.VersionID
+
+ --select * from @Enh
+
+ delete from @enh
+
+ insert into @enh
+ SELECT ContentID,xConfig FROM (Select cast(config as xml) xconfig,* from Contents) t1
+ Cross Apply xconfig.nodes('//Enhanced[1]') tEnhanced(xEnhanced)
+
+ Update @Enh Set xConfig.modify('delete //Enhanced') From @Enh
+ Update CC Set Config = cast(xconfig as varchar(max)) From Contents CC
+ Join @Enh EE ON EE.ID = CC.ContentID
+ IF( @@TRANCOUNT > 0 ) COMMIT
+END TRY
+BEGIN CATCH -- Catch Block
+ IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
+ ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
+ EXEC vlnErrorHandler
+END CATCH
+GO
+-- Display the status of Proc creation
+IF (@@Error = 0) PRINT 'StoredProcedure [vesp_PurgeEnhanced] Succeeded'
+ELSE PRINT 'StoredProcedure [vesp_PurgeEnhanced] Error on Creation'
+go
+
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_ConvertEnhancedDocVersions]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
+ DROP PROCEDURE [vesp_ConvertEnhancedDocVersions];
+GO
+
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE PROCEDURE [dbo].[vesp_ConvertEnhancedDocVersions]
+(
+ @svid int,
+ @enhvid int,
+ @enhid int,
+ @enhttl varchar(255),
+ @enhx int,
+ @enhtok varchar(1)
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN TRY -- Try Block
+ BEGIN TRANSACTION
+--print 'BGDV-1'
+update docversions set config = replace(config,'>',
+ '>')
+ where VersionID =@svid
+--print 'BGDV-2'
+update docversions set config = replace(config,'>',
+ '>')
+ where VersionID =@enhvid
+ IF( @@TRANCOUNT > 0 ) COMMIT
+END TRY
+BEGIN CATCH -- Catch Block
+ IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
+ ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
+ EXEC vlnErrorHandler
+END CATCH
+GO
+-- Display the status of Proc creation
+IF (@@Error = 0) PRINT 'StoredProcedure [vesp_ConvertEnhancedDocVersions] Succeeded'
+ELSE PRINT 'StoredProcedure [vesp_ConvertEnhancedDocVersions] Error on Creation'
+go
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_ConvertEnhancedItems]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
+ DROP PROCEDURE [vesp_ConvertEnhancedItems];
+GO
+
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE PROCEDURE [dbo].[vesp_ConvertEnhancedItems]
+(
+ @svid int,
+ @bvid int,
+ @dvid int
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN TRY -- Try Block
+ BEGIN TRANSACTION
+declare @EnhItems TABLE
+(
+ ItemID int,
+ ContentID int,
+ SrcConfig1 varchar(255),
+ SrcConfig2 varchar(255),
+ ProcName varchar(8),
+ RecID varchar(8),
+ BGItemID int,
+ BGContentID int,
+ BGConfig varchar(255),
+ DVItemID int,
+ DVContentID int,
+ DVConfig varchar(255)
+)
+-- Procedures
+Insert into @EnhItems
+select VI.ItemID, VI.ContentID
+ ,case when vibg.itemid is null then '' else '' end
+ ,case when vidv.itemid is null then '' else '' end
+ , VI.ProcName,null RecID
+, VIBG.ItemID BGItemID, VIBG.ContentID BGContentID, case when vibg.itemid is null then '' else '' end
+, VIDV.ItemID DVItemID, VIDV.ContentID DVContentID, case when vidv.itemid is null then '' else '' end
+from vefn_GetOldEnhancedProcs(@svid) VI
+Left Join vefn_GetOldEnhancedProcs(@bvid) VIBG ON VI.ProcName = VIBG.ProcName
+Left Join vefn_GetOldEnhancedProcs(@dvid) VIDV ON VI.ProcName = VIDV.ProcName
+WHERE VIBG.ItemID is not null or VIDV.ItemID is not null
+--Sections and Steps
+Insert into @EnhItems
+select VI.ItemID, VI.ContentID
+ ,case when vibg.itemid is null then '' else '' end
+ ,case when vidv.itemid is null then '' else '' end
+ , VI.ProcName,VI.RecID
+, VIBG.ItemID BGItemID, VIBG.ContentID BGContentID, case when vibg.itemid is null then '' else '' end
+, VIDV.ItemID DVItemID, VIDV.ContentID DVContentID, case when vidv.itemid is null then '' else '' end
+from vefn_GetOldEnhancedItems(@svid) VI
+Left Join vefn_GetOldEnhancedItems(@bvid) VIBG ON VI.ProcName = VIBG.ProcName AND '0L' + substring(VI.RecID,3,6) = VIBG.RecID
+Left Join vefn_GetOldEnhancedItems(@dvid) VIDV ON VI.ProcName = VIDV.ProcName AND '0L' + substring(VI.RecID,3,6) = VIDV.RecID
+WHERE VIBG.ItemID is not null or VIDV.ItemID is not null
+
+--select * from @EnhItems
+
+Declare @EnhEach Table
+(
+ ContentID int primary key,
+ Change1 varchar(255),
+ Change2 varchar(255)
+)
+insert into @EnhEach
+Select EI.ContentID,EI.SrcConfig1,EI.srcConfig2
+from @EnhItems EI
+Join Contents CC ON CC.ContentID = EI.ContentID
+
+insert into @EnhEach
+Select EI.bgContentID,EI.BGConfig,null
+from @EnhItems EI
+Join Contents CC ON CC.ContentID = EI.bgContentID
+
+insert into @EnhEach
+Select EI.dvContentID,EI.DVConfig,null
+from @EnhItems EI
+Join Contents CC ON CC.ContentID = EI.dvContentID
+
+Update CC
+Set Config = cast(cast(Replace(Replace(Config,'>' + Change1 +'' + isnull(Change2,'') +' 0 ) COMMIT
+END TRY
+BEGIN CATCH -- Catch Block
+ IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
+ ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
+ EXEC vlnErrorHandler
+END CATCH
+GO
+-- Display the status of Proc creation
+IF (@@Error = 0) PRINT 'StoredProcedure [vesp_ConvertEnhancedItems] Succeeded'
+ELSE PRINT 'StoredProcedure [vesp_ConvertEnhancedItems] Error on Creation'
+go
+
+
+-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetEnhancedLinks]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
+ DROP FUNCTION [vefn_GetEnhancedLinks];
+GO
+
+
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE FUNCTION [dbo].[vefn_GetEnhancedLinks]()
+RETURNS @Enhanced TABLE
+(
+ svid int,
+ bvid int,
+ dvid int
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN
+declare @tbl table
+(
+ FolderName varchar(255),
+ VersionID int,
+ ItemID int,
+ ContentID int,
+ ProcName varchar(10),
+ LinkType varchar(4),
+ RecID int,
+ ShortName varchar(20)
+)
+
+
+insert into @tbl
+select vn.FolderName,VI.VersionID, VI.ItemID, t1.ContentID, ProcName, case substring(RecIDText,2,1) when '0' then 'None' when 'L' then 'Link' else substring(RecIDText,2,1) end LinkType
+, cast(substring(RecIDText,3,6) as int) RecID, ff.ShortName
+from (select cc.Contentid
+
+, xHistory.value('@ProcName','varchar(20)') ProcName, xHistory.value('@RecID','varchar(20)') RecIDText
+from (select *, cast(config as xml) xconfig from contents) cc
+cross apply xconfig.nodes('//History') tHistory(xHistory)) t1
+Join vefn_getversionItems('') vi on t1.contentID = vi.contentID
+JOIN VEFN_GetVersionNames() VN ON VI.VersionID = VN.VersionID
+JOIN DocVersions DV ON VI.VersionID = DV.VersionID
+Join Folders FF ON FF.FolderID = DV.FolderID
+
+
+
+DECLARE @LinkCounts TABLE
+(
+ EnhancedID int,
+ LinkFolder varchar(255),
+ LinkShortName varchar(20),
+ SourceID int,
+ SourceFolder varchar(255),
+ SourceShortName varchar(20),
+ HowMany int,
+ AllLinks int
+)
+insert into @LinkCounts
+select t3.*,t4.HowMany AllLinks from (select t1.versionID EnhancedID, t1.FolderName LinkFolder, t1.ShortName LinkShortName, t2.VersionID SourceID, t2.FolderName SourceFolder, T2.ShortName SourceShortName, Count(*) HowMany from
+(select * from @tbl where LinkType = 'Link') t1
+join (select * from @tbl where LinkType != 'Link') t2 on t1.ProcName = t2.ProcName and T1.RecID = T2.RecID
+group by t1.versionID, t1.FolderName, T1.ShortName, t2.versionID, t2.FolderName, t2.ShortName) t3
+Join
+(select FolderName LinkFolder, 'All' SourceFolder, count(*) HowMany from @tbl where LinkType = 'Link'
+group by FolderName) t4 on t3.LinkFolder = t4.linkfolder
+Order By LinkFolder, T3.HowMany Desc
+
+--print '---3---'
+--select * from @LinkCounts
+declare @LinkSummary TABLE
+(
+ EnhancedID int,
+ LinkFolder varchar(255),
+ LinkShortName varchar(25),
+ SourceID int,
+ SourceFolder varchar(255),
+ SourceShortName varchar(25),
+ HowMany int,
+ AllLinks int,
+ RowNo int
+)
+begin
+WITH TOP3 AS (
+ SELECT *, ROW_NUMBER()
+ over (
+ PARTITION BY [EnhancedID]
+ order by [HowMany] DESC
+ ) AS RowNo
+ FROM @LinkCounts
+)
+insert into @linkSummary
+SELECT * FROM TOP3 WHERE RowNo <= 1
+end
+
+declare @myXML xml
+set @myXML=cast('
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+' as xml)
+declare @linktbl TABLE
+(
+Plant VARCHAR(25),
+LinkType VARCHAR(25),
+FolderFrom VARCHAR(25),
+FolderTo VARCHAR(25)
+)
+insert into @linktbl
+select
+xLink.value('@Plant','varchar(25)') Plant
+,xLink.value('@Type','varchar(25)') LinkType
+,xLink.value('@From','varchar(25)') FolderFrom
+,xLink.value('@To','varchar(25)') FolderTo
+from @myxml.nodes('//Link') tLink(xLink)
+
+declare @LnkPaths table
+(
+ Plant VarChar(20),
+ FolderFrom Varchar(20),
+ Background Varchar(20),
+ Deviation Varchar(20)
+)
+Insert into @LnkPaths
+select distinct plant,FolderFrom
+, (select min(FolderTo) from @linktbl lt1
+ where lt1.plant=lt.plant and lt1.folderfrom = lt.folderfrom
+ and lt1.linktype='bck.lnk') Background
+, (select min(FolderTo) from @linktbl lt1
+where lt1.plant=lt.plant and lt1.folderfrom = lt.folderfrom and lt1.linktype='dvt.lnk') Deviation
+ from @linktbl lt
+where LinkType in('BCK.LNK','DVT.LNK')
+
+insert into @Enhanced
+select isnull(SourceID,0) svid,isnull(BackgroundID,0) bvid,isnull(DeviationID,0) dvid from (select Plant
+,T1.SourceID,FolderFrom
+,isnull(BackgroundID,LS1.EnhancedID) BackgroundID,BackGround
+,isnull(DeviationID, LS2.EnhancedID) DeviationID, Deviation
+ from (select distinct Plant,
+(select Min(VersionID) from DocVersions dv Join Folders ff on dv.folderid = ff.folderid where ShortName = FolderFrom and ff.title like '%' + plant + '%') SourceID,
+FolderFrom,
+(select Min(VersionID) from DocVersions dv Join Folders ff on dv.folderid = ff.folderid where ShortName = Background and ff.title like '%' + plant + '%') BackgroundID,
+Background,
+(select Min(VersionID) from DocVersions dv Join Folders ff on dv.folderid = ff.folderid where ShortName = Deviation and ff.title like '%' + plant + '%') DeviationID,
+Deviation
+ from
+ @LnkPaths where Plant IN(Select Distinct Plant from @LnkPaths LP
+Join Folders FF ON FF.Title Like '%' + Plant + '%')) T1
+left Join @LinkSummary LS1 ON T1.SourceID = LS1.SourceID AND LS1.LinkShortName like '%.BCK'
+left Join @LinkSummary LS2 ON T1.SourceID = LS2.SourceID AND LS2.LinkShortName like '%.DVT'
+Where T1.SourceID is not null) T2
+where BackgroundID is not null or DeviationID is not null
+Return
+END
+GO
+IF (@@Error = 0) PRINT 'TableFunction [vefn_GetEnhancedLinks] Succeeded'
+ELSE PRINT 'TableFunction [vefn_GetEnhancedLinks] Error on Creation'
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetOldEnhancedProcs]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
+ DROP FUNCTION [vefn_GetOldEnhancedProcs];
+GO
+/*
+
+-- Byron
+USE VEPROMS_BYR
+select VI.ItemID, VI.ContentID, VI.ProcName
+, VIBG.ItemID BGItemID, VIBG.ContentID BGContentID
+, VIDV.ItemID DVItemID, VIDV.ContentID DVContentID
+from vefn_GetOldEnhancedProcs(6) VI
+Left Join vefn_GetOldEnhancedProcs(8) VIBG ON VI.ProcName = VIBG.ProcName
+Left Join vefn_GetOldEnhancedProcs(9) VIDV ON VI.ProcName = VIDV.ProcName
+USE MASTER
+
+-- Catawba
+USE VEPROMS_CNS
+select VI.ItemID, VI.ContentID, VI.ProcName
+, VIBG.ItemID BGItemID, VIBG.ContentID BGContentID
+, VIDV.ItemID DVItemID, VIDV.ContentID DVContentID
+from vefn_GetOldEnhancedProcs(7) VI
+Left Join vefn_GetOldEnhancedProcs(12) VIBG ON VI.ProcName = VIBG.ProcName
+Left Join vefn_GetOldEnhancedProcs(0) VIDV ON VI.ProcName = VIDV.ProcName
+USE MASTER
+
+*/
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE FUNCTION [dbo].[vefn_GetOldEnhancedProcs](@VersionID as int)
+RETURNS @Enhanced TABLE
+(
+ ItemID int,
+ ContentID int,
+ ProcName varchar(8)
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN
+ insert into @Enhanced
+ select ItemID,ContentID,ProcName From (
+ select ItemID,CC.ContentID
+ ,xHistory.value('@ProcName','varchar(8)') ProcName
+ ,row_Number() over(partition by xHistory.value('@ProcName','varchar(8)') order by ItemID) RowOrder
+ from (select ContentID, cast(config as xml) xConfig from Contents where Type = 0 ) CC
+ Cross Apply xConfig.nodes('//History') tHistory(xHistory)
+ JOIN VEFN_GETVERSIONITEMS(cast(@VersionID as varchar(12))) VI ON VI.CONTENTID = CC.CONTENTID
+ --JOIN VEFN_GetVersionNames() VN ON VI.VersionID = VN.VersionID
+ )T1 Where rowOrder = 1
+Return
+END
+GO
+IF (@@Error = 0) PRINT 'TableFunction [vefn_GetOldEnhancedProcs] Succeeded'
+ELSE PRINT 'TableFunction [vefn_GetOldEnhancedProcs] Error on Creation'
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetOldEnhancedItems]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
+ DROP FUNCTION [vefn_GetOldEnhancedItems];
+GO
+/*
+
+select count(*) from vefn_GetOldEnhancedItems(6)
+select count(*) from vefn_GetOldEnhancedItems(8) where RecID like '0l%'
+select count(*) from vefn_GetOldEnhancedItems(9) where RecID like '0l%'
+
+
+-- Byron
+USE VEPROMS_BYR
+select VI.ItemID, VI.ContentID, VI.ProcName,VI.RecID
+, VIBG.ItemID BGItemID, VIBG.ContentID BGContentID
+, VIDV.ItemID DVItemID, VIDV.ContentID DVContentID
+from vefn_GetOldEnhancedItems(6) VI
+Left Join vefn_GetOldEnhancedItems(8) VIBG ON VI.ProcName = VIBG.ProcName AND '0L' + substring(VI.RecID,3,6) = VIBG.RecID
+Left Join vefn_GetOldEnhancedItems(9) VIDV ON VI.ProcName = VIDV.ProcName AND '0L' + substring(VI.RecID,3,6) = VIDV.RecID
+WHERE VIBG.ItemID is not null or VIDV.ItemID is not null
+USE MASTER
+
+-- Catawba
+USE VEPROMS_CNS
+select VI.ItemID, VI.ContentID, VI.ProcName, VI.RecID
+, VIBG.ItemID BGItemID, VIBG.ContentID BGContentID
+, VIDV.ItemID DVItemID, VIDV.ContentID DVContentID
+from vefn_GetOldEnhancedItems(7) VI
+Left Join vefn_GetOldEnhancedItems(12) VIBG ON VI.ProcName = VIBG.ProcName AND '0L' + substring(VI.RecID,3,6) = VIBG.RecID
+Left Join vefn_GetOldEnhancedItems(0) VIDV ON VI.ProcName = VIDV.ProcName AND '0L' + substring(VI.RecID,3,6) = VIDV.RecID
+WHERE VIBG.ItemID is not null --or VIDV.ItemID is not null
+USE MASTER
+
+*/
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE FUNCTION [dbo].[vefn_GetOldEnhancedItems](@VersionID as int)
+RETURNS @Enhanced TABLE
+(
+ ItemID int,
+ ContentID int,
+ ProcName varchar(8),
+ RecID varchar(8),
+ Primary Key (ProcName,RecID)
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN
+ insert into @Enhanced
+ select ItemID, ContentID,ProcName,RecID From (
+ select VI.ItemID, CC.ContentID
+ ,xHistory.value('@ProcName','varchar(8)') ProcName
+ ,xHistory.value('@RecID','varchar(8)') RecID
+ ,row_Number() over(partition by xHistory.value('@ProcName','varchar(8)'), xHistory.value('@RecID','varchar(8)') order by VI.ItemID) RowOrder
+ from (select ContentID, cast(config as xml) xConfig from Contents where Type != 0 ) CC
+ Cross Apply xConfig.nodes('//History') tHistory(xHistory)
+ JOIN VEFN_GETVERSIONPROCEDUREITEMS(cast(@VersionID as varchar(12))) VI ON VI.CONTENTID = CC.CONTENTID
+ --Where ProcID in(select ItemID from vefn_GetOldEnhancedProcs(@VersionID))
+ JOIN vefn_GetOldEnhancedProcs(@VersionID) vep on vi.ProcID = VEP.ItemID AND xHistory.value('@ProcName','varchar(8)')= vep.ProcName
+ --JOIN VEFN_GetVersionNames() VN ON VI.VersionID = VN.VersionID
+ )T1 Where rowOrder = 1
+Return
+END
+GO
+IF (@@Error = 0) PRINT 'TableFunction [vefn_GetOldEnhancedItems] Succeeded'
+ELSE PRINT 'TableFunction [vefn_GetOldEnhancedItems] Error on Creation'
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_ConvertEnhanced]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
+ DROP PROCEDURE [vesp_ConvertEnhanced];
+GO
+
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE PROCEDURE [dbo].[vesp_ConvertEnhanced]
+(
+ @svid int,
+ @bvid int,
+ @dvid int
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN TRY -- Try Block
+ BEGIN TRANSACTION
+ IF( @svid != 0 AND @bvid != 0) -- Background DocVersions
+ exec vesp_ConvertEnhancedDocVersions @svid,@bvid,1,'Background',6,'B'
+ IF( @svid != 0 AND @dvid != 0) -- Deviation DocVersions
+ exec vesp_ConvertEnhancedDocVersions @svid,@dvid,2,'Deviation',20,'D'
+ IF( @svid != 0 AND ( @bvid != 0 OR @dvid != 0)) -- Enhanced Items
+ exec vesp_ConvertEnhancedItems @svid, @bvid, @dvid
+ IF( @@TRANCOUNT > 0 ) COMMIT
+END TRY
+BEGIN CATCH -- Catch Block
+ IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
+ ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
+ EXEC vlnErrorHandler
+END CATCH
+GO
+-- Display the status of Proc creation
+IF (@@Error = 0) PRINT 'StoredProcedure [vesp_ConvertEnhanced] Succeeded'
+ELSE PRINT 'StoredProcedure [vesp_ConvertEnhanced] Error on Creation'
+go
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_ConvertAllEnhanced]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
+ DROP PROCEDURE [vesp_ConvertAllEnhanced];
+GO
+
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE PROCEDURE [dbo].[vesp_ConvertAllEnhanced]
+WITH EXECUTE AS OWNER
+AS
+BEGIN TRY -- Try Block
+ BEGIN TRANSACTION
+ declare @svid int
+ declare @bvid int
+ declare @dvid int
+ declare @source varchar(255)
+ declare @background varchar(255)
+ declare @deviation varchar(255)
+ Exec vesp_PurgeEnhanced
+ Print 'Purge Enhanced'
+ declare enh cursor for select * from vefn_GetEnhancedLinks()
+ open enh
+ fetch next from enh into @svid,@bvid,@dvid
+ while @@fetch_status = 0
+ begin
+ SELECT @SOURCE = FOLDERNAME FROM vefn_GetVersionNames() where VersionID = @svid
+ SELECT @Background = FOLDERNAME FROM vefn_GetVersionNames() where VersionID = @bvid
+ SELECT @Deviation = FOLDERNAME FROM vefn_GetVersionNames() where VersionID = @dvid
+ Print 'Converting ' + @Source + ' => ' + isnull(@Background,'N/A') + ' => ' + isnull(@Deviation, 'N/A')
+ Exec vesp_ConvertEnhanced @svid,@bvid,@dvid
+ fetch next from enh into @svid,@bvid,@dvid
+ end
+ close enh
+ deallocate enh
+ IF( @@TRANCOUNT > 0 ) COMMIT
+END TRY
+BEGIN CATCH -- Catch Block
+ IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
+ ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
+ EXEC vlnErrorHandler
+END CATCH
+GO
+-- Display the status of Proc creation
+IF (@@Error = 0) PRINT 'StoredProcedure [vesp_ConvertAllEnhanced] Succeeded'
+ELSE PRINT 'StoredProcedure [vesp_ConvertAllEnhanced] Error on Creation'
+go
+PRINT 'Added Enhanced Document Conversion Code'
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetNewEnhancedData]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
+ DROP FUNCTION [vefn_GetNewEnhancedData];
+GO
+/*
+select * from vefn_GetNewEnhancedData(28825)
+*/
+/****** Object: Table Function [vefn_GetNewEnhancedData] ******/
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE FUNCTION [dbo].[vefn_GetNewEnhancedData]( @ItemID int, @EnhType int)
+RETURNS @OldEnhancedData TABLE
+(
+ ItemID int,
+ ContentID int,
+ EItemID int,
+ EType int
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN
+ insert into @OldEnhancedData
+select ii.ItemId,cc.ContentID
+ , xEnhanced.value('@ItemID','int') EItemID
+ , xEnhanced.value('@Type','int') EType from (Select *, cast(config as xml) xConfig from contents) CC
+Join Items II ON II.ContentID = CC.ContentID
+cross Apply xConfig.nodes('//Enhanced[@Type=sql:variable("@EnhType")]') tEnhanced(xEnhanced)
+where ItemID = @ItemID
+return
+END
+GO
+
+IF (@@Error = 0) PRINT 'TableFunction [vefn_GetNewEnhancedData] Succeeded'
+ELSE PRINT 'TableFunction [vefn_GetNewEnhancedData] Error on Creation'
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetOldEnhancedData]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
+ DROP FUNCTION [vefn_GetOldEnhancedData];
+GO
+/*
+select * from vefn_GetOldEnhancedData(28825)
+*/
+/****** Object: Table Function [vefn_GetOldEnhancedData] ******/
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE FUNCTION [dbo].[vefn_GetOldEnhancedData]( @ItemID int)
+RETURNS @OldEnhancedData TABLE
+(
+ ItemID int,
+ ContentID int,
+ ProcName nvarchar(10),
+ RecID nvarchar(10)
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN
+ insert into @OldEnhancedData
+select ii.ItemId,cc.ContentID
+ , xHistory.value('@ProcName','nvarchar(10)') ProcName
+ , xHistory.value('@RecID','nvarchar(10)') RecID from (Select *, cast(config as xml) xConfig from contents) CC
+Join Items II ON II.ContentID = CC.ContentID
+cross Apply xConfig.nodes('//History') tHistory(xHistory)
+where ItemID = @ItemID
+return
+END
+GO
+
+IF (@@Error = 0) PRINT 'TableFunction [vefn_GetOldEnhancedData] Succeeded'
+ELSE PRINT 'TableFunction [vefn_GetOldEnhancedData] Error on Creation'
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetEnhancedItemsAndChildren]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
+ DROP FUNCTION [vefn_GetEnhancedItemsAndChildren];
+GO
+/****** Object: Table Function [vefn_GetEnhancedItemsAndChildren] *****/
+/*
+select * from vefn_GetEnhancedItemsAndChildren(17013,1)
+select * from vefn_GetEnhancedItemsAndChildren(17067,0)
+*/
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE FUNCTION [dbo].[vefn_GetEnhancedItemsAndChildren](@ProcID int,@EnhType int)
+RETURNS @VersionItems TABLE
+(
+ [Level] int,
+ [FromType] int,
+ [Ordinal] int,
+ [ParentID] int,
+ [ItemID] int primary key,
+ [PreviousID] int,
+ [ContentID] int,
+ [Number] varchar(250),
+ [Text] NVARCHAR(MAX),
+ [Type] INT,
+ [FormatID] int,
+ [EItemID] int,
+ [EType] int
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN
+with Itemz([Level], [ParentID], [Ordinal], [ItemID], [PreviousID], [FromType], [ContentID], [DTS], [UserID], [LastChanged]) as (
+ Select 0 [Level], 0 [ParentID], 0 [Ordinal], [ItemID], [PreviousID],0 [FromType],[ContentID],[DTS],[UserID],[LastChanged]
+ FROM [Items]
+ where [ItemID]=@ProcID
+Union All
+-- Children
+ select [Level] + 1,Z.ItemID,0, I.[ItemID], I.[PreviousID], P.[FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged]
+ from Itemz Z
+ join Parts P on P.ContentID = Z.ContentID
+ join Items I on I.ItemID = P.ItemID
+ --join (select * from Items where ContentID Not in(Select ContentID from entries)) I on I.ItemID = P.ItemID
+ where p.fromtype in(2,3,4) -- Sections, Cautions, Notes
+ or (z.FromType = 2 and p.FromType=6) -- High Level Step
+-- Siblings
+Union All
+ select [Level] ,Z.[ParentID],Z.[Ordinal] +1, I.[ItemID], I.[PreviousID], [FromType],I.[ContentID],I.[DTS],I.[UserID],I.[LastChanged]
+ from Itemz Z
+ join Items I on I.PreviousID = Z.ItemID
+ where Z.[Level] > 0
+)
+insert into @versionitems
+select I.[Level],I.[FromType],I.[Ordinal], I.[ParentID], I.[ItemID],I.[PreviousID],I.[ContentID], C.[Number],C.[Text],C.[Type]
+, C.[FormatID]
+, xEnhanced.value('@ItemID','int') EItemID
+, xEnhanced.value('@Type','int') EType from ItemZ I
+ join (select * , cast(config as xml) xConfig from Contents) C on C.ContentID = I.ContentID
+ -- sql:variable("@EnhType") allows a variable to be used in a xPath query to limit
+ -- the results to Enhanced Nodes that have type =
+ outer apply xConfig.nodes('//Enhanced[@Type=sql:variable("@EnhType")]') tEnhanced(xEnhanced)
+ where I.ContentID not in (select contentid from entries)
+ order by I.[Level] , I.[FromType], I.[Ordinal]
+ OPTION (MAXRECURSION 10000)
+ RETURN
+END
+GO
+IF (@@Error = 0) PRINT 'TableFunction [vefn_GetEnhancedItemsAndChildren] Succeeded'
+ELSE PRINT 'TableFunction [vefn_GetEnhancedItemsAndChildren] Error on Creation'
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetEnhancedIssues]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
+ DROP FUNCTION [vefn_GetEnhancedIssues];
+GO
+/****** Object: Table Function [vefn_GetEnhancedIssues] ******/
+/*
+select * from vefn_getEnhancedIssues1(17066)
+select * from vefn_getEnhancedIssues1(17067)
+*/
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+
+CREATE FUNCTION [dbo].[vefn_GetEnhancedIssues]( @EnhancedID int)
+RETURNS @EnhancedIssues TABLE
+(
+ SourceID int,
+ [sNumber] varchar(250),
+ [sText] NVARCHAR(MAX),
+ [sType] INT,
+ [sProcName] NVARCHAR(10),
+ [sRecID] NVARCHAR(10),
+ EnhanceID int,
+ [eNumber] varchar(250),
+ [eeText] NVARCHAR(MAX),
+ [eType] INT,
+ [eProcName] NVARCHAR(10),
+ [eRecID] NVARCHAR(10),
+ Status varchar(10)
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN
+ declare @SourceID as int
+ select @SourceID = xEnhanced.value('@ItemID','int') from (select cast(config as xml) xConfig from contents
+ where contentID in(select ContentID from Items where ItemID = @EnhancedID)) CC
+ cross apply xConfig.nodes('//Enhanced') tEnhanced(xEnhanced)
+ declare @Type int
+ select @Type = xEnhanced.value('@Type','int') from (select cast(config as xml) xConfig from contents
+ where contentID in(select ContentID from Items where ItemID = @SourceID)) CC
+ cross apply xConfig.nodes('//Enhanced') tEnhanced(xEnhanced) where xEnhanced.value('@ItemID','int') = @EnhancedID
+ Insert into @EnhancedIssues
+ select vcs.ItemID SourceID, vcs.[Number] sNumber, vcs.[Text] sText, vcs.[Type] sType,sod.ProcName sProcName,sod.RecID sRecID
+ , vce.ItemID EnhancedID, vce.[Number] eNumber, vce.[Text] eText, vce.[Type] eType,eod.ProcName sProcName ,eod.RecID eRecID
+ , case
+ when ISNULL(eod.RecID,'00') like '0L%' and vcs.itemid is null then 'Delete'
+ when vcs.itemid is null then 'Unlinked'
+ when vce.itemid is null then 'Insert'
+ when ISNULL(vcs.text,'') != isnull(vce.Text,'') then 'Different'
+ else 'Same' end Status
+ from vefn_GetEnhancedItemsAndChildren(@SourceID,@Type) vcs
+ full Join vefn_GetEnhancedItemsAndChildren(@EnhancedID,0) vce on vcs.EItemID = vce.ItemID
+ outer apply vefn_GetOldEnhancedData(vcs.ItemID) sod
+ outer apply vefn_GetOldEnhancedData(vce.ItemID) eod
+ RETURN
+END
+GO
+
+IF (@@Error = 0) PRINT 'TableFunction [vefn_GetEnhancedIssues] Succeeded'
+ELSE PRINT 'TableFunction [vefn_GetEnhancedIssues] Error on Creation'
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetEnhancedIssueCount]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
+ DROP FUNCTION [vefn_GetEnhancedIssueCount];
+GO
+/****** Object: Table Function [vefn_GetEnhancedIssueCount] ******/
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE FUNCTION [dbo].[vefn_GetEnhancedIssueCount]( @EnhancedID int)
+RETURNS @EnhancedIssueCount TABLE
+(
+ Deleted int,
+ Inserted int,
+ Changed int,
+ Same int,
+ Unlinked int
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN
+ insert into @EnhancedIssueCount
+ select sum(case Status when 'Delete' then 1 else 0 end) Deleted
+ , sum(case Status when 'Insert' then 1 else 0 end) Inserted
+ , sum(case Status when 'Different' then 1 else 0 end) Changed
+ , sum(case Status when 'Same' then 1 else 0 end) Same
+ , sum(case Status when 'Unlinked' then 1 else 0 end) Unlinked
+ from vefn_GetEnhancedIssues(@EnhancedID)
+ RETURN
+END
+GO
+
+IF (@@Error = 0) PRINT 'TableFunction [vefn_GetEnhancedIssueCount] Succeeded'
+ELSE PRINT 'TableFunction [vefn_GetEnhancedIssueCount] Error on Creation'
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_GetEnhancedDocuments]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1)
+ DROP FUNCTION [vefn_GetEnhancedDocuments];
+GO
+/****** Object: Table Function [vefn_GetEnhancedDocuments] ******/
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+
+
+CREATE FUNCTION [dbo].[vefn_GetEnhancedDocuments]()
+RETURNS @EnhancedDocuments TABLE
+(
+ VersionID int,
+ FolderName varchar(250),
+ ItemID int,
+ ProcNum varchar(250),
+ ProcName varchar(1000),
+ EnhType int,
+ EnhItemID int
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN
+insert into @EnhancedDocuments
+select VN.VersionID,VN.FolderName, VI.ItemID
+, replace(cc.Number,'\u8209?','-') ProcNum, replace(cc.Text,'\u8209?','-') ProcName
+, xEnhanced.value('@Type','int') EnhType, xenhanced.value('@ItemID','int') EnhItemID
+--, xEnhanced.query('.') qEnhanced
+from (select *, cast(config as xml) xconfig from Contents Where config like '%Enhanced%' and Type =0) CC
+JOIN VEFN_GetVersionItems('') VI ON VI.ContentID = CC.ContentID
+JOIN VEFN_GetVersionNames() VN ON VI.VersionID = VN.VersionID
+cross apply xconfig.nodes('//Enhanced') tEnhanced(xEnhanced)
+where xEnhanced.value('@Type','int') > 0
+return
+END
+GO
+
+IF (@@Error = 0) PRINT 'TableFunction [vefn_GetEnhancedDocuments] Succeeded'
+ELSE PRINT 'TableFunction [vefn_GetEnhancedDocuments] Error on Creation'
+GO
+
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_ListUnlinkedItems]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
+ DROP PROCEDURE [vesp_ListUnlinkedItems];
+GO
+/* Sample
+vesp_ListUnlinkedItems 28825,1
+vesp_ListUnlinkedItems 28827,1
+vesp_ListUnlinkedItems 29245,1
+*/
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE PROCEDURE [dbo].[vesp_ListUnlinkedItems]
+(
+ @ItemID int,
+ @EnhType int
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN
+ DECLARE @EItemID int
+ set @EItemID = (select top 1 VIS.EItemID from vefn_AllSiblingItems(@ItemID)--Find All Siblings
+ outer apply vefn_GetNewEnhancedData(ItemID,@EnhType) VIS -- That are Linked
+ where EitemID is not null)
+
+ if @EItemID is null
+ BEGIN
+ select @EItemID = epp.ItemID
+ from (select * from Parts where ItemID in(select itemID from vefn_AllSiblingItems(@ItemID)))SPP -- FindParent
+ JOIN ITEMS SII ON sPP.ContentID = sII.ContentID -- Get Parent Content ID
+ outer apply vefn_GetNewEnhancedData(SII.ItemID,@EnhType) VIS -- Get Enhanced ID for Parent
+ JOIN ITEMS EII ON VIS.EItemID = EII.ItemID -- Get Enhanced Parent Content ID
+ JOIN PARTS EPP ON EPP.ContentID = EII.ContentID and SPP.FromType = epp.FromType -- Get first Child
+ END
+ Select ItemID,PreviousID,ContentID,[DTS],[UserID],[LastChanged],
+ (SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=[II].[ItemID]) [AnnotationCount],
+ (SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=[II].[ItemID]) [DocVersionCount],
+ (SELECT COUNT(*) FROM [Items] [Children] WHERE [Children].[PreviousID]=[II].[ItemID]) [NextCount],
+ (SELECT COUNT(*) FROM [Parts] WHERE [Parts].[ItemID]=[II].[ItemID]) [PartCount],
+ (SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[RangeID]=[II].[ItemID]) [Transition_RangeIDCount],
+ (SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[ToID]=[II].[ItemID]) [Transition_ToIDCount]
+ from Items II where ItemID In (select SIB.ItemID from vefn_AllSiblingItems(@EItemID) SIB
+ outer apply vefn_GetNewEnhancedData(ItemID,0) VIE
+ Where VIE.EItemID is null)
+END
+GO
+-- Display the status of Proc creation
+IF (@@Error = 0) PRINT 'StoredProcedure [vesp_ListUnlinkedItems] Succeeded'
+ELSE PRINT 'StoredProcedure [vesp_ListUnlinkedItems] Error on Creation'
+go
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_ListItemsToRefresh]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
+ DROP PROCEDURE [vesp_ListItemsToRefresh];
+GO
+/* Sample
+vesp_ListItemsToRefresh 17078
+vesp_ListItemsToRefresh 17066
+vesp_ListItemsToRefresh 17083
+*/
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE PROCEDURE [dbo].[vesp_ListItemsToRefresh]
+(
+ @ProcID int
+)
+WITH EXECUTE AS OWNER
+AS
+BEGIN
+ Select ItemID,PreviousID,ContentID,[DTS],[UserID],[LastChanged],
+ (SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[ItemID]=[II].[ItemID]) [AnnotationCount],
+ (SELECT COUNT(*) FROM [DocVersions] WHERE [DocVersions].[ItemID]=[II].[ItemID]) [DocVersionCount],
+ (SELECT COUNT(*) FROM [Items] [Children] WHERE [Children].[PreviousID]=[II].[ItemID]) [NextCount],
+ (SELECT COUNT(*) FROM [Parts] WHERE [Parts].[ItemID]=[II].[ItemID]) [PartCount],
+ (SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[RangeID]=[II].[ItemID]) [Transition_RangeIDCount],
+ (SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[ToID]=[II].[ItemID]) [Transition_ToIDCount]
+ from Items II where ItemID In (select EnhanceID from vefn_GetEnhancedIssues(@ProcID)
+ where Status ='Different')
+END
+GO
+-- Display the status of Proc creation
+IF (@@Error = 0) PRINT 'StoredProcedure [vesp_ListItemsToRefresh] Succeeded'
+ELSE PRINT 'StoredProcedure [vesp_ListItemsToRefresh] Error on Creation'
+go
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_PurgeEnhancedItemsAndChildren]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
+ DROP PROCEDURE [vesp_PurgeEnhancedItemsAndChildren];
+GO
+/*
+vesp_PurgeEnhancedItemsAndChildren 43092 -- caution
+vesp_PurgeEnhancedItemsAndChildren 43090 -- step/caution
+vesp_PurgeEnhancedItemsAndChildren 43089 -- section
+vesp_PurgeEnhancedItemsAndChildren 17067 -- procedure
+*/
+
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+CREATE PROCEDURE [dbo].[vesp_PurgeEnhancedItemsAndChildren](@EnhanceID int)
+
+WITH EXECUTE AS OWNER
+AS
+BEGIN TRY -- Try Block
+ BEGIN TRANSACTION
+ declare @SourceID int
+ select @SourceID=EItemID from VEFN_GetNewEnhancedData(@EnhanceID,0)
+ DECLARE @EnhType int
+ select @EnhType = xEnhanced.value('@Type','int')
+ from (select *, cast(config as xml) xConfig from Contents where ContentID in (Select ContentID from ITEMS where ItemID = @SourceID)) CC
+ cross apply xconfig.nodes('//Enhanced[@ItemID=sql:variable("@EnhanceID")]') tEnhanced(xEnhanced)
+ declare @Enh1 TABLE
+ (
+ ID int,
+ xConfig xml
+ )
+ insert into @Enh1
+ select CC.ContentID, CC.xConfig from (select *, cast(config as xml) xConfig from Contents) CC
+ JOIN vefn_ChildItems(@SourceID) VCI ON VCI.ContentID = CC.ContentID
+ cross apply VEFN_GetNewEnhancedData(VCI.itemid,@EnhType) VEN
+
+ Update @Enh1 Set xConfig.modify('delete //Enhanced[@Type=sql:variable("@EnhType")]') From @Enh1
+
+
+ declare @Enh2 TABLE
+ (
+ ID int,
+ xConfig xml
+ )
+ insert into @Enh2
+ select CC.ContentID, CC.xConfig from (select *, cast(config as xml) xConfig from Contents) CC
+ JOIN vefn_ChildItems(@EnhanceID) VCI ON VCI.ContentID = CC.ContentID
+ cross apply VEFN_GetNewEnhancedData(VCI.itemid,0) VEN
+ set @EnhType=0
+ Update @Enh2 Set xConfig.modify('delete //Enhanced[@Type=sql:variable("@EnhType")]') From @Enh2
+
+ Update CC Set Config = cast(xconfig as varchar(max)) From Contents CC
+ Join @Enh1 EE ON EE.ID = CC.ContentID
+ Update CC Set Config = cast(xconfig as varchar(max)) From Contents CC
+ Join @Enh2 EE ON EE.ID = CC.ContentID
+
+ SELECT [ContentID],[Number],[Text],[Type],[FormatID],[Config],[DTS],[UserID],[LastChanged],
+ (SELECT COUNT(*) FROM [Details] WHERE [Details].[ContentID]=[Contents].[ContentID]) [DetailCount],
+ (SELECT COUNT(*) FROM [Entries] WHERE [Entries].[ContentID]=[Contents].[ContentID]) [EntryCount],
+ (SELECT COUNT(*) FROM [Grids] WHERE [Grids].[ContentID]=[Contents].[ContentID]) [GridCount],
+ (SELECT COUNT(*) FROM [Images] WHERE [Images].[ContentID]=[Contents].[ContentID]) [ImageCount],
+ (SELECT COUNT(*) FROM [Items] WHERE [Items].[ContentID]=[Contents].[ContentID]) [ItemCount],
+ (SELECT COUNT(*) FROM [Parts] WHERE [Parts].[ContentID]=[Contents].[ContentID]) [PartCount],
+ (SELECT COUNT(*) FROM [RoUsages] WHERE [RoUsages].[ContentID]=[Contents].[ContentID]) [RoUsageCount],
+ (SELECT COUNT(*) FROM [Transitions] WHERE [Transitions].[FromID]=[Contents].[ContentID]) [TransitionCount],
+ (SELECT COUNT(*) FROM [ZContents] WHERE [ZContents].[ContentID]=[Contents].[ContentID]) [ZContentCount]
+ FROM [Contents] where ContentID in (Select ID From @Enh1 UNION Select ID From @Enh2)
+
+
+ IF( @@TRANCOUNT > 0 ) COMMIT
+END TRY
+BEGIN CATCH -- Catch Block
+ IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
+ ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit. Top level will rollback
+ EXEC vlnErrorHandler
+END CATCH
+GO
+-- Display the status of Proc creation
+IF (@@Error = 0) PRINT 'StoredProcedure [vesp_PurgeEnhancedItemsAndChildren] Succeeded'
+ELSE PRINT 'StoredProcedure [vesp_PurgeEnhancedItemsAndChildren] Error on Creation'
+go
+
+/*****************************************************************************
+ Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
+ Copyright 2016 - Volian Enterprises, Inc. All rights reserved.
+*****************************************************************************/
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_GetNonEnhancedDocVersions]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
+ DROP PROCEDURE [vesp_GetNonEnhancedDocVersions];
+GO
+CREATE PROCEDURE [dbo].[vesp_GetNonEnhancedDocVersions]
+
+WITH EXECUTE AS OWNER
+AS
+BEGIN
+SELECT
+ [VersionID],
+ [FolderID],
+ [VersionType],
+ [Name],
+ [Title],
+ [ItemID],
+ [FormatID],
+ [Config],
+ [DTS],
+ [UserID],
+ [LastChanged],
+ (SELECT COUNT(*) FROM [Associations] WHERE [Associations].[VersionID]=dv.[VersionID]) [AssociationCount]
+ FROM (select *, cast(config as xml) xconfig from [DocVersions] ) dv
+ outer apply xconfig.nodes('//Enhanced') tEnhanced(xEnhanced)
+ Where xEnhanced is null
+return
+END
+GO
+
+IF (@@Error = 0) PRINT 'StoredProcedure [vesp_GetNonEnhancedDocVersions] Succeeded'
+ELSE PRINT 'StoredProcedure [vesp_GetNonEnhancedDocVersions] Error on Creation'
+GO
+
+PRINT 'Enhanced Document Synchronization code.'
+
-----------------------------------------------------------------------------
/*
---------------------------------------------------------------------------
@@ -11443,8 +12582,8 @@ BEGIN TRY -- Try Block
set nocount on
DECLARE @RevDate varchar(255)
DECLARE @RevDescription varchar(255)
- set @RevDate = '2/26/2016 11:00 AM'
- set @RevDescription = 'Added vesp_GetSQLCodeRevision'
+ set @RevDate = '5/9/2016 8:00 AM'
+ set @RevDescription = 'Added Enhanced Documents'
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
IF( @@TRANCOUNT > 0 ) COMMIT