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
|
||||
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,9 +8060,25 @@ BEGIN
|
||||
(
|
||||
SessionID int
|
||||
)
|
||||
--look to see if object is already checked out in owner table as passed object type
|
||||
--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
|
||||
--look to see if object is part of a checked out docversion as passed object type
|
||||
DECLARE @VersionIDList varchar(max)
|
||||
SELECT @VersionIDList = COALESCE(@VersionIDList + ',','') + CAST(OwnerItemID as varchar(4)) FROM Owners WHERE OwnerType = 2
|
||||
IF ISNULL(@VersionIDList,'') != '' AND @ObjectType = 0 BEGIN --procedure
|
||||
@ -8065,7 +8098,7 @@ BEGIN
|
||||
INNER JOIN Sessions ss ON oo.SessionID = ss.SessionID
|
||||
WHERE ee.DocID = @ObjectID
|
||||
END
|
||||
--look to see if object type is docversion that no part of docversion passed is checked out
|
||||
--look to see if object type is docversion that no part of docversion passed is checked out
|
||||
IF @ObjectType = 2 BEGIN
|
||||
--see what procedures maybe checked out
|
||||
INSERT INTO @CheckOuts
|
||||
@ -8094,6 +8127,7 @@ BEGIN
|
||||
[ProcessID]
|
||||
FROM [Sessions]
|
||||
WHERE [SessionID] IN (SELECT SessionID FROM @CheckOuts)
|
||||
END
|
||||
END
|
||||
GO
|
||||
-- Display the status of Proc creation
|
||||
|
Loading…
x
Reference in New Issue
Block a user