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:
parent
c53e228de1
commit
8a5a8cc8b3
@ -7672,6 +7672,22 @@ CREATE PROCEDURE [dbo].[vesp_SessionBegin]
|
|||||||
WITH EXECUTE AS OWNER
|
WITH EXECUTE AS OWNER
|
||||||
AS
|
AS
|
||||||
BEGIN TRY -- Try Block
|
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
|
BEGIN TRANSACTION
|
||||||
--delete old closed sessions
|
--delete old closed sessions
|
||||||
DELETE FROM Sessions WHERE UserID = @UserID and DTSEnd is not null
|
DELETE FROM Sessions WHERE UserID = @UserID and DTSEnd is not null
|
||||||
@ -7695,6 +7711,7 @@ BEGIN TRY -- Try Block
|
|||||||
FROM [Sessions]
|
FROM [Sessions]
|
||||||
WHERE [SessionID]=SCOPE_IDENTITY()
|
WHERE [SessionID]=SCOPE_IDENTITY()
|
||||||
IF( @@TRANCOUNT > 0 ) COMMIT
|
IF( @@TRANCOUNT > 0 ) COMMIT
|
||||||
|
END
|
||||||
END TRY
|
END TRY
|
||||||
BEGIN CATCH -- Catch Block
|
BEGIN CATCH -- Catch Block
|
||||||
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
|
IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
|
||||||
@ -8043,6 +8060,22 @@ BEGIN
|
|||||||
(
|
(
|
||||||
SessionID int
|
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
|
--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
|
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
|
--look to see if object is part of a checked out docversion as passed object type
|
||||||
@ -8095,6 +8128,7 @@ BEGIN
|
|||||||
FROM [Sessions]
|
FROM [Sessions]
|
||||||
WHERE [SessionID] IN (SELECT SessionID FROM @CheckOuts)
|
WHERE [SessionID] IN (SELECT SessionID FROM @CheckOuts)
|
||||||
END
|
END
|
||||||
|
END
|
||||||
GO
|
GO
|
||||||
-- Display the status of Proc creation
|
-- Display the status of Proc creation
|
||||||
IF (@@Error = 0) PRINT 'Procedure Creation: vesp_SessionCanCheckOutItem Succeeded'
|
IF (@@Error = 0) PRINT 'Procedure Creation: vesp_SessionCanCheckOutItem Succeeded'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user