Modified stored procedures vesp_SessionBegin and vesp_SessionCanCheckOutItem to manage when an adminstrator can export or import a docversion from within PROMS.

This commit is contained in:
Rich 2014-06-14 01:10:08 +00:00
parent c53e228de1
commit 8a5a8cc8b3

View File

@ -7672,6 +7672,22 @@ CREATE PROCEDURE [dbo].[vesp_SessionBegin]
WITH EXECUTE AS OWNER
AS
BEGIN TRY -- Try Block
DECLARE @oCount int
SELECT @oCount = count(*) FROM Owners WHERE OwnerType = 3
IF @oCount > 0 BEGIN
SELECT
[SessionID],
[UserID],
[DTSDtart],
[DTSEnd],
[DTSActivity],
[LastChanged],
[MachineName],
[ProcessID]
FROM [Sessions]
WHERE [SessionID]=0
END
ELSE BEGIN
BEGIN TRANSACTION
--delete old closed sessions
DELETE FROM Sessions WHERE UserID = @UserID and DTSEnd is not null
@ -7695,6 +7711,7 @@ BEGIN TRY -- Try Block
FROM [Sessions]
WHERE [SessionID]=SCOPE_IDENTITY()
IF( @@TRANCOUNT > 0 ) COMMIT
END
END TRY
BEGIN CATCH -- Catch Block
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
@ -8043,6 +8060,22 @@ BEGIN
(
SessionID int
)
--look to see if anyone else has a session. if they do, then cannot check out
DECLARE @sCount int
SELECT @sCount = count(*) FROM Sessions
IF @ObjectType = 3 BEGIN
SELECT
[SessionID],
[UserID],
[DTSDtart],
[DTSEnd],
[DTSActivity],
[LastChanged],
[MachineName],
[ProcessID]
FROM [Sessions]
WHERE DTSEnd IS NULL
END ELSE BEGIN
--look to see if object is already checked out in owner table as passed object type
INSERT INTO @CheckOuts SELECT DISTINCT SessionID FROM Owners WHERE OwnerItemID = @ObjectID AND OwnerType = @ObjectType
--look to see if object is part of a checked out docversion as passed object type
@ -8095,6 +8128,7 @@ BEGIN
FROM [Sessions]
WHERE [SessionID] IN (SELECT SessionID FROM @CheckOuts)
END
END
GO
-- Display the status of Proc creation
IF (@@Error = 0) PRINT 'Procedure Creation: vesp_SessionCanCheckOutItem Succeeded'