From af78064dd209a0239e6dfbc3cb3b6a3302846853 Mon Sep 17 00:00:00 2001 From: Kathy Date: Mon, 9 May 2016 11:18:59 +0000 Subject: [PATCH] Enhanced support --- PROMS/DataLoader/PROMSFixes.Sql | 1151 ++++++++++++++++++++++++++++++- 1 file changed, 1145 insertions(+), 6 deletions(-) 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