SELECT PRODUCT_VERSION FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Record-Organizer') GO UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.7' where NAME = 'Record-Organizer' GO ALTER TABLE TBPMO_FORM ADD DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT 'dd.MM.YYYY' GO USE [DD_ECM] GO /****** Object: StoredProcedure [dbo].[PRPMO_DOCRESULT_CHANGE] Script Date: 10.08.2016 11:12:11 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE] AS BEGIN TRY DECLARE @DocID INTEGER, @DISPLAY_NAME VARCHAR(250), @FULL_FILENAME VARCHAR(5000), @Filename VARCHAR(500), @Doctype VARCHAR(250), @Version SMALLINT, @Objecttype VARCHAR(250), @Creation_DateTime DATETIME, @Change_DateTime DATETIME DECLARE c_Values CURSOR LOCAL FOR select DocID,[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'), [Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype, Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC WHERE CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE()) OPEN c_Values FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, @Filename,@Doctype,@Version,@Objecttype, @Creation_DateTime,@Change_DateTime WHILE @@FETCH_STATUS = 0 BEGIN IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) BEGIN PRINT 'INSERT NECESSARY' INSERT INTO TBPMO_DOCRESULT_LIST ( [DocID], [DISPLAY_NAME], [FULL_FILENAME], [Filename], [Doctype], [Version], [Objecttype], Creation_DateTime, Change_DateTime) VALUES ( @DocID, @Filename, @FULL_FILENAME, @Filename, @Doctype, @Version, @Objecttype, @Creation_DateTime, @Change_DateTime ) END ELSE UPDATE TBPMO_DOCRESULT_LIST SET [FULL_FILENAME] = @FULL_FILENAME, [Filename] = @Filename, [Doctype] = @Doctype, [Version] = @Version, [Objecttype] = @Objecttype, Change_DateTime = @Change_DateTime WHERE DocID = @DocID --##### FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime END CLOSE c_Values DEALLOCATE c_Values END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND VARCHAR(8000) GO ALTER TABLE TBPMO_FOLLOW_UP_EMAIL ADD CTRL_USER_DIRECT INTEGER GO ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS SELECT TOP 100 PERCENT T.GUID CONTROL_ID, T.NAME CONTROL_NAME, T.REQUIRED CONTROL_REQUIRED, T.DEFAULT_VALUE CONTROL_DEF_VALUE, T.READ_ONLY CONTROL_READ_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 ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE] FOR UPDATE AS BEGIN TRY DECLARE @CONTROL_ID INTEGER, @RECORD_ID INTEGER, @VALUE_NEW VARCHAR(MAX), @VALUE_OLD VARCHAR(MAX), @CHANGED_WHO VARCHAR(50), @CHANGE_STEP INTEGER, @REDO BIT, @CHANGE_ID INTEGER IF UPDATE (VALUE) BEGIN SELECT @CONTROL_ID = DELETED.CONTROL_ID, @RECORD_ID = DELETED.RECORD_ID, @VALUE_OLD = DELETED.VALUE FROM DELETED --RAISERROR (@VALUE , 16, 1) SELECT @CHANGE_STEP = CHANGE_STEP, @CHANGED_WHO = CHANGED_WHO, @VALUE_NEW = VALUE, @REDO = REDO FROM INSERTED IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD) INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) ELSE UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID --IF @REDO = 0 -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP) -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) --Update des Logs für loggen von Datensatzänderungen IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1) BEGIN If @VALUE_OLD <> @VALUE_NEW BEGIN DECLARE @LOG VARCHAR(1000) SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO) END END END --Generelle Updates (Datum und Recor-Änderungen) UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID 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_FORM_VIEW_AFT_INS] ON [dbo].[TBPMO_FORM_VIEW] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @FORM_TITLE VARCHAR(50), @LANGUAGE VARCHAR(5), @ADDED_WHO VARCHAR(50), @GUID INTEGER, @SCREEN_ID INTEGER, @PMO_OBJECT_NAME VARCHAR(100), @ENTITY_ID INTEGER, @DOC_VIEW BIT SELECT @GUID = GUID, @FORM_TITLE = FORM_TITLE, @SCREEN_ID = SCREEN_ID, @ADDED_WHO = ADDED_WHO, @ENTITY_ID = FORM_ID, @DOC_VIEW = DOCUMENT_VIEW FROM INSERTED SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO) SET @PMO_OBJECT_NAME = 'FORMVIEW_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,@FORM_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,@FORM_TITLE,@ADDED_WHO) IF @DOC_VIEW = 1 BEGIN INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES (@ENTITY_ID,'Filename','Dateiname') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES (@ENTITY_ID,'Doctype','Dokumentart') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES (@ENTITY_ID,'IN_WORK','in work?',50,2) INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES (@ENTITY_ID,'IN_WORK_USER','IW_USER',0) INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0) INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES (@ENTITY_ID,'Creation_DateTime','Erstellt',100,3) INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES (@ENTITY_ID,'Change_DateTime','Geändert',100,3) --#### INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES (@ENTITY_ID,'en-US','Filename','Filename') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES (@ENTITY_ID,'en-US','Doctype','Doctype') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES (@ENTITY_ID,'en-US','IN_WORK','in work?',50,2) INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0) INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0) INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES (@ENTITY_ID,'en-US','Creation_DateTime','Created',100,3) INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES (@ENTITY_ID,'en-US','Change_DateTime','Changed',100,3) END 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_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW] FOR UPDATE AS BEGIN TRY DECLARE @FORM_TITLE VARCHAR(50), @LANGUAGE VARCHAR(5), @CHANGED_WHO VARCHAR(50), @GUID INTEGER, @SCREEN_ID INTEGER, @PMO_OBJECT_NAME VARCHAR(100), @ENTITY_ID INTEGER, @DOC_VIEW BIT SELECT @GUID = GUID, @FORM_TITLE = FORM_TITLE, @SCREEN_ID = SCREEN_ID, @CHANGED_WHO = CHANGED_WHO, @ENTITY_ID = FORM_ID, @DOC_VIEW = DOCUMENT_VIEW FROM INSERTED SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO) SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID) UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID IF UPDATE (FORM_TITLE) BEGIN IF @LANGUAGE is not null 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 = @FORM_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,@FORM_TITLE) END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72' + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH END IF UPDATE(DOCUMENT_VIEW) IF @DOC_VIEW = 1 BEGIN IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Dateiname') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES (@ENTITY_ID,'Filename','Dateiname') IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Dokumentart') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES (@ENTITY_ID,'Doctype','Dokumentart') IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES (@ENTITY_ID,'IN_WORK','in work?',50) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES (@ENTITY_ID,'IN_WORK_USER','IW_USER',0) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Erstellt') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES (@ENTITY_ID,'Creation_DateTime','Erstellt',100) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Geändert') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES (@ENTITY_ID,'Change_DateTime','Geändert',100) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Filename') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES (@ENTITY_ID,'en-US','Filename','Filename') IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Doctype') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES (@ENTITY_ID,'en-US','Doctype','Doctype') IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES (@ENTITY_ID,'en-US','IN_WORK','in work?',50) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Created') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES (@ENTITY_ID,'en-US','Creation_DateTime','Created',100) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Changed') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES (@ENTITY_ID,'en-US','Change_DateTime','Changed',100) END ELSE DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84' + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --##################### NOT ALTER TABLE TBPMO_WORKFLOW_ENTITY_STATE ADD COMMENT VARCHAR(1000) NOT NULL DEFAULT '' GO ALTER TABLE TBPMO_WORKFLOW_TASK ADD STATE_DESCRIPTION VARCHAR(1000) NOT NULL DEFAULT '' GO ALTER TABLE TBPMO_WORKFLOW_ENTITY_STATE ADD INACTIVE BIT NOT NULL DEFAULT 0 GO ALTER TABLE TBPMO_WORKFLOW_TASK ADD USER_SELECT VARCHAR(3000) DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1' GO ALTER TABLE TBPMO_WORKFLOW_TASK ADD FINISHED BIT NOT NULL DEFAULT 0 GO UPDATE TBPMO_WORKFLOW_TASK SET USER_SELECT = 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1' GO ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS SELECT TOP 100 PERCENT W_T.GUID AS WF_TASK_ID ,R.GUID AS WF_ID ,W_T.RECORD_ID ,T.STATE_ID ,T4.GUID FORM_VIEW_ID ,R.DESCRIPTION ,W_T.COMMENT ,W_T.DUE_DATE ,W_T.ADDED_WHEN ,W_T.CHANGED_WHO ,W_T.CHANGED_WHEN ,W_T.TASK_DATE ,T.FINAL ,T.ENTITY_ID ,T5.COLOR ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(W_T.RECORD_ID) AS RECORD_DESCRIPTION ,FINISHED FROM TBPMO_WORKFLOW_ENTITY_STATE T, TBPMO_WORKFLOW_TASK W_T ,TBPMO_WORKFLOW R ,TBPMO_FORM T3 ,TBPMO_FORM_VIEW T4 ,TBPMO_WORKFLOW_TASK_STATE T5 ,TBPMO_RECORD REC WHERE --W_T.RECORD_ID = 95 AND --TBPMO_WORKFLOW_ENTITY_STATE T.WF_ID = R.GUID AND T.ENTITY_ID = T3.GUID AND T.STATE_ID = T5.GUID AND W_T.RECORD_ID = REC.GUID AND T.ENTITY_ID = REC.FORM_ID AND W_T.WF_ID = R.GUID AND R.GUID = R.GUID AND T3.GUID = T4.FORM_ID AND W_T.STATE_ID = T5.GUID AND T4.SCREEN_ID = 1 AND ((T.FINAL = 1 AND W_T.DUE_DATE IS NULL) OR T.FINAL = 0) AND W_T.ACTIVE = 1 ORDER BY W_T.RECORD_ID,W_T.GUID GO CREATE TABLE TBPMO_WORKFLOW_REMINDER ( GUID INTEGER NOT NULL IDENTITY(1,1), REMINDER_TYPE_ID INTEGER NOT NULL DEFAULT '1', RECORD_ID INTEGER NOT NULL, ENTITY_ID INTEGER, WF_ID INTEGER NOT NULL, EMAIL_ADRESS VARCHAR(100) NOT NULL, EMAIL_SUBJ VARCHAR(500) NOT NULL, EMAIL_BODY VARCHAR(500) NOT NULL, EMAIL_SENT DATETIME, COMMENT VARCHAR(500), ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_WORKFLOW_REMINDER PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_WORKFLOW_REMINDER_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID) ) GO CREATE TRIGGER TBPMO_WORKFLOW_REMINDER_AFT_UPD ON TBPMO_WORKFLOW_REMINDER FOR UPDATE AS UPDATE TBPMO_WORKFLOW_REMINDER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_REMINDER.GUID = INSERTED.GUID GO CREATE TABLE TBPMO_WORKFLOW_TASK_HISTORY( GUID INTEGER IDENTITY(1,1) NOT NULL, WF_TASK_ID INTEGER NOT NULL, STATE_ID INTEGER, STATE_DESC VARCHAR(500) NOT NULL, COMMENT VARCHAR(1000) NOT NULL, ADDED_WHO VARCHAR(100) NOT NULL, ADDED_WHEN DATETIME DEFAULT (GETDATE()), CONSTRAINT PK_TBPMO_WORKFLOW_TASK_HISTORY PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_WORKFLOW_TASK_HISTORY_RECORD_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID) ) GO ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW_TASK] FOR UPDATE AS BEGIN DECLARE @GUID INTEGER, @STATE_ID INTEGER, @WF_ID INTEGER, @STATE VARCHAR(200), @COMMENT VARCHAR(500), @CHANGED_WHO VARCHAR(50), @BUDGET_RESP VARCHAR(50), @RECORD_ID INTEGER, @ENTITY_ID INTEGER, @EMAIL VARCHAR(250), @SUBJECT VARCHAR(250), @BODY VARCHAR(500), @USER_ID INTEGER SELECT @GUID = GUID, @WF_ID = WF_ID, @STATE_ID = STATE_ID, @COMMENT = COMMENT, @CHANGED_WHO = CHANGED_WHO, @RECORD_ID = RECORD_ID FROM INSERTED UPDATE TBPMO_WORKFLOW_TASK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID /*######## KUNDEN INDIVIDUELL ########*/ SELECT @STATE = STATE_DESC FROM TBPMO_WORKFLOW_TASK_STATE WHERE GUID = @STATE_ID IF NOT EXISTS(SELECT GUID FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID = @GUID AND STATE_ID = @STATE_ID AND STATE_DESC = @STATE AND COMMENT = COMMENT) INSERT INTO TBPMO_WORKFLOW_TASK_HISTORY (WF_TASK_ID,STATE_ID,STATE_DESC,COMMENT,ADDED_WHO) VALUES (@GUID,@STATE_ID,@STATE,@COMMENT,@CHANGED_WHO) SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID /*WORKFLOW PURCHASE CONTRACTS*/ IF @WF_ID = 1 AND @STATE_ID = 10 BEGIN UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 11 END IF @WF_ID = 1 AND @STATE_ID = 11 BEGIN UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 10 END IF @STATE_ID IN (14,15) BEGIN DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID = @GUID SELECT @BUDGET_RESP = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = 103 AND RECORD_ID = @RECORD_ID SELECT @USER_ID = GUID FROM TBDD_USER WHERE PRENAME + ' ' + NAME = @BUDGET_RESP SELECT @EMAIL = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID INSERT INTO TBPMO_WORKFLOW_TASK_USER (WF_TASK_ID,USER_ID,ADDED_WHO) VALUES (@GUID,@USER_ID,'WORKFOW_ROUTER') END IF @WF_ID = 1 AND @STATE_ID = 14 BEGIN UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 15 SET @SUBJECT = 'Workflow - Renewal of Contract' SET @BODY = 'A purchase contract needs approval for renewing!
' INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES (@RECORD_ID,2,@ENTITY_ID,@GUID,@EMAIL,@SUBJECT,@BODY,@CHANGED_WHO) END IF @WF_ID = 1 AND @STATE_ID = 15 BEGIN UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 14 SET @SUBJECT = 'Workflow - Purchase Contract cancelled' SET @BODY = 'A purchase contract was cancelled - Please add some more information!
' INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES (@RECORD_ID,2,@ENTITY_ID,@GUID,@EMAIL,@SUBJECT,@BODY,@CHANGED_WHO) END IF @WF_ID = 1 AND @STATE_ID = 16 BEGIN UPDATE TBPMO_WORKFLOW_TASK SET FINISHED = 1 FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID END /*######## ENDE KUNDEN_INDIVIDUELL ########*/ END GO ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_USER_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_USER] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @RECORD_ID INTEGER, @STATE_ID INTEGER, @ENTITY_ID INTEGER, @EMAIL VARCHAR(100), @MSG VARCHAR(100), @ADDED_WHO VARCHAR(50), @WF_TASK_ID INTEGER, @USER_ID INTEGER, @SUBJECT VARCHAR(300), @BODY VARCHAR(100) SELECT @WF_TASK_ID = GUID, @USER_ID = USER_ID, @ADDED_WHO = ADDED_WHO FROM INSERTED /*######## KUNDEN INDIVIDUELL ########*/ IF @ADDED_WHO <> 'WORKFOW_ROUTER' BEGIN SELECT @EMAIL = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID SELECT @RECORD_ID = RECORD_ID, @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_TASK WHERE GUID = @WF_TASK_ID SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID SET @MSG = '@ENTITY_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) + ' - STATE-ID: ' + CONVERT(VARCHAR(10),@STATE_ID) IF @ENTITY_ID = 13 AND @STATE_ID = 10 BEGIN SET @SUBJECT = 'PURCHASE CONTRACTS RENEWAL PROCESS' SET @BODY = 'Workflow Purchasing Contracts
Please check wether contract needs to be renewed!' END IF @ENTITY_ID = 13 AND @STATE_ID = 11 BEGIN SET @SUBJECT = 'PURCHASE CONTRACTS PROJECT NEEDED' SET @BODY = 'Workflow Purchasing Contracts
Please advice system with information about project setup!' END IF @ENTITY_ID = 13 AND @STATE_ID in (10,11) BEGIN INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES (@RECORD_ID,2,@ENTITY_ID,@WF_TASK_ID,@EMAIL,@SUBJECT,@BODY,@ADDED_WHO) --RAISERROR ('IF', 16, 1) END --ELSE --RAISERROR (@MSG, 16, 1) END /*######## ENDE ########*/ 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_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 @CHANGED_WHO IS NOT NULL BEGIN 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 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_WORKFLOW ADD CREATE_ON_REC_CREATE BIT NOT NULL DEFAULT 0 GO ALTER TABLE TBPMO_WORKFLOW ADD CREATE_ON_FOLL_UP BIT NOT NULL DEFAULT 0 GO ALTER TABLE TBPMO_WORKFLOW ADD USER_SELECT VARCHAR(3000) NOT NULL DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1' GO UPDATE TBPMO_WORKFLOW SET USER_SELECT = 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1' 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 AND T1.CREATE_ON_REC_CREATE = 1 ) 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 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, @SELECT_USER VARCHAR(3000) 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) SELECT @SELECT_USER = USER_SELECT FROM TBPMO_WORKFLOW WHERE GUID = @WF_ID --IF @STATE_ID IS NOT NULL BEGIN --INSERT DES TASKS INSERT INTO TBPMO_WORKFLOW_TASK( RECORD_ID, WF_ID, ACTIVE, STATE_ID, USER_SELECT) VALUES ( @RECORD_ID, @WF_ID, 1, @STATE_ID, @SELECT_USER) END FETCH NEXT FROM c_TASK INTO @WF_ID END CLOSE c_TASK DEALLOCATE c_TASK END GO --##### DELETE FROM TBPMO_CONTROL_VALUE Where VALUE is null GO ALTER TABLE TBDD_USER ADD DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT 'dd.MM.yyyy' GO UPDATE TBDD_USER SET DATE_FORMAT = 'dd-MM-yyyy' where guid in( Select GUID from TBDD_USER where USERNAME like 'NL%') GO --###### DECLARE @ID INTEGER, @VALUE VARCHAR(30), @VALUE_CONV VARCHAR(30) DECLARE c_Values CURSOR FOR SELECT T.[GUID] ,T.[VALUE] --,CONVERT(VARCHAR(30),CONVERT(DATE,T.[VALUE])) FROM TBPMO_CONTROL_VALUE T, TBPMO_CONTROL T1 WHERE T.CONTROL_ID = T1.GUID AND T1.CONTROL_TYPE_ID = 4 OPEN c_Values FETCH NEXT FROM c_Values INTO @ID,@VALUE WHILE @@FETCH_STATUS = 0 BEGIN PRINT @VALUE SET @VALUE_CONV = CONVERT(VARCHAR(10),CONVERT(DATE,@VALUE)) UPDATE TBPMO_CONTROL_VALUE SET VALUE = @VALUE_CONV,CHANGED_WHO = 'Digital Data Converter' WHERE GUID = @ID --PRINT 'UPDATED' --##### FETCH NEXT FROM c_Values INTO @ID,@VALUE END CLOSE c_Values DEALLOCATE c_Values --###### ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE] FOR UPDATE AS BEGIN TRY DECLARE @CONTROL_ID INTEGER, @RECORD_ID INTEGER, @VALUE_NEW VARCHAR(MAX), @VALUE_OLD VARCHAR(MAX), @CHANGED_WHO VARCHAR(50), @CHANGE_STEP INTEGER, @REDO BIT IF UPDATE (VALUE) BEGIN SELECT @CONTROL_ID = DELETED.CONTROL_ID, @RECORD_ID = DELETED.RECORD_ID, @VALUE_OLD = DELETED.VALUE FROM DELETED --RAISERROR (@VALUE , 16, 1) SELECT @CHANGE_STEP = CHANGE_STEP, @CHANGED_WHO = CHANGED_WHO, @VALUE_NEW = VALUE, @REDO = REDO FROM INSERTED IF @CHANGED_WHO <> 'Digital Data Converter' BEGIN IF @REDO = 0 AND @CHANGED_WHO Is Not null IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP) INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) --Update des Logs für loggen von Datensatzänderungen IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1) BEGIN If @VALUE_OLD <> @VALUE_NEW AND @CHANGED_WHO Is Not null BEGIN DECLARE @LOG VARCHAR(1000) SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO) END END END END --Generelle Updates (Datum und Recor-Änderungen) UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO DROP TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION GO CREATE TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ( GUID INTEGER NOT NULL IDENTITY(1,1), PARENT_NODE INTEGER NOT NULL DEFAULT 0, CONTROL_ID INTEGER NOT NULL, 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_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (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_CONTROL](@pCONTROL_ID INT) AS BEGIN TRY DELETE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID DELETE FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID) DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID DELETE FROM TBPMO_FUNCTION_GENERAL WHERE CONTROL_ID = @pCONTROL_ID DELETE FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @pCONTROL_ID DELETE FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE CONTROL_ID = @pCONTROL_ID DELETE FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_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 DROP TABLE TBPMO_STRUCTURE_NODES GO CREATE TABLE TBPMO_STRUCTURE_NODES ( GUID INTEGER NOT NULL IDENTITY(1,1), RECORD_ID INTEGER, NODE_CONFIG_ID INTEGER NOT NULL, NODE_CAPTION VARCHAR(250) NOT NULL, ID1 VARCHAR(100), ID2 VARCHAR(100), ID3 VARCHAR(100), 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_NODES_NODE_CONFIG_ID FOREIGN KEY (NODE_CONFIG_ID) REFERENCES TBPMO_STRUCTURE_NODES_CONFIGURATION (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 VIEW VWPMO_STRUCTURE_NODES AS select T.*, T1.CONTROL_ID, T1.CREATE_RECORD, T1.ENTITY_ID, T1.NAME, T1.TYPE_NODE from TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1 WHERE T.NODE_CONFIG_ID = T1.GUID ALTER TABLE TBPMO_FOLDERWATCH_USER ADD SUBDIRECTORIES BIT NOT NULL DEFAULT 0 GO DROP TABLE TBPMO_ENTITY_SUPERVISOR GO CREATE TABLE TBPMO_ENTITY_SUPERVISOR ( GUID INTEGER NOT NULL IDENTITY(1,1), ENTITY_ID INTEGER NOT NULL, USER_ID INTEGER NOT NULL, RIGHT1 VARCHAR(100) NOT NULL DEFAULT '7', RIGHT2 VARCHAR(100), COMMENT VARCHAR(500), ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_ENTITY_SUPERVISOR PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_ENTITY_SUPERVISOR_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID), CONSTRAINT FK_TBPMO_ENTITY_SUPERVISOR_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID) ) GO CREATE TRIGGER TBPMO_ENTITY_SUPERVISOR_AFT_UPD ON TBPMO_ENTITY_SUPERVISOR FOR UPDATE AS UPDATE TBPMO_ENTITY_SUPERVISOR SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_SUPERVISOR.GUID = INSERTED.GUID GO DROP TABLE TBPMO_DOC_RECORD_LINK GO CREATE TABLE TBPMO_DOC_RECORD_LINK ( GUID INTEGER NOT NULL IDENTITY(1,1), RECORD_ID INTEGER NOT NULL, DOC_ID INTEGER NOT NULL, COMMENT VARCHAR(500), ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_DOC_RECORD_LINK PRIMARY KEY (GUID), CONSTRAINT UQ_RECORD_ID_DOC_ID UNIQUE(RECORD_ID,DOC_ID), --CONSTRAINT FK_TBPMO_DOC_RECORD_LINK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID), CONSTRAINT FK_TBPMO_DOC_RECORD_LINK_DOC_ID FOREIGN KEY (DOC_ID) REFERENCES TBPMO_DOCRESULT_LIST (DocID) ) GO CREATE TRIGGER TBPMO_DOC_RECORD_LINK_AFT_UPD ON TBPMO_DOC_RECORD_LINK FOR UPDATE AS UPDATE TBPMO_DOC_RECORD_LINK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_RECORD_LINK.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 DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE ENTITY_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 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 ALTER PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT) AS DECLARE @COL_NAME VARCHAR(50), @SQL_BEGIN VARCHAR(1000), @SQL_END VARCHAR(2000), @SQL VARCHAR(8000), @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 SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID],T.COLOR AS ROW_COLOR, T.FORM_ID AS [Form-ID],' SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' 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 END ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14 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 END ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14 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 --PRint '1' SET @SQL = @SQL + ',(SELECT CASE COUNT(DocID) WHEN 0 THEN 0 ELSE 1 END AS [files?] FROM VWPMO_WD_DOC_SEARCH WHERE RECORD_ID = T.GUID) AS [files?]' --PRint '2' SET @SQL = @SQL + ',(SELECT COUNT(DocID) AS [files?] FROM VWPMO_WD_DOC_SEARCH WHERE RECORD_ID = T.GUID) AS [file count]' --PRint '3' SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END --PRINT 'LEN: ' + CONVERT(VARCHAR(10),LEN(@RESULT)) 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 DELETE FROM TBPMO_DOC_RECORD_LINK DELETE FROM TBPMO_DOCRESULT_LIST ALTER TABLE TBPMO_DOCRESULT_LIST DROP COLUMN ENTITY_ID GO ALTER TABLE TBPMO_DOCRESULT_LIST DROP COLUMN RECORD_ID GO ALTER TABLE TBPMO_DOCRESULT_LIST DROP COLUMN PARENT_ID GO ALTER VIEW [dbo].[VWPMO_WD_DOC_SYNC] AS SELECT TOP 100 PERCENT T.dwDocID as DocID ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) + T.szLongName AS FULL_FILENAME ,szLongName as [Filename], T.szText33 AS Doctype ,T.dwVersionNumber AS [Version] ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime] ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime ,T1.szDocTypeName AS OBJECTTYPE FROM windream60.dbo.BaseAttributes T ,windream60.dbo.ObjectType T1 WHERE T1.szDocTypeName = 'DEMO - Geschäftsprozesse' --T.dwObjectTypeID > 23 --T.dwObjectTypeID > 23 AND AND T.dwObjectTypeID = T1.dwObjectTypeID ORDER BY [Creation_DateTime] GO ALTER PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE] AS BEGIN TRY DECLARE @DocID INTEGER, @DISPLAY_NAME VARCHAR(250), @FULL_FILENAME VARCHAR(5000), @Filename VARCHAR(500), @Doctype VARCHAR(250), @Version SMALLINT, @Objecttype VARCHAR(250), @Creation_DateTime DATETIME, @Change_DateTime DATETIME DECLARE c_Values CURSOR LOCAL FOR select DocID,[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'), [Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype, Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC WHERE CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE()) OPEN c_Values FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, @Filename,@Doctype,@Version,@Objecttype, @Creation_DateTime,@Change_DateTime WHILE @@FETCH_STATUS = 0 BEGIN IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) BEGIN PRINT 'INSERT NECESSARY: ' + CONVERT(VARCHAR(10),@DocID) INSERT INTO TBPMO_DOCRESULT_LIST ( [DocID], [DISPLAY_NAME], [FULL_FILENAME], [Filename], [Doctype], [Version], [Objecttype], Creation_DateTime, Change_DateTime) VALUES ( @DocID, @Filename, @FULL_FILENAME, @Filename, @Doctype, @Version, @Objecttype, @Creation_DateTime, @Change_DateTime) END ELSE UPDATE TBPMO_DOCRESULT_LIST SET [FULL_FILENAME] = @FULL_FILENAME, [Filename] = @Filename, [Doctype] = @Doctype, [Version] = @Version, [Objecttype] = @Objecttype, Change_DateTime = @Change_DateTime WHERE DocID = @DocID --##### FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime END CLOSE c_Values DEALLOCATE c_Values END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO /* RENOLIT */ ALTER FUNCTION [dbo].[FNPMO_GET_DATEDIFF] (@pTIMESPAN VARCHAR(10),@pVALUE DATE) RETURNS INTEGER AS BEGIN DECLARE @RESULT AS INTEGER If @pTIMESPAN = 'Day' SELECT @RESULT = DATEDIFF(DAY, CONVERT(DATE,getdate()),@pVALUE) ELSE IF @pTIMESPAN = 'Month' SELECT @RESULT = DATEDIFF(MONTH, getdate(),@pVALUE) ELSE IF @pTIMESPAN = 'Week' SELECT @RESULT = DATEDIFF(WEEK, getdate(),@pVALUE) --PRINT 'RESULT: W:\' + @RESULT + '\' RETURN @RESULT END GO ALTER VIEW [dbo].[VWPMO_FOLLOW_UP_EMAIL] AS SELECT T1.GUID FOLLOW_UP_ID, T1.NAME, T1.FOLLOW_UP_SEQUENCE, T1.FOLLOW_UP_DAYS, T1.FOLLOW_UP_TIME_SPAN, CONVERT(CHAR(5),GETDATE(),108) NOW_TIME, T.RECORD_ID, CONVERT(DATE,T.VALUE) VALUE, T1.EMAIL_SUBJECT, T1.EMAIL_BODY, T1.PROCESS_SELECT1, T1.PROCESS_SELECT2, T1.PROCESS_SELECT3, T1.PROCESS_SELECT4, T1.PROCESS_SELECT5, T1.PROCESS_SELECT6, T1.PROCESS_SELECT7, T1.PROCESS_SELECT8, T1.PROCESS_SELECT9, T1.PROCESS_SELECT10, T1.TIME_UNITY, T1.TIME_DIST, CONVERT(INT,T1.TIME_SPAN) TIME_SPAN ,CONVERT(INT,[dbo].[FNPMO_GET_DATEDIFF] (T1.TIME_UNITY ,T.VALUE)) TODAY_TIME_SPAN ,T.VALUE DATE_VALUE, T1.DEPENDENT_DATE_CTRL_ID, T1.DEPENDENT_DONE_CTRL_ID, (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) DONE_VALUE, T2.GUID AS CONSTRUCTOR_ID, T2.FORM_TITLE AS CONSTRUCTOR_TITLE, T1.CTRL_USER_DIRECT, T1.CTRL_GROUP_DIRECT FROM VWPMO_VALUES T, TBPMO_FOLLOW_UP_EMAIL T1, TBPMO_FORM_CONSTRUCTOR T2 WHERE T1.ACTIVE = 1 AND (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) = 'False' And T.CONTROL_ID = T1.DEPENDENT_DATE_CTRL_ID AND T1.CONSTRUCTOR_ID = T2.GUID GO ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT) AS BEGIN TRY IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_USER WHERE GUID = @pUSER_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 CREATE TABLE TBPMO_FILE_IMPORTER ( GUID INTEGER NOT NULL IDENTITY(1,1), NAME VARCHAR(100) NOT NULL, RUN_SEQUENCE VARCHAR(50) NOT NULL DEFAULT 'ONCE_DAILY', RUN_DAYS VARCHAR(50) NOT NULL DEFAULT '1111100', RUN_TIME_SPAN VARCHAR(50) NOT NULL DEFAULT '08:00', HOT_FOLDER VARCHAR(2000) NOT NULL DEFAULT '', ARCHIVE_FOLDER VARCHAR(2000) NOT NULL DEFAULT '', 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_FILE_IMPORTER PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_FILE_IMPORTER_AFT_UPD ON TBPMO_FOLLOW_UP_EMAIL FOR UPDATE AS UPDATE TBPMO_FILE_IMPORTER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FILE_IMPORTER.GUID = INSERTED.GUID GO ALTER TABLE TBPMO_FILE_IMPORTER ADD ARCHIVE_FOLDER VARCHAR(2000) NOT NULL DEFAULT '' GO ALTER TABLE TBDD_USER ADD USERID_FK_INT_ECM INTEGER NOT NULL DEFAULT 0 GO ALTER TABLE TBDD_USER ADD USERID_FK_VARCHAR_ECM VARCHAR(30) NOT NULL DEFAULT '' GO DECLARE @DocID INTEGER, @DISPLAY_NAME VARCHAR(250), @FULL_FILENAME VARCHAR(5000), @Filename VARCHAR(500), @Doctype VARCHAR(250), @Version SMALLINT, @Objecttype VARCHAR(250), @Creation_DateTime DATETIME, @Change_DateTime DATETIME DECLARE c_Values CURSOR LOCAL FOR select DocID,[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'), [Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype, Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC --WHERE --CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR --CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE()) OPEN c_Values FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, @Filename,@Doctype,@Version,@Objecttype, @Creation_DateTime,@Change_DateTime WHILE @@FETCH_STATUS = 0 BEGIN IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) BEGIN PRINT 'INSERT NECESSARY: ' + CONVERT(VARCHAR(10),@DocID) INSERT INTO TBPMO_DOCRESULT_LIST ( [DocID], [DISPLAY_NAME], [FULL_FILENAME], [Filename], [Doctype], [Version], [Objecttype], Creation_DateTime, Change_DateTime) VALUES ( @DocID, @Filename, @FULL_FILENAME, @Filename, @Doctype, @Version, @Objecttype, @Creation_DateTime, @Change_DateTime) END ELSE UPDATE TBPMO_DOCRESULT_LIST SET [FULL_FILENAME] = @FULL_FILENAME, [Filename] = @Filename, [Doctype] = @Doctype, [Version] = @Version, [Objecttype] = @Objecttype, Change_DateTime = @Change_DateTime WHERE DocID = @DocID --##### FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime END CLOSE c_Values DEALLOCATE c_Values GO DECLARE @DOC_ID INTEGER, @RECORD_ID INTEGER DECLARE c_INSERT CURSOR FOR SELECT T.dwDocID as DocID ,T2.[dwValue] FROM windream60.[dbo].BaseAttributes T ,windream60.[dbo].ObjectType T1 ,windream60.[dbo].[Vector] T2 WHERE T.dwObjectTypeID = 6 AND T.dwObjectTypeID = T1.dwObjectTypeID AND T.dwDocID = T2.dwDocID AND T2.dwAttrID = 340 AND T2.[dwValue] IS NOT NULL ORDER BY T.dwDocID OPEN c_INSERT FETCH NEXT FROM c_INSERT INTO @DOC_ID,@RECORD_ID WHILE @@FETCH_STATUS = 0 BEGIN IF NOT EXISTS(SELECT GUID FROm TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @DOC_ID AND RECORD_ID = @RECORD_ID) INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID,ADDED_WHO) VALUES (@DOC_ID,@RECORD_ID,'SYNC DD') FETCH NEXT FROM c_INSERT INTO @DOC_ID,@RECORD_ID END CLOSE c_INSERT DEALLOCATE c_INSERT GO CREATE VIEW VWPMO_WD_OBJECT_RIGHTS AS SELECT [dwObjectID], dwUserOrGroupID, dwAccessRight, dwObjectDBID FROM windream60.[dbo].[AccessRight] GO DECLARE @ENTITY_ID INTEGER, @CONTROL_ID INTEGER, @GUID INTEGER, @VALUE VARCHAR(MAX) DECLARE c_REDO CURSOR FOR SELECT GUID FROM TBPMO_FORM OPEN c_REDO FETCH NEXT FROM c_REDO INTO @ENTITY_ID WHILE @@FETCH_STATUS = 0 BEGIN EXEC [dbo].[PRPMO_CREATE_SQL] @ENTITY_ID FETCH NEXT FROM c_REDO INTO @ENTITY_ID END CLOSE c_REDO DEALLOCATE c_REDO GO EXECUTE [dbo].[PRPMO_CREATE_TEMP_VIEWS] 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, T1.DOCUMENT_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 CREATE TABLE TBPMO_USER_RIGHTS_JOBS ( GUID INTEGER NOT NULL IDENTITY(1,1), USER_ID INTEGER NOT NULL, ENTITY_ID INTEGER NOT NULL DEFAULT 0, [COMMENT] VARCHAR(250) NOT NULL, WORKED 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_USER_RIGHTS_JOBS PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_USER_RIGHTS_JOBS_AFT_UPD ON TBPMO_USER_RIGHTS_JOBS FOR UPDATE AS UPDATE TBPMO_USER_RIGHTS_JOBS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_RIGHTS_JOBS.GUID = INSERTED.GUID GO ALTER 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, @ECM_USR_ID INTEGER, @USRNAME VARCHAR(50) SELECT @USER_ID = GUID, @ADDED_WHO = ADDED_WHO, @USRNAME = USERNAME FROM INSERTED SELECT @ECM_USR_ID = [dwUserID] FROM [windream60].[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME) IF @ECM_USR_ID IS NOT NULL UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID FROM INSERTED WHERE TBDD_USER.GUID = INSERTED.GUID 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 DECLARE @USERNAME_DD VARCHAR(50), @USER_ID_WD INTEGER DECLARE c_INSERT CURSOR FOR SELECT UPPER(USERNAME) FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1 OPEN c_INSERT FETCH NEXT FROM c_INSERT INTO @USERNAME_DD WHILE @@FETCH_STATUS = 0 BEGIN SELECT @USER_ID_WD = [dwUserID] FROM windream60.dbo.UserInfo WHERE UPPER(szUserName) = @USERNAME_DD AND szNTDomain = 'LOCAL.ZELLSTOFF-STENDAL.DE' IF @USER_ID_WD IS NOT NULL UPDATE TBDD_USER SET USERID_FK_INT_ECM = @USER_ID_WD WHERE UPPER(USERNAME) = @USERNAME_DD FETCH NEXT FROM c_INSERT INTO @USERNAME_DD END CLOSE c_INSERT DEALLOCATE c_INSERT GO CREATE TABLE TBPMO_LOG_ESSENTIALS ( GUID INTEGER NOT NULL IDENTITY(1,1), REFERENCE_KEY INTEGER NOT NULL DEFAULT '0', REFERENCE_STRING VARCHAR(50) NOT NULL DEFAULT '', COMMENT VARCHAR(500) NOT NULL, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CONSTRAINT PK_TBPMO_LOG_ESSENTIALS PRIMARY KEY (GUID) ) 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 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 CREATE TRIGGER [dbo].[TBDD_GROUPS_USER_AFT_DEL] ON [dbo].[TBDD_GROUPS_USER] FOR DELETE AS BEGIN TRY DECLARE @USER_ID INTEGER SELECT @USER_ID = deleted.USER_ID FROM deleted If @USER_ID IS NOT NULL BEGIN INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER DELETED FROM GROUP','TBDD_GROUPS_USER_AFT_DEL') INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER-ID','USER DELETED FROM USER-GROUP',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID )) 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 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 CONSTRUCT_ID = 2 AND 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') 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 TABLE TBPMO_SUPERVISOR_CONTROLS ( GUID INTEGER NOT NULL IDENTITY(1,1), CONTROL_ID INTEGER NOT NULL, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CONSTRAINT PK_TBPMO_SUPERVISOR_CONTROLS PRIMARY KEY (GUID) ) GO CREATE TRIGGER [dbo].[TBPMO_SUPERVISOR_CONTROLS_AFT_INS] ON [dbo].[TBPMO_SUPERVISOR_CONTROLS] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @CONTROL_ID INTEGER, @ENTITY_ID INTEGER, @USERSTRING VARCHAR(50), @USER_ID INTEGER, @ECM_USER_ID INTEGER, @COUNT_FILES INTEGER SELECT @CONTROL_ID = CONTROL_ID FROM INSERTED SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID DECLARE c_USER CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID OPEN c_USER FETCH NEXT FROM c_USER INTO @USERSTRING WHILE @@FETCH_STATUS = 0 BEGIN SELECT @USER_ID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@USERSTRING) IF @USER_ID <> 0 SELECT @ECM_USER_ID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID IF @ECM_USER_ID > 0 BEGIN SELECT @COUNT_FILES = COUNT(DocID) FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @ECM_USER_ID) AND ENTITY_ID = @ENTITY_ID IF @COUNT_FILES > 0 IF NOT EXISTS (SELECT GUID FROM TBPMO_USER_RIGHTS_JOBS WHERE COMMENT = 'SUPERVISOR ADDED' AND ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID AND WORKED = 0) INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,ENTITY_ID,COMMENT,ADDED_WHO) VALUES (@USER_ID,@ENTITY_ID,'SUPERVISOR ADDED','TBPMO_SUPERVISOR_CONTROLS_AFT_INS') END FETCH NEXT FROM c_USER INTO @USERSTRING 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_SUPERVISOR_CONTROLS_AFT_DEL] ON [dbo].[TBPMO_SUPERVISOR_CONTROLS] FOR DELETE AS BEGIN TRY DECLARE @CONTROL_ID INTEGER, @ENTITY_ID INTEGER, @USERSTRING VARCHAR(50), @USER_ID INTEGER, @ECM_USER_ID INTEGER, @COUNT_FILES INTEGER SELECT @CONTROL_ID = deleted.CONTROL_ID FROM deleted SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID DECLARE c_USER CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID OPEN c_USER FETCH NEXT FROM c_USER INTO @USERSTRING WHILE @@FETCH_STATUS = 0 BEGIN SELECT @USER_ID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@USERSTRING) IF @USER_ID <> 0 SELECT @ECM_USER_ID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID IF @ECM_USER_ID > 0 BEGIN SELECT @COUNT_FILES = COUNT(DocID) FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @ECM_USER_ID) AND ENTITY_ID = @ENTITY_ID IF @COUNT_FILES > 0 IF NOT EXISTS (SELECT GUID FROM TBPMO_USER_RIGHTS_JOBS WHERE COMMENT = 'SUPERVISOR DELETED' AND ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID AND WORKED = 0) INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,ENTITY_ID,COMMENT,ADDED_WHO) VALUES (@USER_ID,@ENTITY_ID,'SUPERVISOR DELETED','TBPMO_SUPERVISOR_CONTROLS_AFT_DEL') END FETCH NEXT FROM c_USER INTO @USERSTRING 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 FUNCTION [dbo].[FNPMO_GET_USERID_FORSTRING](@USERSTRING VARCHAR(50)) RETURNS INTEGER AS BEGIN DECLARE @USER_ID AS INTEGER SELECT @USER_ID = GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@USERSTRING) IF @USER_ID IS NULL SELECT @USER_ID = GUID FROM TBDD_USER WHERE UPPER(PRENAME + NAME) = REPLACE(UPPER(@USERSTRING),' ','') IF @USER_ID IS NULL SELECT @USER_ID = GUID FROM TBDD_USER WHERE REPLACE(UPPER(NAME + ',' + PRENAME),' ','') = REPLACE(UPPER(@USERSTRING),' ','') RETURN(ISNULL(@USER_ID,0)) END GO CREATE VIEW VWPMO_SUPERVISOR_CONTROL AS select T1.RECORD_ID, T.CONTROL_ID, T2.[FORM_ID], dbo.[FNPMO_GET_USERID_FORSTRING] (T1.VALUE) as [USER_ID] FROM TBPMO_SUPERVISOR_CONTROLS T, TBPMO_CONTROL_VALUE T1, TBPMO_CONTROL T2 WHERE T.CONTROL_ID = T1.CONTROL_ID AND T.CONTROL_ID = T2.GUID GO DROP TRIGGER [dbo].[TBPM_USER_AFT_DEL] GO CREATE TRIGGER [dbo].[TBDD_USER_AFT_DEL] ON [dbo].[TBDD_USER] FOR DELETE AS DECLARE @USER_ID INTEGER BEGIN SELECT @USER_ID = GUID FROM DELETED IF @USER_ID IN (0,1) BEGIN ROLLBACK TRANSACTION RAISERROR('THIS USER CAN NOT BE DELETED!',16,10) END ELSE BEGIN INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER DELETED','TBDD_GROUPS_USER_AFT_DEL') INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER-ID','USER DELETED',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID )) END END GO