UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.5' where NAME = 'Record-Organizer' GO ALTER TABLE TBDD_USER_GROUPS ADD COMMENT VARCHAR(200) GO ALTER VIEW [dbo].[VWDD_USER2GROUP] AS SELECT TOP 100 PERCENT T.GUID, T.USERNAME, T2.GUID as GROUP_ID, T2.NAME, T2.COMMENT FROM TBDD_USER T, TBDD_GROUPS_USER T1, TBDD_USER_GROUPS T2 WHERE T.GUID = T1.USER_ID AND T1.GROUP_ID = T2.GUID ORDER BY T.USERNAME GO IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_FORM', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_FORM IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_TASK_USER', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_TASK_USER IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_TASK', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_TASK CREATE TABLE TBPMO_WORKFLOW_TASK ( GUID INTEGER NOT NULL IDENTITY(1,1), RECORD_ID INTEGER NOT NULL, WF_ID INTEGER NOT NULL, COMMENT VARCHAR(500), DUE_DATE DATE, TASK_DATE DATE, STATE_ID INTEGER NOT NULL, ACTIVE 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_WORKFLOW_TASK PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_WORKFLOW_TASK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID), CONSTRAINT FK_TBPMO_WORKFLOW_TASK_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID), CONSTRAINT FK_TBPMO_WORKFLOW_TASK_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID) ) GO CREATE TRIGGER TBPMO_WORKFLOW_TASK_AFT_UPD ON TBPMO_WORKFLOW_TASK FOR UPDATE AS UPDATE TBPMO_WORKFLOW_TASK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID GO --############################################################################### CREATE TABLE TBPMO_WORKFLOW_TASK_USER ( GUID INTEGER NOT NULL IDENTITY(1,1), WF_TASK_ID INTEGER NOT NULL, [USER_ID] INTEGER NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', CONSTRAINT PK_TBPMO_WF_TASK_USER PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_WF_TASK_USER_WF_TASK_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID), CONSTRAINT FK_TBPMO_WF_TASK_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID) ) GO CREATE TABLE TBPMO_WORKFLOW_ENTITY_STATE ( GUID INTEGER NOT NULL IDENTITY(1,1), ENTITY_ID INTEGER NOT NULL, WF_ID INTEGER NOT NULL, STATE_ID INTEGER NOT NULL, FINAL BIT NOT NULL DEFAULT 0, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CONSTRAINT PK_TBPMO_WORKFLOW_ENTITY_STATE PRIMARY KEY (GUID), CONSTRAINT UNIQUE_ENTITY_ID_WF_ID_STATE_ID UNIQUE(ENTITY_ID,WF_ID,STATE_ID), CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID), CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID), CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID) ) GO ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW] FOR UPDATE AS BEGIN TRY DECLARE @TITLE VARCHAR(50), @LANGUAGE VARCHAR(5), @CHANGED_WHO VARCHAR(50), @GUID INTEGER, @SCREEN_ID INTEGER, @PMO_OBJECT_NAME VARCHAR(100) SELECT @GUID = GUID, @TITLE = TITLE, @SCREEN_ID = 1, @CHANGED_WHO = CHANGED_WHO FROM INSERTED SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID) UPDATE TBPMO_WORKFLOW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW.GUID = INSERTED.GUID If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @TITLE,CHANGED_WHO = @CHANGED_WHO WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID ELSE BEGIN TRY INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE) END TRY BEGIN CATCH PRINT 'ERROR IN Trigger: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_INS] ON [dbo].[TBPMO_WORKFLOW] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @TITLE VARCHAR(50), @LANGUAGE VARCHAR(5), @ADDED_WHO VARCHAR(50), @GUID INTEGER, @SCREEN_ID INTEGER, @PMO_OBJECT_NAME VARCHAR(100) SELECT @GUID = GUID, @TITLE = TITLE, @SCREEN_ID = 1, @ADDED_WHO = ADDED_WHO FROM INSERTED SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @ADDED_WHO SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID) INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO) INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO) END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO CREATE VIEW VWPMO_WORKFLOW_ENTITY_STATE AS SELECT T.GUID, T.ENTITY_ID, T3.GUID as FV_ID, T3.FORM_TITLE, T.WF_ID, T4.TITLE AS WF_TITLE, T2.GUID AS STATE_ID, T2.STATE_DESC, T.FINAL FROM TBPMO_WORKFLOW_ENTITY_STATE T, TBPMO_FORM T1, TBPMO_WORKFLOW_TASK_STATE T2, TBPMO_FORM_VIEW T3, TBPMO_WORKFLOW T4 WHERE T.ENTITY_ID = T1.GUID AND T.STATE_ID = T2.GUID AND T1.GUID = T3.FORM_ID AND T.WF_ID = T4.GUID AND T3.SCREEN_ID = 1 GO CREATE TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @USER_ID INTEGER, @CLIENT_ID INTEGER, @ADDED_WHO VARCHAR(50), @CLIENT_COUNT INTEGER SELECT @USER_ID = GUID, @ADDED_WHO = ADDED_WHO FROM INSERTED SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT IF @CLIENT_COUNT = 1 BEGIN SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES (@USER_ID,@CLIENT_COUNT,@ADDED_WHO) END END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO CREATE TABLE TBPMO_CONSTRUCTOR_USER ( GUID INTEGER NOT NULL IDENTITY(1,1), CONSTRUCT_ID INTEGER NOT NULL, [USER_ID] INTEGER NOT NULL, HOME_MENUE BIT NOT NULL DEFAULT 1, ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_CID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID), CONSTRAINT FK_TTBPMO_CONSTRUCTOR_USER_UID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID) ) GO CREATE TABLE TBPMO_CLIENT_ENTITY ( GUID INTEGER IDENTITY(0,1), CLIENT_ID INTEGER NOT NULL, ENTITY_ID INTEGER NOT NULL, COMMENT VARCHAR(200), ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CONSTRAINT PK_TBPMO_CLIENT_ENTITY PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_CLIENT_ENTITY_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), CONSTRAINT FK_TBPMO_CLIENT_ENTITY_ENTITY_ID FOREIGN KEY([ENTITY_ID]) REFERENCES TBPMO_FORM(GUID) ) GO CREATE TABLE TBPMO_CLIENT_CONSTRUCTOR ( GUID INTEGER IDENTITY(0,1), CLIENT_ID INTEGER NOT NULL, CONSTRUCT_ID INTEGER NOT NULL, COMMENT VARCHAR(200), ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CONSTRAINT PK_TBPMO_CLIENT_CONSTRUCTOR PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CONSTRUCT_ID FOREIGN KEY(CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR(GUID) ) GO CREATE TABLE TBPMO_CLIENT_DOCTYPE ( GUID INTEGER IDENTITY(0,1), CLIENT_ID INTEGER NOT NULL, DOCTYPE_ID INTEGER NOT NULL, COMMENT VARCHAR(200), ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CONSTRAINT PK_TBPMO_CLIENT_DOCTYPE PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID) ) GO CREATE FUNCTION FNPMO_GET_CONTROL_VALUES (@pCONTROL_ID INTEGER, @pRECORD_ID INTEGER) RETURNS VARCHAR(1000) AS BEGIN DECLARE @RESULT VARCHAR(MAX), @TEMP_VALUE VARCHAR(MAX) DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID = @pRECORD_ID BEGIN OPEN c_RESULT FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE WHILE @@FETCH_STATUS = 0 BEGIN IF LEN(@RESULT) > 0 SET @RESULT = @RESULT + ';' + @TEMP_VALUE ELSE SET @RESULT = @TEMP_VALUE FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE END CLOSE c_RESULT DEALLOCATE c_RESULT RETURN(@RESULT) END END GO ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS SELECT TOP 100 PERCENT T.GUID AS WF_TASK_ID, T2.GUID AS WF_ENT_GUID, T.WF_ID , T1.TITLE, T.RECORD_ID, T.STATE_ID, T2.STATE_DESC, T2.COLOR, T.COMMENT, T.DUE_DATE, T.TASK_DATE, '' AS USERNAME, T.ADDED_WHEN, T.CHANGED_WHO, T.CHANGED_WHEN FROM TBPMO_WORKFLOW_TASK AS T, TBPMO_WORKFLOW AS T1, TBPMO_WORKFLOW_TASK_STATE T2 WHERE T.WF_ID = T1.GUID AND T.STATE_ID = T2.GUID ORDER BY T.GUID GO ALTER PROCEDURE PRPMO_CREATE_SQL(@pFORM_ID INT) AS DECLARE @COL_NAME VARCHAR(50), @SQL_BEGIN VARCHAR(1000), @SQL_END VARCHAR(2000), @SQL VARCHAR(5000), @CONTROL_ID INT, @RESULT VARCHAR(8000), @TYPEID INT, @TABINDEX INT, @SQL_LBL VARCHAR(2000) DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'['+T.COL_NAME+']' AS 'COL_NAME', T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL_TYPE T2 WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 and t.CONTROL_TYPE_ID not in (1,5) UNION SELECT T.GUID,'['+T.NAME+']' AS 'COL_NAME', T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL_TYPE T2 WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID and t.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(t.SQL_COMMAND_1,'')) > 0 ORDER BY TAB_INDEX BEGIN SELECT @SQL_BEGIN = SQL_RECORD_SQL1, @SQL_END = SQL_RECORD_SQL2 FROM TBPMO_KONFIGURATION WHERE GUID = 1 --T2.ADDED_WHO,T2.ADDED_WHEN, T2.CHANGED_WHO, T2.CHANGED_WHEN SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@pFORM_ID) OPEN c_SPALTENNAMEN FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX WHILE @@FETCH_STATUS = 0 BEGIN SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') IF LEN(ISNULL(@SQL,'')) = 0 BEGIN IF @TYPEID = 10 OR @TYPEID = 11 SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME ELSE IF @TYPEID = 6 SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME ELSE IF @TYPEID = 1 BEGIN SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME PRINT 'SQL für Label: ' + @SQL_LBL END ELSE IF @TYPEID = 12 OR @TYPEID = 7 SET @SQL = '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME ELSE SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME END ELSE BEGIN IF (@TYPEID = 10) OR (@TYPEID = 11) SET @SQL = @SQL + ',ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME ELSE IF @TYPEID = 6 SET @SQL = @SQL + ',(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME ELSE IF @TYPEID = 1 BEGIN SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME PRINT 'SQL1 für Label: ' + @SQL_LBL PRINT @SQL END ELSE IF @TYPEID = 12 OR @TYPEID = 7 SET @SQL = @SQL + '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME ELSE SET @SQL = @SQL + ',(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME END FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX END CLOSE c_SPALTENNAMEN DEALLOCATE c_SPALTENNAMEN SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END IF EXISTS (SELECT FORM_ID FROM TBPMO_FORM_SQL WHERE FORM_ID = @pFORM_ID) UPDATE TBPMO_FORM_SQL SET SQL_COMMAND = @RESULT WHERE FORM_ID = @pFORM_ID ELSE INSERT INTO TBPMO_FORM_SQL(FORM_ID,SQL_COMMAND) VALUES(@pFORM_ID,@RESULT) END GO ALTER PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER) AS BEGIN DECLARE @WF_ID INTEGER, @TITLE VARCHAR(50), @SEQUENCE INTEGER, @MELDUNG VARCHAR(250), @STATE_ID INTEGER DECLARE c_TASK CURSOR FOR SELECT DISTINCT WF_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID OPEN c_TASK FETCH NEXT FROM c_TASK INTO @WF_ID WHILE @@FETCH_STATUS = 0 BEGIN DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) DELETE FROM TBPMO_WORKFLOW_TASK WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) SELECT @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID AND GUID = (SELECT MIN(GUID) FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID) --IF @STATE_ID IS NOT NULL BEGIN --INSERT DES TASKS INSERT INTO TBPMO_WORKFLOW_TASK( RECORD_ID, WF_ID, ACTIVE, STATE_ID) VALUES ( @RECORD_ID, @WF_ID, 1, @STATE_ID) END FETCH NEXT FROM c_TASK INTO @WF_ID END CLOSE c_TASK DEALLOCATE c_TASK END GO DELETE FROM TBPMO_WORKFLOW_TASK_USER GO DELETE FROM TBPMO_WORKFLOW_TASK GO BEGIN DECLARE @REC_ID INTEGER, @ENT_ID INTEGER DECLARE c_RECTASKS CURSOR FOR SELECT GUID,FORM_ID FROM TBPMO_RECORD WHERE FORM_ID IN (SELECT DISTINCT ENTITY_ID FROM TBPMO_WORKFLOW_ENTITY_STATE) OPEN c_RECTASKS FETCH NEXT FROM c_RECTASKS INTO @REC_ID,@ENT_ID WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @return_value int EXEC @return_value = [dbo].[PRPMO_CREATE_WF_TASKS] @FORM_ID = @ENT_ID, @RECORD_ID = @REC_ID --SELECT 'Return Value' = @return_value FETCH NEXT FROM c_RECTASKS INTO @REC_ID,@ENT_ID END CLOSE c_RECTASKS DEALLOCATE c_RECTASKS END GO CREATE VIEW VWPMO_WORKFLOW_ENTITY_STATE AS SELECT T.GUID, T.ENTITY_ID, T3.GUID as FV_ID, T3.FORM_TITLE, T.WF_ID, T4.TITLE AS WF_TITLE, T2.GUID AS STATE_ID, T2.STATE_DESC, T.FINAL FROM TBPMO_WORKFLOW_ENTITY_STATE T, TBPMO_FORM T1, TBPMO_WORKFLOW_TASK_STATE T2, TBPMO_FORM_VIEW T3, TBPMO_WORKFLOW T4 WHERE T.ENTITY_ID = T1.GUID AND T.STATE_ID = T2.GUID AND T1.GUID = T3.FORM_ID AND T.WF_ID = T4.GUID AND T3.SCREEN_ID = 1 GO CREATE TABLE TBDD_CLIENT ( GUID INTEGER IDENTITY(0,1), CLIENT_NAME VARCHAR(50) NOT NULL UNIQUE, SHORTNAME VARCHAR(30), COMMENT VARCHAR(200), ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBDD_CLIENT PRIMARY KEY (GUID) ) GO INSERT INTO TBDD_CLIENT(CLIENT_NAME,SHORTNAME) VALUES ('DEFAULT','DEF') GO CREATE TRIGGER TBDD_CLIENT_AFT_UPD ON TBDD_CLIENT FOR UPDATE AS BEGIN UPDATE TBDD_CLIENT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_CLIENT.GUID = INSERTED.GUID END GO CREATE TABLE TBDD_CLIENT_USER ( GUID INTEGER IDENTITY(0,1), [USER_ID] INT NOT NULL, CLIENT_ID INT NOT NULL, COMMENT VARCHAR(200), ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CONSTRAINT PK_TBDD_CLIENT_USER PRIMARY KEY (GUID), CONSTRAINT FK_TBDD_CLIENT_USER_GROUP_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), CONSTRAINT FK_TBDD_CLIENT_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), ) GO CREATE TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @USER_ID INTEGER, @CLIENT_ID INTEGER, @ADDED_WHO VARCHAR(50), @CLIENT_COUNT INTEGER SELECT @USER_ID = GUID, @ADDED_WHO = ADDED_WHO FROM INSERTED SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT IF @CLIENT_COUNT = 1 BEGIN SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES (@USER_ID,@CLIENT_COUNT,@ADDED_WHO) END END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO DROP VIEW VWPMO_WORKFLOW_FORM GO IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_FORM', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_FORM 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 GUID FROM TBPMO_WORKFLOW_ENTITY_STATE where 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 GO CREATE FUNCTION FNPMO_GET_CONTROL_VALUES (@pCONTROL_ID INTEGER, @pRECORD_ID INTEGER) RETURNS VARCHAR(1000) AS BEGIN DECLARE @RESULT VARCHAR(MAX), @TEMP_VALUE VARCHAR(MAX) DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID = @pRECORD_ID BEGIN OPEN c_RESULT FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE WHILE @@FETCH_STATUS = 0 BEGIN IF LEN(@RESULT) > 0 SET @RESULT = @RESULT + ';' + @TEMP_VALUE ELSE SET @RESULT = @TEMP_VALUE FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE END CLOSE c_RESULT DEALLOCATE c_RESULT RETURN(@RESULT) END END GO ALTER TABLE TBDD_GROUPS_USER ADD CONSTRAINT UC_USER_GROUP UNIQUE (USER_ID,GROUP_ID) GO CREATE TABLE TBPMO_CLIENT_ENTITY ( GUID INTEGER IDENTITY(0,1), CLIENT_ID INTEGER NOT NULL, ENTITY_ID INTEGER NOT NULL, COMMENT VARCHAR(200), ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CONSTRAINT PK_TBPMO_CLIENT_ENTITY PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_CLIENT_ENTITY_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), CONSTRAINT FK_TBPMO_CLIENT_ENTITY_ENTITY_ID FOREIGN KEY([ENTITY_ID]) REFERENCES TBPMO_FORM(GUID) ) GO CREATE TABLE TBPMO_CLIENT_CONSTRUCTOR ( GUID INTEGER IDENTITY(0,1), CLIENT_ID INTEGER NOT NULL, CONSTRUCT_ID INTEGER NOT NULL, COMMENT VARCHAR(200), ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CONSTRAINT PK_TBPMO_CLIENT_CONSTRUCTOR PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CONSTRUCT_ID FOREIGN KEY(CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR(GUID) ) GO ALTER TRIGGER [dbo].[TBPMO_FORM_AFT_INS] ON [dbo].[TBPMO_FORM] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @FORM_ID INTEGER, @FORM_TYPE INTEGER, @ADDED_WHO VARCHAR(50) --@SQL_RECORD1 VARCHAR(500), --@SQL_RECORD2 VARCHAR(500) SELECT @FORM_ID = GUID, @FORM_TYPE = FORM_TYPE_ID, @ADDED_WHO = ADDED_WHO FROM INSERTED IF @FORM_TYPE = 5 BEGIN INSERT INTO TBPMO_CONTROL ( FORM_ID, CONTROL_TYPE_ID, DEFAULT_VALUE, NAME, [COL_NAME]) VALUES ( @FORM_ID,2,'GROUP_RECORD','txtGROUP_RECORD','GROUP_RECORD') DECLARE @CTRL_ID INTEGER SELECT @CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID INSERT INTO TBPMO_CONTROL_SCREEN ( CONTROL_ID, SCREEN_ID, CONTROL_TEXT, X_LOC, Y_LOC, HEIGHT, WIDTH, TAB_INDEX) VALUES ( @CTRL_ID, 1, 'GROUP_RECORD', 5, 5, 22, 100,1) END EXEC dbo.PRPMO_CREATE_SQL @FORM_ID EXEC dbo.PRPMO_CREATE_TEMP_VIEWS INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID) SELECT T.CLIENT_ID,@FORM_ID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO) 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 GO ALTER TRIGGER TBPMO_FORM_CONSTRUCTOR_AFT_INS ON [dbo].[TBPMO_FORM_CONSTRUCTOR] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @FORM_TITLE VARCHAR(50), @LANGUAGE VARCHAR(5), @ADDED_WHO VARCHAR(50), @GUID INTEGER, @PMO_OBJECT_NAME VARCHAR(100) SELECT @GUID = GUID, @FORM_TITLE = FORM_TITLE, @ADDED_WHO = ADDED_WHO FROM INSERTED SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO) SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID) IF @LANGUAGE is not null INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO) INSERT INTO TBPMO_CLIENT_CONSTRUCTOR (CLIENT_ID,CONSTRUCT_ID) SELECT T.CLIENT_ID,@GUID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO) END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID) SELECT T.GUID,T2.GUID FROM TBDD_CLIENT T, TBPMO_FORM T2 WHERE T.GUID = 1 ORDER BY T2.GUID,T.GUID GO INSERT INTO TBPMO_CLIENT_CONSTRUCTOR (CLIENT_ID,CONSTRUCT_ID) SELECT T.GUID,T2.GUID FROM TBDD_CLIENT T, TBPMO_FORM_CONSTRUCTOR T2 WHERE T.GUID = 1 ORDER BY T2.GUID,T.GUID GO CREATE TABLE TBPMO_CONSTRUCTOR_USER_SQL ( GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel, CONSTR_DET_ID INTEGER NOT NULL, USER_ID INTEGER NOT NULL, SQL_COMMAND VARCHAR(4000), SQL_COMMAND1 VARCHAR(4000), SQL_COMMAND2 VARCHAR(4000), ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER_SQL_USER PRIMARY KEY(GUID), CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_SQL_CONSTR_DET_ID FOREIGN KEY(CONSTR_DET_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL(GUID), CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_SQL_USER_ID FOREIGN KEY(USER_ID) REFERENCES TBDD_USER(GUID) ) GO ALTER PROCEDURE PRPMO_COPY_ENTITY(@pFORM_ID INT, @pADDEDWHO VARCHAR(50)) AS DECLARE @NEW_FORM_ID INT, @PARENT_ID INT, @NAME VARCHAR(100), @LEVEL VARCHAR(10), @SHOW_FORM_CONSTR BIT, @FORM_TYPE_ID INT, @CONTROL_GUID INTEGER, @CONTROL_TYPE_ID INT, @CONTROL_NAME VARCHAR(100) ,@COL_NAME VARCHAR(100) ,@REQUIRED BIT ,@DEFAULT_VALUE VARCHAR(100) ,@SQL_COMMAND_1 VARCHAR(2000) ,@SQL_COMMAND_2 VARCHAR(2000) ,@CONNECTION_ID_1 SMALLINT ,@CONNECTION_ID_2 SMALLINT ,@READ_ONLY BIT ,@VALIDATION BIT ,@MULTILINE BIT ,@PARENT_CONTROL_ID INT ,@MASTER_DATA_ID INT ,@FORMAT_TYPE VARCHAR(50) ,@SHOW_COLUMN BIT ,@STATIC_LIST VARCHAR(2000) SELECT @PARENT_ID = PARENT_ID, @NAME = 'COPY_' + NAME,@LEVEL = [LEVEL],@SHOW_FORM_CONSTR = SHOW_FORM_CONSTRUCT, @FORM_TYPE_ID = FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = @pFORM_ID INSERT INTO TBPMO_FORM ( PARENT_ID,NAME,LEVEL,ADDED_WHO,SHOW_FORM_CONSTRUCT,FORM_TYPE_ID) VALUES ( @PARENT_ID,@NAME,@LEVEL,@pADDEDWHO,@SHOW_FORM_CONSTR,@FORM_TYPE_ID) SELECT @NEW_FORM_ID = MAX(GUID) FROM TBPMO_FORM INSERT INTO TBPMO_FORM_VIEW (FORM_ID, SCREEN_ID, FORM_TITLE, DESCRIPTION, ADDED_WHO) VALUES (@NEW_FORM_ID, 1, 'UNDEFINED_FORMTITLE', '', @pADDEDWHO) DECLARE c_CONTROL CURSOR FOR SELECT GUID,[CONTROL_TYPE_ID] ,'COPY_' + [NAME] ,[COL_NAME] ,[REQUIRED] ,[DEFAULT_VALUE] ,[SQL_COMMAND_1] ,[SQL_COMMAND_2] ,[CONNECTION_ID_1] ,[CONNECTION_ID_2] ,[READ_ONLY] ,[VALIDATION] ,[MULTILINE] ,[PARENT_CONTROL_ID] ,[MASTER_DATA_ID] ,[FORMAT_TYPE] ,[SHOW_COLUMN],STATIC_LIST FROM TBPMO_CONTROL WHERE FORM_ID = @pFORM_ID ORDER BY PARENT_CONTROL_ID BEGIN OPEN c_CONTROL FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID, @CONTROL_NAME ,@COL_NAME ,@REQUIRED ,@DEFAULT_VALUE ,@SQL_COMMAND_1 ,@SQL_COMMAND_2 ,@CONNECTION_ID_1 ,@CONNECTION_ID_2 ,@READ_ONLY ,@VALIDATION ,@MULTILINE ,@PARENT_CONTROL_ID ,@MASTER_DATA_ID ,@FORMAT_TYPE ,@SHOW_COLUMN ,@STATIC_LIST WHILE @@FETCH_STATUS = 0 BEGIN IF @PARENT_CONTROL_ID > 0 BEGIN DECLARE @CTRLNAME VARCHAR(100) SELECT @CTRLNAME = 'COPY_' + [NAME] FROM TBPMO_CONTROL WHERE GUID = @PARENT_CONTROL_ID PRINT 'PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID) PRINT '@CTRLNAME = ' + @CTRLNAME SELECT @PARENT_CONTROL_ID = GUID FROM TBPMO_CONTROL WHERE NAME = @CTRLNAME AND FORM_ID = @NEW_FORM_ID PRINT 'NEW PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID) END INSERT INTO TBPMO_CONTROL ( FORM_ID ,[CONTROL_TYPE_ID] ,[NAME] ,[COL_NAME] ,[REQUIRED] ,[DEFAULT_VALUE] ,[SQL_COMMAND_1] ,[SQL_COMMAND_2] ,[CONNECTION_ID_1] ,[CONNECTION_ID_2] ,[READ_ONLY] ,[VALIDATION] ,[MULTILINE] ,[PARENT_CONTROL_ID] ,[MASTER_DATA_ID] ,[FORMAT_TYPE] ,[SHOW_COLUMN] ,[STATIC_LIST] ,ADDED_WHO ) VALUES ( @NEW_FORM_ID ,@CONTROL_TYPE_ID ,@CONTROL_NAME ,@COL_NAME ,@REQUIRED ,@DEFAULT_VALUE ,@SQL_COMMAND_1 ,@SQL_COMMAND_2 ,@CONNECTION_ID_1 ,@CONNECTION_ID_2 ,@READ_ONLY ,@VALIDATION ,@MULTILINE ,@PARENT_CONTROL_ID ,@MASTER_DATA_ID ,@FORMAT_TYPE ,@SHOW_COLUMN ,@STATIC_LIST ,@pADDEDWHO ) DECLARE @NEW_CONTROLID INTEGER SELECT @NEW_CONTROLID = MAX(GUID) FROM TBPMO_CONTROL DECLARE @SCREEN_ID INTEGER ,@CONTROL_TEXT VARCHAR(100) ,@X_LOC FLOAT ,@Y_LOC FLOAT ,@HEIGHT INTEGER ,@WIDTH INTEGER ,@FONT_FAMILY VARCHAR(50) ,@FONT_COLOR INTEGER ,@FONT_SIZE INTEGER ,@FONT_STYLE INTEGER ,@TAB_INDEX INTEGER ,@TAB_STOP BIT ,@BACK_COLOR INTEGER SELECT @SCREEN_ID = [SCREEN_ID], @CONTROL_TEXT = [CONTROL_TEXT],@X_LOC = [X_LOC], @Y_LOC = [Y_LOC],@HEIGHT = [HEIGHT], @WIDTH = [WIDTH],@FONT_FAMILY = [FONT_FAMILY], @FONT_COLOR = [FONT_COLOR], @FONT_SIZE = [FONT_SIZE],@FONT_STYLE = [FONT_STYLE], @TAB_INDEX = [TAB_INDEX], @TAB_STOP = [TAB_STOP], @BACK_COLOR = [BACK_COLOR] FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @CONTROL_GUID INSERT INTO TBPMO_CONTROL_SCREEN ( CONTROL_ID, SCREEN_ID ,CONTROL_TEXT ,X_LOC ,Y_LOC ,HEIGHT ,WIDTH ,FONT_FAMILY ,FONT_COLOR ,FONT_SIZE ,FONT_STYLE ,TAB_INDEX ,TAB_STOP ,BACK_COLOR ,ADDED_WHO) VALUES( @NEW_CONTROLID ,@SCREEN_ID ,@CONTROL_TEXT ,@X_LOC ,@Y_LOC ,@HEIGHT ,@WIDTH ,@FONT_FAMILY ,@FONT_COLOR ,@FONT_SIZE ,@FONT_STYLE ,@TAB_INDEX ,@TAB_STOP ,@BACK_COLOR ,@pADDEDWHO ) FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID, @CONTROL_NAME ,@COL_NAME ,@REQUIRED ,@DEFAULT_VALUE ,@SQL_COMMAND_1 ,@SQL_COMMAND_2 ,@CONNECTION_ID_1 ,@CONNECTION_ID_2 ,@READ_ONLY ,@VALIDATION ,@MULTILINE ,@PARENT_CONTROL_ID ,@MASTER_DATA_ID ,@FORMAT_TYPE ,@SHOW_COLUMN ,@STATIC_LIST END CLOSE c_CONTROL DEALLOCATE c_CONTROL END GO ------------------------------------------------------------------------------ CREATE TRIGGER TBPMO_CONSTRUCTOR_USER_SQL_AFT_UPD ON TBPMO_CONSTRUCTOR_USER_SQL FOR UPDATE AS BEGIN UPDATE TBPMO_CONSTRUCTOR_USER_SQL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONSTRUCTOR_USER_SQL.GUID = INSERTED.GUID END GO GRANT EXECUTE ON [dbo].[PRDD_COPY_RECORD] TO [DD_ECM] GO GRANT EXECUTE ON [dbo].[PRPMO_AFTER_UPDATE_VALUES] TO [DD_ECM] GO GRANT EXECUTE ON [dbo].[PRPMO_COPY_ENTITY] TO [DD_ECM] GO GRANT EXECUTE ON [dbo].[PRPMO_CREATE_CONSTRUCTOR] TO [DD_ECM] GO GRANT EXECUTE ON [dbo].[PRPMO_CREATE_QUICK_SQL] TO [DD_ECM] GO GRANT EXECUTE ON [dbo].[PRPMO_CREATE_SQL] TO [DD_ECM] GO GRANT EXECUTE ON [dbo].[PRPMO_CREATE_TEMP_VIEWS] TO [DD_ECM] GO GRANT EXECUTE ON [dbo].[PRPMO_DELETE_CONTROL] TO [DD_ECM] GO GRANT EXECUTE ON [dbo].[PRPMO_RECORD_CREATE_WORKFLOWTASKS] TO [DD_ECM] GO GRANT EXECUTE ON [dbo].[FNPMO_GET_CONTROL_VALUES] TO [DD_ECM] GO CREATE FUNCTION [dbo].[FN_SPLIT_STRING] ( @Input NVARCHAR(MAX), @Character CHAR(1) ) RETURNS @Output TABLE ( Item NVARCHAR(1000) ) AS BEGIN DECLARE @StartIndex INT, @EndIndex INT SET @StartIndex = 1 IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character BEGIN SET @Input = @Input + @Character END WHILE CHARINDEX(@Character, @Input) > 0 BEGIN SET @EndIndex = CHARINDEX(@Character, @Input) INSERT INTO @Output(Item) SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1) SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input)) END RETURN END GO ALTER TABLE [dbo].[TBPMO_CONTROL_VALUE] DROP CONSTRAINT [UQ_CONTROLID_RECORDID] GO CREATE TABLE TBPMO_CLIENT_DOCTYPE ( GUID INTEGER IDENTITY(0,1), CLIENT_ID INTEGER NOT NULL, DOCTYPE_ID INTEGER NOT NULL, COMMENT VARCHAR(200), ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CONSTRAINT PK_TBPMO_CLIENT_DOCTYPE PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID) ) GO