/*################################## 1. Search for @INSTALL_ADMIN_USER and replace the username 'windream' with the username You use for adminsitration 2. Replace DD_VMP01_APS01_windream60 in code with name of current windream-Database. ####################################*/ UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.4' where NAME = 'Record-Organizer' GO INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID,IS_ADMIN) SELECT GUID,(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'ADDI'),1 FROM TBDD_USER where UPPER(USERNAME) = UPPER('@INSTALL_ADMIN_USER') GO if not exists (select * from sysobjects where name='TBPMO_KONFIGURATION' and xtype='U') CREATE TABLE TBPMO_KONFIGURATION ( GUID TINYINT, ADMIN_PW VARCHAR(100) NOT NULL DEFAULT 'ZGQ=', ADMIN_SECURITY BIT NOT NULL DEFAULT 0, COUNTER_CONTROL_UPDATE_ID INTEGER NOT NULL DEFAULT '1', EMAIL_ACTIVE BIT NOT NULL DEFAULT 0, EMAIL_FROM VARCHAR(50), EMAIL_SMTP VARCHAR(50), EMAIL_USER VARCHAR(50), EMAIL_PW VARCHAR(50), EMAIL_REMINDER_HEADER VARCHAR(250), EMAIL_REMINDER_FOOTER VARCHAR(250), ENTITY_TABLENAME VARCHAR(50) DEFAULT 'TBPMO_ENTITY_TABLE' NOT NULL, FILE_DELIMITER VARCHAR(1) NOT NULL DEFAULT '~', FOLLOW_UP_LOG_ERR_ONLY BIT NOT NULL DEFAULT 1, FOLLOW_UP_EMAIL_PROFILE INTEGER, SQL_FULLTEXT VARCHAR(5000) NOT NULL DEFAULT '', VEKTOR_DELIMITER VARCHAR(1) NOT NULL DEFAULT '~', VERSION_DELIMITER VARCHAR(1) NOT NULL DEFAULT '~', WM_LAUFWERKBUCHSTABE VARCHAR(1) NOT NULL DEFAULT 'W', WORKFLOW_FINAL_STATE1 INTEGER NOT NULL DEFAULT 3, WORKFLOW_FINAL_STATE2 INTEGER, WORKFLOW_FINAL_STATE3 INTEGER, WORKFLOW_FINAL_STATE4 INTEGER, WORKFLOW_FINAL_STATE5 INTEGER, WD_UNICODE BIT NOT NULL DEFAULT 1, WIKI_STRING VARCHAR(500) NOT NULL DEFAULT '', ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DIGITAL DATA', ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_KONFIGURATION_GUID PRIMARY KEY(GUID), CONSTRAINT CH_TBPMO_KONFIGURATION_GUID CHECK(GUID = 1) ) GO CREATE TRIGGER TBPMO_KONFIGURATION_AFT_UPD ON TBPMO_KONFIGURATION FOR UPDATE AS UPDATE TBPMO_KONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_KONFIGURATION.GUID = INSERTED.GUID GO --################################################################################################################################################# CREATE TABLE [dbo].[TBPMO_INDEX_MAN]( GUID int IDENTITY(1,1) NOT NULL, DOCTYPE_ID int NOT NULL, ENTITY_ID int NOT NULL, NAME varchar(50) NOT NULL, COL_VISIBLE bit NOT NULL DEFAULT 1, COLUMN_CAPTION varchar(50) NOT NULL DEFAULT '', ECM_INDEX varchar(50) NOT NULL DEFAULT '', COMMENT varchar(250) NULL, DATATYPE varchar(50) NULL, SUGGESTION bit NOT NULL DEFAULT 0, DEFAULT_VALUE varchar(100) NOT NULL DEFAULT '', CONNECTION_ID smallint NULL DEFAULT 0, SEQUENCE int NOT NULL DEFAULT 1, SQL_RESULT varchar(2000) NOT NULL DEFAULT '', SQL_CHECK varchar(2000) NOT NULL DEFAULT '', OPTIONAL bit NOT NULL DEFAULT 0, SAVE_VALUE bit NOT NULL DEFAULT 0, ACTIVE bit 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 NULL, CONSTRAINT [PK_TBPMO_INDEX_MAN] PRIMARY KEY CLUSTERED ( [GUID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[TBPMO_INDEX_MAN] WITH CHECK ADD CONSTRAINT [FK_TBPMO_INDEX_MAN_CID] FOREIGN KEY([CONNECTION_ID]) REFERENCES [dbo].[TBDD_CONNECTION] ([GUID]) GO ALTER TABLE [dbo].[TBPMO_INDEX_MAN] CHECK CONSTRAINT [FK_TBPMO_INDEX_MAN_CID] GO ALTER TABLE [dbo].[TBPMO_INDEX_MAN] WITH CHECK ADD CONSTRAINT [FK_TBPMO_INDEX_MAN_DOCTYPE_ID] FOREIGN KEY([DOCTYPE_ID]) REFERENCES [dbo].[TBDD_DOKUMENTART] ([GUID]) GO ALTER TABLE [dbo].[TBPMO_INDEX_MAN] CHECK CONSTRAINT [FK_TBPMO_INDEX_MAN_DOCTYPE_ID] GO CREATE TABLE [dbo].[TBPMO_DOC_INDICES]( [DocID] [int] NOT NULL, [INDEX_ID] [int] NOT NULL, [VALUE] VARCHAR(max) NOT NULL, [ADDED_WHO] VARCHAR(50) NULL, [ADDED_WHEN] [datetime] NULL, [CHANGED_WHO] VARCHAR(50) NULL, [CHANGED_WHEN] [datetime] NULL, [GUID] [int] IDENTITY(1,1) NOT NULL, CONSTRAINT [PK_TBPMO_DOC_INDICES] PRIMARY KEY CLUSTERED ( [GUID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO ALTER TABLE [dbo].[TBPMO_DOC_INDICES] ADD DEFAULT ('DEFAULT') FOR [ADDED_WHO] GO ALTER TABLE [dbo].[TBPMO_DOC_INDICES] ADD DEFAULT (getdate()) FOR [ADDED_WHEN] GO ALTER TABLE [dbo].[TBPMO_DOC_INDICES] WITH CHECK ADD CONSTRAINT [FK_TBPMO_DOC_INDICES_INDEX_ID] FOREIGN KEY([INDEX_ID]) REFERENCES [dbo].[TBPMO_INDEX_MAN] ([GUID]) GO ALTER TABLE [dbo].[TBPMO_DOC_INDICES] CHECK CONSTRAINT [FK_TBPMO_DOC_INDICES_INDEX_ID] GO if not exists (select * from sysobjects where name='TBPMO_FILE_IMPORTER' and xtype='U') 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 --################################################################################################################################################# if not exists (select * from sysobjects where name='TBPMO_FOLDERWATCH_USER' and xtype='U') CREATE TABLE TBPMO_FOLDERWATCH_USER ( GUID INTEGER IDENTITY(1,1), [USER_ID] INT NOT NULL, FOLDER_PATH VARCHAR(800) NOT NULL, FOLDER_TYPE VARCHAR(20) DEFAULT 'DEFAULT' NOT NULL, SUBDIRECTORIES BIT NOT NULL DEFAULT 0, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_FOLDERWATCH_USER PRIMARY KEY (GUID), CONSTRAINT UQ_TBPMO_FOLDERWATCH_USER UNIQUE([USER_ID],FOLDER_PATH), CONSTRAINT FK_TBPMO_FOLDERWATCH_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), ) GO CREATE TRIGGER TBPMO_FOLDERWATCH_USER_AFT_UPD ON TBPMO_FOLDERWATCH_USER FOR UPDATE AS UPDATE TBPMO_FOLDERWATCH_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FOLDERWATCH_USER.GUID = INSERTED.GUID GO --################################################################################################################################################# if not exists (select * from sysobjects where name='TBPMO_CONTROL_TYPE' and xtype='U') CREATE TABLE TBPMO_CONTROL_TYPE ( GUID INTEGER NOT NULL, [TYPE_NAME] VARCHAR(35) NOT NULL UNIQUE, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_CONTROL_TYPE PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_CONTROL_TYPE_AFT_UPD ON TBPMO_CONTROL_TYPE FOR UPDATE AS UPDATE TBPMO_CONTROL_TYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_TYPE.GUID = INSERTED.GUID GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (1,'Label') GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (2,'Textbox') GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (3,'Combobox') GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (4,'Datepicker') GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (5,'Groupbox') GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (6,'Picturebox') GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (7,'Datagridview') GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (8,'F_AddAppointment') GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (9,'F_AddFormData') GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (10,'Checkbox') GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (11,'RadioButton') GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (12,'CheckedListBox') GO INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME) VALUES (13,'ListBox') GO INSERT INTO TBPMO_CONTROL_TYPE (GUID,TYPE_NAME) VALUES (14,'DatagridviewCheckable') GO --################################################################################################################################################# if not exists (select * from sysobjects where name='TBPMO_SCREEN' and xtype='U') CREATE TABLE TBPMO_SCREEN ( GUID INTEGER NOT NULL IDENTITY(1,1), NAME VARCHAR(100) NOT NULL, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_SCREEN PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_SCREEN_AFT_UPD ON TBPMO_SCREEN FOR UPDATE AS UPDATE TBPMO_SCREEN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SCREEN.GUID = INSERTED.GUID GO INSERT INTO TBPMO_SCREEN(NAME) VALUES ('DEFAULT') GO --################################################################################################################################################# if not exists (select * from sysobjects where name='TBPMO_SYSTEM_FORM' and xtype='U') CREATE TABLE TBPMO_SYSTEM_FORM ( GUID INTEGER NOT NULL IDENTITY(1,1), NAME VARCHAR(100) NOT NULL UNIQUE, IS_MDI_CHILD BIT 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_SYSTEM_FORM PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_SYSTEM_FORM_AFT_UPD ON TBPMO_SYSTEM_FORM FOR UPDATE AS UPDATE TBPMO_SYSTEM_FORM SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SYSTEM_FORM.GUID = INSERTED.GUID GO INSERT INTO TBPMO_SYSTEM_FORM(NAME,IS_MDI_CHILD) VALUES ('frmCalendar',0) GO --################################################################################################################################################# if not exists (select * from sysobjects where name='TBPMO_FORM_TYPE' and xtype='U') CREATE TABLE TBPMO_FORM_TYPE ( GUID INTEGER NOT NULL IDENTITY(1,1), FORM_TYPE VARCHAR(50) NOT NULL UNIQUE, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_FORM_TYPE PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_FORM_TYPE_AFT_UPD ON TBPMO_FORM_TYPE FOR UPDATE AS UPDATE TBPMO_FORM_TYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_TYPE.GUID = INSERTED.GUID GO INSERT INTO TBPMO_FORM_TYPE(FORM_TYPE) VALUES ('ENTITY LEVEL 0') GO INSERT INTO TBPMO_FORM_TYPE(FORM_TYPE) VALUES ('ENTITY LEVEL 1') GO INSERT INTO TBPMO_FORM_TYPE(FORM_TYPE) VALUES ('ENTITY LEVEL 2') GO INSERT INTO TBPMO_FORM_TYPE(FORM_TYPE) VALUES ('SINGLE INSTANCING') GO INSERT INTO TBPMO_FORM_TYPE(FORM_TYPE) VALUES ('GROUP ENTITY') GO --################################################################################################################################################# if not exists (select * from sysobjects where name='TBPMO_FORM' and xtype='U') CREATE TABLE TBPMO_FORM ( GUID INTEGER NOT NULL IDENTITY(1,1), FORM_TYPE_ID INTEGER NOT NULL, PARENT_ID INTEGER NOT NULL DEFAULT 1, POS_ENTITY INTEGER NOT NULL DEFAULT 0, SHOW_FORM_CONSTRUCT BIT NOT NULL DEFAULT 1, NAME VARCHAR(100) NOT NULL, LOCK_CONTROLS_BG_LOAD BIT NOT NULL DEFAULT 1, LOAD_ENT_SEARCH_AT_SU BIT NOT NULL DEFAULT 0, LEVEL VARCHAR(10) NOT NULL, DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT 'dd.MM.YYYY', SINGLE_RECORD BIT NOT NULL DEFAULT 0, REDUNDANT_ENTITY INTEGER 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_FORM PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_FORM_FORM_TYPE_ID FOREIGN KEY (FORM_TYPE_ID) REFERENCES TBPMO_FORM_TYPE (GUID) ) GO CREATE TRIGGER TBPMO_FORM_AFT_UPD ON TBPMO_FORM FOR UPDATE AS UPDATE TBPMO_FORM SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM.GUID = INSERTED.GUID GO --################################################################################################################### --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_FORM_VIEW' and xtype='U') CREATE TABLE TBPMO_FORM_VIEW ( GUID INTEGER NOT NULL IDENTITY(1,1), SCREEN_ID INTEGER NOT NULL, FORM_ID INTEGER NOT NULL, FORM_TITLE VARCHAR(50) NOT NULL, [DESCRIPTION] VARCHAR(300) NOT NULL, IS_MDI_CHILD BIT NOT NULL DEFAULT 1, DOCUMENT_VIEW BIT NOT NULL DEFAULT 0, WINDREAM_SEARCH VARCHAR(300), SEARCH_PATTERN1 VARCHAR(50), SEARCH_PATTERN2 VARCHAR(50), SEARCH_PATTERN3 VARCHAR(50), SEARCH_PATTERN4 VARCHAR(50), SEARCH_PATTERN5 VARCHAR(50), ALLOW_DROP BIT NOT NULL DEFAULT 0, WIDTH SMALLINT, HEIGHT SMALLINT, DIALOG BIT NOT NULL DEFAULT 0, MAXIMIZABLE BIT NOT NULL DEFAULT 1, MINIMIZABLE BIT NOT NULL DEFAULT 1, MAX_WIDTH SMALLINT, MIN_WIDTH SMALLINT, MAX_HEIGHT SMALLINT, MIN_HEIGHT SMALLINT, X_LOC FLOAT, Y_LOC FLOAT, [LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE', ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_FORM_VIEW PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_FORM_VIEW_SCREEN_ID FOREIGN KEY (SCREEN_ID) REFERENCES TBPMO_SCREEN (GUID), CONSTRAINT FK_TBPMO_FORM_VIEW_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID), ) GO CREATE 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 IF NOT EXISTS(SELECT GUID FROM TBPMO_LANGUAGE_OBJECT WHERE LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID AND PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND CAPTION = @FORM_TITLE) 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 ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Dateiname' AND LANGUAGE = 'de-DE') 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 ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Dokumentart' AND LANGUAGE = 'de-DE') 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 ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?' AND LANGUAGE = 'de-DE') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES (@ENTITY_ID,'IN_WORK','in work?',50,2) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER' AND LANGUAGE = 'de-DE') 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 ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT' AND LANGUAGE = 'de-DE') 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 ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Erstellt' AND LANGUAGE = 'de-DE') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES (@ENTITY_ID,'Creation_DateTime','Erstellt',100,4) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Geändert' AND LANGUAGE = 'de-DE') INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES (@ENTITY_ID,'Change_DateTime','Geändert',100,4) --#### IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Filename' AND LANGUAGE = 'en-US') 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 ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Doctype' AND LANGUAGE = 'en-US') 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 ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?' AND LANGUAGE = 'en-US') 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) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER' AND LANGUAGE = 'en-US') 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 ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT' AND LANGUAGE = 'en-US') 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 ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Created' AND LANGUAGE = 'en-US') 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,4) IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Changed' AND LANGUAGE = 'en-US') 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,4) 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 CREATE 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 if not exists (select * from sysobjects where name='TBPMO_RIGHT_GROUP' and xtype='U') CREATE TABLE TBPMO_RIGHT_GROUP ( GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel ENTITY_ID INTEGER NOT NULL, GROUP_ID INTEGER NOT NULL, EDIT_REC BIT NOT NULL DEFAULT 1, ADD_REC BIT NOT NULL DEFAULT 1, DELETE_REC BIT NOT NULL DEFAULT 1, ADD_DOC BIT NOT NULL DEFAULT 1, VIEW_DOC BIT NOT NULL DEFAULT 1, DELETE_DOC BIT NOT NULL DEFAULT 1, READ_ONLY_DOC BIT NOT NULL DEFAULT 0, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_RIGHT_GROUP PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_RIGHT_GROUP_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID), CONSTRAINT FK_TBPMO_RIGHT_GROUP_GROUP_ID FOREIGN KEY (GROUP_ID) REFERENCES TBDD_GROUPS (GUID) ) GO CREATE TRIGGER TBPMO_RIGHT_GROUP_AFT_UPD ON TBPMO_RIGHT_GROUP FOR UPDATE AS BEGIN UPDATE TBPMO_RIGHT_GROUP SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHT_GROUP.GUID = INSERTED.GUID END GO if not exists (select * from sysobjects where name='TBPMO_WD_OBJECTTYPE' and xtype='U') CREATE TABLE TBPMO_WD_OBJECTTYPE ( GUID INTEGER NOT NULL IDENTITY(1,1), OBJECT_TYPE VARCHAR(100) NOT NULL, IDXNAME_ENTITYID VARCHAR(100) NOT NULL DEFAULT 0, IDXNAME_RECORDID VARCHAR(100) NOT NULL DEFAULT '', IDXNAME_DOCTYPE VARCHAR(100) NOT NULL DEFAULT '', IDXNAME_PARENTID VARCHAR(100) NOT NULL DEFAULT 0, IDXNAME_RELATION VARCHAR(100) NOT NULL DEFAULT '', ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_WD_OBJECTTYPE PRIMARY KEY (GUID), CONSTRAINT UQ_OBJECTTYPE_TBPMO_WD_OBJECTTYPE UNIQUE (OBJECT_TYPE) ) GO CREATE TRIGGER TBPMO_WD_OBJECTTYPE_AFT_UPD ON TBPMO_WD_OBJECTTYPE FOR UPDATE AS UPDATE TBPMO_WD_OBJECTTYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_OBJECTTYPE.GUID = INSERTED.GUID GO --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_WD_FORMVIEW_DOKTYPES' and xtype='U') CREATE TABLE TBPMO_WD_FORMVIEW_DOKTYPES ( GUID INTEGER NOT NULL IDENTITY(1,1), FORMVIEW_ID INTEGER NOT NULL, OBJECT_TYPE VARCHAR(100) NOT NULL, DOCTYPE_ID INTEGER NOT NULL, NAME_CONVENTION VARCHAR(500) NOT NULL DEFAULT '', MANUAL_SUBFOLDER 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_WD_FORMVIEW_DOKTYPES PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_WD_FORMVIEW_DOKTYPES_FORMVIEW_ID FOREIGN KEY (FORMVIEW_ID) REFERENCES TBPMO_FORM_VIEW (GUID), CONSTRAINT FK_TBPMO_WD_FORMVIEW_DOKTYPES_DOCTYPE_ID FOREIGN KEY (DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART (GUID) ) GO CREATE TRIGGER TBPMO_WD_FORMVIEW_DOKTYPES_AFT_UPD ON TBPMO_WD_FORMVIEW_DOKTYPES FOR UPDATE AS UPDATE TBPMO_WD_FORMVIEW_DOKTYPES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_FORMVIEW_DOKTYPES.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_DOCRESULT_LIST' and xtype='U') CREATE TABLE TBPMO_DOCRESULT_LIST ( [DocID] INTEGER NOT NULL, [DISPLAY_NAME] VARCHAR(250) NOT NULL, [FULL_FILENAME] VARCHAR(5000) NOT NULL, [Filename] VARCHAR(500) NOT NULL, [Doctype] VARCHAR(250) NOT NULL, [Version] SMALLINT NOT NULL DEFAULT 0, [Objecttype] VARCHAR(250) NOT NULL, Creation_DateTime DATETIME NOT NULL, Change_DateTime DATETIME, STRING1 VARCHAR(500), STRING2 VARCHAR(500), STRING3 VARCHAR(500), STRING4 VARCHAR(500), STRING5 VARCHAR(500), STRING6 VARCHAR(500), STRING7 VARCHAR(500), STRING8 VARCHAR(500), STRING9 VARCHAR(500), STRING10 VARCHAR(500), IN_WORK BIT NOT NULL DEFAULT 0, IN_WORK_USER VARCHAR(250), IN_WORK_COMMENT VARCHAR(500), ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_DOCRESULT_LIST PRIMARY KEY ([DocID]) ) GO CREATE TRIGGER TBPMO_DOCRESULT_LIST_AFT_UPD ON TBPMO_DOCRESULT_LIST FOR UPDATE AS UPDATE TBPMO_DOCRESULT_LIST SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID] GO --################################################################################################################################################# if not exists (select * from sysobjects where name='TBPMO_DOCSEARCH_RESULTLIST_CONFIG' and xtype='U') CREATE TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG ( GUID INTEGER NOT NULL IDENTITY(1,1), COLUMN_VIEW VARCHAR(100) NOT NULL, CONFIG_COLUMNS BIT NOT NULL DEFAULT 0, EDITABLE BIT NOT NULL DEFAULT 0, [ENTITY_ID] INTEGER NOT NULL, HEADER_CAPTION VARCHAR(100) NOT NULL, [LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE', SEQUENCE INTEGER NOT NULL DEFAULT 0, [TYPE_ID] TINYINT NOT NULL DEFAULT 1, VISIBLE BIT NOT NULL DEFAULT 1, WIDTH INTEGER NOT NULL DEFAULT 250, 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 [dbo].[TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS] ON [dbo].[TBPMO_DOCSEARCH_RESULTLIST_CONFIG] AFTER INSERT AS BEGIN DECLARE @CONFIG_ID INTEGER, @ENTITY_ID INTEGER, @ADDED_WHO VARCHAR(50), @TYPE_ID INTEGER, @CONFIG_COLUMNS INTEGER, @DOC_ID INT, @REC_ID INT, @VALUE VARCHAR(100) SELECT @CONFIG_ID = GUID, @ENTITY_ID = [ENTITY_ID], @TYPE_ID = [TYPE_ID], @ADDED_WHO = ADDED_WHO, @CONFIG_COLUMNS = CONFIG_COLUMNS FROM INSERTED --Den Defaultvalue eintragen IF @CONFIG_COLUMNS = 1 BEGIN DECLARE cursorRecordDocs CURSOR LOCAL FOR SELECT T.RECORD_ID, T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = @ENTITY_ID OPEN cursorRecordDocs FETCH NEXT FROM cursorRecordDocs INTO @REC_ID,@DOC_ID WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) VALUES ( @DOC_ID,@REC_ID,@CONFIG_ID,'',@ADDED_WHO) FETCH NEXT FROM cursorRecordDocs INTO @REC_ID,@DOC_ID END CLOSE cursorRecordDocs DEALLOCATE cursorRecordDocs END END 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 TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_DEL ON TBPMO_DOCSEARCH_RESULTLIST_CONFIG FOR DELETE AS BEGIN TRY DECLARE @CONFIG_ID INTEGER, @LANGUAGE VARCHAR(5) SELECT @CONFIG_ID = deleted.GUID, @LANGUAGE = deleted.LANGUAGE FROM deleted DELETE FROM TBPMO_DOC_VALUES WHERE CONFIG_ID = @CONFIG_ID END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO if not exists (select * from sysobjects where name='TBPMO_DOC_RECORD_LINK' and xtype='U') 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 CREATE TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_DEL] ON [dbo].[TBPMO_DOC_RECORD_LINK] WITH EXECUTE AS CALLER FOR DELETE AS BEGIN TRY DECLARE @RECORD_ID INTEGER, @DOC_ID INTEGER, @ENTITY_ID INTEGER SELECT @RECORD_ID = RECORD_ID, @DOC_ID = DOC_ID FROM DELETED SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID DELETE FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID END TRY BEGIN CATCH PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO CREATE TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @RECORD_ID INTEGER, @DOC_ID INTEGER, @ADDED_WHO VARCHAR(50), @ENTITY_ID INTEGER SELECT @RECORD_ID = RECORD_ID, @DOC_ID = DOC_ID, @ADDED_WHO = ADDED_WHO FROM INSERTED SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID --Den Defaultvalue der DropdownListe eintragen IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 3 AND CONFIG_COLUMNS = 1) >= 1 BEGIN INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 3 AND T.CONFIG_COLUMNS = 1 END IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) >= 1 BEGIN INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 3 AND T.CONFIG_COLUMNS = 1 END EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ --DECLARE -- @ENITTY_ID INTEGER, -- @DOCTYPE VARCHAR(250), -- @SUPPLIER VARCHAR(250) --SELECT @ENITTY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID --IF @ENITTY_ID = 21 -- BEGIN -- SELECT @SUPPLIER = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 258 -- SELECT @DOCTYPE = T.Doctype FROM TBPMO_DOCRESULT_LIST T, TBPMO_DOC_RECORD_LINK T1 WHERE T.DocID = T1.DOC_ID AND T1.RECORD_ID = @RECORD_ID -- IF @SUPPLIER <> '' and @DOCTYPE <> '' AND @DOCTYPE IN ('55.SA','23B.NDA/CA') -- BEGIN -- INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID,RECORD_ID,ADDED_WHO) SELECT @DOC_ID,[Record-ID],'TBPMO_DOC_RECORD_LINK_AFT_INS' FROM VWTEMP_PMO_FORM19 where UPPER(Supplier_name) = UPPER(@SUPPLIER) -- END -- END /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ END TRY BEGIN CATCH PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO if not exists (select * from sysobjects where name='TBPMO_DOCSEARCH_VARIABLE_CONTROLS' and xtype='U') 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 --################################################################################################################################################# if not exists (select * from sysobjects where name='TBPMO_MENU_FORM' and xtype='U') CREATE TABLE TBPMO_MENU_FORM ( GUID INTEGER NOT NULL IDENTITY(1,1), MENU_ENTRY VARCHAR(100) NOT NULL, ICON_PATH VARCHAR(1000), SEQUENCE INTEGER 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_MENU_FORM PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_MENU_FORM_AFT_UPD ON TBPMO_MENU_FORM FOR UPDATE AS UPDATE TBPMO_MENU_FORM SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_MENU_FORM.GUID = INSERTED.GUID GO --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_MENU_FORM_ENTRIES' and xtype='U') CREATE TABLE TBPMO_MENU_FORM_ENTRIES ( GUID INTEGER NOT NULL IDENTITY(1,1), MENU_FORM_ID INTEGER NOT NULL, FORM_ID INTEGER NOT NULL, ICON_PATH VARCHAR(1000), MENU_ENTRY VARCHAR(50) NOT NULL, SEQUENCE INTEGER 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_MENU_FORM_ENTRIES PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_MENU_FORM_ENTRIES_MENU_FORM_ID FOREIGN KEY (MENU_FORM_ID) REFERENCES TBPMO_MENU_FORM (GUID), CONSTRAINT FK_TBPMO_MENU_FORM_ENTRIES_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID), ) GO CREATE TRIGGER TBPMO_MENU_FORM_ENTRIES_AFT_UPD ON TBPMO_MENU_FORM_ENTRIES FOR UPDATE AS UPDATE TBPMO_MENU_FORM_ENTRIES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_MENU_FORM_ENTRIES.GUID = INSERTED.GUID GO --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_WD_FVIEW_DT_INDEX' and xtype='U') CREATE TABLE TBPMO_WD_FVIEW_DT_INDEX ( GUID INTEGER NOT NULL IDENTITY(1,1), FV_DOCTYPE_ID INTEGER NOT NULL, INDEXNAME VARCHAR(100) NOT NULL, INDEX_VALUE VARCHAR(100) NOT NULL, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_WD_FVIEW_DT_INDEX PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_WD_FVIEW_DT_INDEX_FW_DOCTYPE_ID FOREIGN KEY (FV_DOCTYPE_ID) REFERENCES TBPMO_WD_FORMVIEW_DOKTYPES (GUID) ) GO CREATE TRIGGER TBPMO_WD_FVIEW_DT_INDEX_AFT_UPD ON TBPMO_WD_FVIEW_DT_INDEX FOR UPDATE AS UPDATE TBPMO_WD_FVIEW_DT_INDEX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_FVIEW_DT_INDEX.GUID = INSERTED.GUID GO --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_ENTITY_SUPERVISOR' and xtype='U') 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 if not exists (select * from sysobjects where name='TBPMO_FORM_SQL_CONSTRUCT' and xtype='U') CREATE TABLE TBPMO_FORM_SQL_CONSTRUCT ( GUID INTEGER NOT NULL IDENTITY(1,1), SCREEN_ID INTEGER NOT NULL, FORM_ID INTEGER NOT NULL, SQL1 VARCHAR(1000) NOT NULL, SQL2 VARCHAR(1000) NOT NULL, SQL3 VARCHAR(1000) , SQL4 VARCHAR(1000) , ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_FORM_SQL_CONSTRUCT PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_FORM_SQL_CONSTRUCT_SCREEN_ID FOREIGN KEY (SCREEN_ID) REFERENCES TBPMO_SCREEN (GUID), CONSTRAINT FK_TBPMO_FORM_SQL_CONSTRUCT_SQL_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID), ) GO CREATE TRIGGER TBPMO_FORM_SQL_CONSTRUCT_AFT_UPD ON TBPMO_FORM_SQL_CONSTRUCT FOR UPDATE AS UPDATE TBPMO_FORM_SQL_CONSTRUCT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_SQL_CONSTRUCT.GUID = INSERTED.GUID GO --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_RUN_PROCEDURES' and xtype='U') CREATE TABLE TBPMO_RUN_PROCEDURES ( GUID INTEGER NOT NULL IDENTITY(1,1), FORM_ID INTEGER NOT NULL, EXECUTE_COMMAND VARCHAR(500) NOT NULL, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_RUN_PROCEDURES PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_RUN_PROCEDURES_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID), ) GO CREATE TRIGGER TBPMO_RUN_PROCEDURES_AFT_UPD ON TBPMO_RUN_PROCEDURES FOR UPDATE AS UPDATE TBPMO_RUN_PROCEDURES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RUN_PROCEDURES.GUID = INSERTED.GUID GO GO --#################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_FORM_SQL' and xtype='U') CREATE TABLE TBPMO_FORM_SQL ( GUID INT IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel, FORM_ID INT NOT NULL, SQL_COMMAND VARCHAR(MAX), SQL_COMMAND1 VARCHAR(MAX), SQL_COMMAND2 VARCHAR(MAX), SQL_COMMAND3 VARCHAR(MAX), SQL_COMMAND4 VARCHAR(MAX), AKTIV BIT DEFAULT 1 NOT NULL, -- 1 - Datensatz aktiv, bei 0 - inaktiv. COMMENT VARCHAR(500), OPTIONFIELDBIT BIT DEFAULT 0 NOT NULL, OPTIONFIELDBIT1 BIT DEFAULT 0 NOT NULL, OPTIONFIELDBIT2 BIT DEFAULT 0 NOT NULL, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_FORM_SQL PRIMARY KEY(GUID), CONSTRAINT FK_TBPMO_FORM_SQL_FID FOREIGN KEY(FORM_ID) REFERENCES TBPMO_FORM(GUID) ) GO ------------------------------------------------------------------------------ CREATE TRIGGER TBPMO_FORM_SQL_AFT_UPD ON TBPMO_FORM_SQL FOR UPDATE AS BEGIN UPDATE TBPMO_FORM_SQL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_SQL.GUID = INSERTED.GUID END GO --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_FORM_CONSTRUCTOR' and xtype='U') CREATE TABLE TBPMO_FORM_CONSTRUCTOR ( GUID INTEGER NOT NULL IDENTITY(1,1), FORM_TITLE VARCHAR(50), SHORT_TITLE VARCHAR(50), SEQUENCE_MENU INTEGER NOT NULL DEFAULT 1, [LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE', MENU_IMG VARBINARY(MAX), ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME CONSTRAINT PK_TBPMO_FORM_CONSTRUCTOR PRIMARY KEY (GUID) ) GO CREATE TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTRUCTOR] FOR UPDATE AS BEGIN DECLARE @FORM_TITLE VARCHAR(50), @LANGUAGE VARCHAR(5), @CHANGED_WHO VARCHAR(50), @GUID INTEGER, @PMO_OBJECT_NAME VARCHAR(100) SELECT @GUID = GUID, @FORM_TITLE = FORM_TITLE, @LANGUAGE = [LANGUAGE], @CHANGED_WHO = CHANGED_WHO FROM INSERTED SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO) SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID) IF @LANGUAGE is not null UPDATE TBPMO_FORM_CONSTRUCTOR SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_CONSTRUCTOR.GUID = INSERTED.GUID If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1) 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 = 1 ELSE INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE) END GO CREATE 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 --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_FORM_CONSTRUCTOR_DETAIL' and xtype='U') CREATE TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL ( GUID INTEGER NOT NULL IDENTITY(1,1), ACTIVATE_DOC_SEARCH_ON_EDIT BIT NOT NULL DEFAULT 0, CONSTRUCT_ID INTEGER NOT NULL, COLUMN_NAME1 VARCHAR(100) NOT NULL DEFAULT '', COLUMN_NAME2 VARCHAR(100) NOT NULL DEFAULT '', CONTROL_DOCTYPE_MATCH INTEGER NOT NULL DEFAULT '0', DOC_SEARCH_TAB1 BIT NOT NULL DEFAULT 0, FORM_ID INTEGER NOT NULL, LEVEL1_SELECT BIT NOT NULL DEFAULT 0, LOAD_DIRECT BIT NOT NULL DEFAULT 0, PARENT_ID INTEGER NOT NULL DEFAULT 0, SEARCH_PATTERN1 VARCHAR(50), SEARCH_PATTERN2 VARCHAR(50), SEARCH_PATTERN3 VARCHAR(50), SEARCH_PATTERN4 VARCHAR(50), SEARCH_PATTERN5 VARCHAR(50), SEQUENCE INTEGER NOT NULL, SQL_SELECT_EBENE1 VARCHAR(4000) NOT NULL, SQL_SELECT_EBENE2 VARCHAR(4000) NOT NULL, SQL_QUICK_VIEW VARCHAR(MAX) NOT NULL DEFAULT '', SQL_RIGHT_READ_AND_VIEW_ONLY VARCHAR(5000) NOT NULL DEFAULT '', SQL_RIGHT_WINDREAM_VIEW VARCHAR(5000) NOT NULL DEFAULT '', ADD_RECORDS BIT NOT NULL DEFAULT 1, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_FORM_CONSTRUCTOR_DETAIL PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_FORM_CONSTRUCTOR_DETAIL_CONSTRUCT_ID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID), CONSTRAINT FK_TBPMO_FORM_CONSTRUCTOR_DETAIL_FORMID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID) ) GO CREATE TRIGGER TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_UPD ON TBPMO_FORM_CONSTRUCTOR_DETAIL FOR UPDATE AS UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_CONSTRUCTOR_DETAIL.GUID = INSERTED.GUID GO CREATE TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS] ON [dbo].[TBPMO_FORM_CONSTRUCTOR_DETAIL] FOR INSERT AS DECLARE @CONSTRUCT_ID INTEGER, @PARENT_ID INTEGER, @EXISTS as INTEGER BEGIN SELECT @CONSTRUCT_ID = CONSTRUCT_ID, @PARENT_ID = PARENT_ID FROM INSERTED IF @PARENT_ID = 0 BEGIN SELECT @EXISTS = COUNT(*) FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @CONSTRUCT_ID AND PARENT_ID = @PARENT_ID IF @EXISTS > 1 BEGIN ROLLBACK TRANSACTION RAISERROR('ONLY ONE FORM WITH PARENT_ID 0 IS ALLOWED WITHIN CONSTRUCT-ID',16,10) END END END GO if not exists (select * from sysobjects where name='TBPMO_CONSTRUCTOR_USER_SQL' and xtype='U') 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 'DEFAULT', 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 ------------------------------------------------------------------------------ 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 if not exists (select * from sysobjects where name='TBPMO_CONSTRUCTOR_USER' and xtype='U') 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 TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_DEL] ON [dbo].[TBPMO_CONSTRUCTOR_USER] WITH EXECUTE AS CALLER FOR DELETE AS BEGIN TRY DECLARE @USER_ID INTEGER, @CONSTRUCT_ID INTEGER, @ADDED_WHO VARCHAR(50) SELECT @CONSTRUCT_ID = CONSTRUCT_ID, @USER_ID = GUID, @ADDED_WHO = ADDED_WHO FROM DELETED DECLARE @ENTITY_ID INTEGER DECLARE c_USER CURSOR FOR SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE DOCUMENT_VIEW = 1 OPEN c_USER FETCH NEXT FROM c_USER INTO @ENTITY_ID WHILE @@FETCH_STATUS = 0 BEGIN DELETE FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID FETCH NEXT FROM c_USER INTO @ENTITY_ID END CLOSE c_USER DEALLOCATE c_USER END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO 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 DOCUMENT_VIEW = 1 OPEN c_USER FETCH NEXT FROM c_USER INTO @ENTITY_ID WHILE @@FETCH_STATUS = 0 BEGIN --INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES --(@USER_ID,@ENTITY_ID,'USER ADDED TO CONSTRUCTOR','TBPMO_CONSTRUCTOR_USER_AFT_INS') --INSERT INTO TBPMO_ENTITY_USER_RIGHTS (USER_ID,ENTITY_ID,READ_ONLY,FILES_VISIBLE) VALUES --(@USER_ID,@ENTITY_ID,0,1) INSERT INTO TBPMO_RIGHT_USER (USER_ID, ENTITY_ID) VALUES (@USER_ID,@ENTITY_ID) FETCH NEXT FROM c_USER INTO @ENTITY_ID END CLOSE c_USER DEALLOCATE c_USER END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO if not exists (select * from sysobjects where name='TBPMO_SUPERVISOR_CONTROLS' and xtype='U') 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 if not exists (select * from sysobjects where name='TBPMO_USER_RIGHTS_JOBS' and xtype='U') 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 if not exists (select * from sysobjects where name='TBPMO_LOG_ESSENTIALS' and xtype='U') 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 '', [ENTITY_ID] INTEGER, 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 --################################################################################################################### CREATE PROCEDURE [dbo].[PRPMO_CREATE_QUICK_SQL](@pCONSTURCT_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, @FORM_ID INT, @SQL_LBL VARCHAR(2000) DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'['+T.COL_NAME+']' AS 'COL_NAME',T2.GUID FROM TBPMO_CONTROL T, TBPMO_FORM_CONSTR_QUICK_DISPLAY T1, TBPMO_CONTROL_TYPE T2 WHERE T1.HEADLINE = 0 AND T1.PICTURE = 0 AND T1.CONSTRUCT_ID = @pCONSTURCT_ID AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID ORDER BY T1.SEQUENCE BEGIN SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID],' SET @SQL_END = ' FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' --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 SELECT @FORM_ID = FORM_ID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE GUID = @pCONSTURCT_ID SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@FORM_ID) --PICTURE HOLEN SELECT @CONTROL_ID = T.GUID,@COL_NAME = '['+T.COL_NAME+']' FROM TBPMO_CONTROL T, TBPMO_FORM_CONSTR_QUICK_DISPLAY T1 WHERE T1.CONSTRUCT_ID = @pCONSTURCT_ID AND T.GUID = T1.CONTROL_ID AND T1.PICTURE = 1 IF @CONTROL_ID > 0 BEGIN 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 SET @SQL_BEGIN = @SQL_BEGIN + @SQL + ', ' SET @SQL = '' END SET @CONTROL_ID = 0 --HEADLINE HOLEN SELECT @CONTROL_ID = T.GUID,@COL_NAME = '['+T.COL_NAME+']' FROM TBPMO_CONTROL T, TBPMO_FORM_CONSTR_QUICK_DISPLAY T1 WHERE T1.CONSTRUCT_ID = @pCONSTURCT_ID AND T.GUID = T1.CONTROL_ID AND T1.HEADLINE = 1 IF @CONTROL_ID > 0 BEGIN 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 = 1 -- BEGIN -- SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID -- SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T2.GUID') -- SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME -- END 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 SET @SQL_BEGIN = @SQL_BEGIN + @SQL + ', ' SET @SQL = '' END OPEN c_SPALTENNAMEN FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID WHILE @@FETCH_STATUS = 0 BEGIN 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 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','T2.GUID') SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME END 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 END CLOSE c_SPALTENNAMEN DEALLOCATE c_SPALTENNAMEN SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET SQL_QUICK_VIEW = @RESULT WHERE GUID = @pCONSTURCT_ID END GO --########################################################################################################################################## --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_CONTROL' and xtype='U') CREATE TABLE TBPMO_CONTROL ( GUID INTEGER NOT NULL IDENTITY(1,1), CONTROL_TYPE_ID INTEGER NOT NULL, [COL_NAME] VARCHAR(100) NOT NULL, CONNECTION_ID_1 SMALLINT, CONNECTION_ID_2 SMALLINT, DEFAULT_VALUE VARCHAR(100), FORM_ID INTEGER NOT NULL, FORMAT_TYPE VARCHAR(50) NOT NULL DEFAULT 'String', NAME VARCHAR(100) NOT NULL, SHOW_COLUMN BIT NOT NULL DEFAULT 1, [PARENT_CONTROL_ID] INTEGER NOT NULL DEFAULT 0, [REQUIRED] BIT NOT NULL DEFAULT 0, SELECT_ONLY BIT NOT NULL DEFAULT 0, STATIC_LIST VARCHAR(2000) NOT NULL DEFAULT '', MASTER_DATA_ID INTEGER NOT NULL DEFAULT 0, MULTILINE BIT NOT NULL DEFAULT 0, [READ_ONLY] BIT NOT NULL DEFAULT 0, SQL_COMMAND_1 VARCHAR(2000), SQL_COMMAND_2 VARCHAR(2000), AUTO_SUGGEST BIT NOT NULL DEFAULT 0, TREE_VIEW BIT NOT NULL DEFAULT 0, [VALIDATION] BIT NOT NULL DEFAULT 0, VISIBLE BIT 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_CONTROL PRIMARY KEY (GUID), CONSTRAINT UQK_TBPMO_CONTROL UNIQUE (FORM_ID,NAME), CONSTRAINT FK_TBPMO_CONTROL_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID), CONSTRAINT FK_TBPMO_CONTROL_CONTROL_TYPE_ID FOREIGN KEY (CONTROL_TYPE_ID) REFERENCES TBPMO_CONTROL_TYPE (GUID), ) GO CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_INS] ON [dbo].[TBPMO_CONTROL] FOR INSERT AS DECLARE @CONTROL_ID INTEGER, @ADDED_WHO VARCHAR(50), @DEFAULT_VALUE VARCHAR(100), @ENTITY_ID INTEGER, @COL_NAME VARCHAR(50), @TYP_ID INTEGER, @SQL NVARCHAR(MAX) SELECT @CONTROL_ID = GUID, @ADDED_WHO = ADDED_WHO, @DEFAULT_VALUE = DEFAULT_VALUE, @ENTITY_ID = FORM_ID, @COL_NAME = COL_NAME FROM INSERTED --@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0 EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, '' ,@TYP_ID,@DEFAULT_VALUE,0 GO CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_UPD] ON [dbo].[TBPMO_CONTROL] FOR UPDATE AS BEGIN TRY DECLARE @CONTROL_ID INTEGER, @TYP_ID INTEGER, @TABLENAME_COL NVARCHAR(100), @NEW_COL_NAME NVARCHAR(100), @SQL NVARCHAR(MAX), @ENTITY_ID INTEGER, @COL_NAME VARCHAR(50), @COL_NAME_OLD VARCHAR(50), @DEFAULT_VALUE VARCHAR(MAX), @SQL_DEF NVARCHAR(1000), @ENTITY_TABLENAME VARCHAR(50) SELECT @COL_NAME_OLD = COL_NAME FROM DELETED SELECT @CONTROL_ID = GUID, @TYP_ID = CONTROL_TYPE_ID, @ENTITY_ID = FORM_ID, @COL_NAME = COL_NAME, @DEFAULT_VALUE = DEFAULT_VALUE FROM INSERTED UPDATE TBPMO_CONTROL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL.GUID = INSERTED.GUID IF @TYP_ID NOT IN (1,5,8,9) BEGIN SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) IF COL_LENGTH(@ENTITY_TABLENAME, @COL_NAME) IS NOT NULL BEGIN PRINT 'NOW EXECUTING PRPMO_ALTER_ENTITY_TABLE....' EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,1 END ELSE PRINT 'NO ALTER COLUMN: COLUMN NOT EXISTING!' END END TRY BEGIN CATCH PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_DEL] ON [dbo].[TBPMO_CONTROL] FOR DELETE AS DECLARE @CONTROL_ID INTEGER, @TYP_ID INTEGER, @TABLENAME_COL NVARCHAR(100), @NEW_COL_NAME NVARCHAR(100), @SQL NVARCHAR(MAX), @ENTITY_ID INTEGER, @COL_NAME VARCHAR(50), @COL_NAME_OLD VARCHAR(50), @DEFAULT_VALUE VARCHAR(MAX), @SQL_DEF NVARCHAR(1000) SELECT @CONTROL_ID = GUID, @COL_NAME_OLD = COL_NAME, @TYP_ID = CONTROL_TYPE_ID, @ENTITY_ID = FORM_ID, @COL_NAME = COL_NAME, @DEFAULT_VALUE = DEFAULT_VALUE FROM DELETED EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,2 GO --############################################################################################################################## if not exists (select * from sysobjects where name='TBPMO_FORM_CONSTR_QUICK_DISPLAY' and xtype='U') CREATE TABLE TBPMO_FORM_CONSTR_QUICK_DISPLAY ( GUID INTEGER NOT NULL IDENTITY(1,1), CONSTRUCT_ID INTEGER NOT NULL, CONTROL_ID INTEGER NOT NULL, HEADLINE BIT NOT NULL DEFAULT 0, PICTURE BIT NOT NULL DEFAULT 0, SEQUENCE INTEGER 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_FORM_CONSTR_QUICK_DISPLAY PRIMARY KEY (GUID), CONSTRAINT UNIQUE_CONSTRUCTID_CONTROL_ID UNIQUE(CONSTRUCT_ID,CONTROL_ID), CONSTRAINT FK_TBPMO_FORM_CONSTR_QUICK_DISPLAY_CONSTRUCT_ID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL (GUID), CONSTRAINT FK_TBPMO_FORM_CONSTR_QUICK_DISPLAY_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), ) GO CREATE TRIGGER [dbo].[TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTR_QUICK_DISPLAY] FOR UPDATE AS DECLARE @GUID INTEGER, @CONSTRUCT_ID INTEGER, @HEADLINE BIT SELECT @GUID = GUID, @CONSTRUCT_ID = CONSTRUCT_ID, @HEADLINE = HEADLINE FROM INSERTED IF @HEADLINE = 1 BEGIN UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET HEADLINE = 0 WHERE CONSTRUCT_ID = @CONSTRUCT_ID AND PICTURE = 0 AND GUID <> @GUID EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID END UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID GO CREATE TRIGGER TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_INS ON TBPMO_FORM_CONSTR_QUICK_DISPLAY WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @CONSTRUCT_ID INTEGER, @SEQUENCE INTEGER, @COUNT INT SELECT @CONSTRUCT_ID = CONSTRUCT_ID FROM INSERTED SELECT @SEQUENCE = MAX(SEQUENCE), @COUNT = COUNT(*) FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE HEADLINE = 0 AND PICTURE = 0 AND CONSTRUCT_ID = @CONSTRUCT_ID IF @COUNT = 1 UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET HEADLINE = 1 FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID IF @COUNT > 1 UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET SEQUENCE = @SEQUENCE + 1 FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID END TRY BEGIN CATCH PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO CREATE TRIGGER TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_DEL ON TBPMO_FORM_CONSTR_QUICK_DISPLAY WITH EXECUTE AS CALLER FOR DELETE AS BEGIN TRY DECLARE @CONSTRUCT_ID INTEGER, @COUNT INT SELECT @CONSTRUCT_ID = CONSTRUCT_ID FROM deleted SELECT @COUNT = COUNT(*) FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE CONSTRUCT_ID = @CONSTRUCT_ID IF @COUNT >= 2 EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID ELSE UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET SQL_QUICK_VIEW = '' WHERE GUID = @CONSTRUCT_ID END TRY BEGIN CATCH PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_WORKFLOW' and xtype='U') CREATE TABLE TBPMO_WORKFLOW ( GUID INTEGER NOT NULL IDENTITY(1,1), CREATE_ON_FOLL_UP BIT NOT NULL DEFAULT 0, CREATE_ON_REC_CREATE BIT NOT NULL DEFAULT 0, DESCRIPTION VARCHAR(250), TITLE VARCHAR(100) NOT NULL, 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', MANUALLY 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 PRIMARY KEY (GUID) ) GO CREATE 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 CREATE 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 --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_TASK_STATE' and xtype='U') CREATE TABLE TBPMO_WORKFLOW_TASK_STATE ( GUID INTEGER NOT NULL IDENTITY(1,1), STATE_DESC VARCHAR(50) NOT NULL UNIQUE, COLOR VARCHAR(50), 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_STATE PRIMARY KEY (GUID) ) GO CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE] FOR UPDATE AS BEGIN TRY DECLARE @STATE_DESC VARCHAR(50), @LANGUAGE VARCHAR(5), @CHANGED_WHO VARCHAR(50), @GUID INTEGER, @SCREEN_ID INTEGER, @PMO_OBJECT_NAME VARCHAR(100) SELECT @GUID = GUID, @STATE_DESC = STATE_DESC, @SCREEN_ID = 1, @CHANGED_WHO = CHANGED_WHO FROM INSERTED SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID) UPDATE TBPMO_WORKFLOW_TASK_STATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK_STATE.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 = @STATE_DESC,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,@STATE_DESC) 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 TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84' + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --############################################# if not exists (select * from sysobjects where name='TBPMO_LANGUAGE_OBJECT' and xtype='U') CREATE TABLE TBPMO_LANGUAGE_OBJECT ( GUID INT IDENTITY(1,1), LANGUAGE_TYPE VARCHAR(5) NOT NULL, SCREEN_ID INTEGER NOT NULL, PMO_OBJECT_NAME VARCHAR(100) NOT NULL, CAPTION VARCHAR(100) NOT NULL, HINT VARCHAR(500), ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_LANGUAGE_OBJECT PRIMARY KEY(GUID) ) GO CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @STATE_DESC VARCHAR(50), @ADDED_WHO VARCHAR(50), @GUID INTEGER, @SCREEN_ID INTEGER, @PMO_OBJECT_NAME VARCHAR(100) SELECT @GUID = GUID, @STATE_DESC = STATE_DESC, @SCREEN_ID = 1, @ADDED_WHO = ADDED_WHO FROM INSERTED SET @PMO_OBJECT_NAME = 'WF_STATE_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,@STATE_DESC,@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,@STATE_DESC,@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 TRIGGER TBPMO_WORKFLOW_TASK_STATE_DELETE ON TBPMO_WORKFLOW_TASK_STATE FOR DELETE AS DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE STATE_ID = ( SELECT GUID FROM DELETED) GO INSERT INTO TBPMO_WORKFLOW_TASK_STATE(STATE_DESC) VALUES ('Angelegt') GO INSERT INTO TBPMO_WORKFLOW_TASK_STATE(STATE_DESC) VALUES ('in Bearbeitung') GO INSERT INTO TBPMO_WORKFLOW_TASK_STATE(STATE_DESC) VALUES ('Erledigt') GO --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_RECORD' and xtype='U') CREATE TABLE TBPMO_RECORD ( GUID INTEGER NOT NULL IDENTITY(1,1), COLOR VARCHAR(50) NOT NULL DEFAULT '', FORM_ID INTEGER NOT NULL, IN_WORK BIT NOT NULL DEFAULT 0, IN_WORK_WHO VARCHAR(100), IN_WORK_WHEN DATETIME, DELETED BIT NOT NULL DEFAULT 0, NODE_GUID INTEGER, PARENT_RECORD INTEGER NOT NULL DEFAULT 0, RECORD_ENTITY_ID BIGINT NOT NULL DEFAULT 0, [VERSION] INTEGER 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_RECORD PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_RECORD_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM(GUID) ) GO CREATE TRIGGER TBPMO_RECORD_AFT_UPD ON TBPMO_RECORD FOR UPDATE AS BEGIN TRY DECLARE @CHANGES BIT, @RECORD_ID INTEGER, @OLD_ENTITY_ID INTEGER, @ENTITY_ID INTEGER, @PARENT_RECORD INTEGER, @ENTITY_TABLENAME VARCHAR(50), @SQL NVARCHAR(MAX), @DELETED_OLD BIT, @DELETED BIT, @RECORD_ENTITY_ID BIGINT, @INWORK_OLD BIT, @INWORK BIT, @INWORK_WHO VARCHAR(50), @CHANGED_WHO VARCHAR(50) SELECT @DELETED_OLD = [deleted], @INWORK_OLD = IN_WORK, @OLD_ENTITY_ID = FORM_ID FROM deleted SELECT @RECORD_ID = GUID, @ENTITY_ID = FORM_ID, @DELETED = [deleted], @RECORD_ENTITY_ID = RECORD_ENTITY_ID, @INWORK = IN_WORK , @INWORK_WHO = ISNULL(IN_WORK_WHO,''), @CHANGED_WHO = ISNULL(CHANGED_WHO,'') FROM inserted --PRINT '@RECORD_ENTITY_ID: ' + CONVERT(VARCHAR(100),@RECORD_ENTITY_ID) SET @CHANGES = 0 IF UPDATE(IN_WORK) BEGIN IF @INWORK_OLD = 0 and @INWORK = 1 BEGIN DECLARE @COMMENT VARCHAR(100) SET @COMMENT = 'RECORD IN_WORK BY: ' + @INWORK_WHO PRINT @COMMENT INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD IN_WORK BY: ' + @INWORK_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD') UPDATE TBPMO_RECORD SET IN_WORK_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID END ELSE IF @INWORK_OLD = 1 and @INWORK = 0 BEGIN UPDATE TBPMO_RECORD SET IN_WORK_WHEN = NULL FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD UNLOCKED', 'TRIGGER TBPMO_RECORD_AFT_UPD') END END IF UPDATE(VERSION) BEGIN SET @CHANGES = 1 END IF UPDATE(FORM_ID) BEGIN --ROLLBACK TRANSACTION --RAISERROR('NOT ALLOWED TEMPORARILY', 16, 1) SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID) --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) EXEC sp_executesql @SQL EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED AND RENEWED ENTITY: ' + CONVERT(VARCHAR(3),@ENTITY_ID), 'TRIGGER TBPMO_RECORD_AFT_UPD') SET @CHANGES = 1 END IF UPDATE (PARENT_RECORD) BEGIN SELECT @RECORD_ID = GUID, @PARENT_RECORD = PARENT_RECORD, @ENTITY_ID = FORM_ID FROM INSERTED SET @CHANGES = 1 IF @PARENT_RECORD > 0 BEGIN SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) --RAISERROR(@SQL, 16, 1) EXEC sp_executesql @SQL INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED THE PARENT_ID (VARIETY?): ' + @CHANGED_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD') END END IF UPDATE([DELETED]) BEGIN IF @DELETED_OLD = 0 and @DELETED = 1 BEGIN Print '@DELETED_OLD = 0 and @DELETED = 1' SET @RECORD_ENTITY_ID = 9999000000 + @RECORD_ENTITY_ID Print '@RECORD_ENTITY_ID: '+ CONVERT(VARCHAR(100),@RECORD_ENTITY_ID) UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @RECORD_ENTITY_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID END SET @CHANGES = 1 END IF @CHANGES = 1 UPDATE TBPMO_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID END TRY BEGIN CATCH PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- CREATE PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER, @MAN_AUTO BIT = 1) 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 T.WF_ID FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 WHERE T.WF_ID = T1.GUID AND T.ENTITY_ID = @FORM_ID AND T1.MANUALLY = @MAN_AUTO OPEN c_TASK FETCH NEXT FROM c_TASK INTO @WF_ID WHILE @@FETCH_STATUS = 0 BEGIN --DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY 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_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) IF EXISTS(SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) UPDATE TBPMO_WORKFLOW_TASK SET ACTIVE = 0,CHANGED_WHO = (SELECT ISNULL(IN_WORK_WHO,'') FROM TBPMO_RECORD WHERE GUID = @RECORD_ID) WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) Print 'All data deleted' 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 ------------------------------------------------------------------------------- CREATE 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, @ADDED_WHO VARCHAR(50), @INSERT_SQL NVARCHAR(MAX) SELECT @FORM_ID = FORM_ID, @RECORD_ID = GUID, @ADDED_WHO = ADDED_WHO FROM INSERTED IF @FORM_ID = 32 BEGIN ROLLBACK TRANSACTION INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@FORM_ID,'FORM-ID','INSERT IN ARCHIVE ENTITY NOT ALLOWED ' + CONVERT(VARCHAR(10),@FORM_ID),@ADDED_WHO) RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1) END SELECT @MAX_ID = ISNULL(MAX(RECORD_ENTITY_ID) + 1,0) FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND DELETED = 0 AND GUID <> @RECORD_ID SET @INSERT_SQL = 'INSERT INTO TBPMO_ENTITY_TABLE@ENT_ID ([Record-ID],AddedWho,AddedWhen) SELECT GUID,ADDED_WHO,ADDED_WHEN FROM TBPMO_RECORD WHERE GUID = @RECORD_ID' SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@ENT_ID',CONVERT(VARCHAR(10),@FORM_ID)) SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@RECORD_ID',@RECORD_ID) PRINT @INSERT_SQL EXEC sp_executesql @INSERT_SQL --RAISERROR(@INSERT_SQL, 16, 1); -- ROLLBACK; UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID DECLARE @CONTROL_ID INTEGER,@VALUE VARCHAR(MAX) DECLARE cursInsertDefaultValues CURSOR FOR select GUID, DEFAULT_VALUE FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID AND DEFAULT_VALUE IS NOT NULL AND DEFAULT_VALUE <> '' OPEN cursInsertDefaultValues FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO TBPMO_CONTROL_VALUE (RECORD_ID,CONTROL_ID,VALUE,ADDED_WHO) VALUES (@RECORD_ID,@CONTROL_ID,@VALUE,@ADDED_WHO) FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE END CLOSE cursInsertDefaultValues DEALLOCATE cursInsertDefaultValues ----Ü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()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH --################################################################################################################################################ GO if not exists (select * from sysobjects where name='TBPMO_RECORD_CONNECT' and xtype='U') CREATE TABLE TBPMO_RECORD_CONNECT ( GUID INTEGER NOT NULL IDENTITY(1,1), RECORD1_ID INTEGER NOT NULL, RECORD2_ID INTEGER NOT NULL, 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_RECORD_CONNECT PRIMARY KEY (GUID), CONSTRAINT UQ_RECORD_CONNECT UNIQUE (RECORD1_ID, RECORD2_ID), CONSTRAINT FK_TBPMO_RECORD_CONNECT_RECORD1_ID FOREIGN KEY (RECORD1_ID) REFERENCES TBPMO_RECORD (GUID), CONSTRAINT FK_TBPMO_RECORD_CONNECT_RECORD2_ID FOREIGN KEY (RECORD2_ID) REFERENCES TBPMO_RECORD (GUID), ) GO CREATE TRIGGER TBPMO_RECORD_CONNECT_AFT_UPD ON TBPMO_RECORD_CONNECT FOR UPDATE AS UPDATE TBPMO_RECORD_CONNECT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_CONNECT.GUID = INSERTED.GUID GO --####################################################################################################### if not exists (select * from sysobjects where name='TBPMO_CONTROL_SCREEN' and xtype='U') CREATE TABLE TBPMO_CONTROL_SCREEN ( GUID INTEGER NOT NULL IDENTITY(1,1), CONTROL_ID INTEGER NOT NULL, SCREEN_ID INTEGER NOT NULL, CONTROL_TEXT VARCHAR(100) NOT NULL, X_LOC FLOAT NOT NULL, Y_LOC FLOAT NOT NULL, HEIGHT SMALLINT NOT NULL, WIDTH SMALLINT NOT NULL, FONT_FAMILY VARCHAR(50) NOT NULL DEFAULT 'Tahoma', FONT_COLOR BIGINT NOT NULL DEFAULT 0, FONT_SIZE SMALLINT NOT NULL DEFAULT 8, FONT_STYLE SMALLINT NOT NULL DEFAULT 0, BACK_COLOR INTEGER NOT NULL DEFAULT 15790320, -- = SystemColors.Control TAB_INDEX SMALLINT NOT NULL DEFAULT 1, TAB_STOP 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_CONTROL_SCREEN PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_CONTROL_SCREEN_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), CONSTRAINT FK_TBPMO_CONTROL_SCREEN_SCREEN_ID FOREIGN KEY (SCREEN_ID) REFERENCES TBPMO_SCREEN (GUID) ) GO CREATE TRIGGER TBPMO_CONTROL_SCREEN_AFT_UPD ON TBPMO_CONTROL_SCREEN FOR UPDATE AS UPDATE TBPMO_CONTROL_SCREEN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_SCREEN.GUID = INSERTED.GUID GO --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_TASK' and xtype='U') 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, STATE_DESCRIPTION VARCHAR(1000) NOT NULL DEFAULT '', FINISHED BIT NOT NULL DEFAULT 0, USER_SELECT VARCHAR(3000) DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1', 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 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 --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_TASK_USER' and xtype='U') 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 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 if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_ENTITY_STATE' and xtype='U') 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, COMMENT VARCHAR(1000) NOT NULL DEFAULT '', INACTIVE 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 --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_REMINDER' and xtype='U') 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 if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_TASK_HISTORY' and xtype='U') CREATE TABLE TBPMO_WORKFLOW_TASK_HISTORY( GUID INTEGER IDENTITY(1,1) NOT NULL, FINISHED BIT NOT NULL DEFAULT 0, 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 --################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_CONTROL_HINT' and xtype='U') CREATE TABLE TBPMO_CONTROL_HINT ( GUID INTEGER NOT NULL IDENTITY(1,1), CONTROL_ID INTEGER NOT NULL, HINT_COMMENT VARCHAR(500) NOT NULL, LANGUAGE_CODE VARCHAR(10) NOT NULL DEFAULT 'de-DE', ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_CONTROL_HINT PRIMARY KEY (GUID), CONSTRAINT UNIQUE_CONTROL_ID_LANGUAGE_CODE_CONTROL_ID UNIQUE(CONTROL_ID,LANGUAGE_CODE), CONSTRAINT FK_TBPMO_CONTROL_HINT_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), ) GO CREATE TRIGGER TBPMO_CONTROL_HINT_AFT_UPD ON TBPMO_CONTROL_HINT FOR UPDATE AS UPDATE TBPMO_CONTROL_HINT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_HINT.GUID = INSERTED.GUID GO --################################################################################################################################################# if not exists (select * from sysobjects where name='TBPMO_CONTROL_LANGUAGE' and xtype='U') CREATE TABLE TBPMO_CONTROL_LANGUAGE ( GUID INT IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel, LANGUAGE_TYPE VARCHAR(5) NOT NULL, CONTROL_SCREEN_ID INTEGER NOT NULL, CAPTION VARCHAR(100) NOT NULL, HINT VARCHAR(500), ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_CONTROL_LANGUAGE PRIMARY KEY(GUID), CONSTRAINT FK_TBPMO_CONTROL_LANGUAGE_CTRLSCR_ID FOREIGN KEY(CONTROL_SCREEN_ID) REFERENCES TBPMO_CONTROL_SCREEN(GUID) ) GO ------------------------------------------------------------------------------ CREATE TRIGGER TBPMO_CONTROL_LANGUAGE_AFT_UPD ON TBPMO_CONTROL_LANGUAGE FOR UPDATE AS BEGIN UPDATE TBPMO_CONTROL_LANGUAGE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_LANGUAGE.GUID = INSERTED.GUID END GO --################################################################################################################################################ --Insert trigger CREATE TRIGGER [dbo].[TBPMO_CONTROL_SCREEN_AFT_INS] ON [dbo].[TBPMO_CONTROL_SCREEN] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @GUID INTEGER, @CONTROL_ID INTEGER, @ENTITY_ID INTEGER, @SEQUENCE INTEGER SELECT @GUID = GUID, @CONTROL_ID = CONTROL_ID FROM INSERTED SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE [GUID] = @CONTROL_ID SELECT @SEQUENCE = MAX(TAB_INDEX) FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @ENTITY_ID) UPDATE TBPMO_CONTROL_SCREEN SET TAB_INDEX = @SEQUENCE + 1 FROM INSERTED WHERE TBPMO_CONTROL_SCREEN.GUID = INSERTED.GUID END TRY BEGIN CATCH PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --################################################################################################################################################ if not exists (select * from sysobjects where name='TBPMO_WD_IMPORT_PROFILE' and xtype='U') CREATE TABLE TBPMO_WD_IMPORT_PROFILE ( GUID INTEGER NOT NULL IDENTITY(1,1), NAME VARCHAR(100) NOT NULL, WD_SEARCH VARCHAR(1000) NOT NULL, UNIQUE_DOC_SQL VARCHAR(5000), SQL_DOCTYPE VARCHAR(5000) NOT NULL DEFAULT 'select GUID from TBDD_DOKUMENTART where BEZEICHNUNG = ''@DOKTYPE_STRING''', SQL_PARENT_RECORD VARCHAR(5000) NOT NULL DEFAULT '', NEW_OBJECTTYPE VARCHAR(100) NOT NULL, OLD_OBJECTTYPE VARCHAR(100) NOT NULL, IDX_FILE_WORKED VARCHAR(100) NOT NULL DEFAULT '', ONLY_RECORD_CREATING BIT NOT NULL DEFAULT 0, ENTITY_ID INTEGER NOT NULL, CONNECTION_ID INTEGER, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_WD_IMPORT_PROFILE PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_AFT_UPD ON TBPMO_WD_IMPORT_PROFILE FOR UPDATE AS UPDATE TBPMO_WD_IMPORT_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_IMPORT_PROFILE.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_WD_IMPORT_PROFILE_IDX' and xtype='U') CREATE TABLE TBPMO_WD_IMPORT_PROFILE_IDX ( GUID INTEGER NOT NULL IDENTITY(1,1), PROFILE_ID INTEGER NOT NULL, STRING1 VARCHAR(200) NOT NULL, STRING2 VARCHAR(200) NOT NULL, SQL1 VARCHAR(5000), SQL2 VARCHAR(5000), ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_WD_IMPORT_PROFILE_IDX PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_WD_IMPORT_PROFILE_IDX_1 FOREIGN KEY (PROFILE_ID) REFERENCES TBPMO_WD_IMPORT_PROFILE (GUID), ) GO CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_IDX_AFT_UPD ON TBPMO_WD_IMPORT_PROFILE_IDX FOR UPDATE AS UPDATE TBPMO_WD_IMPORT_PROFILE_IDX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_IMPORT_PROFILE_IDX.GUID = INSERTED.GUID GO CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_AFT_INS ON TBPMO_WD_IMPORT_PROFILE WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @GUID INTEGER,@ADDED_WHO VARCHAR(50) SELECT @GUID = GUID,@ADDED_WHO = ADDED_WHO FROM INSERTED INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES (@GUID,'DOCTYPE_ORIGIN','SET INDEXNAME',@ADDED_WHO) INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES (@GUID,'INDEX_DOCTYPE','SET INDEXNAME',@ADDED_WHO) INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES (@GUID,'INDEX_RECORD_ID','SET INDEXNAME',@ADDED_WHO) INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES (@GUID,'INDEX_ENTITY_ID','SET INDEXNAME',@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 if not exists (select * from sysobjects where name='TBPMO_SAP_FUBA' and xtype='U') CREATE TABLE TBPMO_SAP_FUBA ( GUID INTEGER NOT NULL IDENTITY(1,1), NAME VARCHAR(100) NOT NULL, COMMENT VARCHAR(500), Method VARCHAR(50) NOT NULL DEFAULT 'TABLE', TableName VARCHAR(100) NOT NULL, Host VARCHAR(100) NOT NULL, SystemNumber VARCHAR(30) NOT NULL, UserName VARCHAR(50) NOT NULL, [Password] VARCHAR(100) NOT NULL, Client VARCHAR(100) NOT NULL, [Language] VARCHAR(20) NOT NULL, TempTableName VARCHAR(100) NOT NULL, FuBa_SplitCharacter VARCHAR(1) NOT NULL DEFAULT ';', WHERE_CLAUSE VARCHAR(500), 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_SAP_FUBA PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_SAP_FUBA_AFT_UPD ON TBPMO_SAP_FUBA FOR UPDATE AS UPDATE TBPMO_SAP_FUBA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SAP_FUBA.GUID = INSERTED.GUID GO CREATE PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT) AS DECLARE @COL_NAME VARCHAR(50), @SQL_BEGIN VARCHAR(4000), @SQL_END VARCHAR(4000), @SQL VARCHAR(MAX), @CONTROL_ID INT, @RESULT VARCHAR(MAX), @TYPEID INT, @TABINDEX INT, @ZAEHLER INT = 1, @SQL_LBL VARCHAR(4000) 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]' + CHAR(13) + ',T.COLOR AS ROW_COLOR' + CHAR(13) + ',T.FORM_ID AS [Form-ID]' + CHAR(13) + ',' --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 = ',T.ADDED_WHO AS AddedWho,' + CHAR(13) + 'T.ADDED_WHEN AS AddedWhen,' + CHAR(13) + 'T.CHANGED_WHO AS ChangedWho,' + CHAR(13) + 'T.CHANGED_WHEN AS ChangedWhen FROM TBPMO_RECORD T' + CHAR(13) + 'INNER JOIN TBPMO_FORM T1 ON T.FORM_ID = T1.GUID AND T.[PARENT_RECORD] = 0 AND T.FORM_ID = @FORM_ID' + CHAR(13) 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','') SET @ZAEHLER = @ZAEHLER + 1 IF LEN(ISNULL(@SQL,'')) = 0 BEGIN IF @TYPEID IN(10,11) BEGIN --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 SET @SQL = 'ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + CHAR(13) SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) END ELSE IF @TYPEID = 6 BEGIN --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 SET @SQL = 'T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.IMG AS ' + @COL_NAME + CHAR(13) SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_IMAGE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) ENd 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 + CHAR(13) END ELSE IF @TYPEID IN(7,12,14) BEGIN SET @SQL = 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID) AS ' + @COL_NAME + CHAR(13) END ELSE IF @TYPEID = 4 BEGIN SET @SQL = 'T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE AS ' + @COL_NAME + CHAR(13) SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) END ELSE BEGIN --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 SET @SQL = 'ISNULL(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE,'''') AS ' + @COL_NAME + CHAR(13) SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) END END ELSE BEGIN IF @TYPEID IN(10,11) BEGIN --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 SET @SQL = @SQL + ',ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + CHAR(13) SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) END ELSE IF @TYPEID = 6 BEGIN --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 SET @SQL = @SQL + ',T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.IMG AS ' + @COL_NAME + CHAR(13) SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_IMAGE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) END 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 + CHAR(13) END ELSE IF @TYPEID IN(7,12,14) BEGIN --SET @SQL = @SQL + ',(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME SET @SQL = @SQL + ',ISNULL(dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID),'''') AS ' + @COL_NAME + CHAR(13) END ELSE IF @TYPEID = 4 BEGIN SET @SQL = @SQL + ',T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE AS ' + @COL_NAME + CHAR(13) SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) END ELSE BEGIN --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 SET @SQL = @SQL + ',ISNULL(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE,'''') AS ' + @COL_NAME + CHAR(13) SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) END 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(TDS.DocID) WHEN 0 THEN 0 ELSE 1 END AS [files?] FROM VWPMO_DOC_SEARCH TDS, TBPMO_DOC_RECORD_LINK TRL WHERE TDS.DocID = TRL.DOC_ID AND TRL.RECORD_ID = T.GUID) AS [files?]' + CHAR(13) --PRint '2' SET @SQL = @SQL + ',(SELECT COUNT(TDS.DocID) AS [files?] FROM VWPMO_DOC_SEARCH TDS, TBPMO_DOC_RECORD_LINK TRL WHERE TDS.DocID = TRL.DOC_ID AND TRL.RECORD_ID = T.GUID) AS [file count]' + CHAR(13) --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 GO --################################################################################################################### CREATE PROCEDURE PRPMO_CREATE_TEMP_VIEWS AS BEGIN DECLARE @FORM_ID INTEGER, @SQL_COMMAND nvarchar(MAX), @VIEW_NAME nvarchar(30), @DEL_SQL NVARCHAR(100), @CREATE_VIEW NVARCHAR(MAX) DECLARE c_TASK CURSOR FOR SELECT FORM_ID,SQL_COMMAND FROM TBPMO_FORM_SQL where SQL_COMMAND is not null OPEN c_TASK FETCH NEXT FROM c_TASK INTO @FORM_ID,@SQL_COMMAND WHILE @@FETCH_STATUS = 0 BEGIN SET @VIEW_NAME = 'VWTEMP_PMO_FORM' + CONVERT(VARCHAR(3),@FORM_ID) IF EXISTS(select * FROM sys.views where name = @VIEW_NAME) BEGIN SET @DEL_SQL = 'DROP VIEW dbo.' + QUOTENAME(@VIEW_NAME) + '' EXEC sp_executesql @DEL_SQL END SELECT @SQL_COMMAND = SQL_COMMAND FROM TBPMO_FORM_SQL where FORM_ID = @FORM_ID SET @CREATE_VIEW = 'CREATE VIEW ' + @VIEW_NAME + ' AS ' + @SQL_COMMAND EXEC sp_executesql @CREATE_VIEW FETCH NEXT FROM c_TASK INTO @FORM_ID,@SQL_COMMAND END CLOSE c_TASK DEALLOCATE c_TASK END GO --################################################################################################################### -----INSERT TRIGGER FÜR TBPMO_FORM CREATE 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 END TRY BEGIN CATCH PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH BEGIN TRY 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 'ERROR INSERTING TBPMO_CLIENT_ENTITY-ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --############################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_RECORD_LOG_CONFIG' and xtype='U') CREATE TABLE TBPMO_RECORD_LOG_CONFIG ( GUID INTEGER NOT NULL IDENTITY(1,1), CONTROL_ID INTEGER NOT NULL, LOG_DELETE BIT NOT NULL DEFAULT 0, LOG_UPDATE BIT NOT NULL DEFAULT 0, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_RECORD_LOG_CONFIG PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_RECORD_LOG_CONFIG_CONTROL_ID FOREIGN KEY(CONTROL_ID) REFERENCES TBPMO_CONTROL(GUID) ) GO CREATE TRIGGER TBPMO_RECORD_LOG_CONFIG_AFT_UPD ON TBPMO_RECORD_LOG_CONFIG FOR UPDATE AS UPDATE TBPMO_RECORD_LOG_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_LOG_CONFIG.GUID = INSERTED.GUID GO --############################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_RECORD_LOG' and xtype='U') CREATE TABLE TBPMO_RECORD_LOG ( GUID INTEGER NOT NULL IDENTITY(1,1), RECORD_ID INTEGER NOT NULL, CONTROL_ID INTEGER NOT NULL, LOG_DESCRIPTION VARCHAR(1000) NOT NULL, ADDED_WHO VARCHAR(100), ADDED_WHEN DATETIME DEFAULT GETDATE(), CONSTRAINT PK_TBPMO_RECORD_LOG PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_RECORD_LOG_CONTROL_ID FOREIGN KEY(CONTROL_ID) REFERENCES TBPMO_CONTROL(GUID), CONSTRAINT FK_TBPMO_RECORD_LOG_RECORD_ID FOREIGN KEY(RECORD_ID) REFERENCES TBPMO_RECORD(GUID) ) GO CREATE TABLE dbo.TBPMO_CONTROL_VALUE_HISTORY( GUID INT NOT NULL IDENTITY(1,1), CONTROL_ID INT, RECORD_ID INT, VALUE VARCHAR(max) , ADDED_WHO VARCHAR(50), ADDED_WHEN DATETIME, CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CHANGE_STEP INT, COMMENT VARCHAR(MAX), REDO BIT, CONSTRAINT PK_TBPMO_CONTROL_VALUE_HISTORY PRIMARY KEY (GUID) ) GO SET IDENTITY_INSERT dbo.TBPMO_CONTROL_VALUE_HISTORY ON; GO CREATE NONCLUSTERED INDEX [IDX_TBPMO_CONTROL_VALUE_HISTORY] ON [dbo].[TBPMO_CONTROL_VALUE_HISTORY] ([RECORD_ID]) INCLUDE ([VALUE]) GO --############################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_CONTROL_VALUE' and xtype='U') CREATE TABLE TBPMO_CONTROL_VALUE ( GUID INTEGER NOT NULL IDENTITY(1,1), CONTROL_ID INTEGER NOT NULL, RECORD_ID INTEGER NOT NULL, VALUE VARCHAR(MAX), CHANGE_STEP INTEGER NOT NULL DEFAULT 0, REDO 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_CONTROL_VALUE PRIMARY KEY (GUID), --CONSTRAINT UQ_CONTROLID_RECORDID UNIQUE (CONTROL_ID, RECORD_ID), CONSTRAINT FK_TBPMO_CONTROL_VALUE_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), CONSTRAINT FK_TBPMO_CONTROL_VALUE_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID), ) GO CREATE NONCLUSTERED INDEX [IDX_TBPMO_CONTROL_VALUE_RECID_VALUE] ON [dbo].[TBPMO_CONTROL_VALUE] ([RECORD_ID]) INCLUDE ([VALUE]) GO CREATE TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE] FOR UPDATE AS /*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/ 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, @DOC_ID INTEGER, @USER_ID INTEGER, @USER_ID_ECM INTEGER, @RIGHT INTEGER, @COUNTER_CONTROL_UPDATE_ID INTEGER, @UPDATE_SQL NVARCHAR(MAX), @ENTITY_ID INTEGER, @COL_NAME VARCHAR(50), @ENTITY_TABLENAME VARCHAR(50), @MSG_TRIGGER VARCHAR(500) IF UPDATE (VALUE) BEGIN SELECT @CONTROL_ID = DELETED.CONTROL_ID, @RECORD_ID = DELETED.RECORD_ID, @VALUE_OLD = DELETED.VALUE, @ENTITY_ID = T.FORM_ID, @COL_NAME = T1.COL_NAME FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1 WHERE DELETED.RECORD_ID = T.GUID AND DELETED.CONTROL_ID = T1.GUID SELECT @CHANGE_STEP = CHANGE_STEP, @CHANGED_WHO = CHANGED_WHO, @VALUE_NEW = VALUE, @REDO = REDO FROM INSERTED INSERT INTO TBPMO_CONTROL_VALUE_HISTORY (GUID,CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN, COMMENT) SELECT I.GUID,I.CONTROL_ID, I.RECORD_ID, I.VALUE,I.ADDED_WHO, I.ADDED_WHEN,I.CHANGED_WHO,GETDATE(), 'LOG-UPDATE' FROM INSERTED I, TBPMO_CONTROL_VALUE T where T.GUID = I.GUID IF @CONTROL_ID in (29,14,272,346) BEGIN PRINT 'CHANGE OF RIGHT RELEVANT CONTROL' SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 END --RAISERROR (@VALUE , 16, 1) --PRINT 'OLD VALUE: ' + @VALUE_OLD --PRINT 'NEW VALUE: ' + @VALUE_NEW IF @CHANGED_WHO IS NULL BEGIN SELECT @CHANGED_WHO = IN_WORK_WHO FROM TBPMO_RECORD WHERE GUID = @RECORD_ID IF @CHANGED_WHO IS NULL SET @CHANGED_WHO = 'TRIGGER DEFAULT' END SELECT @CHANGE_ID = ISNULL(MAX(GUID),0) FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD IF @CHANGE_ID = 0 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 CHANGED_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) 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 ELSE PRINT 'VALUES NOT DIFFERENT' BEGIN SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME)) EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@CHANGED_WHO,@VALUE_NEW END END /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/ --Generelle Updates (Datum und Record-Ä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 CREATE TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_DEL] ON [dbo].[TBPMO_CONTROL_VALUE] FOR DELETE AS BEGIN TRY DECLARE @GUID INTEGER, @RECORD_ID INTEGER, @CONTROL_ID INTEGER, @ADDED_WHO VARCHAR(50), @ADDED_WHEN DATETIME, @CHANGED_WHO VARCHAR(50), @CHANGED_WHEN DATETIME, @VALUE_DEL VARCHAR(MAX), @DOC_ID INTEGER, @USER_ID INTEGER, @USER_ID_ECM INTEGER, @RIGHT INTEGER, @ENTITY_ID INTEGER, @COL_NAME VARCHAR(50), @COUNTER_CONTROL_UPDATE_ID INTEGER SELECT @GUID = DELETED.GUID, @RECORD_ID = DELETED.RECORD_ID, @CONTROL_ID = DELETED.CONTROL_ID, @VALUE_DEL = DELETED.VALUE, @ENTITY_ID = T1.FORM_ID, @COL_NAME = T1.COL_NAME , @ADDED_WHO = DELETED.ADDED_WHO, @ADDED_WHEN = DELETED.ADDED_WHEN, @CHANGED_WHO = DELETED.CHANGED_WHO, @CHANGED_WHEN = DELETED.CHANGED_WHEN FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1 WHERE DELETED.RECORD_ID = T.GUID AND DELETED.CONTROL_ID = T1.GUID IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID) DELETE FROM TBPMO_APPOINTMENTS WHERE [CustomField1] = @RECORD_ID AND [CustomField2] = @CONTROL_ID EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,'' INSERT INTO TBPMO_CONTROL_VALUE_HISTORY(GUID,CONTROL_ID,RECORD_ID,VALUE,CHANGE_STEP,REDO,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN) SELECT GUID,CONTROL_ID,RECORD_ID,VALUE,CHANGE_STEP,REDO,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM DELETED /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ --IF @CONTROL_ID in (29,14,346) -- BEGIN -- SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 -- UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 -- END --IF @CONTROL_ID = 346 -- BEGIN -- DECLARE cursor_DOCS CURSOR FOR -- select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND -- TRL.RECORD_ID = @RECORD_ID -- --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_GROUPS WHERE NAME = @VALUE_NEW) -- OPEN cursor_DOCS -- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID -- WHILE @@FETCH_STATUS = 0 -- BEGIN -- BEGIN -- DECLARE cursor_User CURSOR FOR -- SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_GROUPS WHERE NAME = @VALUE_DEL) -- OPEN cursor_User -- FETCH NEXT FROM cursor_User INTO @USER_ID -- WHILE @@FETCH_STATUS = 0 -- BEGIN -- SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID -- EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'DELETE RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_DEL_346', @COUNTER_CONTROL_UPDATE_ID -- FETCH NEXT FROM cursor_User INTO @USER_ID -- END -- CLOSE cursor_User -- DEALLOCATE cursor_User -- END -- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID -- END -- CLOSE cursor_DOCS -- DEALLOCATE cursor_DOCS -- END /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ END TRY BEGIN CATCH PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO if not exists (select * from sysobjects where name='TBPMO_CONTROL_VALUE_CHANGE_HISTORY' and xtype='U') CREATE TABLE TBPMO_CONTROL_VALUE_CHANGE_HISTORY ( GUID INTEGER NOT NULL IDENTITY(1,1), RECORD_ID INTEGER, CONTROL_ID INTEGER, VALUE VARCHAR(MAX), CHANGE_STEP INTEGER, ADDED_WHO VARCHAR(50) NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_CONTROL_VALUE_CHANGE_HISTORY_CHANGE_HISTORY PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_CONTROL_VALUE_CHANGE_HISTORY_CHANGE_HISTORY_UPD ON TBPMO_CONTROL_VALUE_CHANGE_HISTORY FOR UPDATE AS UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE_CHANGE_HISTORY.GUID = INSERTED.GUID GO CREATE TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE] WITH EXECUTE AS CALLER FOR INSERT AS /*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/ DECLARE @COUNT_GUID INTEGER, @RECORD_ID INTEGER, @CONTROL_ID INTEGER, @ADDED_WHO VARCHAR(50), @VALUE_NEW VARCHAR(MAX), @DOC_ID INTEGER, @USER_ID INTEGER, @USER_ID_ECM INTEGER, @RIGHT INTEGER, @COUNTER_CONTROL_UPDATE_ID INTEGER, @ENTITY_ID INTEGER, @COL_NAME VARCHAR(50), @ENTITY_TABLENAME VARCHAR(50), @CONTROL_TYPE INTEGER SELECT @RECORD_ID = INSERTED.RECORD_ID, @CONTROL_ID = INSERTED.CONTROL_ID, @ADDED_WHO = INSERTED.ADDED_WHO, @VALUE_NEW = INSERTED.VALUE, @ENTITY_ID = T.FORM_ID, @COL_NAME = T1.COL_NAME, @CONTROL_TYPE = T1.CONTROL_TYPE_ID FROM INSERTED, TBPMO_RECORD T,TBPMO_CONTROL T1 WHERE INSERTED.RECORD_ID = T.GUID AND INSERTED.CONTROL_ID = T1.GUID SELECT @COUNT_GUID = COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_NEW IF @COUNT_GUID > 1 BEGIN INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','UNIQUE VIOLATION - VALUE ' + @VALUE_NEW,@ADDED_WHO) RAISERROR ('UNIQUE VIOLATION: THE VALUE ALREADY EXISTS - MULTIPLE VALUES PER CONTROL NOT ALLOWED!',16,1) ROLLBACK TRANSACTION END IF @CONTROL_TYPE = 4 IF ISDATE(@VALUE_NEW) = 0 BEGIN declare @msg varchar(200) SET @msg = 'INVALID INPUT: ' + @VALUE_NEW + ' - A DATE VALUE IS REQUIRED' RAISERROR (@msg,16,1) INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','INVALID DATE-VALUE: ' + @VALUE_NEW,@ADDED_WHO) ROLLBACK TRANSACTION END -- Änderung Vladi ------ --SET @VALUE_NEW = REPLACE(@VALUE_NEW,'''','''''') ------------------------ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME)) EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@ADDED_WHO,@VALUE_NEW IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID) BEGIN DECLARE @SUBJECT VARCHAR(100), @LOCATION VARCHAR(100), @DESCRIPTION VARCHAR(100) SELECT @SUBJECT = APPT_SUBJECT, @LOCATION = APPT_LOCATION,@DESCRIPTION = APPT_DESCRIPTION FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID INSERT INTO TBPMO_APPOINTMENTS (Type,[StartDate],[EndDate],[AllDay],[Subject],[Location],[Description],Status,Label,[CustomField1],[CustomField2]) VALUES (0,CONVERT(DATE,@VALUE_NEW),CONVERT(DATE,@VALUE_NEW),1,@SUBJECT,@LOCATION,@DESCRIPTION,0,2,@RECORD_ID,@CONTROL_ID) END /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ --IF @CONTROL_ID = 346 -- BEGIN -- SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 -- UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 -- DECLARE cursor_DOCS CURSOR FOR -- select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND -- TRL.RECORD_ID = @RECORD_ID -- --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_GROUPS WHERE NAME = @VALUE_NEW) -- OPEN cursor_DOCS -- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID -- WHILE @@FETCH_STATUS = 0 -- BEGIN -- BEGIN -- DECLARE cursor_User CURSOR FOR -- SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_GROUPS WHERE NAME = @VALUE_NEW) -- --select DocID from VWPMO_DOC_SEARCH where RECORD_ID = @RECORD_ID -- OPEN cursor_User -- FETCH NEXT FROM cursor_User INTO @USER_ID -- WHILE @@FETCH_STATUS = 0 -- BEGIN -- SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID -- EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'ADD RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS_346', @COUNTER_CONTROL_UPDATE_ID -- FETCH NEXT FROM cursor_User INTO @USER_ID -- END -- CLOSE cursor_User -- DEALLOCATE cursor_User -- END -- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID -- END -- CLOSE cursor_DOCS -- DEALLOCATE cursor_DOCS -- END /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ GO --############################################################################################################################# if not exists (select * from sysobjects where name='TBPMO_CONTROL_IMAGE' and xtype='U') CREATE TABLE TBPMO_CONTROL_IMAGE ( GUID INTEGER NOT NULL IDENTITY(1,1), CONTROL_ID INTEGER NOT NULL, RECORD_ID INTEGER NOT NULL, IMG VARBINARY(max) NOT NULL, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_CONTROL_IMAGE PRIMARY KEY (GUID), CONSTRAINT UQ_CONTROLID_RECORDID_IMG UNIQUE (CONTROL_ID, RECORD_ID), CONSTRAINT FK_TBPMO_CONTROL_IMAGE_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), CONSTRAINT FK_TBPMO_CONTROL_IMAGE_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID), ) GO CREATE TRIGGER TBPMO_CONTROL_IMAGE_AFT_UPD ON TBPMO_CONTROL_IMAGE FOR UPDATE AS BEGIN DECLARE @RECORD_ID INTEGER, @CHANGED_WHO VARCHAR(50) SELECT @RECORD_ID = RECORD_ID, @CHANGED_WHO = CHANGED_WHO FROM INSERTED UPDATE TBPMO_CONTROL_IMAGE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_IMAGE.GUID = INSERTED.GUID UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID END GO --############################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_APPOINTMENTS' and xtype='U') CREATE TABLE TBPMO_APPOINTMENTS ( [UniqueID] [int] IDENTITY (1, 1) NOT NULL , [Type] [int] NULL , [StartDate] [smalldatetime] NULL , [EndDate] [smalldatetime] NULL , [AllDay] [bit] NULL , [Subject] [nvarchar] (150) NULL , [Location] [nvarchar] (50) NULL , [Description] [nvarchar](max) NULL , [Status] [int] NULL , [Label] [int] NULL , [ResourceID] [int] NULL , [ResourceIDs] [nvarchar](max) NULL , [ReminderInfo] [nvarchar](max) NULL , [RecurrenceInfo] [nvarchar](max) NULL , [CustomField1] [nvarchar](max) NULL , [CustomField2] [nvarchar](max) NULL CONSTRAINT [PK_Appointments] PRIMARY KEY CLUSTERED ( [UniqueID] ASC ) ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO if not exists (select * from sysobjects where name='TBPMO_APPOINTMENT_CONTROLS' and xtype='U') CREATE TABLE TBPMO_APPOINTMENT_CONTROLS( CONTROL_ID INT NOT NULL, APPT_SUBJECT VARCHAR(100) DEFAULT 'NO APPONTMENT-SUBJECT DEFINED', APPT_LOCATION VARCHAR(100) DEFAULT '', APPT_DESCRIPTION VARCHAR(100) DEFAULT '', ADDED_WHEN DATETIME DEFAULT GETDATE(), CONSTRAINT [PK_TBPMO_APPOINTMENT_CONTROLS] PRIMARY KEY(CONTROL_ID)) GO ------------------------------------------------------------------------------ -- TBPMO RESOURCES ------------------------------------------------------------------------------ if not exists (select * from sysobjects where name='TBPMO_RESOURCES' and xtype='U') CREATE TABLE TBPMO_RESOURCES ( [UniqueID] [int] IDENTITY (1, 1) NOT NULL , [ResourceID] [int] NOT NULL , [ResourceName] [nvarchar] (50) NULL , [Color] [int] NULL , [Image] [image] NULL , [CustomField1] [nvarchar](max) NULL CONSTRAINT [PK_Resources] PRIMARY KEY CLUSTERED ( [UniqueID] ASC ) ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO --SET IDENTITY_INSERT [dbo].[TBPMO_RESOURCES] ON INSERT [TBPMO_RESOURCES] ([ResourceID], [ResourceName], [Color], [Image], [CustomField1]) VALUES (1, N'Resource One', NULL, NULL, NULL) INSERT [TBPMO_RESOURCES] ([ResourceID], [ResourceName], [Color], [Image], [CustomField1]) VALUES (2, N'Resource Two', NULL, NULL, NULL) INSERT [TBPMO_RESOURCES] ([ResourceID], [ResourceName], [Color], [Image], [CustomField1]) VALUES (3, N'Resource Three', NULL, NULL, NULL) GO --########################################################################################################################## if not exists (select * from sysobjects where name='TBPMO_FUNCTION_GENERAL' and xtype='U') CREATE TABLE TBPMO_FUNCTION_GENERAL ( GUID INTEGER NOT NULL IDENTITY(1,1), CONTROL_ID INTEGER NOT NULL, METHOD VARCHAR(20) NOT NULL, STRING1 VARCHAR(250), STRING2 VARCHAR(250), STRING3 VARCHAR(250), STRING4 VARCHAR(250), STRING5 VARCHAR(250), STRING6 VARCHAR(250), STRING7 VARCHAR(250), STRING8 VARCHAR(250), STRING9 VARCHAR(250), STRING10 VARCHAR(250), INTEGER1 INTEGER, INTEGER2 INTEGER, INTEGER3 INTEGER, INTEGER4 INTEGER, INTEGER5 INTEGER, INTEGER6 INTEGER, INTEGER7 INTEGER, INTEGER8 INTEGER, INTEGER9 INTEGER, INTEGER10 INTEGER, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_FUNCTION_GENERAL PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_FUNCTION_GENERAL_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID) ) GO CREATE TRIGGER TBPMO_FUNCTION_GENERAL_AFT_UPD ON TBPMO_FUNCTION_GENERAL FOR UPDATE AS UPDATE TBPMO_FUNCTION_GENERAL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FUNCTION_GENERAL.GUID = INSERTED.GUID GO --#################################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_FOLLOW_UP_EMAIL' and xtype='U') CREATE TABLE TBPMO_FOLLOW_UP_EMAIL ( GUID INTEGER NOT NULL IDENTITY(1,1), NAME VARCHAR(100) NOT NULL DEFAULT 'DESCRIPTION FOLLOW UP', FOLLOW_UP_SEQUENCE VARCHAR(50) NOT NULL DEFAULT 'ONCE_WEEKLY', FOLLOW_UP_DAYS VARCHAR(50) NOT NULL DEFAULT '1', FOLLOW_UP_TIME_SPAN VARCHAR(50) NOT NULL DEFAULT '08:00', DEPENDENT_DATE_CTRL_ID INTEGER NOT NULL, DEPENDENT_DONE_CTRL_ID INTEGER NOT NULL, CTRL_USER_DIRECT INTEGER NOT NULL DEFAULT 0, CTRL_GROUP_DIRECT INTEGER NOT NULL DEFAULT 0, CONSTRUCTOR_ID INTEGER NOT NULL, PARENT_ID INTEGER NOT NULL, TIME_UNITY VARCHAR(50) NOT NULL, TIME_SPAN INTEGER NOT NULL, TIME_DIST VARCHAR(30) NOT NULL DEFAULT 'BEFORE', EMAIL_SUBJECT VARCHAR(250) NOT NULL DEFAULT 'WIEDERVORLAGE', EMAIL_BODY VARCHAR(2000) NOT NULL, PROCESS_SELECT1 VARCHAR(2000) NOT NULL DEFAULT '', PROCESS_SELECT2 VARCHAR(2000) NOT NULL DEFAULT '', PROCESS_SELECT3 VARCHAR(2000) NOT NULL DEFAULT '', PROCESS_SELECT4 VARCHAR(2000) NOT NULL DEFAULT '', PROCESS_SELECT5 VARCHAR(2000) NOT NULL DEFAULT '', PROCESS_SELECT6 VARCHAR(2000) NOT NULL DEFAULT '', PROCESS_SELECT7 VARCHAR(2000) NOT NULL DEFAULT '', PROCESS_SELECT8 VARCHAR(2000) NOT NULL DEFAULT '', PROCESS_SELECT9 VARCHAR(2000) NOT NULL DEFAULT '', PROCESS_SELECT10 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_FOLLOW_UP_EMAIL PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_FOLLOW_UP_EMAIL_DATE_CTRL_ID FOREIGN KEY (DEPENDENT_DATE_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID), CONSTRAINT FK_TBPMO_FOLLOW_UP_EMAIL_DONE_CTRL_ID FOREIGN KEY (DEPENDENT_DONE_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID), CONSTRAINT FK_TBPMO_FOLLOW_UP_EMAIL_CONSTR_ID FOREIGN KEY (CONSTRUCTOR_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID) ) GO CREATE TRIGGER TBPMO_FOLLOW_UP_EMAIL_AFT_UPD ON TBPMO_FOLLOW_UP_EMAIL FOR UPDATE AS UPDATE TBPMO_FOLLOW_UP_EMAIL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FOLLOW_UP_EMAIL.GUID = INSERTED.GUID GO --############################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_FOLLOW_UP_HISTORY' and xtype='U') CREATE TABLE TBPMO_FOLLOW_UP_HISTORY ( GUID INTEGER NOT NULL IDENTITY(1,1), FOLLOW_UP_ID INTEGER NOT NULL, COMMENT VARCHAR(500), TIME_STAMP DATETIME DEFAULT GETDATE() ) GO --############################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_FOLLUPEMAIL_USER' and xtype='U') CREATE TABLE TBPMO_FOLLUPEMAIL_USER ( GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel [USER_ID] INT NOT NULL, FOLLOW_UP_ID INT NOT NULL, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_FOLLUPEMAIL_USER PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_FOLLUPEMAIL_USER_AFT_UPD ON TBPMO_FOLLUPEMAIL_USER FOR UPDATE AS UPDATE TBPMO_FOLLUPEMAIL_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FOLLUPEMAIL_USER.GUID = INSERTED.GUID GO --############################################################################################################################### if not exists (select * from sysobjects where name='TBPMO_FOLLUPEMAIL_RECORD' and xtype='U') CREATE TABLE TBPMO_FOLLUPEMAIL_RECORD ( GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel FOLLOW_UP_ID INTEGER NOT NULL, [USER_ID] INTEGER NOT NULL, RECORD_ID INTEGER NOT NULL, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_FOLLUPEMAIL_RECORD PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_FOLLOW_UP_ID FOREIGN KEY(FOLLOW_UP_ID) REFERENCES TBPMO_FOLLOW_UP_EMAIL(GUID), CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_RECORD_ID FOREIGN KEY(RECORD_ID) REFERENCES TBPMO_RECORD(GUID) ) GO CREATE TRIGGER TBPMO_FOLLUPEMAIL_RECORD_AFT_UPD ON TBPMO_FOLLUPEMAIL_RECORD FOR UPDATE AS UPDATE TBPMO_FOLLUPEMAIL_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FOLLUPEMAIL_RECORD.GUID = INSERTED.GUID GO --########################################################################################################################## if not exists (select * from sysobjects where name='TBPMO_TEMPLATE' and xtype='U') CREATE TABLE TBPMO_TEMPLATE ( GUID INTEGER NOT NULL IDENTITY(1,1), NAME VARCHAR(100) NOT NULL UNIQUE, TEMPLATE_PATH VARCHAR(1000) NOT NULL, DOCTYPE_ID INTEGER NOT NULL, ACTIVE BIT NOT NULL DEFAULT 1, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_TEMPLATE PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_TEMPLATE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID) ) GO CREATE TRIGGER TBPMO_TEMPLATE_AFT_UPD ON TBPMO_TEMPLATE FOR UPDATE AS UPDATE TBPMO_TEMPLATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE.GUID = INSERTED.GUID GO --########################################################################################################################## if not exists (select * from sysobjects where name='TBPMO_TEMPLATE_ENTITY' and xtype='U') CREATE TABLE TBPMO_TEMPLATE_ENTITY ( GUID INTEGER NOT NULL IDENTITY(1,1), TEMPLATE_ID INTEGER NOT NULL, ENTITY_ID INTEGER NOT NULL, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_TEMPLATE_ENTITY PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_TEMPLATE_ENTITY_TEMPLATE_ID FOREIGN KEY(TEMPLATE_ID) REFERENCES TBPMO_TEMPLATE(GUID), CONSTRAINT FK_TBPMO_TEMPLATE_ENTITY_ENTITY_ID FOREIGN KEY(ENTITY_ID) REFERENCES TBPMO_FORM(GUID) ) GO CREATE TRIGGER TBPMO_TEMPLATE_ENTITY_AFT_UPD ON TBPMO_TEMPLATE_ENTITY FOR UPDATE AS UPDATE TBPMO_TEMPLATE_ENTITY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE_ENTITY.GUID = INSERTED.GUID GO --########################################################################################################################## if not exists (select * from sysobjects where name='TBPMO_TEMPLATE_PATTERN' and xtype='U') CREATE TABLE TBPMO_TEMPLATE_PATTERN ( GUID INTEGER NOT NULL IDENTITY(1,1), TEMPLATE_ENT_ID INTEGER NOT NULL, NAME_PATTERN VARCHAR(100) NOT NULL, FIXED_VALUE VARCHAR(100), CONNECTION_ID INTEGER, SQL_COMMAND VARCHAR(2000), ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_TEMPLATE_PATTERN PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_TEMPLATE_PATTERN_TEMPLATE_ENT_ID FOREIGN KEY(TEMPLATE_ENT_ID) REFERENCES TBPMO_TEMPLATE_ENTITY(GUID), CONSTRAINT UQ_TBPMO_TEMPLATE_PATTERN UNIQUE (TEMPLATE_ENT_ID, NAME_PATTERN) ) GO CREATE TRIGGER TBPMO_TEMPLATE_PATTERN_AFT_UPD ON TBPMO_TEMPLATE_PATTERN FOR UPDATE AS UPDATE TBPMO_TEMPLATE_PATTERN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE_PATTERN.GUID = INSERTED.GUID GO --########################################################################################################################## if not exists (select * from sysobjects where name='TBPMO_USER_CONSTR_VIEW_TYPE' and xtype='U') CREATE TABLE TBPMO_USER_CONSTR_VIEW_TYPE ( GUID INTEGER NOT NULL IDENTITY(1,1), [USER_ID] INTEGER NOT NULL, CONSTRUCTOR_DETAIL_ID INTEGER NOT NULL, [ENTITY_ID] INTEGER NOT NULL, VIEW_ID INTEGER NOT NULL DEFAULT 1, --1=TileView,2=Carousel,3=GridView 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_USER_CONSTR_VIEW_TYPE PRIMARY KEY (GUID), CONSTRAINT UNIQUE_CONSTRUCTOR_ID_VIEW_ID UNIQUE(CONSTRUCTOR_DETAIL_ID,VIEW_ID,[USER_ID]), CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID), CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_CONSTRUCTOR_ID FOREIGN KEY (CONSTRUCTOR_DETAIL_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL (GUID), CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_ENTITY_ID FOREIGN KEY ([ENTITY_ID]) REFERENCES TBPMO_FORM (GUID), ) GO CREATE TRIGGER TBPMO_USER_CONSTR_VIEW_TYPE_AFT_UPD ON TBPMO_USER_CONSTR_VIEW_TYPE FOR UPDATE AS UPDATE TBPMO_USER_CONSTR_VIEW_TYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_CONSTR_VIEW_TYPE.GUID = INSERTED.GUID GO --########################################################################################################################## if not exists (select * from sysobjects where name='TBPMO_USER_WINDREAM_RESULTLIST_CONFIG' and xtype='U') CREATE TABLE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG ( GUID INTEGER NOT NULL IDENTITY(1,1), [USER_ID] INTEGER NOT NULL, CONSTRUCTOR_DETAIL_ID INTEGER NOT NULL, COLUMN1 VARCHAR(50) NOT NULL, COLUMN1_WIDTH INTEGER NOT NULL, COLUMN2 VARCHAR(50) NOT NULL, COLUMN2_WIDTH INTEGER NOT NULL, COLUMN3 VARCHAR(50) NOT NULL, COLUMN3_WIDTH INTEGER NOT NULL, COLUMN4 VARCHAR(50), COLUMN4_WIDTH INTEGER, COLUMN5 VARCHAR(50), COLUMN5_WIDTH INTEGER, COLUMN6 VARCHAR(50), COLUMN6_WIDTH INTEGER, COLUMN7 VARCHAR(50), COLUMN7_WIDTH INTEGER, COMMENT VARCHAR(300), ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_USER_WINDREAM_RESULTLIST_CONFIG PRIMARY KEY (GUID), ) GO CREATE TRIGGER TBPMO_USER_WINDREAM_RESULTLIST_CONFIG_AFT_UPD ON TBPMO_USER_WINDREAM_RESULTLIST_CONFIG FOR UPDATE AS UPDATE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.GUID = INSERTED.GUID GO --######################################################################################################################################## CREATE NONCLUSTERED INDEX [IDXTBPMO_CONTROL_VALUE_RECID_VALUE] ON [dbo].[TBPMO_CONTROL_VALUE] ([CONTROL_ID]) INCLUDE ([RECORD_ID],[VALUE]) GO if not exists (select * from sysobjects where name='TBPMO_CLIENT_ENTITY' and xtype='U') CREATE TABLE TBPMO_CLIENT_ENTITY ( GUID INTEGER IDENTITY(1,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 if not exists (select * from sysobjects where name='TBPMO_CLIENT_CONSTRUCTOR' and xtype='U') CREATE TABLE TBPMO_CLIENT_CONSTRUCTOR ( GUID INTEGER IDENTITY(1,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 if not exists (select * from sysobjects where name='TBPMO_CLIENT_DOCTYPE' and xtype='U') CREATE TABLE TBPMO_CLIENT_DOCTYPE ( GUID INTEGER IDENTITY(1,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 if not exists (select * from sysobjects where name='TBPMO_WD_NAMECONVENTION_FORMAT' and xtype='U') CREATE TABLE TBPMO_WD_NAMECONVENTION_FORMAT ( GUID INTEGER NOT NULL IDENTITY(1,1), ID INTEGER NOT NULL, PATTERN VARCHAR(50) NOT NULL, FORMAT_RULE VARCHAR(100) NOT NULL, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_WD_NAMECONVENTION_FORMAT PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_WD_NAMECONVENTION_FORMAT_UPD ON TBPMO_WD_NAMECONVENTION_FORMAT FOR UPDATE AS UPDATE TBPMO_WD_NAMECONVENTION_FORMAT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_NAMECONVENTION_FORMAT.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_STRUCTURE_NODES_CONFIGURATION' and xtype='U') 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, FONT_FAMILY VARCHAR(50) NOT NULL DEFAULT 'Tahoma', FONT_COLOR BIGINT NOT NULL DEFAULT 0, FONT_SIZE SMALLINT NOT NULL DEFAULT 10, FONT_STYLE SMALLINT NOT NULL DEFAULT 0, BACK_COLOR BIGINT NOT NULL DEFAULT 15790320, EXPAND 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 if not exists (select * from sysobjects where name='TBPMO_STRUCTURE_NODES' and xtype='U') 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 if not exists (select * from sysobjects where name='TBPMO_STRUCTURE_NODES_USER_TEMP' and xtype='U') CREATE TABLE TBPMO_STRUCTURE_NODES_USER_TEMP( USER_ID int NOT NULL, RECORD_ID int NOT NULL, ADDED_WHEN datetime DEFAULT getdate(), CONSTRAINT [PK_TBPMO_STRUCTURE_NODES_USER_TEMP] PRIMARY KEY(USER_ID,RECORD_ID)) GO if not exists (select * from sysobjects where name='TBPMO_RIGHTS_WORK_SERVICE' and xtype='U') CREATE TABLE TBPMO_RIGHTS_WORK_SERVICE ( GUID INTEGER NOT NULL IDENTITY(1,1), COUNTER_CONTROL_UPDATE_ID INTEGER NOT NULL DEFAULT '0', DOC_ID INTEGER NOT NULL, FILE_RIGHT VARCHAR(100) NOT NULL, USER_ID INTEGER NOT NULL, REASON VARCHAR(100) NOT NULL, RIGHT_MODIFY VARCHAR(30) NOT NULL, WORKED BIT NOT NULL DEFAULT 0, WORKING BIT NOT NULL DEFAULT 0, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'SERVICE', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHEN DATETIME CONSTRAINT PK_TBPMO_RIGHTS_WORK_SERVICE PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_RIGHTS_WORK_SERVICE_AFT_UPD ON TBPMO_RIGHTS_WORK_SERVICE FOR UPDATE AS UPDATE TBPMO_RIGHTS_WORK_SERVICE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHTS_WORK_SERVICE.GUID = INSERTED.GUID GO --DROP TABLE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT if not exists (select * from sysobjects where name='TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT' and xtype='U') CREATE TABLE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT ( GUID INTEGER NOT NULL IDENTITY(1,1), DOC_ID INTEGER NOT NULL, DOC_PATH VARCHAR(1000) NOT NULL, USER_STRING VARCHAR(500) NOT NULL, FILE_RIGHT INTEGER NOT NULL, RIGHT_TYPE VARCHAR(100) NOT NULL, [SERVICE] BIT NOT NULL DEFAULT 0, WORKED BIT NOT NULL DEFAULT 0, COMMENT VARCHAR(500), ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'SERVICE', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHEN DATETIME CONSTRAINT PK_TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT_AFT_UPD ON TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT FOR UPDATE AS UPDATE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT.GUID = INSERTED.GUID GO --DROP TABLE TBPMO_ENTITY_RIGHT_CONTROLS if not exists (select * from sysobjects where name='TBPMO_ENTITY_RIGHT_CONTROLS' and xtype='U') CREATE TABLE TBPMO_ENTITY_RIGHT_CONTROLS ( GUID INTEGER NOT NULL IDENTITY(1,1), ENTITY_ID INTEGER NOT NULL, CONTROL_ID INTEGER NOT NULL, USED_FOR VARCHAR(50) NOT NULL DEFAULT '', USER_GROUP VARCHAR(10) NOT NULL DEFAULT 'USER', 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_ENTITY_RIGHT_CONTROLS PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_ENTITY_RIGHT_CONTROLS_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), CONSTRAINT FK_TBPMO_ENTITY_RIGHT_CONTROLS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) ) GO CREATE TRIGGER TBPMO_ENTITY_RIGHT_CONTROLS_AFT_UPD ON TBPMO_ENTITY_RIGHT_CONTROLS FOR UPDATE AS UPDATE TBPMO_ENTITY_RIGHT_CONTROLS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_RIGHT_CONTROLS.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_SERVICE_RIGHT_CONFIG' and xtype='U') CREATE TABLE TBPMO_SERVICE_RIGHT_CONFIG ( GUID TINYINT ,LOG_ERR_ONLY BIT NOT NULL DEFAULT 1 ,HOUR_BEGIN INTEGER NOT NULL DEFAULT 6 ,HOUR_END INTEGER NOT NULL DEFAULT 18 ,AD_DOMAIN VARCHAR(250) NOT NULL DEFAULT '' ,AD_USER VARCHAR(250) NOT NULL DEFAULT '' ,AD_USER_PW VARCHAR(500) NOT NULL DEFAULT '' ,AD_SERVER VARCHAR(250) NOT NULL DEFAULT '' ,WD_RIGHT INTEGER NOT NULL DEFAULT '141' ,RUN_SERVICE BIT NOT NULL DEFAULT 0 ,SERVICE_RUN DATETIME ,SERVICE_FINISHED DATETIME ,CHANGED_WHO VARCHAR(50) ,CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_SERVICE_RIGHT_CONFIG_GUID PRIMARY KEY(GUID), CONSTRAINT CH_TBPMO_SERVICE_RIGHT_CONFIG_GUID CHECK(GUID = 1) ) GO INSERT INTO TBPMO_SERVICE_RIGHT_CONFIG (GUID,LOG_ERR_ONLY) VALUES (1,1) GO CREATE TRIGGER TBPMO_SERVICE_RIGHT_CONFIG_AFT_UPD ON TBPMO_SERVICE_RIGHT_CONFIG FOR UPDATE AS UPDATE TBPMO_SERVICE_RIGHT_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SERVICE_RIGHT_CONFIG.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_ENTITY_USERRIGHT_ADDING' and xtype='U') CREATE TABLE TBPMO_ENTITY_USERRIGHT_ADDING ( GUID INTEGER NOT NULL IDENTITY(1,1) ,ENTITY_ID INTEGER ,AD_DOMAIN VARCHAR(250) NOT NULL DEFAULT '' ,AD_USER VARCHAR(250) NOT NULL DEFAULT '' ,AD_USER_PW VARCHAR(500) NOT NULL DEFAULT '' ,AD_SERVER VARCHAR(250) NOT NULL DEFAULT '' ,WD_RIGHT INTEGER NOT NULL DEFAULT '141' ,ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' ,ADDED_WHEN DATETIME DEFAULT GETDATE() ,CHANGED_WHO VARCHAR(50) ,CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_ENTITY_USERRIGHT_ADDING_GUID PRIMARY KEY(GUID), CONSTRAINT UQ_TBPMO_ENTITY_USERRIGHT_ADDING_GUID UNIQUE(ENTITY_ID) ) GO CREATE TRIGGER TBPMO_ENTITY_USERRIGHT_ADDING_AFT_UPD ON TBPMO_ENTITY_USERRIGHT_ADDING FOR UPDATE AS UPDATE TBPMO_ENTITY_USERRIGHT_ADDING SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_USERRIGHT_ADDING.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_SELECTION_DATA' and xtype='U') CREATE TABLE TBPMO_SELECTION_DATA ( GUID INTEGER NOT NULL IDENTITY(1,1) ,VALUE VARCHAR(250) NOT NULL ,COMMENT VARCHAR(250) ,ID_TYPE INTEGER NOT NULL ,SEQUENCE TINYINT 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_SELECTION_DATA PRIMARY KEY (GUID) ) GO CREATE TRIGGER TBPMO_SELECTION_DATA_AFT_UPD ON TBPMO_SELECTION_DATA FOR UPDATE AS UPDATE TBPMO_SELECTION_DATA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SELECTION_DATA.GUID = INSERTED.GUID GO INSERT INTO TBPMO_SELECTION_DATA (VALUE,COMMENT,ID_TYPE,SEQUENCE) VALUES ('NONE', 'GENERAL-VIEWER',1,0) GO INSERT INTO TBPMO_SELECTION_DATA (VALUE,COMMENT,ID_TYPE,SEQUENCE) VALUES ('DOC-VIEW', 'GENERAL-VIEWER',1,1) GO CREATE TABLE dbo.TBPMO_DOC_USER_VIEW( GUID INT IDENTITY(1,1) NOT NULL, [USER_ID] INT NOT NULL, FILE_EXTENSION VARCHAR(10) NOT NULL, VIEWER VARCHAR(100) NOT NULL DEFAULT 'DOC_VIEW', ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50) NULL, CHANGED_WHEN DATETIME NULL, CONSTRAINT PK_TBPMO_DOC_USER_VIEW PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_DOC_USER_VIEW_USER_ID FOREIGN KEY ([USER_ID]) REFERENCES TBDD_USER (GUID), ) GO if not exists (select * from sysobjects where name='TBPMO_DOCRESULT_DROPDOWN_ITEMS' and xtype='U') CREATE TABLE TBPMO_DOCRESULT_DROPDOWN_ITEMS ( GUID INTEGER NOT NULL IDENTITY(1,1) ,CONFIG_ID INTEGER NOT NULL ,VALUE VARCHAR(100) NOT NULL ,SEQUENCE TINYINT NOT NULL DEFAULT 0 ,[DEFAULT] BIT NOT NULL DEFAULT 0 ,COLOR VARCHAR(50) NOT NULL DEFAULT '' ,ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT' ,ADDED_WHEN DATETIME DEFAULT GETDATE() ,CHANGED_WHO VARCHAR(50) ,CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_DOCRESULT_DROPDOWN_ITEMS PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_DOCRESULT_DROPDOWN_ITEMSCONFIG_ID FOREIGN KEY (CONFIG_ID) REFERENCES TBPMO_DOCSEARCH_RESULTLIST_CONFIG (GUID), CONSTRAINT UQ_TBPMO_DOCRESULT_DROPDOWN_ITEMS UNIQUE (CONFIG_ID,VALUE), CONSTRAINT UQ2_TBPMO_DOCRESULT_DROPDOWN_ITEMS UNIQUE (CONFIG_ID,[DEFAULT]), ) GO CREATE TRIGGER TBPMO_DOCRESULT_DROPDOWN_ITEMS_AFT_UPD ON TBPMO_DOCRESULT_DROPDOWN_ITEMS FOR UPDATE AS UPDATE TBPMO_DOCRESULT_DROPDOWN_ITEMS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_DROPDOWN_ITEMS.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_DOC_VALUES' and xtype='U') CREATE TABLE TBPMO_DOC_VALUES ( GUID INTEGER NOT NULL IDENTITY(1,1), CONFIG_ID INTEGER NOT NULL, DocID INTEGER NOT NULL, RECORD_ID INTEGER NOT NULL CONSTRAINT DF_TBPMO_DOC_VALUES_RECORD_ID DEFAULT 0, [VALUE] VARCHAR(MAX) NOT NULL, ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_DOC_VALUES PRIMARY KEY (GUID) ) GO CREATE TRIGGER [dbo].[TBPMO_DOC_VALUES_AFT_UPD] ON [dbo].[TBPMO_DOC_VALUES] FOR UPDATE AS UPDATE TBPMO_DOC_VALUES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_VALUES.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_RIGHT_USER' and xtype='U') CREATE TABLE TBPMO_RIGHT_USER( GUID int IDENTITY(1,1) NOT NULL, USER_ID int NOT NULL, ENTITY_ID int NOT NULL, EDIT_REC bit NOT NULL DEFAULT 1, ADD_REC bit NOT NULL DEFAULT 1, DELETE_REC bit NOT NULL DEFAULT 1, ADD_DOC bit NOT NULL DEFAULT 1, READ_ONLY_DOC bit NOT NULL DEFAULT 1, DELETE_DOC bit NOT NULL DEFAULT 1, FILES_VISIBLE bit NOT NULL DEFAULT 1, ADDED_WHEN datetime DEFAULT getdate(), CHANGED_WHEN datetime, CONSTRAINT [PK_TBPMO_RIGHT_USER] PRIMARY KEY(GUID)) GO CREATE TRIGGER TBPMO_RIGHT_USER_AFT_UPD ON TBPMO_RIGHT_USER FOR UPDATE AS UPDATE TBPMO_RIGHT_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHT_USER.GUID = INSERTED.GUID GO GO if not exists (select * from sysobjects where name='TBPMO_CONTROL_ENTITY_LINK' and xtype='U') CREATE TABLE TBPMO_CONTROL_ENTITY_LINK ( GUID INTEGER NOT NULL IDENTITY(1,1), ORIGIN_CTRL_ID INTEGER NOT NULL, LINKED_CTRL_ID INTEGER NOT NULL, ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_CONTROL_ENTITY_LINK PRIMARY KEY (GUID), CONSTRAINT UNIQUE_ORIGIN_CTRL_ID_LINKED_CONTROL_ID UNIQUE(ORIGIN_CTRL_ID,LINKED_CTRL_ID), CONSTRAINT FK_TBPMO_CONTROL_ENTITY_LINK_ORIGIN_CTRL_ID FOREIGN KEY (ORIGIN_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID), CONSTRAINT FK_TBPMO_CONTROL_ENTITY_LINKED_CONTROL_ID FOREIGN KEY (LINKED_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID), ) GO CREATE TRIGGER TBPMO_CONTROL_ENTITY_LINK_AFT_UPD ON TBPMO_CONTROL_ENTITY_LINK FOR UPDATE AS UPDATE TBPMO_CONTROL_ENTITY_LINK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_ENTITY_LINK.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_CHART_ENTITY' and xtype='U') CREATE TABLE TBPMO_CHART_ENTITY ( GUID INTEGER NOT NULL IDENTITY(1,1), ENTITY_ID INTEGER NOT NULL, GROUP_ID VARCHAR(50) NOT NULL DEFAULT '', SQL_COMMAND VARCHAR(MAX) NOT NULL, TYPE_CHART VARCHAR(30) NOT NULL, ARGUMENT VARCHAR(30) NOT NULL, VALUE VARCHAR(30) NOT NULL, TITLE VARCHAR(30) NOT NULL DEFAULT '', ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', ADDED_WHEN DATETIME DEFAULT GETDATE(), CHANGED_WHO VARCHAR(50), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPMO_CHART_ENTITY PRIMARY KEY (GUID), CONSTRAINT FK_TBPMO_CHART_ENTITY_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID), ) GO CREATE TRIGGER TBPMO_CHART_ENTITY_AFT_UPD ON TBPMO_CHART_ENTITY FOR UPDATE AS UPDATE TBPMO_CHART_ENTITY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CHART_ENTITY.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_RECORD_VARIANT' and xtype='U') CREATE TABLE TBPMO_RECORD_VARIANT( [GUID] INT IDENTITY(1,1) NOT NULL, RECORD_ID INT NOT NULL, REASON_CODE VARCHAR(100) 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_RECORD_VARIANT] PRIMARY KEY(GUID), CONSTRAINT FK_TBPMO_RECORD_VARIANT_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID)) GO CREATE TRIGGER TBPMO_RECORD_VARIANT_AFT_UPD ON TBPMO_RECORD_VARIANT FOR UPDATE AS UPDATE TBPMO_RECORD_VARIANT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_VARIANT.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_ENTITY_VARIANT_REASONS' and xtype='U') CREATE TABLE TBPMO_ENTITY_VARIANT_REASONS( [GUID] INT IDENTITY(1,1) NOT NULL, ENTITY_ID INT NOT NULL, REASON_CODE VARCHAR(100) 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_ENTITY_VARIANT_REASONS] PRIMARY KEY(GUID), CONSTRAINT FK_TBPMO_ENTITY_VARIANT_REASONS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)) GO CREATE TRIGGER TBPMO_ENTITY_VARIANT_REASONS_AFT_UPD ON TBPMO_ENTITY_VARIANT_REASONS FOR UPDATE AS UPDATE TBPMO_ENTITY_VARIANT_REASONS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_VARIANT_REASONS.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_USER_GLOBAL_SEARCH' and xtype='U') CREATE TABLE TBPMO_USER_GLOBAL_SEARCH( [GUID] INT IDENTITY(1,1) NOT NULL, USER_ID INT NOT NULL, COMMENT VARCHAR(500), ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), ADDED_WHEN DATETIME DEFAULT (GETDATE()), CONSTRAINT [PK_TBPMO_USER_GLOBAL_SEARCH] PRIMARY KEY(GUID), CONSTRAINT FK_TBPMO_USER_GLOBAL_SEARCH_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)) GO if not exists (select * from sysobjects where name='TBPMO_ENTITY_USER_RIGHTS' and xtype='U') CREATE TABLE dbo.TBPMO_ENTITY_USER_RIGHTS( GUID int IDENTITY(1,1) NOT NULL, USER_ID int NOT NULL, ENTITY_ID int NOT NULL, READ_ONLY bit NOT NULL DEFAULT 0, FILES_VISIBLE bit NOT NULL DEFAULT 1, ADDED_WHEN datetime DEFAULT getdate(), CHANGED_WHEN datetime, CONSTRAINT PK_TBPMO_ENTITY_USER_RIGHTS PRIMARY KEY(GUID)) GO CREATE TRIGGER [dbo].[TBPMO_ENTITY_USER_RIGHTS_AFT_UPD] ON [dbo].[TBPMO_ENTITY_USER_RIGHTS] FOR UPDATE AS UPDATE TBPMO_ENTITY_USER_RIGHTS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_USER_RIGHTS.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_RECORD_GEODATA' and xtype='U') CREATE TABLE TBPMO_RECORD_GEODATA( [GUID] INT IDENTITY(1,1) NOT NULL, RECORD_ID INT NOT NULL, LATITUDE Decimal(9,6), LONGITUDE Decimal(9,6), LOCATION VARCHAR(2000), 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_RECORD_GEODATA] PRIMARY KEY(RECORD_ID), CONSTRAINT FK_TBPMO_RECORD_GEODATA_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID)) GO CREATE TRIGGER TBPMO_RECORD_GEODATA_AFT_UPD ON TBPMO_RECORD_GEODATA FOR UPDATE AS UPDATE TBPMO_RECORD_GEODATA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_GEODATA.GUID = INSERTED.GUID GO if not exists (select * from sysobjects where name='TBPMO_AD_GROUP_EXCLUSIVE' and xtype='U') CREATE TABLE TBPMO_AD_GROUP_EXCLUSIVE( [GUID] INT IDENTITY(1,1) NOT NULL, GROUP_NAME VARCHAR(200) NOT NULL, COMMENT VARCHAR(500), ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), ADDED_WHEN DATETIME DEFAULT (GETDATE()), CONSTRAINT [PK_TBPMO_AD_GROUP_EXCLUSIVE] PRIMARY KEY(GUID)) GO ------------------------------------------------------------------------------ CREATE TRIGGER TBPMO_LANGUAGE_OBJECT_AFT_UPD ON TBPMO_LANGUAGE_OBJECT FOR UPDATE AS BEGIN UPDATE TBPMO_LANGUAGE_OBJECT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_LANGUAGE_OBJECT.GUID = INSERTED.GUID END GO CREATE TABLE [dbo].[TBPMO_FILES_USER]( [GUID] [int] IDENTITY(1,1) NOT NULL, [FILENAME2WORK] [varchar](500) NOT NULL, [FILENAME_ONLY] [varchar](250) NOT NULL DEFAULT (''), [USER_WORK] [varchar](50) NOT NULL, [WORKED] [bit] NOT NULL DEFAULT ((0)), [HANDLE_TYPE] [varchar](50) NOT NULL, [ADDED_WHEN] [datetime] NOT NULL DEFAULT (getdate()), CONSTRAINT [PK_TBPMO_FILES_USER] PRIMARY KEY CLUSTERED ( [GUID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO --END CREATE TABLES /* ############################################################################### ####################### PROCEDURES ###################### ############################################################################### */ CREATE PROCEDURE PRPMO_CREATE_RECORD(@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) --ALTER PROCEDURE [dbo].[PRPMO_CREATE_RECORD](@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) AS DECLARE @RECORD_ENTITY_ID BIGINT, @RECORD_ID INT, @FEHLER VARCHAR(4000), @LINE VARCHAR(10) DECLARE @OUTPUTDATA TABLE(RECORD_ID INT) BEGIN TRY --RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1) IF @pFORM_ID = 32 BEGIN SET @pRESULT = 0 INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pFORM_ID,'FORM-ID','INSERT IN ARCHIVE ENTITY NOT ALLOWED ' + CONVERT(VARCHAR(10),@pFORM_ID),LTRIM(RTRIM(@pADDED_WHO))) RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1) END ELSE BEGIN SELECT @RECORD_ENTITY_ID = ISNULL(MAX(RECORD_ENTITY_ID),0) + 1 FROM TBPMO_RECORD WHERE FORM_ID = @pFORM_ID AND DELETED = 0 INSERT INTO TBPMO_RECORD(FORM_ID,RECORD_ENTITY_ID,ADDED_WHO,IN_WORK,IN_WORK_WHO) OUTPUT INSERTED.GUID INTO @OUTPUTDATA VALUES (@pFORM_ID,@RECORD_ENTITY_ID,LTRIM(RTRIM(@pADDED_WHO)),1,LTRIM(RTRIM(@pADDED_WHO))) SELECT @pRESULT = RECORD_ID FROM @OUTPUTDATA END RETURN END TRY BEGIN CATCH --Fehlerbehandlung SET @pRESULT = 0 SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE()) SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pFORM_ID,'FORM-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO))) RAISERROR(@FEHLER,16,1) RETURN END CATCH GO --#################################################################################################################### CREATE PROCEDURE [dbo].[PRPMO_RECORD_CHECK_INTEGRITY] (@pRECORD_ID INT, @WHO VARCHAR(30),@ISINSERT BIT, @COMMENT VARCHAR(100) = '') AS DECLARE @COUNT_REQUIRED INT,@ENTITY_ID INT DECLARE @reas As VARCHAR(250) SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID SET @reas = 'PRPMO_RECORD_CHECK_INTEGRITY' IF @COMMENT <> '' BEGIN SET @reas = @reas + ' - ' + @COMMENT INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@reas,@WHO) END SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID IF @COUNT_REQUIRED > (SELECT COUNT(*) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID) IF @ISINSERT = 1 EXEC PRPMO_DELETE_RECORD @pRECORD_ID,@WHO,'PRPMO_RECORD_CHECK_INTEGRITY-LESS REQUIRED VALUES' ELSE INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','LESS REQUIRED CONTROLS',@WHO) GO --#################################################################################################################### CREATE PROCEDURE [dbo].[PRPMO_CREATE_CONTROL_VALUE](@pRESULT BIT OUTPUT,@pCONTROL_ID INT,@pRECORD_ID INT,@pVALUE VARCHAR(MAX),@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) --ALTER PROCEDURE PRPMO_CREATE_CONTROL_VALUE(@pRESULT BIT OUTPUT,@pCONTROL_ID INT,@pRECORD_ID INT,@pVALUE VARCHAR(MAX),@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) AS DECLARE @FEHLER VARCHAR(4000), @LINE VARCHAR(10) BEGIN TRY -- DatensatzExistenz überprüfen IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID AND CONTROL_ID = @pCONTROL_ID AND UPPER(LTRIM(RTRIM(VALUE))) = UPPER(LTRIM(RTRIM(@pVALUE)))) BEGIN INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES(@pCONTROL_ID,@pRECORD_ID,LTRIM(RTRIM(@pVALUE)),LTRIM(RTRIM(@pADDED_WHO))) SET @pRESULT = 1 END ELSE BEGIN INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pRECORD_ID,'RECORD-ID','UNIQUE VIOLATION - VALUE ' + LTRIM(RTRIM(@pVALUE)),LTRIM(RTRIM(@pADDED_WHO))) SET @pRESULT = 0 DECLARE @CONTROL_CAPT VARCHAR(100), @ERROR_MSG VARCHAR(500) SELECT @CONTROL_CAPT = [COL_NAME] FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_ID SET @ERROR_MSG = 'UNIQUE VIOLATION FOR CONTROL: ' + @CONTROL_CAPT + CHAR(13) + 'THE VALUE ALREADY EXISTS - MULTIPLE VALUES PER CONTROL NOT ALLOWED!' RAISERROR(@ERROR_MSG,16,1) END RETURN END TRY BEGIN CATCH --Fehlerbehandlung SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE()) SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pRECORD_ID,'RECORD-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO))) RAISERROR(@FEHLER,16,1) END CATCH GO --#################################################################################################################### CREATE PROCEDURE PRPMO_AFTER_UPDATE_VALUES(@pFORM_ID INT,@pRECORD_ID INT) AS DECLARE @VALUE VARCHAR(100), @NEW_RECORD_ID INTEGER DECLARE CURSOR_TODO1 CURSOR FOR SELECT [VALUE] FROM [VWPMO_VALUES] WHERE FORM_ID = @pFORM_ID AND CONTROL_ID = 220 AND RECORD_ID = @pRECORD_ID BEGIN TRY OPEN CURSOR_TODO1 FETCH NEXT FROM CURSOR_TODO1 INTO @VALUE WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @ANZAHL INT,@VORHANDEN INT SELECT @VORHANDEN = COUNT(T.[Record-ID]) FROM VWTEMP_PMO_FORM20 T,TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @pRECORD_ID PRINT @VORHANDEN PRINT '' SET @ANZAHL = @VORHANDEN + 1 WHILE (@ANZAHL <=cast(@VALUE AS INT)) BEGIN PRINT @ANZAHL --Record Inserten INSERT INTO TBPMO_RECORD(ADDED_WHO, FORM_ID) VALUES ('INS_AUTOM_FOLGEN', @pFORM_ID) SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD WHERE ADDED_WHO = 'INS_AUTOM_FOLGEN' INSERT INTO TBPMO_RECORD_CONNECT (RECORD1_ID,RECORD2_ID,COMMENT) VALUES (@pRECORD_ID,@NEW_RECORD_ID,'INS_AUTOM_FOLGEN') --FOLGENBEZEICHNUNG DECLARE @VALUE_NEW AS VARCHAR(100) SET @VALUE_NEW = 'FOLGE ' + cast(@ANZAHL AS VARCHAR(2)) INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID,RECORD_ID,VALUE) VALUES (183,@NEW_RECORD_ID,@VALUE_NEW) SET @ANZAHL = @ANZAHL + 1 END FETCH NEXT FROM CURSOR_TODO1 INTO @VALUE END CLOSE CURSOR_TODO1 DEALLOCATE CURSOR_TODO1 END TRY BEGIN CATCH PRINT 'FEHLER IN: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --#################################################################################################################### CREATE PROCEDURE [dbo].[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 ) DECLARE @NEW_ID INT SELECT @NEW_ID = MAX(GUID) FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_TEXT = @CONTROL_TEXT INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES ( 'de-DE',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO) INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES ( 'en-US',@NEW_ID,@CONTROL_TEXT,@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 PROCEDURE PRDD_COPY_RECORD(@pRECORD_ID INT,@WHO VARCHAR(50)) --,@pMODULE_ID INT) AS DECLARE @NEW_RECORD_ID INT BEGIN TRY INSERT INTO TBPMO_RECORD ( FORM_ID,ADDED_WHO) SELECT FORM_ID,@WHO FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID,COMMENT) SELECT RECORD1_ID,@NEW_RECORD_ID,COMMENT FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = @pRECORD_ID INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) SELECT CONTROL_ID,@NEW_RECORD_ID,VALUE,@WHO FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID INSERT INTO TBPMO_CONTROL_IMAGE(CONTROL_ID,RECORD_ID,IMG,ADDED_WHO) SELECT CONTROL_ID,@NEW_RECORD_ID,IMG,@WHO FROM TBPMO_CONTROL_IMAGE WHERE RECORD_ID = @pRECORD_ID 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 --########################################################################################################################### CREATE 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_USER_LOGIN_OUT WHERE USER_ID = @pUSER_ID DELETE FROM TBPMO_USER_GLOBAL_SEARCH 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_MODULES WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID END TRY BEGIN CATCH PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --########################################################################################################################### CREATE PROCEDURE [dbo].[PRPMO_DELETE_DOCTYPE](@pDOCID INT) AS BEGIN TRY DELETE FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID IN (SELECT GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID) DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID DELETE FROM TBDD_DOKUMENTART_MODULE WHERE DOKART_ID = @pDOCID DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID END TRY BEGIN CATCH PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30),@COMMENT VARCHAR(100) = '') AS DECLARE @DELETE_SQL NVARCHAR(MAX), @ENTITY_ID INT, @COUNT_REQUIRED INT SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID' SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID) SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID) EXEC sp_executesql @DELETE_SQL --DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID DECLARE @reas As VARCHAR(250) SET @reas = 'RECORD DELETED BY USER' IF @COMMENT <> '' BEGIN SET @reas = @reas + ' - ' + @COMMENT END INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@ENTITY_ID, @reas, @WHO) SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID IF @COUNT_REQUIRED > (SELECT COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID) BEGIN PRINT 'EXEC PRPMO_DELETE_RECORD_FINALLY - PRE INSERT - LESS REQUIRED VALUES' EXEC PRPMO_DELETE_RECORD_FINALLY @pRECORD_ID,'PRE INSERT - LESS REQUIRED VALUES' END GO CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD_FINALLY](@pRECORD_ID INT, @WHO VARCHAR(30)) AS 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_HISTORY 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_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID' SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID) SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID) EXEC sp_executesql @DELETE_SQL DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID --UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD FINALLY DELETED BY USER',@WHO) GO --################################################################################################################################# CREATE 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], FULL_FILENAME, Doctype, [Version] as [Version], Objecttype, Creation_DateTime, Change_DateTime from VWPMO_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, @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, @Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime END CLOSE c_Values DEALLOCATE c_Values DECLARE @DocID1 INTEGER DECLARE c_2_Delete CURSOR LOCAL FOR select DocID from TBPMO_DOCRESULT_LIST where DocID not in (SELECT DocID from VWPMO_DOC_SYNC) OPEN c_2_Delete FETCH NEXT FROM c_2_Delete INTO @DocID1 WHILE @@FETCH_STATUS = 0 BEGIN EXEC PRPMO_DELETE_RESULTFILE @DocID1, 0, 1 --##### FETCH NEXT FROM c_2_Delete INTO @DocID1 END CLOSE c_2_Delete DEALLOCATE c_2_Delete DECLARE @RECID INTEGER DECLARE cursor_RELINK CURSOR LOCAL FOR select T.DocID,T1.dwValue from TBPMO_DOCRESULT_LIST T, DD_VMP01_APS01_windream60.dbo.Vector T1 WHERE T.DocID = T1.dwDocID AND T1.dwAttrID = 20005 AND T1.dwValue NOT IN (SELECT RECORD_ID from TBPMO_DOC_RECORD_LINK) ORDER BY T.DocID OPEN cursor_RELINK FETCH NEXT FROM cursor_RELINK INTO @DocID,@RECID WHILE @@FETCH_STATUS = 0 BEGIN IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE GUID = @RECID) BEGIN IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @RECID AND DOC_ID = @DocID) INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,ADDED_WHO) VALUES (@RECID,@DocID,'PRPMO_DOCRESULT_CHANGE') END FETCH NEXT FROM cursor_RELINK INTO @DocID,@RECID END CLOSE cursor_RELINK DEALLOCATE cursor_RELINK 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 --################################################################################################################################# CREATE PROCEDURE [dbo].[PRPMO_DOCSYNC_5MIN] 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], FULL_FILENAME, Doctype, [Version] as [Version], Objecttype, Creation_DateTime, Change_DateTime from VWPMO_DOC_SYNC WHERE Change_DateTime >= DATEADD(MINUTE , -5, GetDate()) OPEN c_Values FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_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, @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 --################################################################################################################################# CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_CHECK_USER] (@pUSER_ID INT,@pCHECK_WHO VARCHAR(50) = 'DD-Admin') AS BEGIN TRY DECLARE @CONSTR_DET_ID INT, @ENTITY_ID INT, @RECORD_ID INT, @RECORD_SELECT NVARCHAR(MAX), @RECORD_WHERE NVARCHAR(MAX), @CREATE_VIEW NVARCHAR(MAX), @USER_ID_ECM INT, @WD_RIGHT INT, @CONFIG INT, @DOC_ID INT, @DEL_SQL NVARCHAR(30) DECLARE Cursor_constructors CURSOR FOR SELECT T1.GUID, T1.FORM_ID FROM TBPMO_CONSTRUCTOR_USER T,TBPMO_FORM_CONSTRUCTOR_DETAIL T1,(SELECT DISTINCT TR.FORM_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD TR WHERE T.RECORD_ID = TR.GUID) T2 WHERE T.CONSTRUCT_ID = T1.CONSTRUCT_ID AND T1.FORM_ID = T2.FORM_ID AND T.USER_ID = @pUSER_ID SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @pUSER_ID DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE USER_ID = @pUSER_ID OPEN Cursor_constructors FETCH NEXT FROM Cursor_constructors INTO @CONSTR_DET_ID,@ENTITY_ID WHILE @@FETCH_STATUS = 0 BEGIN IF EXISTS(select * FROM sys.views where name = 'VWTEMP_REC_USER') DROP VIEW VWTEMP_REC_USER SET @WD_RIGHT = 3 IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID) SELECT @WD_RIGHT = RIGHT1 FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID ELSE BEGIN IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID) BEGIN SELECT @CONFIG = [READ_ONLY] FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID IF @CONFIG = 1 BEGIN SET @WD_RIGHT = 1 --Print 'User shall only read' END END END IF EXISTS(SELECT GUID FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID) BEGIN SELECT @RECORD_WHERE = ISNULL(SQL_COMMAND1,'') FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID IF LEN(@RECORD_WHERE) > 0 BEGIN SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@USER_ID',CONVERT(NVARCHAR(10),@pUSER_ID)) SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@NUMBER',CONVERT(NVARCHAR(3),@ENTITY_ID)) SET @RECORD_SELECT = @RECORD_WHERE END ELSE BEGIN SET @RECORD_SELECT = N'SELECT [Record-ID] FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID) END END ELSE BEGIN SET @RECORD_SELECT = N'SELECT [Record-ID] FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID) END SET @CREATE_VIEW = N'CREATE VIEW VWTEMP_REC_USER AS ' + @RECORD_SELECT EXEC (@CREATE_VIEW) DECLARE Cursor_Records CURSOR FOR SELECT [Record-ID] FROM VWTEMP_REC_USER OPEN Cursor_Records FETCH NEXT FROM Cursor_Records INTO @RECORD_ID WHILE @@FETCH_STATUS = 0 BEGIN DECLARE Cursor_Docs CURSOR FOR SELECT T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T,TBPMO_RECORD TR,(SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE [dwUserOrGroupID] = @USER_ID_ECM) T1 WHERE T.RECORD_ID = TR.GUID AND T.DOC_ID = T1.dwObjectID AND T.RECORD_ID = @RECORD_ID AND TR.FORM_ID = @ENTITY_ID OPEN Cursor_Docs FETCH NEXT FROM Cursor_Docs INTO @DOC_ID WHILE @@FETCH_STATUS = 0 BEGIN --PRINT 'INSERTING ENT_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) +' - DOC_ID: ' + CONVERT(VARCHAR(10),@DOC_ID) + ' - RIGHT: '+ CONVERT(VARCHAR(10),@WD_RIGHT) INSERT INTO TBPMO_RIGHTS_WORK_SERVICE(DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES(@DOC_ID,@pUSER_ID,'ADD RIGHT', @WD_RIGHT,'USER_RIGHTS_RENEW',@pCHECK_WHO) FETCH NEXT FROM Cursor_Docs INTO @DOC_ID END CLOSE Cursor_Docs DEALLOCATE Cursor_Docs FETCH NEXT FROM Cursor_Records INTO @RECORD_ID END CLOSE Cursor_Records DEALLOCATE Cursor_Records SET @DEL_SQL = CONVERT(NVARCHAR(30),N'DROP VIEW VWTEMP_REC_USER') EXEC sp_executesql @DEL_SQL FETCH NEXT FROM Cursor_constructors INTO @CONSTR_DET_ID,@ENTITY_ID END CLOSE Cursor_constructors DEALLOCATE Cursor_constructors END TRY BEGIN CATCH PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --############################################################################################################################## CREATE PROCEDURE [dbo].[PRPMO_DOC_CREATE_NEW_DOC](@pDOC_ID INTEGER,@pREC_ID INTEGER,@WHO VARCHAR(50)) AS BEGIN TRY DECLARE @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 SELECT @FULL_FILENAME = FULL_FILENAME ,@DISPLAY_NAME = [Filename] ,@Filename = [Filename] ,@Doctype = Doctype ,@Version = [Version] ,@Creation_DateTime = [Creation_DateTime] ,@Change_DateTime = [Change_DateTime] ,@Objecttype = OBJECTTYPE FROM VWPMO_DOC_SYNC WHERE DocID = @pDOC_ID IF NOT EXISTS(SELECT DocID FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOC_ID) INSERT INTO TBPMO_DOCRESULT_LIST ( [DocID], [DISPLAY_NAME], [FULL_FILENAME], [Filename], [Doctype], [Version], [Objecttype], Creation_DateTime, Change_DateTime) VALUES ( @pDOC_ID, @Filename, @FULL_FILENAME, @Filename, @Doctype, @Version, @Objecttype, @Creation_DateTime, @Change_DateTime) ELSE UPDATE TBPMO_DOCRESULT_LIST SET [DISPLAY_NAME] = @Filename, [FULL_FILENAME] = @FULL_FILENAME, [Filename] = @Filename, [Doctype] = @Doctype, [Version] = @Version, [Objecttype] = @Objecttype, Creation_DateTime = @Creation_DateTime, Change_DateTime = @Change_DateTime WHERE [DocID] = @pDOC_ID IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOC_ID AND RECORD_ID = @pREC_ID) INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID,ADDED_WHO) VALUES (@pDOC_ID,@pREC_ID,@WHO) END TRY BEGIN CATCH PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --############################################################################################################################## CREATE PROCEDURE PRPMO_CREATE_VARIANT(@pREC_ID INTEGER,@WHO VARCHAR(50), @REASON VARCHAR(50),@COMMENT VARCHAR(500),@LINKFILES BIT) AS BEGIN TRY DECLARE @return_value int EXEC @return_value = [dbo].[PRDD_COPY_RECORD] @pREC_ID,@WHO IF @return_value = 0 BEGIN DECLARE @NEW_RECORD_ID INTEGER SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD WHERE UPPER(ADDED_WHO) = UPPER(@WHO) UPDATE TBPMO_RECORD SET PARENT_RECORD = @NEW_RECORD_ID ,CHANGED_WHO = @WHO WHERE GUID = @pREC_ID INSERT INTO TBPMO_RECORD_VARIANT (RECORD_ID,REASON_CODE,COMMENT,ADDED_WHO) VALUES (@pREC_ID,@REASON,@COMMENT,@WHO) UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = (SELECT RECORD_ENTITY_ID FROM TBPMO_RECORD WHERE GUID = @pREC_ID) ,CHANGED_WHO = @WHO WHERE GUID = @NEW_RECORD_ID IF @LINKFILES = 1 INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID, COMMENT, ADDED_WHO) SELECT @NEW_RECORD_ID, DOC_ID, 'NEW VARIANT LINK', @WHO FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pREC_ID END ELSE RAISERROR ('ERROR WHILE COPYING RECORD', 10, -- Severity. 1, -- State. '99', -- First substitution argument. 'PRDD_COPY_RECORD'); -- Second substitution argument. END TRY BEGIN CATCH PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --############################################################################################################################## CREATE PROCEDURE PRPMO_NODES_GET_CHILD_RECORDS (@USER_ID INTEGER, @NODE_ID INTEGER) AS BEGIN DELETE FROM TBPMO_STRUCTURE_NODES_USER_TEMP WHERE USER_ID = @USER_ID; WITH tblChild AS ( SELECT GUID,RECORD_ID FROM TBPMO_STRUCTURE_NODES WHERE GUID = @NODE_ID UNION ALL SELECT TBPMO_STRUCTURE_NODES.GUID,TBPMO_STRUCTURE_NODES.RECORD_ID FROM TBPMO_STRUCTURE_NODES JOIN tblChild ON TBPMO_STRUCTURE_NODES.PARENT_GUID = tblChild.GUID ) INSERT INTO TBPMO_STRUCTURE_NODES_USER_TEMP (USER_ID,RECORD_ID) SELECT @USER_ID,RECORD_ID FROM tblChild where RECORD_ID is not null OPTION(MAXRECURSION 32767) END GO --############################################################################################################################## CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_CHECK_INSERT_WORK_RECORD](@pDOC_ID INT, @pUSER_ID INTEGER, @pUSER_ECM_ID INTEGER,@pWD_RIGHT INT, @pMETHOD VARCHAR(50),@pREASON VARCHAR(100),@pCHECK_WHO VARCHAR(50)) AS BEGIN TRY IF NOT EXISTS(select dwObjectID from VWPMO_WD_OBJECT_RIGHTS where dwObjectID = @pDOC_ID and dwUserOrGroupID = @pUSER_ECM_ID) BEGIN IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID) --PRINT 'INSERTING ENT_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) +' - DOC_ID: ' + CONVERT(VARCHAR(10),@DOC_ID) + ' - RIGHT: '+ CONVERT(VARCHAR(10),@WD_RIGHT) INSERT INTO TBPMO_RIGHTS_WORK_SERVICE(DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES (@pDOC_ID,@pUSER_ID,@pMETHOD, @pWD_RIGHT, @pREASON, @pCHECK_WHO) ELSE BEGIN DECLARE @EX_RIGHT INT SELECT @EX_RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID IF @EX_RIGHT < @pWD_RIGHT UPDATE TBPMO_RIGHTS_WORK_SERVICE SET FILE_RIGHT = @pWD_RIGHT WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID END END ELSE BEGIN DECLARE @RIGHT_IN_WD INT SELECT @RIGHT_IN_WD = dwAccessRight FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwObjectID = @pDOC_ID AND dwUserOrGroupID = @pUSER_ID IF @RIGHT_IN_WD < @pWD_RIGHT BEGIN PRINT 'RIGHT IN WINDREAM LOWER THAN ADDI-RIGHT' UPDATE DD_VMP01_APS01_windream60.dbo.AccessRight set dwAccessRight = @pWD_RIGHT where dwObjectID = @pDOC_ID and dwUserOrGroupID = @pUSER_ECM_ID END --ELSE -- BEGIN -- PRINT 'RIGHT IN WINDREAM GREATE THAN ADDI-RIGHT' -- UPDATE windream.dbo.AccessRight set dwAccessRight = @WD_RIGHT where dwObjectID = @DOC_ID and dwUserOrGroupID = @USER_ID_ECM -- END END END TRY BEGIN CATCH PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --########################################################################################## CREATE 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 --########################################################################################## CREATE PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT) --ALTER PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT) AS DECLARE @SQL_BEGIN NVARCHAR(MAX), @SQL_END NVARCHAR(MAX), @SQL NVARCHAR(MAX), @SQL_DEF_CONSTR NVARCHAR(MAX), @CONTROL_ID INT, @RESULT NVARCHAR(MAX), @TYPEID INT, @TABINDEX INT, @ZAEHLER INT = 1, @DEFAULT VARCHAR(50), @COL_NAME VARCHAR(50), @ENTITY_TABLENAME VARCHAR(50) --select Top 10 * from VWTEMP_PMO_FORM1 DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID AS CONTROL_ID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE 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 = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) --UNION --SELECT T.GUID AS CONTROL_ID,'[' + T3.CAPTION + ']' AS 'COL_NAME',T2.GUID as TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2, TBPMO_CONTROL_LANGUAGE T3 --WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T1.GUID = T3.CONTROL_SCREEN_ID AND T.FORM_ID = 13 AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0 ORDER BY TAB_INDEX BEGIN SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SET @SQL = 'IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ''@TABLE@ENT'') drop table @TABLE@ENT' + CHAR(13) SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) EXEC sp_executesql @SQL SET @SQL_BEGIN = 'CREATE TABLE @TABLE@ENT(' + CHAR(13) + '[Record-ID] INT NOT NULL,' + CHAR(13) + 'ROW_COLOR VARCHAR(50) NOT NULL DEFAULT '''',' + CHAR(13) SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@TABLE',@ENTITY_TABLENAME) --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 = '[file_exists] BIT NOT NULL DEFAULT 0,' + CHAR(13) + '[file_count] INT NOT NULL DEFAULT 0,' + CHAR(13) + 'AddedWho VARCHAR(50)' + CHAR(13) + ',AddedWhen DATETIME' + CHAR(13) + ', ChangedWho VARCHAR(50)' + CHAR(13) + ',ChangedWhen DATETIME,' + CHAR(13) + 'CONSTRAINT PK_@TABLE@ENT PRIMARY KEY([Record-ID]))' + CHAR(13) SET @SQL_END = REPLACE(@SQL_END,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME) OPEN c_SPALTENNAMEN FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT WHILE @@FETCH_STATUS = 0 BEGIN SET @ZAEHLER = @ZAEHLER + 1 BEGIN IF @TYPEID IN(10,11) --CheckBox,RadioBox BEGIN IF @DEFAULT = 'False' SET @DEFAULT = '0' ELSE SET @DEFAULT = '1' SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' BIT NOT NULL DEFAULT ' + @DEFAULT + ',' + CHAR(13) END ELSE IF @TYPEID = 6 --Picturebox BEGIN SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARBINARY(MAX),' + CHAR(13) ENd ELSE IF @TYPEID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable BEGIN SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13) END ELSE IF @TYPEID = 1 --Label BEGIN SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13) END ELSE IF @TYPEID = 4 --DatePicker BEGIN SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(10),' + CHAR(13) END ELSE BEGIN SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13) IF LEN(ISNULL(@DEFAULT,'')) > 0 BEGIN DECLARE @TEMP_COL_NAME VARCHAR(50) SET @TEMP_COL_NAME = REPLACE(@COL_NAME,' ','') SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,'[','') SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,']','') IF LEN(@SQL_DEF_CONSTR) > 0 SET @SQL_DEF_CONSTR = @SQL_DEF_CONSTR + CHAR(13) + 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';' ELSE SET @SQL_DEF_CONSTR = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';' BEGIN SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@DEFAULT_VALUE',@DEFAULT) SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@COL_NAME',@TEMP_COL_NAME) SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@TABLE',@ENTITY_TABLENAME) END END END END FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT END CLOSE c_SPALTENNAMEN DEALLOCATE c_SPALTENNAMEN SET @RESULT = @SQL + @SQL_BEGIN + @SQL_END --PRINT @RESULT EXEC sp_executesql @RESULT IF LEN(@SQL_DEF_CONSTR) > 0 BEGIN --PRINT @SQL_DEF_CONSTR EXEC sp_executesql @SQL_DEF_CONSTR END END GO ----------------------------------------------------------------------------------------- --########################################################################################## CREATE PROCEDURE PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE (@pRECID INT) --ALTER PROCEDURE PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE (@pRECID INT) AS DECLARE @SQL NVARCHAR(MAX), @COUNT_DOCS INT, @DOC_EXISTS TINYINT, @ENT_ID INT, @ENTITY_TABLENAME VARCHAR(50) BEGIN SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SELECT @ENT_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECID SELECT @COUNT_DOCS = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECID IF @COUNT_DOCS > 0 SET @DOC_EXISTS = 1 ELSE SET @DOC_EXISTS = 0 SET @SQL = 'UPDATE @TABLE@ENT_ID SET [file_exists] = @DOC_EXISTS, [file_count] = @COUNT_DOCS WHERE [Record-ID] = @pRECID' SET @SQL = REPLACE(@SQL,'@pRECID',CONVERT(VARCHAR(10),@pRECID)) SET @SQL = REPLACE(@SQL,'@DOC_EXISTS',CONVERT(VARCHAR(1),@DOC_EXISTS)) SET @SQL = REPLACE(@SQL,'@COUNT_DOCS',CONVERT(VARCHAR(10),@COUNT_DOCS)) SET @SQL = REPLACE(@SQL,'@ENT_ID',CONVERT(VARCHAR(3),@ENT_ID)) SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) EXEC sp_executesql @SQL END GO ----------------------------------------------------------------------------------------- --########################################################################################## CREATE PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT) --ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT) AS DECLARE @REC_ID INT, @SQL_INSERT_REC NVARCHAR(MAX), @SQL_DELETE NVARCHAR(MAX), @SQL_UPDATE NVARCHAR(MAX), @CONTROL_ID INT, @INSERT_COMAMND NVARCHAR(MAX), @TYPEID INT, @TABINDEX INT, @DEFAULT VARCHAR(50), @COL_NAME VARCHAR(50), @ENTITY_TABLENAME VARCHAR(50) PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + '''' DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0 BEGIN SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT' SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) EXEC sp_executesql @SQL_DELETE OPEN cursor_Records FETCH NEXT FROM cursor_Records INTO @REC_ID WHILE @@FETCH_STATUS = 0 BEGIN SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID' SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) --PRINT @SQL_INSERT_REC EXEC sp_executesql @SQL_INSERT_REC EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) ORDER BY TAB_INDEX BEGIN OPEN cursor_Columns FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID WHILE @@FETCH_STATUS = 0 BEGIN --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) -- IF @TYPEID = 6 --Picturebox BEGIN DECLARE @VALUE_VBM VARBINARY(MAX) IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) BEGIN SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) EXEC sp_executesql @SQL_UPDATE END END ELSE BEGIN DECLARE @VALUE VARCHAR(MAX) IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) BEGIN TRY IF @TYPEID IN(10,11) --CheckBox,RadioBox BEGIN SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) END ELSE IF @TYPEID IN(7,12,14) BEGIN SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) END ELSE SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) --PRINT @SQL_UPDATE EXEC sp_executesql @SQL_UPDATE END TRY BEGIN CATCH PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID) END CATCH END FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID END CLOSE cursor_Columns DEALLOCATE cursor_Columns END FETCH NEXT FROM cursor_Records INTO @REC_ID END CLOSE cursor_Records DEALLOCATE cursor_Records END GO --########################################################################################## CREATE PROCEDURE PRPMO_ENTITY_TABLE_UPDATE_COLUMN(@ENTITY_ID INT,@RECORD_ID INT, @CONTROL_ID INTEGER, @COL_NAME VARCHAR(50), @CHANGED_WHO VARCHAR(50),@VALUE_NEW VARCHAR(MAX) = NULL) --ALTER PROCEDURE PRPMO_ENTITY_TABLE_UPDATE_COLUMN(@ENTITY_ID INT,@RECORD_ID INT, @COL_NAME VARCHAR(50),@CHANGED_WHO VARCHAR(50),@VALUE_NEW VARCHAR(MAX) = NULL) AS DECLARE @SQL_UPDATE NVARCHAR(MAX), @ENTITY_TABLENAME VARCHAR(50), @TYPE_ID INT BEGIN SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SELECT @TYPE_ID = CONTROL_TYPE_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID IF @TYPE_ID IN(7,12,14) --DGV,CheckedListBox,ListBox SELECT @VALUE_NEW = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID,@RECORD_ID) IF @VALUE_NEW IS NULL SET @SQL_UPDATE = 'UPDATE @TABLE@ENT_ID SET [@COL_NAME] = NULL,ChangedWho = ''@CHANGED_WHO'',ChangedWhen = ''@CHANGED_WHEN'' WHERE [Record-ID] = @RECORD_ID' ELSE SET @SQL_UPDATE = 'UPDATE @TABLE@ENT_ID SET [@COL_NAME] = ''@VALUE_NEW'',ChangedWho = ''@CHANGED_WHO'',ChangedWhen = ''@CHANGED_WHEN'' WHERE [Record-ID] = @RECORD_ID' SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT_ID',CONVERT(VARCHAR(3),@ENTITY_ID)) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE_NEW',@VALUE_NEW) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@RECORD_ID',CONVERT(VARCHAR(10),@RECORD_ID)) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CHANGED_WHEN',CONVERT(VARCHAR(25),GETDATE())) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CHANGED_WHO',@CHANGED_WHO) EXEC sp_executesql @SQL_UPDATE END GO --########################################################################################## CREATE PROCEDURE PRPMO_ALTER_ENTITY_TABLE(@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0) AS DECLARE @SQL NVARCHAR(MAX), @DEFAULT_VALUE VARCHAR(100), @ENTITY_TABLENAME VARCHAR(50), @TEMP_COL_NAME VARCHAR(50), @SQL_DEF NVARCHAR(MAX), @DFNAME VARCHAR(50), @DROP NVARCHAR(500) BEGIN SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SET @DEFAULT_VALUE = @pDEFAULT_VALUE IF @pACTION = 0 -- Für Insert BEGIN SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + 'ADD [@COL_NAME]' SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME) IF @pTYP_ID IN(10,11) --CheckBox,RadioBox BEGIN IF @DEFAULT_VALUE = 'False' SET @DEFAULT_VALUE = '0' ELSE SET @DEFAULT_VALUE = '1' SET @SQL = @SQL +' BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE + CHAR(13) END ELSE IF @pTYP_ID = 6 --Picturebox SET @SQL = @SQL +' VARBINARY(MAX)' + CHAR(13) ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13) ELSE IF @pTYP_ID = 4 --DatePicker SET @SQL = @SQL + ' VARCHAR(10)' + CHAR(13) ELSE BEGIN IF LEN(ISNULL(@DEFAULT_VALUE,'')) > 0 BEGIN SET @SQL = @SQL + ' VARCHAR(MAX) DEFAULT ''@DEFAULT''' + CHAR(13) SET @SQL = REPLACE(@SQL,'@DEFAULT',@DEFAULT_VALUE) END ELSE SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13) END --PRINT @SQL EXEC sp_executesql @SQL PRINT 'COLUMN FOR ENTITY-TABLE WAS ADDED' END ELSE IF @pACTION = 1 -- Für Update BEGIN IF LEN(ISNULL(@pCOL_NAME_OLD,'')) > 0 BEGIN SET @SQL = '@TABLE@ENT.[@OLDNAME]' SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) SET @SQL = REPLACE(@SQL,'@OLDNAME',@pCOL_NAME_OLD) --PRINT @COL_NAME --PRINT @TABLENAME_COL --Update des Columnnames EXEC sp_RENAME @SQL, @pCOL_NAME, 'COLUMN' PRINT 'COLUMN WAS UPDATED' SET @SQL = 'ALTER TABLE @TABLE@ENT ALTER COLUMN ' SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) SET @SQL = @SQL + '[' + @pCOL_NAME + '] ' IF @pTYP_ID IN(10,11) --CheckBox,RadioBox BEGIN IF @DEFAULT_VALUE = 'False' SET @DEFAULT_VALUE = '0' ELSE SET @DEFAULT_VALUE = '1' SET @SQL = @SQL +'BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE END ELSE IF @pTYP_ID = 6 --Picturebox SET @SQL = @SQL +'VARBINARY(MAX)' ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable SET @SQL = @SQL + 'VARCHAR(MAX)' ELSE IF @pTYP_ID = 4 --DatePicker SET @SQL = @SQL + 'VARCHAR(10)' ELSE BEGIN SET @SQL = @SQL + 'VARCHAR(MAX)' IF @DEFAULT_VALUE IS NOT NULL BEGIN SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,' ','') SET @SQL_DEF = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR [' + @pCOL_NAME + ']' SET @SQL_DEF = REPLACE(@SQL_DEF,'@DEFAULT_VALUE',@DEFAULT_VALUE) SET @SQL_DEF = REPLACE(@SQL_DEF,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_DEF = REPLACE(@SQL_DEF,'@TABLE',@ENTITY_TABLENAME) SET @SQL_DEF = REPLACE(@SQL_DEF,'@COL_NAME',@TEMP_COL_NAME) END END --PRINT '@ALTER SQL-COMMAND: ' + @SQL EXEC sp_executesql @SQL PRINT 'ALTER TABLE was executed' SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME' SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME) SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME) --PRINT '@DFNAME: ' + @DFNAME IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME) BEGIN --PRINT 'DEFAULT KEY EXISTS' SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME' SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME) SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME) --PRINT @DROP EXEC sp_executesql @DROP END IF LEN(@SQL_DEF) > 0 AND LEN(@DEFAULT_VALUE) > 0 BEGIN --PRINT '@SQL DEFAULT CONSTRAINT: ' + @SQL_DEF EXEC sp_executesql @SQL_DEF END END END ELSE IF @pACTION = 2 -- Für Delete BEGIN SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME' SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME) SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME) --PRINT '@DFNAME: ' + @DFNAME IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME) BEGIN --PRINT 'DEFAULT KEY EXISTS' SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME' SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME) SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME) --PRINT @DROP EXEC sp_executesql @DROP END SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + ' DROP COLUMN [@COL_NAME]' SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME) EXEC sp_executesql @DROP END EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @pENTITY_ID END GO --########################################################################################## CREATE PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE_VIEW](@pENTITY_ID INT) AS DECLARE @COL_NAME VARCHAR(50), @SQL_BEGIN NVARCHAR(4000), @SQL_END NVARCHAR(4000), @SQL NVARCHAR(MAX), @CONTROL_ID INT, @RESULT NVARCHAR(MAX), @TYPEID INT, @TABINDEX INT, @SQL_LBL VARCHAR(4000), @ENTITY_TABLENAME VARCHAR(50), @VWPMO_ENTITY_TABLE VARCHAR(100) SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 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 = @pENTITY_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, T.SQL_COMMAND_1 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 = @pENTITY_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0 ORDER BY TAB_INDEX BEGIN SET @VWPMO_ENTITY_TABLE = 'VWPMO_ENTITY_TABLE@pENTITY_ID' SET @SQL_BEGIN = 'CREATE VIEW @VIEW AS SELECT T.[Record-ID]' + CHAR(13) + ',T.ROW_COLOR' + CHAR(13) + ',@pENTITY_ID AS [Form-ID]' + CHAR(13) + ',' SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@VIEW',@VWPMO_ENTITY_TABLE) SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @VWPMO_ENTITY_TABLE = REPLACE(@VWPMO_ENTITY_TABLE,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_END = 'T.file_exists as [files?],' + CHAR(13) + 'T.file_count as [file count],' + CHAR(13) + 'T.AddedWho,' + CHAR(13) + 'T.AddedWhen,' + CHAR(13) + 'T.ChangedWho,' + CHAR(13) + 'T.ChangedWhen FROM @TABLE@pENTITY_ID T' SET @SQL_END = REPLACE(@SQL_END,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME) SET @SQL = '' OPEN c_SPALTENNAMEN FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL WHILE @@FETCH_STATUS = 0 BEGIN SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') --PRINT @COL_NAME IF @TYPEID IN(10,11) -- CheckBox,RadioBox SET @SQL = @SQL + 'CONVERT(BIT,T.@COL_NAME) AS ' + @COL_NAME + ',' + CHAR(13) ELSE IF @TYPEID = 6 --PictureBox SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13) ELSE IF @TYPEID = 1 --Label mit SQL BEGIN SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.[Record-ID]') SET @SQL = @SQL + '(' + @SQL_LBL + ') AS ' + @COL_NAME + ',' + CHAR(13) END --ELSE IF @TYPEID IN(7,12,14) --DGV,CheckedListBox,ListBox -- SET @SQL = @SQL + 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.[Record-ID]) AS ' + @COL_NAME + ',' + CHAR(13) ELSE IF @TYPEID = 4 --Datepicker SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13) ELSE SET @SQL = @SQL + 'ISNULL(T.@COL_NAME,'''') AS ' + @COL_NAME + ',' + CHAR(13) SET @SQL = REPLACE(@SQL,'@COL_NAME',@COL_NAME) FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL END CLOSE c_SPALTENNAMEN DEALLOCATE c_SPALTENNAMEN SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END PRINT @RESULT IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @VWPMO_ENTITY_TABLE) BEGIN SET @SQL = 'DROP VIEW [dbo].[@VIEW]' SET @SQL = REPLACE(@SQL,'@VIEW',@VWPMO_ENTITY_TABLE) PRINT @SQL EXEC sp_executesql @SQL END EXEC sp_executesql @RESULT UPDATE TBPMO_FORM_SQL SET SQL_COMMAND1 = @RESULT WHERE FORM_ID = @pENTITY_ID END GO --########################################################################################## CREATE PROCEDURE [dbo].[PRPMO_COPY_RECORD](@pRECORD_ID INT,@WHO VARCHAR(50)) AS DECLARE @NEW_RECORD_ID INT BEGIN TRY INSERT INTO TBPMO_RECORD ( FORM_ID,ADDED_WHO,RECORD_ENTITY_ID) SELECT FORM_ID,@WHO,4711 FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID,COMMENT) SELECT RECORD1_ID,@NEW_RECORD_ID,COMMENT FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = @pRECORD_ID DECLARE @CONTROL_ID INT, @REC_ID INT, @VALUE VARCHAR(MAX), @ADDED_WHO VARCHAR(50) DECLARE cursorControlValues CURSOR LOCAL FOR SELECT CONTROL_ID,@NEW_RECORD_ID,VALUE,@WHO FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID OPEN cursorControlValues FETCH NEXT FROM cursorControlValues INTO @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES ( @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO) FETCH NEXT FROM cursorControlValues INTO @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO END CLOSE cursorControlValues DEALLOCATE cursorControlValues INSERT INTO TBPMO_CONTROL_IMAGE(CONTROL_ID,RECORD_ID,IMG,ADDED_WHO) SELECT CONTROL_ID,@NEW_RECORD_ID,IMG,@WHO FROM TBPMO_CONTROL_IMAGE WHERE RECORD_ID = @pRECORD_ID 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 --########################################################################################## CREATE 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_ENTITY_RIGHT_CONTROLS WHERE CONTROL_ID = @pCONTROL_ID DELETE FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_ID END TRY BEGIN CATCH PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --########################################################################################## CREATE 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_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID)) DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID) DELETE FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE ENTITY_ID = @pENTITY_ID 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_ENTITY_VARIANT_REASONS WHERE ENTITY_ID = @pENTITY_ID DELETE FROM TBPMO_FORM_VIEW WHERE FORM_ID = @pENTITY_ID DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_ID END TRY BEGIN CATCH PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --########################################################################################## CREATE PROCEDURE [dbo].[PRPMO_DELETE_CONSTRUCTOR](@pCONSTR_ID INT) AS BEGIN TRY DELETE FROM TBPMO_CLIENT_CONSTRUCTOR WHERE CONSTRUCT_ID = @pCONSTR_ID DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE CONSTRUCT_ID = @pCONSTR_ID DELETE FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE CONSTRUCT_ID in (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID) DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE FOLLOW_UP_ID IN (SELECT GUID FROM TBPMO_FOLLOW_UP_EMAIL WHERE CONSTRUCTOR_ID = @pCONSTR_ID) DELETE FROM TBPMO_FOLLOW_UP_EMAIL WHERE CONSTRUCTOR_ID = @pCONSTR_ID DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID in (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID) DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE CONSTRUCTOR_DETAIL_ID IN (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID) DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID DELETE FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = @pCONSTR_ID END TRY BEGIN CATCH PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --########################################################################################## CREATE PROCEDURE [dbo].[PRPMO_RECORD_CREATE_WORKFLOWTASKS](@RECORD_ID INTEGER) AS BEGIN TRY DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID INSERT INTO TBPMO_WORKFLOW_TASK (RECORD_ID,WF_ID,STATE_ID,ACTIVE) SELECT @RECORD_ID, T.WF_ID,1,1 FROM TBPMO_WORKFLOW_FORM T, TBPMO_RECORD T1 WHERE T.FORM_ID = T1.FORM_ID AND T1.GUID = @RECORD_ID END TRY BEGIN CATCH PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --########################################################################################## CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_ADD_RECORD](@pDOC_ID INT, @pDOC_PATH VARCHAR(1000), @pUSERSTRING VARCHAR(250), @pRIGHT INT, @pTYPE VARCHAR(100),@FROM_SERVICE INT) AS BEGIN TRY DECLARE @GUID INTEGER, @RIGHT INTEGER SELECT @GUID = ISNULL(MAX(GUID),0) FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE DOC_ID = @pDOC_ID AND UPPER(DOC_PATH) = UPPER(@pDOC_PATH) AND UPPER(USER_STRING) = UPPER(@pUSERSTRING) IF @GUID = 0 INSERT INTO TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT (DOC_ID,DOC_PATH,USER_STRING,FILE_RIGHT,RIGHT_TYPE,ADDED_WHO,[SERVICE]) VALUES (@pDOC_ID,UPPER(@pDOC_PATH),UPPER(@pUSERSTRING),@pRIGHT,@pTYPE,'PRPMO_RIGHT_INSERT',@FROM_SERVICE) ELSE BEGIN SELECT @RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE GUID = @GUID IF @RIGHT <> @pRIGHT IF @RIGHT < @pRIGHT UPDATE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT SET FILE_RIGHT = @pRIGHT,RIGHT_TYPE = @pTYPE WHERE GUID = @GUID END END TRY BEGIN CATCH PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MSG: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO --############################################################################################### CREATE PROCEDURE [dbo].[PRPMO_DELETE_RESULTFILE](@pDOCID INT, @pRECORDID INT, @DELETE_FILE INT) AS BEGIN TRY DECLARE @COUNT INT SELECT @COUNT = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOCID IF @COUNT = 1 OR (@DELETE_FILE = 1 AND @COUNT > 1) BEGIN DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID END ELSE IF @COUNT > 1 and @DELETE_FILE = 0 BEGIN DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID AND RECORD_ID = @pRECORDID END ELSE IF @DELETE_FILE = 1 BEGIN DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID END 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 CREATE PROCEDURE [dbo].[PRPMO_DOC_VALUE_UPD_INS](@pDOCID INT, @pREC_ID INT, @pCONFIGID INT,@pVALUE VARCHAR(MAX),@pUSER VARCHAR(30)) AS BEGIN TRY IF EXISTS(SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @pCONFIGID AND RECORD_ID = @pREC_ID) UPDATE TBPMO_DOC_VALUES SET VALUE = @pVALUE,CHANGED_WHO = @pUSER WHERE GUID = ( SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND RECORD_ID = @pREC_ID AND CONFIG_ID = @pCONFIGID) ELSE INSERT INTO TBPMO_DOC_VALUES (DocID, RECORD_ID, CONFIG_ID, VALUE, ADDED_WHO) VALUES (@pDOCID, @pREC_ID, @pCONFIGID, @pVALUE, @pUSER) END TRY --########################################################################################## BEGIN CATCH PRINT 'ERROR IN [PRPMO_DOC_VALUE_UPD_INS] - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO ALTER TRIGGER [dbo].[TBPMO_CONTROL_LANGUAGE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_LANGUAGE] FOR UPDATE AS BEGIN DECLARE @CONTR_SCREEN_ID INTEGER, @GUID INTEGER, @CAPTION VARCHAR(100) SELECT @CONTR_SCREEN_ID = CONTROL_SCREEN_ID, @GUID = GUID, @CAPTION = CAPTION FROM inserted UPDATE TBPMO_CONTROL_LANGUAGE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_LANGUAGE.GUID = INSERTED.GUID IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = @CONTR_SCREEN_ID AND LANGUAGE_TYPE = 'de-DE') INSERT INTO TBPMO_CONTROL_LANGUAGE (LANGUAGE_TYPE,CONTROL_SCREEN_ID,CAPTION) VALUES ('de-DE',@CONTR_SCREEN_ID,@CAPTION) IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = @CONTR_SCREEN_ID AND LANGUAGE_TYPE = 'en-US') INSERT INTO TBPMO_CONTROL_LANGUAGE (LANGUAGE_TYPE,CONTROL_SCREEN_ID,CAPTION) VALUES ('en-US',@CONTR_SCREEN_ID,@CAPTION) END GO --########################################################################################## CREATE PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_RENEW_RECORD](@pENTITY_ID INT,@pRECORD_ID INT) AS DECLARE @REC_ID INT, @SQL_INSERT_REC NVARCHAR(MAX), @SQL_DELETE NVARCHAR(MAX), @SQL_UPDATE NVARCHAR(MAX), @CONTROL_ID INT, @INSERT_COMAMND NVARCHAR(MAX), @TYPEID INT, @TABINDEX INT, @DEFAULT VARCHAR(50), @COL_NAME VARCHAR(50), @ENTITY_TABLENAME VARCHAR(50) PRINT 'WORKING ON RECORD ''' + CONVERT(VARCHAR(10),@pRECORD_ID) + '''' DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID BEGIN SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @RECORD_ID' SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@RECORD_ID',CONVERT(VARCHAR(10),@pRECORD_ID)) SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) PRINT @SQL_DELETE EXEC sp_executesql @SQL_DELETE OPEN cursor_Records FETCH NEXT FROM cursor_Records INTO @REC_ID WHILE @@FETCH_STATUS = 0 BEGIN SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID' SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) PRINT @SQL_INSERT_REC EXEC sp_executesql @SQL_INSERT_REC EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) ORDER BY TAB_INDEX BEGIN OPEN cursor_Columns FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID WHILE @@FETCH_STATUS = 0 BEGIN --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) -- IF @TYPEID = 6 --Picturebox BEGIN DECLARE @VALUE_VBM VARBINARY(MAX) IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) BEGIN SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) EXEC sp_executesql @SQL_UPDATE END END ELSE BEGIN DECLARE @VALUE VARCHAR(MAX) IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) BEGIN TRY IF @TYPEID IN(10,11) --CheckBox,RadioBox BEGIN SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) END ELSE IF @TYPEID IN(7,12,14) BEGIN SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) END ELSE SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) --PRINT @SQL_UPDATE EXEC sp_executesql @SQL_UPDATE END TRY BEGIN CATCH PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID) END CATCH END FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID END CLOSE cursor_Columns DEALLOCATE cursor_Columns END FETCH NEXT FROM cursor_Records INTO @REC_ID END CLOSE cursor_Records DEALLOCATE cursor_Records END GO --########################################################################################## CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD_PMO_TABLE] (@ENTITY_ID INT, @RECORD_ID INT) -- ============================================= -- Author: Digital Data - Schreiber, Marlon -- Create date: 22.11.2017 -- Description: Deletes a record from the temptable -- ============================================= -- PROXY-RELEVANT AS BEGIN --DECLARE @ENTITY_ID INT, @RECORD_ID INT --SET @ENTITY_ID = 1 --SET @RECORD_ID = 7801 DECLARE @ENTITY_TABLENAME VARCHAR(100),@SQL VARCHAR(MAX) SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID) --PRINT @ENTITY_TABLENAME --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) PRINT @SQL EXEC (@SQL) --DELETE FROM TBPMO_ENTITY_TABLE1 WHERE [Record-ID] = 7801 END GO --########################################################################################## CREATE PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_REFRESH_RECORDS](@pENTITY_ID INT) --ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT) AS DECLARE @REC_ID INT, @SQL_INSERT_REC NVARCHAR(MAX), @SQL_DELETE NVARCHAR(MAX), @SQL_UPDATE NVARCHAR(MAX), @CONTROL_ID INT, @INSERT_COMAMND NVARCHAR(MAX), @TYPEID INT, @TABINDEX INT, @DEFAULT VARCHAR(50), @COL_NAME VARCHAR(50), @ENTITY_TABLENAME VARCHAR(50) PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + '''' --DELETE ALL RECORDS WHICH ARE NOT ANY MORE PART OF ENTITY SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] NOT IN (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @ENT)' SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) EXEC sp_executesql @SQL_DELETE --DELETE RECORDS WHICH HAVE BEEN MODIFIED IN THE LAST 5 DAYS SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] IN (select GUID from TBPMO_RECORD where CONVERT(DATE,CHANGED_WHEN) >= dateadd(dd,-5, cast(GETDATE() as date)) AND FORM_ID = @ENT)' SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) EXEC sp_executesql @SQL_DELETE DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0 AND CONVERT(DATE,CHANGED_WHEN) >= dateadd(dd,-5, cast(GETDATE() as date)) BEGIN OPEN cursor_Records FETCH NEXT FROM cursor_Records INTO @REC_ID WHILE @@FETCH_STATUS = 0 BEGIN SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID' SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) --PRINT @SQL_INSERT_REC EXEC sp_executesql @SQL_INSERT_REC EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) ORDER BY TAB_INDEX BEGIN OPEN cursor_Columns FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID WHILE @@FETCH_STATUS = 0 BEGIN --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) -- IF @TYPEID = 6 --Picturebox BEGIN DECLARE @VALUE_VBM VARBINARY(MAX) IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) BEGIN SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) EXEC sp_executesql @SQL_UPDATE END END ELSE BEGIN DECLARE @VALUE VARCHAR(MAX) IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) BEGIN TRY IF @TYPEID IN(10,11) --CheckBox,RadioBox BEGIN SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) END ELSE IF @TYPEID IN(7,12,14) BEGIN SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) END ELSE SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) --PRINT @SQL_UPDATE EXEC sp_executesql @SQL_UPDATE END TRY BEGIN CATCH PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID) END CATCH END FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID END CLOSE cursor_Columns DEALLOCATE cursor_Columns END FETCH NEXT FROM cursor_Records INTO @REC_ID END CLOSE cursor_Records DEALLOCATE cursor_Records END GO --############################################### CREATE PROCEDURE [dbo].[PRPMO_DAILY_JOB_5MIN] AS BEGIN EXEC PRPMO_DOCSYNC_5min END GO CREATE PROCEDURE [dbo].[PRPMO_DAILY_JOB_06_12_18] AS BEGIN --PROCEDURE1 PRINT 'EXECUTING PRPMO_DAILY_JOB_06_12_18' --EXEC PRPMO_ZSG_IN_COMOS_SAP; END GO --############################################### --###########FUNCTIONS########################### --############################################### CREATE FUNCTION [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@pENTITY_ID INT) -- ============================================= -- Author: Digital Data - Schreiber, Marlon -- Create date: 22.11.2017 -- Description: Gets the temptablename for the entity -- ============================================= -- PROXY-RELEVANT RETURNS VARCHAR(100) AS BEGIN DECLARE @RESULT AS VARCHAR(100) DECLARE @ENTITY_TABLENAME AS VARCHAR(100) SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@pENTITY_ID) RETURN @ENTITY_TABLENAME END GO CREATE FUNCTION [dbo].[FNPMO_CUST_ALLOW_ENTITY_RELINK](@RECORD_ID INTEGER, @USER_ID INTEGER) --PROXYRELEVANT COPY ON PROXY -- ============================================= -- Author: Digital Data - Schreiber, Marlon -- Create date: 22.11.2017 -- Description: -- ============================================= RETURNS BIT AS BEGIN DECLARE @RESULT BIT, @ENTITY_ID INTEGER SET @RESULT = 1 DECLARE @STATUS VARCHAR(50) --##### RENOLIT INDIVIDUELL SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID IF @ENTITY_ID = 1 BEGIN SELECT @STATUS = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 745 IF @STATUS <> 'Vertrag beendet' SET @RESULT = 0 ELSE SET @RESULT = 1 END --#### ENDE RETURN @RESULT END GO --################################################################################################################################# CREATE 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 CREATE FUNCTION [dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] (@pCONTROL_ID INTEGER,@pDOC_ID INTEGER, @pENTITY_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 in (SELECT RECORD_ID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOC_ID AND RECORD_ID IN (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_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 --################################################################################################################################# CREATE FUNCTION [dbo].[FNPMO_GET_CONTROL_CAPTION](@pLANG_TYPE VARCHAR(5), @pSCREEN_ID INTEGER,@pCONTROL_ID INTEGER ) RETURNS VARCHAR(100) AS BEGIN DECLARE @CAPTION VARCHAR(100), @CTRL_SCREEN_ID INTEGER SELECT @CTRL_SCREEN_ID = GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID AND SCREEN_ID = @pSCREEN_ID SELECT @CAPTION = CAPTION FROM TBPMO_CONTROL_LANGUAGE WHERE LANGUAGE_TYPE = @pLANG_TYPE AND CONTROL_SCREEN_ID = @CTRL_SCREEN_ID RETURN(ISNULL(@CAPTION,'')) END GO --################################################################################################################################# CREATE FUNCTION [dbo].[FNPMO_GETOBJECTCAPTION](@pLANG_TYPE VARCHAR(5), @pOBJ_NAME VARCHAR(100), @pSCREEN_ID INT) RETURNS VARCHAR(100) AS BEGIN DECLARE @PMOOBJ_CAPTION VARCHAR(100) SELECT @PMOOBJ_CAPTION = CAPTION FROM TBPMO_LANGUAGE_OBJECT AS T WHERE T.LANGUAGE_TYPE = @pLANG_TYPE AND T.SCREEN_ID = @pSCREEN_ID AND T.PMO_OBJECT_NAME = @pOBJ_NAME RETURN(ISNULL(@PMOOBJ_CAPTION,'')) END 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 --################################################################################################################################# CREATE FUNCTION [dbo].[FNPMO_GET_ENTITY_COLUMN_CONTENT](@pRECORD_ID INTEGER) RETURNS VARCHAR(2500) AS BEGIN DECLARE @COLUMN1 VARCHAR(100), @ENTITY INTEGER, @CONTROL_ID INTEGER, @RESULT VARCHAR(2500) SELECT @ENTITY = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID SELECT @COLUMN1 = COLUMN_NAME1 FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @ENTITY SELECT @CONTROL_ID = GUID FROm TBPMO_CONTROL WHERE COL_NAME = @COLUMN1 SELECT @RESULT = VALUE FROM VWPMO_VALUES WHERE RECORD_ID = @pRECORD_ID AND CONTROL_ID = @CONTROL_ID RETURN(@RESULT) END 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 --################################################################################################################################# CREATE FUNCTION FNPMO_GET_WINDREAM_FOLDER_PATH (@pDOCID BIGINT) RETURNS VARCHAR(MAX) AS BEGIN DECLARE @RESULT VARCHAR(MAX), @DOCID BIGINT, @a TINYINT = 1, @i TINYINT = 0, @PARENT_ID BIGINT, @DATEINAME NVARCHAR(255), @PARENTNAME NVARCHAR(255), @FSFLAGS INT, @WM_LAUFWERKBUCHSTABE CHAR(1) SELECT @WM_LAUFWERKBUCHSTABE = WM_LAUFWERKBUCHSTABE FROM TBPMO_KONFIGURATION WHERE GUID = 1 IF EXISTS(SELECT dwDocID FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID) BEGIN SELECT @FSFLAGS = dwFSFlags FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID IF @FSFLAGS <> 16 BEGIN SET @RESULT = 'THIS IS NOT A FOLDER (dwFSFlags <> 16)!' SET @DATEINAME = '' END ELSE BEGIN SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID WHILE @a > 0 BEGIN IF @i = 0 BEGIN IF @PARENT_ID = 1 BEGIN SET @RESULT = '\' BREAK END ELSE BEGIN SET @DOCID = @PARENT_ID SET @RESULT = '\' END END ELSE BEGIN IF @PARENT_ID = 1 BEGIN SET @RESULT = '\' + @PARENTNAME + @RESULT BREAK END ELSE BEGIN SET @DOCID = @PARENT_ID SET @RESULT = '\' + @PARENTNAME + @RESULT END END SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID SET @i = @i + 1 END END END ELSE BEGIN SET @RESULT = 'THIS DOC-ID DOES NOT EXIST!' SET @DATEINAME = '' END SET @RESULT = @WM_LAUFWERKBUCHSTABE +':' + @RESULT + @DATEINAME --PRINT @RESULT RETURN @RESULT END GO --################################################################################################################################# CREATE FUNCTION [dbo].[FNPMO_GET_WINDREAM_FILE_PATH] (@pDOCID BIGINT) RETURNS VARCHAR(MAX) AS BEGIN DECLARE @RESULT VARCHAR(MAX), @DOCID BIGINT, @a TINYINT = 1, @i TINYINT = 0, @PARENT_ID BIGINT, @DATEINAME NVARCHAR(255), @PARENTNAME NVARCHAR(255), @FSFLAGS INT, @WM_LAUFWERKBUCHSTABE CHAR(1) SELECT @WM_LAUFWERKBUCHSTABE = WM_LAUFWERKBUCHSTABE FROM TBPMO_KONFIGURATION WHERE GUID = 1 SELECT @FSFLAGS = dwFSFlags FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID IF @FSFLAGS = 16 BEGIN SET @RESULT = 'THIS IS NOT A FILE!' END ELSE BEGIN SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID WHILE @a > 0 BEGIN IF @i = 0 BEGIN IF @PARENT_ID = 1 BEGIN SET @RESULT = '\' BREAK END ELSE BEGIN SET @DOCID = @PARENT_ID SET @RESULT = '\' END END ELSE BEGIN IF @PARENT_ID = 1 BEGIN SET @RESULT = '\' + @PARENTNAME + @RESULT BREAK END ELSE BEGIN SET @DOCID = @PARENT_ID SET @RESULT = '\' + @PARENTNAME + @RESULT END END SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID SET @i = @i + 1 END END SET @RESULT = @WM_LAUFWERKBUCHSTABE +':' + @RESULT + @DATEINAME RETURN @RESULT END 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 FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER) RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50),USER_OR_GROUP VARCHAR(20)) AS BEGIN DECLARE @RECID INTEGER, @ENT_ID INTEGER, @GUID INTEGER, @RIGHT_USER VARCHAR(50), @RIGHT_USER_INT INTEGER, @RIGHT_USER_ECM_ID INTEGER, @AD_DOMAIN VARCHAR(250) SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER','USER') --INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES (1,'Digital Data - windream-Benutzer',2,1,'WM-GRUPPE','GROUP') DECLARE cursorRecords CURSOR FOR select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID OPEN cursorRecords FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID WHILE @@FETCH_STATUS = 0 BEGIN --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID) /*CURSOR 1 RECORDS BEGIN*/ -- ENTITY-SUPERVISOR INSERTEN INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME -- SUPERVISOR RECORD INSERTEN INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME /*CURSOR 2 RIGHT-CONTROLS END*/ IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_GROUP WHERE ENTITY_ID = @ENT_ID) BEGIN DECLARE @WD_RIGHT INTEGER DECLARE c_REDO CURSOR FOR SELECT T.GROUP_ID ,T1.ECM_FK_ID, T1.NAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_GROUP T, TBDD_GROUPS T1 WHERE T.ENTITY_ID = @ENT_ID AND T.GROUP_ID = T1.GUID OPEN c_REDO FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT WHILE @@FETCH_STATUS = 0 BEGIN IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT) BEGIN DECLARE @TEMP_RIGHT INT SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT IF @TEMP_RIGHT < @WD_RIGHT UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT,USER_OR_GROUP = 'GROUP' WHERE USR_ID = @RIGHT_USER_INT END ELSE INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES ( @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM TBPMO_RIGHT_GROUP','GROUP') FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT END CLOSE c_REDO DEALLOCATE c_REDO END DECLARE @VALUE VARCHAR(100), @RIGHT INT, @TYPE_VALUE VARCHAR(50), @CONTR_TYPE_ID INT, @CONTROL_ID INT DECLARE cursorRecordRightControls CURSOR FOR SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND T.CONTROL_ID = T2.CONTROL_ID AND T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID OPEN cursorRecordRightControls FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID WHILE @@FETCH_STATUS = 0 BEGIN IF @TYPE_VALUE = 'USER' BEGIN DECLARE @TEMP_USRID INT SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE) IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) BEGIN --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID END END ELSE BEGIN DECLARE @GROUP_USER_ID INTEGER DECLARE cursorUserGroup CURSOR FOR SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE) AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) OPEN cursorUserGroup FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID WHILE @@FETCH_STATUS = 0 BEGIN --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) BEGIN INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID END --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID END CLOSE cursorUserGroup DEALLOCATE cursorUserGroup END FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID END CLOSE cursorRecordRightControls DEALLOCATE cursorRecordRightControls /*CURSOR 2 RIGHT-CONTROLS END*/ IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID) BEGIN DECLARE c_REDO CURSOR FOR SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_USER T, TBDD_USER T1 WHERE T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID OPEN c_REDO FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT WHILE @@FETCH_STATUS = 0 BEGIN IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT) BEGIN SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT IF @TEMP_RIGHT < @WD_RIGHT UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT END ELSE INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES ( @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT') FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT END CLOSE c_REDO DEALLOCATE c_REDO END FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID /*CURSOR 1 RECORDS END*/ END CLOSE cursorRecords DEALLOCATE cursorRecords RETURN END GO --################################################################################################################################# CREATE FUNCTION [dbo].[FNPMO_DOC_GET_IDX](@pDOCID INTEGER, @pENTITY INTEGER, @DOCIDX VARCHAR(20)) RETURNS VARCHAR(250) AS BEGIN DECLARE @HEADER_CAPTION VARCHAR(30), @VALUE VARCHAR(250), @RESULT VARCHAR(250), @REDUNDANT_ID INTEGER SELECT @HEADER_CAPTION = HEADER_CAPTION FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOCIDX IF @HEADER_CAPTION IS NULL BEGIN SELECT @REDUNDANT_ID = REDUNDANT_ENTITY FROM TBPMO_FORM WHERE GUID = @pENTITY IF @REDUNDANT_ID <> 0 SELECT @RESULT = dbo.FNPMO_DOC_GET_IDX(@pDOCID,@REDUNDANT_ID,@DOCIDX) ELSE SET @RESULT = 'NO CONFIGURATION' END ELSE BEGIN SELECT @VALUE = VALUE FROM VWPMO_DOC_INDICES WHERE DocID = @pDOCID AND COLUMN_CAPTION = @HEADER_CAPTION IF @VALUE IS NOT NULL SET @RESULT = @VALUE ELSE SET @RESULT = '' END RETURN @RESULT END GO --################################################################################################################################# CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5)) RETURNS VARCHAR(250) AS BEGIN DECLARE @HEADER_CAPTION VARCHAR(30), @CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250) SELECT @HEADER_CAPTION = HEADER_CAPTION, @CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE IF @HEADER_CAPTION IS NULL SET @RESULT = 'NO DROP-DOWN CONFIGURATION' ELSE BEGIN SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID IF @VALUE IS NOT NULL SET @RESULT = @VALUE ELSE SET @RESULT = '' END RETURN @RESULT END GO --################################################################################################################################# CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5), @REC_ID INTEGER) RETURNS VARCHAR(250) AS BEGIN DECLARE @HEADER_CAPTION VARCHAR(30), @CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250) SELECT @HEADER_CAPTION = HEADER_CAPTION, @CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE IF @HEADER_CAPTION IS NULL SET @RESULT = 'NO DROP-DOWN CONFIGURATION' ELSE BEGIN SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID AND RECORD_ID = @REC_ID IF @VALUE IS NOT NULL SET @RESULT = @VALUE ELSE SET @RESULT = '' END RETURN @RESULT END GO --####################################################################################################################### --################################################################################################################### --####################### VIEWS ###################### --################################################################################################################### CREATE VIEW VWPMO_VALUES AS SELECT TOP 100 PERCENT T2.GUID RECORD_ID, T.GUID CONTROL_ID, T.NAME CONTROL_NAME, T.COL_NAME CONTROL_COLUMN, T.CONTROL_TYPE_ID, T1.VALUE, T3.GUID FORM_ID, T3.NAME FORM_NAME, T4.GUID SCREEN_ID, T4.NAME SCREEN_NAME FROM TBPMO_CONTROL T, TBPMO_CONTROL_VALUE T1, TBPMO_RECORD T2, TBPMO_FORM T3, TBPMO_SCREEN T4, TBPMO_CONTROL_SCREEN T5 WHERE T.GUID = T1.CONTROL_ID AND T.FORM_ID = T3.GUID AND T1.RECORD_ID = T2.GUID AND T.GUID = T5.CONTROL_ID AND T5.SCREEN_ID = T4.GUID ORDER BY T5.TAB_INDEX GO CREATE 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, T2.ADD_RECORDS, T.FORM_TYPE_ID, T2.LOAD_DIRECT, T2.CONTROL_DOCTYPE_MATCH, T2.SQL_RIGHT_READ_AND_VIEW_ONLY, T2.SQL_RIGHT_WINDREAM_VIEW, T2.DOC_SEARCH_TAB1, T2.[ACTIVATE_DOC_SEARCH_ON_EDIT], T1.DOCUMENT_VIEW, T.DATE_FORMAT, T.LOCK_CONTROLS_BG_LOAD, (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 VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS SELECT TOP 100 PERCENT T.GUID CONTROL_ID, T.FORM_ID CONTROL_ENTITY_ID, T.NAME CONTROL_NAME, T.REQUIRED CONTROL_REQUIRED, T.DEFAULT_VALUE CONTROL_DEF_VALUE, T.READ_ONLY CONTROL_READ_ONLY, T.SELECT_ONLY CONTROL_SELECT_ONLY, T.MULTILINE CONTROL_MULTILINE, T.PARENT_CONTROL_ID CONTROL_PARENT_ID, T.COL_NAME CONTROL_COL_NAME, T.SHOW_COLUMN CONTROL_SHOW_COLUMN, T.CONNECTION_ID_1 CONTROL_CONNID_1, T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1, T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2, T.VISIBLE CONTROL_VISIBLE, T.TREE_VIEW CONTROL_TREE_VIEW, T.STATIC_LIST CONTROL_STATIC_LIST, T.AUTO_SUGGEST CONTROL_AUTO_SUGGEST, T4.GUID CTRLTYPE_ID, T4.TYPE_NAME CTRLTYPE_NAME, T.FORMAT_TYPE CONTROL_FORMAT_TYPE, T.FORM_ID, T3.NAME FORM_NAME, T3.LEVEL FORM_LEVEL, T1.SCREEN_ID SCREEN_ID, T2.NAME SCREEN_NAME, T1.GUID CTRLSCR_ID, T1.CONTROL_TEXT CTRLSCR_CAPTION, T1.X_LOC CTRLSCR_X_LOC, T1.Y_LOC CTRLSCR_Y_LOC, T1.HEIGHT CTRLSCR_HEIGHT, T1.WIDTH CTRLSCR_WIDTH, T1.FONT_FAMILY CTRLSCR_FONT_FAMILY, T1.FONT_COLOR CTRLSCR_FONT_COLOR, T1.FONT_SIZE CTRLSCR_FONT_SIZE, T1.FONT_STYLE CTRLSCR_FONT_STYLE, T1.TAB_INDEX CTRLSCR_TAB_INDEX, T1.TAB_STOP CTRLSCR_TAB_STOP, T1.BACK_COLOR CTRLSCR_BACK_COLOR, T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_SCREEN T2, TBPMO_FORM T3, TBPMO_CONTROL_TYPE T4 WHERE T.FORM_ID = T3.GUID AND T.GUID = T1.CONTROL_ID AND T1.SCREEN_ID = T2.GUID AND T.CONTROL_TYPE_ID = T4.GUID ORDER BY T1.SCREEN_ID, T.FORM_ID, T1.TAB_STOP GO --############################################################################################### CREATE VIEW VWPMO_DOKUMENTTYPES AS SELECT TOP 2000 T2.FORMVIEW_ID, T3.FORM_ID, T3.FORM_TITLE, T.GUID DOKUMENTTYPE_ID, T.BEZEICHNUNG DOKUMENTTYPE, T.ZIEL_PFAD [PATH], T.KURZNAME SHORTNAME, T2.GUID FW_DOCTYPE_ID, T2.OBJECT_TYPE, T.SEQUENCE FROM TBDD_DOKUMENTART T, TBDD_EINGANGSARTEN T1, TBPMO_WD_FORMVIEW_DOKTYPES T2, TBPMO_FORM_VIEW T3 WHERE T.AKTIV = 1 AND T.EINGANGSART_ID = T1.GUID AND T.GUID = T2.DOCTYPE_ID AND T2.FORMVIEW_ID = T3.GUID ORDER BY T2.FORMVIEW_ID GO --############################################################################################### CREATE VIEW 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 --############################################################################################### CREATE VIEW VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD AS SELECT T.GUID FOLLOW_UP_ID, T1.RECORD_ID, T2.GUID AS ENTITY_ID, T.NAME, T.FOLLOW_UP_SEQUENCE, T.FOLLOW_UP_DAYS, T.FOLLOW_UP_TIME_SPAN, CONVERT(DATE,T1.VALUE) RECORD_VALUE, T.EMAIL_SUBJECT, T.EMAIL_BODY, T.DEPENDENT_DATE_CTRL_ID, T.DEPENDENT_DONE_CTRL_ID, T3.GUID AS CONSTRUCTOR_ID, T3.FORM_TITLE AS CONSTRUCTOR_TITLE FROM TBPMO_FOLLOW_UP_EMAIL T, VWPMO_VALUES T1, TBPMO_FORM T2, TBPMO_FORM_CONSTRUCTOR T3 WHERE T.ACTIVE = 1 AND T.DEPENDENT_DATE_CTRL_ID = T1.CONTROL_ID AND T1.FORM_ID = T2.GUID AND T.CONSTRUCTOR_ID = T3.GUID GO --############################################################################################### CREATE VIEW VWPMO_FORM_VIEW AS SELECT TOP 100 PERCENT T.GUID FORM_ID, T.PARENT_ID FORM_PARENT_ID, T.LEVEL FORM_LEVEL, T.NAME FORM_NAME, T1.FORM_TITLE FORM_TITLE, T1.DESCRIPTION FORM_DESCRIPTION FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID GO --############################################################################################### CREATE VIEW [dbo].[VWPMO_GUI_ENTITY] AS SELECT TOP 100 PERCENT TBPMO_FORM.GUID AS ID, TBPMO_FORM.PARENT_ID, TBPMO_FORM.LEVEL, TBPMO_FORM.FORM_TYPE_ID, TBPMO_FORM.NAME AS Name, TBPMO_FORM_VIEW.GUID As FormViewID, TBPMO_FORM_VIEW.FORM_TITLE AS Title FROM TBPMO_FORM INNER JOIN TBPMO_FORM_VIEW ON TBPMO_FORM.GUID = TBPMO_FORM_VIEW.FORM_ID WHERE (TBPMO_FORM.FORM_TYPE_ID IN (1, 2, 3, 5)) ORDER BY TBPMO_FORM.PARENT_ID, Title GO --############################################################################################### CREATE VIEW VWPMO_INTERNAL_RECORD_ENTITY AS SELECT RECORD_ID, FORM_ID AS [ENTITY_ID] FROM VWPMO_VALUES GROUP BY RECORD_ID, FORM_ID GO --############################################################################################### CREATE VIEW VWPMO_RECORD_CHANGES AS SELECT T.GUID, T.RECORD_ID, T1.NAME, T.LOG_DESCRIPTION, T.ADDED_WHO, T.ADDED_WHEN FROM TBPMO_RECORD_LOG T, TBPMO_CONTROL T1 WHERE T.CONTROL_ID = T1.GUID GO --############################################################################################### CREATE VIEW VWPMO_TEMPLATE_ENTITY AS SELECT T.GUID AS TEMPLATE_ID, T.NAME AS TEMPLATE_NAME, T.TEMPLATE_PATH AS TEMPLATE_PATH, T1.GUID AS TEMPLATE_ENTITY_ID, T2.GUID AS ENTITY_ID, T2.NAME FROM TBPMO_TEMPLATE T, TBPMO_TEMPLATE_ENTITY T1, TBPMO_FORM T2 WHERE T.ACTIVE = 1 AND T.GUID = T1.TEMPLATE_ID AND T1.ENTITY_ID = T2.GUID GO --############################################################################################### CREATE VIEW VWPMO_USERS_GROUPS AS SELECT dbo.TBDD_GROUPS_USER.GUID, dbo.TBDD_GROUPS_USER.USER_ID, dbo.TBDD_GROUPS_USER.GROUP_ID, dbo.TBDD_USER.USERNAME, dbo.TBDD_USER.NAME, dbo.TBDD_USER.PRENAME, dbo.TBDD_GROUPS.NAME AS GROUP_NAME FROM dbo.TBDD_GROUPS_USER INNER JOIN dbo.TBDD_USER ON dbo.TBDD_GROUPS_USER.USER_ID = dbo.TBDD_USER.GUID INNER JOIN dbo.TBDD_GROUPS ON dbo.TBDD_GROUPS_USER.GROUP_ID = dbo.TBDD_GROUPS.GUID GO --############################################################################################### CREATE 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 ,R.MANUALLY ,R.CREATE_ON_REC_CREATE ,R.CREATE_ON_FOLL_UP ,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 --AND --T.INACTIVE = 0 ORDER BY W_T.RECORD_ID,W_T.GUID GO GO --############################################################################################### CREATE VIEW VWPMO_WF_OVERVIEW_AUTHORITY AS SELECT T.GUID as WF_ID, T.RECORD_ID, TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC AS STATE, TBPMO_WORKFLOW_TASK_STATE.GUID AS STATE_ID, TBPMO_WORKFLOW_TASK_STATE.COLOR, (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1 FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) AS Authority, CASE WHEN (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1 FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) IS NULL THEN TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC ELSE TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC + ' - ' + (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1 FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) END AS String, T.CHANGED_WHO, T.CHANGED_WHEN FROM TBPMO_WORKFLOW_TASK T INNER JOIN TBPMO_WORKFLOW ON T.WF_ID = TBPMO_WORKFLOW.GUID INNER JOIN TBPMO_WORKFLOW_TASK_STATE ON T.STATE_ID = TBPMO_WORKFLOW_TASK_STATE.GUID WHERE (T.ACTIVE = 1) GO --############################################################################################### CREATE VIEW VWPMO_WF_USER AS SELECT T.GUID, T.WF_TASK_ID, T.USER_ID, T2.STATE_ID, T3.TITLE, T1.USERNAME FROM TBPMO_WORKFLOW_TASK_USER T, TBDD_USER T1 , TBPMO_WORKFLOW_TASK T2, TBPMO_WORKFLOW T3 WHERE T.USER_ID = T1.GUID AND T.WF_TASK_ID = T2.GUID AND T2.WF_ID = T3.GUID GO --################################################################################################## CREATE VIEW VWPMO_WF_USER_EXCLUSIV AS SELECT T.GUID, T.USER_ID, T1.USERNAME, T4.VALUE AS JOB, T2.GUID as WF_TASK_ID, T3.TITLE, T2.RECORD_ID, T2.STATE_ID FROM TBPMO_WORKFLOW_TASK_USER T, TBDD_USER T1 , TBPMO_WORKFLOW_TASK T2, TBPMO_WORKFLOW T3, VWPMO_VALUES T4 WHERE T.USER_ID = T1.GUID AND T.WF_TASK_ID = T2.GUID AND T2.WF_ID = T3.GUID AND T2.RECORD_ID = T4.RECORD_ID AND T4.CONTROL_ID = 10 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 VIEW VWPMO_CONTROL_HINT AS SELECT T2.FORM_ID, T1.CONTROL_ID, T.HINT FROM TBPMO_CONTROL_LANGUAGE T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL T2 WHERE T.CONTROL_SCREEN_ID = T1.GUID AND T1.CONTROL_ID = T2.GUID AND T1.SCREEN_ID = 1 AND (HINT IS NOT NULL AND HINT <> '') 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 CREATE VIEW VWPMO_RIGHTS_2B_WORKED AS SELECT T.GUID ,T.DOC_ID ,T.USER_ID ,T1.USERNAME ,T.RIGHT_MODIFY ,T.FILE_RIGHT FILE_RIGHT_ID ,CASE T.FILE_RIGHT WHEN 3 THEN 'READ/WRITE' WHEN 1 THEN 'READ' ELSE T.FILE_RIGHT END AS FILE_RIGHT ,T.WORKING ,T.ADDED_WHO ,T.ADDED_WHEN FROM TBPMO_RIGHTS_WORK_SERVICE T, TBDD_USER T1 WHERE T.WORKED = 0 AND T.USER_ID = T1.GUID GO CREATE VIEW VWPMO_DOC_SEARCH AS SELECT CONVERT(INTEGER,T.DocID) AS DocID ,T.FULL_FILENAME AS FULL_FILENAME ,T.[Filename] ,T.Doctype ,T.[Version] ,T.Creation_DateTime ,T.Change_DateTime ,T.OBJECTTYPE ,T.DISPLAY_NAME ,T.IN_WORK ,T.IN_WORK_USER ,T.IN_WORK_COMMENT FROM TBPMO_DOCRESULT_LIST T GO CREATE VIEW [dbo].[VWPMO_DOC_SYNC] AS SELECT TOP 100 PERCENT T.dwDocID as DocID ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) AS FULL_FILENAME ,szLongName AS [Filename] ,ISNULL(T.szText39,'NO DOCTYPE') AS Doctype ,ISNULL(T.dwVersionNumber,'1') 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 ,T.dwObjectTypeID FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes T ,DD_VMP01_APS01_windream60.dbo.ObjectType T1 WHERE T.dwObjectTypeID = T1.dwObjectTypeID AND T.szText36 = 'ADDI-RELATION' ORDER BY [Creation_DateTime] GO CREATE VIEW VWPMO_STRUCTURE_NODES AS select T.*, T1.CONTROL_ID, T1.CREATE_RECORD, T1.ENTITY_ID, T1.NAME, T1.TYPE_NODE, T1.FONT_FAMILY, T1.FONT_COLOR, T1.EXPAND AS EXPAND_NODE, T1.FONT_SIZE, T1.FONT_STYLE, T1.BACK_COLOR from TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1 WHERE T.NODE_CONFIG_ID = T1.GUID GO CREATE VIEW VWPMO_WM_ACCESS_RIGHTS_USER AS SELECT AR.dwObjectID, AR.dwUserOrGROUPID, AR.dwAccessRight, AR.dwObjectDBID FROM DD_VMP01_APS01_windream60.dbo.AccessRight AR LEFT JOIN DD_VMP01_APS01_windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID INNER JOIN TBPMO_DOC_RECORD_LINK RL ON AR.dwObjectID = RL.DOC_ID INNER JOIN TBPMO_DOCRESULT_LIST DR ON AR.dwObjectID = DR.DocID INNER JOIN TBDD_USER TU ON AR.dwUserOrGroupID = TU.USERID_FK_INT_ECM WHERE UG.dwUserOrGroupID IS NULL GO CREATE VIEW VWPMO_WM_ACCESS_RIGHTS_GROUP AS SELECT AR.dwObjectID, UG.dwUserOrGROUPID, AR.dwAccessRight, AR.dwObjectDBID FROM DD_VMP01_APS01_windream60.dbo.AccessRight AR LEFT JOIN DD_VMP01_APS01_windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID INNER JOIN TBPMO_DOC_RECORD_LINK RL ON AR.dwObjectID = RL.DOC_ID INNER JOIN TBPMO_DOCRESULT_LIST DR ON AR.dwObjectID = DR.DocID INNER JOIN TBDD_USER TU ON UG.dwUserOrGroupID = TU.USERID_FK_INT_ECM WHERE UG.dwUserOrGroupID IS NOT NULL GO CREATE VIEW VWPMO_WM_ACCESS_RIGHTS AS SELECT ARU.dwObjectID, ARU.dwUserOrGROUPID, ARU.dwAccessRight, ARU.dwObjectDBID FROM VWPMO_WM_ACCESS_RIGHTS_USER ARU UNION SELECT ARG.dwObjectID, ARG.dwUserOrGROUPID, ARG.dwAccessRight, ARG.dwObjectDBID FROM VWPMO_WM_ACCESS_RIGHTS_GROUP ARG GO CREATE VIEW VWPMO_WD_OBJECT_RIGHTS AS SELECT dwObjectID, dwUserOrGROUPID, MAX(dwAccessRight) AS dwAccessRight, dwObjectDBID FROM VWPMO_WM_ACCESS_RIGHTS GROUP BY dwObjectID, dwUserOrGROUPID, dwObjectDBID GO CREATE VIEW VWPMO_DOC_USER_RELATION AS SELECT DISTINCT T1.DOC_ID, T3.dwUserOrGroupID, T2.FORM_ID AS ENTITY_ID FROM TBPMO_DOC_RECORD_LINK T1, TBPMO_RECORD T2,VWPMO_WD_OBJECT_RIGHTS T3 WHERE T1.RECORD_ID = T2.GUID GO CREATE VIEW VWPMO_DOC_CHANGES_5MIN AS SELECT DocID, [Filename], FULL_FILENAME, Doctype, [Version] as [Version], Objecttype, Creation_DateTime, Change_DateTime,'CHANGE GENERAL' as CHANGE_TYPE FROM VWPMO_DOC_SYNC WHERE Change_DateTime >= DATEADD(MINUTE , -5, GetDate()) UNION SELECT T.DocID, T.[Filename], T.FULL_FILENAME, T.Doctype, T.[Version] as [Version], T.Objecttype, T.Creation_DateTime, T.Change_DateTime,'CHANGE PATHorFILE' as CHANGE_TYPE FROM VWPMO_DOC_SYNC T, TBPMO_DOCRESULT_LIST T1 WHERE T.DocID = T1.DocID AND T.Change_DateTime >= DATEADD(MINUTE , -5, GetDate()) AND UPPER(T.FULL_FILENAME) <> UPPER(T1.FULL_FILENAME) GO --END CREATE VIEWS --HIER NUN DIE RECHTE ZUR AUSFÜHRUNG AN DEN APPLICATION-USER geben 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 GRANT EXECUTE ON [dbo].[FNPMO_GET_ENTITY_COLUMN_CONTENT] TO [dd_ecm] GO GRANT EXECUTE ON [dbo].[FNPMO_GET_CONTROL_CAPTION] TO [dd_ecm] GO GRANT EXECUTE ON [dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] TO [dd_ecm] GO GRANT EXECUTE ON [dbo].[FNPMO_DOC_GET_IDX] TO [dd_ecm] GO /*########################################################################################### JOBS FOR REFRESHING ACTIONS #############################################################################################*/ USE [msdb] GO /****** Object: Job [DD_ADDI_5MIN_JOB] Script Date: 20.06.2018 10:18:32 ******/ BEGIN TRANSACTION DECLARE @ReturnCode INT SELECT @ReturnCode = 0 /****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 20.06.2018 10:18:32 ******/ IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1) BEGIN EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback END DECLARE @jobId BINARY(16) EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'DD_ADDI_5MIN_JOB', @enabled=1, @notify_level_eventlog=0, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0, @description=N'Runs 5min Procedure - Logical processes are placed in this procedure.', @category_name=N'[Uncategorized (Local)]', @owner_login_name=N'LZELLSDL\windream', @job_id = @jobId OUTPUT IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback /****** Object: Step [PRPMO_DAILY_JOB_5MIN] Script Date: 20.06.2018 10:18:32 ******/ EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'PRPMO_DAILY_JOB_5MIN', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'TSQL', @command=N'EXEC PRPMO_DAILY_JOB_5MIN', @database_name=N'DD_ECM', @flags=0 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'5Min', @enabled=1, @freq_type=8, @freq_interval=63, @freq_subday_type=4, @freq_subday_interval=5, @freq_relative_interval=0, @freq_recurrence_factor=1, @active_start_date=20180619, @active_end_date=99991231, @active_start_time=70000, @active_end_time=180000, @schedule_uid=N'8bc044e9-081b-4d93-9b9a-19458b94bc3f' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback COMMIT TRANSACTION GOTO EndSave QuitWithRollback: IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION EndSave: GO USE [msdb] GO /****** Object: Job [DD_ADDI_DAILY_JOB] Script Date: 20.06.2018 10:19:37 ******/ BEGIN TRANSACTION DECLARE @ReturnCode INT SELECT @ReturnCode = 0 /****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 20.06.2018 10:19:37 ******/ IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1) BEGIN EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback END DECLARE @jobId BINARY(16) EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'DD_ADDI_DAILY_JOB', @enabled=1, @notify_level_eventlog=0, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0, @description=N'Runs 6hour procedure - Logical processes are placed in this procedure.', @category_name=N'[Uncategorized (Local)]', @owner_login_name=N'LZELLSDL\windream', @job_id = @jobId OUTPUT IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback /****** Object: Step [STEP1] Script Date: 20.06.2018 10:19:37 ******/ EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'STEP1', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'TSQL', @command=N'EXEC PRPMO_DAILY_JOB_06_12_18', @database_name=N'DD_ECM', @flags=0 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Daily06_12_18', @enabled=1, @freq_type=8, @freq_interval=63, @freq_subday_type=8, @freq_subday_interval=6, @freq_relative_interval=0, @freq_recurrence_factor=1, @active_start_date=20180620, @active_end_date=99991231, @active_start_time=600, @active_end_time=180000, @schedule_uid=N'f632a663-97e6-42e7-84cb-ab6a2fa1ef3d' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback COMMIT TRANSACTION GOTO EndSave QuitWithRollback: IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION EndSave: GO