347 lines
12 KiB
Transact-SQL
Raw Blame History

UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.8' where NAME = 'Record-Organizer'
GO
ALTEr TABLE TBPMO_WD_OBJECTTYPE
ADD IDXNAME_RELATION VARCHAR(50) NOT NULL DEFAULT ''
GO
UPDATE TBPMO_WD_OBJECTTYPE SET IDXNAME_RELATION = 'STRING34'
GO
DELETE FROM TBDD_INDEX_AUTOM WHERE INDEXNAME = 'STRING34'
ALTER TABLE TBPMO_CONTROL
ADD SELECT_ONLY BIT NOT NULL DEFAULT 0
GO
ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
SELECT TOP 100 PERCENT
T.GUID CONTROL_ID,
T.FORM_ID CONTROL_ENTITY_ID,
T.NAME CONTROL_NAME,
T.REQUIRED CONTROL_REQUIRED,
T.DEFAULT_VALUE CONTROL_DEF_VALUE,
T.READ_ONLY CONTROL_READ_ONLY,
T.SELECT_ONLY CONTROL_SELECT_ONLY,
T.MULTILINE CONTROL_MULTILINE,
T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
T.COL_NAME CONTROL_COL_NAME,
T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
T.CONNECTION_ID_1 CONTROL_CONNID_1,
T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2,
T.VISIBLE CONTROL_VISIBLE,
T.TREE_VIEW CONTROL_TREE_VIEW,
T.STATIC_LIST CONTROL_STATIC_LIST,
T4.GUID CTRLTYPE_ID,
T4.TYPE_NAME CTRLTYPE_NAME,
T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
T.FORM_ID,
T3.NAME FORM_NAME,
T3.LEVEL FORM_LEVEL,
T1.SCREEN_ID SCREEN_ID,
T2.NAME SCREEN_NAME,
T1.GUID CTRLSCR_ID,
T1.CONTROL_TEXT CTRLSCR_CAPTION,
T1.X_LOC CTRLSCR_X_LOC,
T1.Y_LOC CTRLSCR_Y_LOC,
T1.HEIGHT CTRLSCR_HEIGHT,
T1.WIDTH CTRLSCR_WIDTH,
T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
T1.FONT_COLOR CTRLSCR_FONT_COLOR,
T1.FONT_SIZE CTRLSCR_FONT_SIZE,
T1.FONT_STYLE CTRLSCR_FONT_STYLE,
T1.TAB_INDEX CTRLSCR_TAB_INDEX,
T1.TAB_STOP CTRLSCR_TAB_STOP,
T1.BACK_COLOR CTRLSCR_BACK_COLOR,
T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
FROM
TBPMO_CONTROL T,
TBPMO_CONTROL_SCREEN T1,
TBPMO_SCREEN T2,
TBPMO_FORM T3,
TBPMO_CONTROL_TYPE T4
WHERE
T.FORM_ID = T3.GUID AND
T.GUID = T1.CONTROL_ID AND
T1.SCREEN_ID = T2.GUID AND
T.CONTROL_TYPE_ID = T4.GUID
ORDER BY
T1.SCREEN_ID,
T.FORM_ID,
T1.TAB_STOP
GO
CREATE TABLE TBPMO_AD_GROUP_EXCLUSIVE(
[GUID] INT IDENTITY(1,1) NOT NULL,
GROUP_NAME VARCHAR(200) NOT NULL,
COMMENT VARCHAR(500),
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'),
ADDED_WHEN DATETIME DEFAULT (GETDATE()),
CONSTRAINT [PK_TBPMO_AD_GROUP_EXCLUSIVE] PRIMARY KEY(GUID))
GO
--Alle Einschr<68>nkungen bei TBPMO_RIGHT_USER ls<6C>chen
ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (getdate()) FOR [ADDED_WHEN]
GO
ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR EDIT_REC
GO
ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR ADD_REC
GO
ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR DELETE_REC
GO
ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR ADD_DOC
GO
ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (0) FOR READ_ONLY_DOC
GO
ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR DELETE_DOC
GO
ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR FILES_VISIBLE
GO
CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_CHECK_INSERT_WORK_RECORD](@pDOC_ID INT, @pUSER_ID INTEGER, @pUSER_ECM_ID INTEGER,@pWD_RIGHT INT, @pMETHOD VARCHAR(50),@pREASON VARCHAR(100),@pCHECK_WHO VARCHAR(50))
AS
BEGIN TRY
IF NOT EXISTS(select dwObjectID from VWPMO_WD_OBJECT_RIGHTS where dwObjectID = @pDOC_ID and dwUserOrGroupID = @pUSER_ECM_ID)
BEGIN
IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID)
--PRINT 'INSERTING ENT_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) +' - DOC_ID: ' + CONVERT(VARCHAR(10),@DOC_ID) + ' - RIGHT: '+ CONVERT(VARCHAR(10),@WD_RIGHT)
INSERT INTO TBPMO_RIGHTS_WORK_SERVICE(DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES
(@pDOC_ID,@pUSER_ID,@pMETHOD, @pWD_RIGHT, @pREASON, @pCHECK_WHO)
ELSE
BEGIN
DECLARE @EX_RIGHT INT
SELECT @EX_RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID
IF @EX_RIGHT < @pWD_RIGHT
UPDATE TBPMO_RIGHTS_WORK_SERVICE SET FILE_RIGHT = @pWD_RIGHT WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID
END
END
ELSE
BEGIN
DECLARE @RIGHT_IN_WD INT
SELECT @RIGHT_IN_WD = dwAccessRight FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwObjectID = @pDOC_ID AND dwUserOrGroupID = @pUSER_ID
IF @RIGHT_IN_WD < @pWD_RIGHT
BEGIN
PRINT 'RIGHT IN WINDREAM LOWER THAN ADDI-RIGHT'
UPDATE [172.24.12.41\BRAINPOOL].windream60.dbo.AccessRight set dwAccessRight = @pWD_RIGHT where dwObjectID = @pDOC_ID and dwUserOrGroupID = @pUSER_ECM_ID
END
--ELSE
-- BEGIN
-- PRINT 'RIGHT IN WINDREAM GREATE THAN ADDI-RIGHT'
-- UPDATE windream.dbo.AccessRight set dwAccessRight = @WD_RIGHT where dwObjectID = @DOC_ID and dwUserOrGroupID = @USER_ID_ECM
-- END
END
END TRY
BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
ALTER TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_INS] ON [dbo].[TBPMO_CONSTRUCTOR_USER]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE
@USER_ID INTEGER,
@CONSTRUCT_ID INTEGER,
@ADDED_WHO VARCHAR(50)
SELECT
@CONSTRUCT_ID = CONSTRUCT_ID,
@USER_ID = GUID,
@ADDED_WHO = ADDED_WHO
FROM INSERTED
DECLARE @ENTITY_ID INTEGER
DECLARE c_USER CURSOR FOR
SELECT
FORM_ID FROM
VWPMO_CONSTRUCTOR_FORMS WHERE DOCUMENT_VIEW = 1
OPEN c_USER
FETCH NEXT FROM c_USER INTO @ENTITY_ID
WHILE @@FETCH_STATUS = 0
BEGIN
--INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES
--(@USER_ID,@ENTITY_ID,'USER ADDED TO CONSTRUCTOR','TBPMO_CONSTRUCTOR_USER_AFT_INS')
--INSERT INTO TBPMO_ENTITY_USER_RIGHTS (USER_ID,ENTITY_ID,READ_ONLY,FILES_VISIBLE) VALUES
--(@USER_ID,@ENTITY_ID,0,1)
INSERT INTO TBPMO_RIGHT_USER (USER_ID, ENTITY_ID) VALUES (@USER_ID,@ENTITY_ID)
FETCH NEXT FROM c_USER INTO @ENTITY_ID
END
CLOSE c_USER
DEALLOCATE c_USER
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_DEL] ON [dbo].[TBPMO_CONSTRUCTOR_USER]
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN TRY
DECLARE
@USER_ID INTEGER,
@CONSTRUCT_ID INTEGER,
@ADDED_WHO VARCHAR(50)
SELECT
@CONSTRUCT_ID = CONSTRUCT_ID,
@USER_ID = GUID,
@ADDED_WHO = ADDED_WHO
FROM DELETED
DECLARE @ENTITY_ID INTEGER
DECLARE c_USER CURSOR FOR
SELECT
FORM_ID FROM
VWPMO_CONSTRUCTOR_FORMS WHERE DOCUMENT_VIEW = 1
OPEN c_USER
FETCH NEXT FROM c_USER INTO @ENTITY_ID
WHILE @@FETCH_STATUS = 0
BEGIN
DELETE FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID
FETCH NEXT FROM c_USER INTO @ENTITY_ID
END
CLOSE c_USER
DEALLOCATE c_USER
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
ALTER TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG
ADD CONFIG_COLUMNS BIT NOT NULL DEFAULT 0
GO
ALTER TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG
ADD SEQUENCE INTEGER NOT NULL DEFAULT 0
GO
ALTER TABLE dbo.TBPMO_DOC_VALUES ADD
RECORD_ID INTEGER NOT NULL CONSTRAINT DF_TBPMO_DOC_VALUES_RECORD_ID DEFAULT 0
GO
ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30))
AS
BEGIN TRY
DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID
DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO)
END TRY
BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
/*
DECLARE
@ID INTEGER,
@RECORD_ID INTEGER,
@DOC_ID INTEGER
DECLARE c_REDO CURSOR FOR
SELECT TDV.GUID, TDV.DocID, TRL.RECORD_ID FROM
TBPMO_DOC_VALUES TDV, TBPMO_DOC_RECORD_LINK TRL WHERE TDV.DocID = TRL.DOC_ID
OPEN c_REDO
FETCH NEXT FROM c_REDO INTO @ID,@DOC_ID,@RECORD_ID
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE TBPMO_DOC_VALUES SET RECORD_ID = @RECORD_ID WHERE GUID = @ID
FETCH NEXT FROM c_REDO INTO @ID,@DOC_ID,@RECORD_ID
END
CLOSE c_REDO
DEALLOCATE c_REDO
*/
/*
--SELECT *
--FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = 21 AND LANGUAGE = 'en-US'
--AND CONFIG_COLUMNS = 1
DECLARE
@ID INTEGER,
@RECORD_ID INTEGER,
@DOC_ID INTEGER,
@ADDED_WHO VARCHAR(50)
DECLARE c_REDO CURSOR FOR
SELECT T.GUID, T1.GUID as RID, TRL.DOC_ID, TRL.ADDED_WHO,
(SELECT COUNT(GUID) FROM TBPMO_DOC_VALUES WHERE DocID = TRL.DOC_ID AND RECORD_ID = T1.GUID AND CONFIG_ID = T.GUID) AS CNT FROM
TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_RECORD T1, TBPMO_DOC_RECORD_LINK TRL WHERE
T.ENTITY_ID = T1.FORM_ID AND
T1.GUID = TRL.RECORD_ID AND
T.ENTITY_ID = 21 AND T.LANGUAGE = 'en-US' AND (SELECT COUNT(GUID) FROM TBPMO_DOC_VALUES WHERE DocID = TRL.DOC_ID AND RECORD_ID = T1.GUID AND CONFIG_ID = T.GUID) = 0
--AND T1.GUID IN (388)
AND T.CONFIG_COLUMNS = 1 ORDER BY T1.GUID, T.GUID
OPEN c_REDO
FETCH NEXT FROM c_REDO INTO @ID,@RECORD_ID,@DOC_ID,@ADDED_WHO
WHILE @@FETCH_STATUS = 0
BEGIN
IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID AND CONFIG_ID = @ID)
INSERT INTO TBPMO_DOC_VALUES (DocID,CONFIG_ID,VALUE,RECORD_ID, ADDED_WHO) VALUES (@DOC_ID,@ID,'',@RECORD_ID,@ADDED_WHO)
FETCH NEXT FROM c_REDO INTO @ID,@RECORD_ID,@DOC_ID,@ADDED_WHO
END
CLOSE c_REDO
DEALLOCATE c_REDO
*/
TBPMO_DOC_RECORD_LINK_AFT_INS <EFBFBD>ndern
--Den Defaultvalue der DropdownListe eintragen
IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 4) >= 1
BEGIN
INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 4
END
IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 4 AND CONFIG_COLUMNS = 1) >= 1
INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 4 AND T.CONFIG_COLUMNS = 1
CREATE TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_DEL] ON [dbo].[TBPMO_DOC_RECORD_LINK]
WITH EXECUTE AS CALLER
FOR DELETE
AS
BEGIN TRY
DECLARE
@RECORD_ID INTEGER,
@DOC_ID INTEGER,
@ENTITY_ID INTEGER
SELECT
@RECORD_ID = RECORD_ID,
@DOC_ID = DOC_ID
FROM DELETED
SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
DELETE FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID
END TRY
BEGIN CATCH
PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH