diff --git a/PROMS/DataLoader/PROMSFixes.Sql b/PROMS/DataLoader/PROMSFixes.Sql index 542c0ebd..54e8e8f5 100644 --- a/PROMS/DataLoader/PROMSFixes.Sql +++ b/PROMS/DataLoader/PROMSFixes.Sql @@ -6948,3 +6948,57 @@ GO IF (@@Error = 0) PRINT 'Procedure Creation: vesp_TurnChangeManagerON Succeeded' ELSE PRINT 'Procedure Creation: vesp_TurnChangeManagerON Error on Creation' GO +/****** Object: TableFunction [vefn_FindROUsageIDs] ******/ +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_FindROUsageIDs]') AND OBJECTPROPERTY(id,N'IsTableFunction') = 1) + DROP FUNCTION [vefn_FindROUsageIDs]; +GO + +/***************************************************************************** + Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE + Copyright 2012 - Volian Enterprises, Inc. All rights reserved. +*****************************************************************************/ +CREATE FUNCTION [dbo].[vefn_FindROUsageIDs](@ContentAuditID int) +RETURNS @IDs TABLE +( + ROUsageID int PRIMARY KEY, + ROUsageAction char(3) +) +WITH EXECUTE AS OWNER +AS +BEGIN + + DECLARE @ContentID int + DECLARE @text varchar(max) + SELECT @ContentID = ContentID,@text = Text FROM ContentAudits WHERE AuditID = @ContentAuditID + DECLARE @index1 int + DECLARE @index2 int + DECLARE @tid varchar(max) + DECLARE @trid int + WHILE (LEN(@text) > 0) + BEGIN + SET @index1 = CHARINDEX('#Link:ReferencedObject' , @text) + IF (@index1 > 0) + BEGIN + SET @text = RIGHT(@text, (LEN(@text) - (22 + @index1))) + SET @index1 = CHARINDEX(' ', @text) + SET @tid = LTRIM(LEFT(@text, @index1)) + SET @trid = CAST(@tid AS INT) + IF EXISTS (SELECT ROUsageID FROM tblROUsages WHERE ROUsageID = @trid AND DeleteStatus < 0) + INSERT INTO @IDs VALUES (@trid, 'ADD') + ELSE + INSERT INTO @IDs VALUES (@trid, NULL) + END + ELSE + SET @text = '' + END + INSERT INTO @IDs SELECT tt.ROUsageID,'DEL' FROM tblROUsages tt LEFT JOIN @IDs ti ON tt.ROUsageID = ti.ROUsageID WHERE tt.ContentID = @ContentID + AND ti.ROUsageID IS NULL + DELETE FROM @IDs WHERE ROUsageAction IS NULL + RETURN +END +GO +-- Display the status of func creation +IF (@@Error = 0) PRINT 'TableFunction Creation: vefn_FindROUsageIDs Succeeded' +ELSE PRINT 'TableFunction Creation: vefn_FindROUsageIDs Error on Creation' +GO +