UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.4' where NAME = 'Record-Organizer' GO CREATE TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG ( GUID INTEGER NOT NULL IDENTITY(1,1), [ENTITY_ID] INTEGER NOT NULL, [LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE', COLUMN_VIEW VARCHAR(100) NOT NULL, HEADER_CAPTION VARCHAR(100) NOT NULL, WIDTH INTEGER NOT NULL DEFAULT 250, [TYPE_ID] TINYINT NOT NULL DEFAULT 1, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_DOCSEARCH_RESULTLIST_CONFIG PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_DOCSEARCH_RESULTLIST_CONFIG_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) ) GO CREATE TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_UPD ON TBPMO_DOCSEARCH_RESULTLIST_CONFIG FOR UPDATE AS UPDATE TBPMO_DOCSEARCH_RESULTLIST_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCSEARCH_RESULTLIST_CONFIG.GUID = INSERTED.GUID GO CREATE TABLE TBPMO_DOCSEARCH_VARIABLE_CONTROLS ( GUID INT IDENTITY(1,1) NOT NULL, [ENTITY_ID] INT NOT NULL, OPTION1_CTRL INT NOT NULL DEFAULT 0, OPTION2_CTRL INT NOT NULL DEFAULT 0, OPTION3_CTRL INT NOT NULL DEFAULT 0, PTION4_CTRL INT NOT NULL DEFAULT 0, OPTION5_CTRL INT NOT NULL DEFAULT 0, OPTION6_CTRL INT NOT NULL DEFAULT 0, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), ADDED_WHEN DATETIME NULL DEFAULT (GETDATE()), CHANGED_WHO VARCHAR(50) NULL, CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_DOCSEARCH_VARIABLE_CONTROLS PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_DOCSEARCH_VARIABLE_CONTROLS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) ) GO CREATE TRIGGER TBPMO_DOCSEARCH_VARIABLE_CONTROLS_AFT_UPD ON TBPMO_DOCSEARCH_VARIABLE_CONTROLS FOR UPDATE AS UPDATE TBPMO_DOCSEARCH_VARIABLE_CONTROLS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCSEARCH_VARIABLE_CONTROLS.GUID = INSERTED.GUID GO CREATE TABLE TBPMO_STRUCTURE_NODES ( GUID INTEGER NOT NULL IDENTITY(1,1), [ENTITY_ID] INTEGER NOT NULL, RECORD_ID INTEGER, ID1 VARCHAR(100) NOT NULL, ID2 VARCHAR(100), ID3 VARCHAR(100), ID4 VARCHAR(100), [TYPE_NODE] SMALLINT NOT NULL DEFAULT 1, CONTROL_ID INTEGER NOT NULL DEFAULT 0, PARENT_GUID INTEGER NOT NULL DEFAULT 0, BOOL1 BIT NOT NULL DEFAULT 0, BOOL2 BIT NOT NULL DEFAULT 0, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_STRUCTURE_NODES PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_STRUCTURE_NODESG_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) ) GO CREATE TRIGGER TBPMO_STRUCTURE_NODES_AFT_UPD ON TBPMO_STRUCTURE_NODES FOR UPDATE AS UPDATE TBPMO_STRUCTURE_NODES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES.GUID = INSERTED.GUID GO CREATE TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ( GUID INTEGER NOT NULL IDENTITY(1,1), NAME VARCHAR(50) NOT NULL, [ENTITY_ID] INTEGER NOT NULL, [TYPE_NODE] SMALLINT NOT NULL DEFAULT 1, NODE_IMAGE VARBINARY(MAX), CREATE_RECORD BIT NOT NULL DEFAULT 0, COMMENT VARCHAR(300), ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_STRUCTURE_NODES_CONFIGURATION PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_STRUCTURE_NODES_CONFIGURATION_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) ) GO CREATE TRIGGER TBPMO_STRUCTURE_NODES_CONFIGURATION_AFT_UPD ON TBPMO_STRUCTURE_NODES_CONFIGURATION FOR UPDATE AS UPDATE TBPMO_STRUCTURE_NODES_CONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES_CONFIGURATION.GUID = INSERTED.GUID GO ALTER PROCEDURE [dbo].[PRPMO_DELETE_ENTITY](@pENTITY_ID INT) AS BEGIN TRY DELETE FROM TBPMO_FORM_SQL WHERE FORM_ID = @pENTITY_ID DELETE FROM TBPMO_CLIENT_ENTITY WHERE ENTITY_ID = @pENTITY_ID DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @pENTITY_ID DELETE FROM TBPMO_TEMPLATE_ENTITY WHERE ENTITY_ID = @pENTITY_ID DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @pENTITY_ID DELETE FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID IF OBJECT_ID (N'TBPMO_DOCSEARCH_RESULTLIST_CONFIG', N'U') IS NOT NULL DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE [ENTITY_ID] = @pENTITY_ID IF OBJECT_ID (N'TBPMO_STRUCTURE_NODES', N'U') IS NOT NULL DELETE FROM TBPMO_STRUCTURE_NODES WHERE [ENTITY_ID] = @pENTITY_ID DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) DELETE FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_ID 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 USE [DD_ECM] GO /****** Object: StoredProcedure [dbo].[PRPMO_CREATE_CONSTRUCTOR] Script Date: 30.06.2016 15:01:24 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[PRPMO_CREATE_CONSTRUCTOR](@pFORM_ID INT, @pNAME VARCHAR(50)) AS DECLARE @NEW_CONSTR_ID INTEGER, @FORM_ID INTEGER, @PARENT_ID INTEGER, @PARENT_ID2 INTEGER, @LEVEL1_SELECT INTEGER, @SEQUENCE INTEGER, @SEQUENCE2 INTEGER, @SQL_SELECT_EBENE1 VARCHAR(4000) IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR WHERE UPPER(FORM_TITLE) = UPPER(@pNAME)) INSERT INTO TBPMO_FORM_CONSTRUCTOR (FORM_TITLE,SEQUENCE_MENU,ADDED_WHO, SHORT_TITLE) VALUES (@pNAME,1, 'CREATE_ROUTINE','SHORT-TITLE') SELECT @NEW_CONSTR_ID = MAX(GUID) FROM TBPMO_FORM_CONSTRUCTOR WHERE UPPER(FORM_TITLE) = UPPER(@pNAME) DECLARE c_ENTITY0 CURSOR FOR SELECT T.GUID,T.LEVEL FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = 0 AND T.GUID = @pFORM_ID ORDER BY T.LEVEL BEGIN OPEN c_ENTITY0 FETCH NEXT FROM c_ENTITY0 INTO @FORM_ID,@SEQUENCE WHILE @@FETCH_STATUS = 0 BEGIN IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @NEW_CONSTR_ID AND FORM_ID = @FORM_ID AND PARENT_ID = 0) INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL ( CONSTRUCT_ID ,FORM_ID ,PARENT_ID ,LEVEL1_SELECT ,SEQUENCE ,SQL_SELECT_EBENE1 ,SQL_SELECT_EBENE2 ,ADDED_WHO ) VALUES ( @NEW_CONSTR_ID ,@FORM_ID ,0 ,0 ,0 ,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID) ,'' ,'CREATE_ROUTINE2' ) FETCH NEXT FROM c_ENTITY0 INTO @FORM_ID,@SEQUENCE END END CLOSE c_ENTITY0 DEALLOCATE c_ENTITY0 DECLARE c_ENTITY1 CURSOR FOR SELECT T.GUID, T.PARENT_ID, T.LEVEL FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = @FORM_ID ORDER BY T.LEVEL BEGIN OPEN c_ENTITY1 FETCH NEXT FROM c_ENTITY1 INTO @FORM_ID,@PARENT_ID,@SEQUENCE WHILE @@FETCH_STATUS = 0 BEGIN IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @NEW_CONSTR_ID AND FORM_ID = @FORM_ID AND PARENT_ID = @PARENT_ID) BEGIN PRINT 'c_ENTITY1: SELECT * FROM TBPMO_FORM WHERE PARENT_ID = @' + CONVERT(VARCHAR(3),@FORM_ID) INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL ( CONSTRUCT_ID ,FORM_ID ,PARENT_ID ,LEVEL1_SELECT ,SEQUENCE ,SQL_SELECT_EBENE1 ,SQL_SELECT_EBENE2 ,ADDED_WHO ) VALUES ( @NEW_CONSTR_ID ,@FORM_ID ,@PARENT_ID ,0 ,@SEQUENCE ,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID) ,'SELECT T.* FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@PARENT_ID) + ' AS T, TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @RecordID' ,'CREATE_ROUTINE2' ) END If EXISTS(SELECT * FROM TBPMO_FORM WHERE PARENT_ID = @FORM_ID) BEGIN PRINT 'c_ENTITY2: SELECT * FROM TBPMO_FORM WHERE PARENT_ID = ' + CONVERT(VARCHAR(3),@FORM_ID) --############### DECLARE c_ENTITY2 CURSOR FOR SELECT T.GUID, T.PARENT_ID, T.LEVEL FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = @FORM_ID ORDER BY T.LEVEL BEGIN OPEN c_ENTITY2 FETCH NEXT FROM c_ENTITY2 INTO @FORM_ID,@PARENT_ID2,@SEQUENCE2 WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL ( CONSTRUCT_ID ,FORM_ID ,PARENT_ID ,LEVEL1_SELECT ,SEQUENCE ,SQL_SELECT_EBENE1 ,SQL_SELECT_EBENE2 ,ADDED_WHO ) VALUES ( @NEW_CONSTR_ID ,@FORM_ID ,@PARENT_ID2 ,0 ,@SEQUENCE2 ,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID) ,'SELECT T.* FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@PARENT_ID2) + ' AS T, TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @RecordID' ,'CREATE_ROUTINE3' ) FETCH NEXT FROM c_ENTITY2 INTO @FORM_ID,@PARENT_ID2,@SEQUENCE2 END CLOSE c_ENTITY2 DEALLOCATE c_ENTITY2 END END --############### FETCH NEXT FROM c_ENTITY1 INTO @FORM_ID,@PARENT_ID,@SEQUENCE END CLOSE c_ENTITY1 DEALLOCATE c_ENTITY1 END GO ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS SELECT TOP 100 PERCENT T2.GUID, T1.GUID FORM_VIEW_ID, T1.SCREEN_ID, T2.CONSTRUCT_ID, T.PARENT_ID, T2.SEQUENCE, T2.LEVEL1_SELECT, T.GUID AS FORM_ID, T1.FORM_TITLE, T2.SQL_SELECT_EBENE1, T2.SQL_SELECT_EBENE2, T2.SQL_QUICK_VIEW, T2.COLUMN_NAME1, T2.COLUMN_NAME2, T.FORM_TYPE_ID, T2.LOAD_DIRECT, T2.CONTROL_DOCTYPE_MATCH, T2.SQL_RIGHT_READ_AND_VIEW_ONLY, T2.SQL_RIGHT_WINDREAM_VIEW, (SELECT COUNT(GUID) FROm TBPMO_CONTROL WHERE FORM_ID = T1.FORM_ID AND TREE_VIEW = 1) AS COUNT_TREEVIEW FROM tbpmo_form T, TBPMO_FORM_VIEW T1, TBPMO_FORM_CONSTRUCTOR_DETAIL T2 where T2.FORM_ID = T.GUID AND T.GUID = T1.FORM_ID ORDER BY T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE GO ALTER TABLE TBPMO_RECORD ADD NODE_GUID INTEGER GO ALTER TABLE TBPMO_WORKFLOW ADD MANUALLY BIT NOT NULL DEFAULT 0 GO ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @RECORD_ID INTEGER, @MAX_ID INTEGER, @FORM_ID INTEGER, @WF_ID INTEGER, @PARENT_ID INTEGER SELECT @FORM_ID = FORM_ID, @RECORD_ID = GUID FROM INSERTED IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID) SELECT @MAX_ID = MAX(RECORD_ENTITY_ID) + 1 FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID ELSE SET @MAX_ID = 1 UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID ----Überprüfen ob für die Entity_ID Workflows definiert sind? IF EXISTS( SELECT DISTINCT T.[ENTITY_ID] FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 where T.WF_ID = T1.GUID AND T1.MANUALLY = 0 AND T.[ENTITY_ID] = @FORM_ID ) BEGIN EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID END END TRY BEGIN CATCH PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - FEHLER-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH