commit 83ab77d2fa69b37c47df2b3047db53082a95e56c Author: Jonathan Jenne Date: Thu Aug 19 14:59:58 2021 +0200 Init diff --git a/00_DD/DD_ECM.sql b/00_DD/DD_ECM.sql new file mode 100644 index 0000000..6af9979 --- /dev/null +++ b/00_DD/DD_ECM.sql @@ -0,0 +1,1663 @@ +/*################################## +1. Search for @MY_INSTALL_USER and replace it with the username You use for administration +2. In case windream is installed on another SQL-Server: + Replace windream60 in code with name of linked Database - Example: [172.24.12.41\REMOTESERVER\windream60]. +3. Search for DIGITALDATA.LOCAL and replace with Your Domainname +####################################*/ +CREATE TABLE TBDD_BASECONFIG +( + GUID TINYINT, + WD_UNICODE BIT NOT NULL DEFAULT 1, + WM_DB_CONSTRING VARCHAR(1000) NOT NULL DEFAULT '', + WM_DRIVE VARCHAR(1) NOT NULL DEFAULT 'W', + DB_VERSION VARCHAR(10) NOT NULL DEFAULT '1.0.0.0', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_BASECONFIG_GUID PRIMARY KEY(GUID), + CONSTRAINT CH_TBDD_BASECONFIG_GUID CHECK(GUID = 1) +) +GO +------------------------------------------------------------------------------ +CREATE TRIGGER TBDD_BASECONFIG_AFT_UPD ON TBDD_BASECONFIG +FOR UPDATE +AS + UPDATE TBDD_BASECONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBDD_BASECONFIG.GUID = INSERTED.GUID +GO +INSERT INTO TBDD_BASECONFIG (GUID,WD_UNICODE,DB_VERSION) VALUES (1,1,'1.9.0.0') +GO +CREATE TABLE TBDD_SERV_EXT_PROGRAMS +( + GUID TINYINT, + PDFTK_LOCATION VARCHAR(500) DEFAULT '', + PDFXCHANGE_LOCATION VARCHAR(500) DEFAULT '', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_SERV_EXT_PROGRAMS_GUID PRIMARY KEY(GUID), + CONSTRAINT CH_TBDD_SERV_EXT_PROGRAMS_GUID CHECK(GUID = 1) +) +GO +CREATE TABLE TBDD_EINGANGSARTEN +( + GUID TINYINT IDENTITY(1,1), + BEZEICHNUNG VARCHAR(100) NOT NULL, + BESCHREIBUNG VARCHAR(500), + ERSTELLTWER VARCHAR(50) DEFAULT 'DD_ECM DEFAULT' NOT NULL, + ERSTELLTWANN DATETIME DEFAULT GETDATE(), + GEANDERTWER VARCHAR(50), + GEAENDERTWANN DATETIME, + CONSTRAINT PK_TBDD_EINGANGSARTEN PRIMARY KEY (GUID), + CONSTRAINT UNIQUE_TBDD_EINGANGSARTEN UNIQUE(BEZEICHNUNG) +) +GO +------------------------------------------------------------------------------ + +CREATE TRIGGER TBDD_EINGANGSARTEN_AFT_UPD ON TBDD_EINGANGSARTEN +FOR UPDATE +AS + UPDATE TBDD_EINGANGSARTEN SET GEAENDERTWANN = GETDATE() FROM INSERTED WHERE TBDD_EINGANGSARTEN.GUID = INSERTED.GUID +GO +------------------------------------------------------------------------------ + +INSERT INTO TBDD_EINGANGSARTEN(BEZEICHNUNG,BESCHREIBUNG) VALUES('manueller Scan','Dokumentarten die manuell gescannt werden') +GO +INSERT INTO TBDD_EINGANGSARTEN(BEZEICHNUNG,BESCHREIBUNG) VALUES('aus Anwendung','Dokumentarten die über Simple-Print abgelegt werden') +GO +INSERT INTO TBDD_EINGANGSARTEN(BEZEICHNUNG,BESCHREIBUNG) VALUES('manuelle Ablage','alle Dokumentarten die manuell abgelegt werden') +GO + +CREATE TABLE TBDD_MODULES +( + GUID INTEGER NOT NULL, + NAME VARCHAR(50), + SHORT_NAME VARCHAR(20), + LICENSE VARCHAR(2000) NOT NULL DEFAULT '', + PRODUCT_VERSION VARCHAR(20) NOT NULL DEFAULT '1.0.0.0', + DB_VERSION VARCHAR(20) NOT NULL DEFAULT '1.0.0.0', + ACTIVE BIT NOT NULL DEFAULT 0, + VERSION_DELIMITER VARCHAR(1) NOT NULL DEFAULT '~', + FILE_DELIMITER VARCHAR(1) NOT NULL DEFAULT '_', + BIT1 BIT NOT NULL DEFAULT 0, + BIT2 BIT NOT NULL DEFAULT 0, + STRING1 VARCHAR(50), + STRING2 VARCHAR(50), + BACKGROUND_IMAGE VARBINARY(MAX), + PRODUCT_NAME1 VARCHAR(200) NOT NULL DEFAULT '', + PRODUCT_NAME2 VARCHAR(200), + VERSION_UPATE_PATH VARCHAR(500) NOT NULL DEFAULT '', + AUTO_LOGOUT_USER INTEGER NOT NULL DEFAULT 0, + WMSESSION_STARTSTOP_STARTUP BIT NOT NULL DEFAULT 0, + MIN_REQUIRED_VERSION VARCHAR(10) NOT NULL DEFAULT '1.0.0.0', + LICENSE_VALID 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_TBDD_MODULE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBDD_MODULE UNIQUE(NAME) +) +GO +CREATE TRIGGER TBDD_MODULE_AFT_UPD ON TBDD_MODULES +FOR UPDATE +AS + UPDATE TBDD_MODULES SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBDD_MODULES.GUID = INSERTED.GUID +GO + +INSERT INTO TBDD_MODULES(GUID,NAME,SHORT_NAME,LICENSE,STRING1) VALUES +(1,'Record-Organizer','ADDI','a0c+ADsUcVQiOBrieIt5tEVrgl/P/ns5w9+A/ZdDo8k=','W') +GO +INSERT INTO TBDD_MODULES(GUID,NAME,SHORT_NAME,LICENSE,STRING1) VALUES +(2,'Global-Indexer','GLOBIX','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=','W') +GO +INSERT INTO TBDD_MODULES(GUID,NAME,SHORT_NAME,LICENSE,STRING1,DB_VERSION,PRODUCT_VERSION) VALUES +(3,'Process-Manager','PM','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=','W','1.9.4.3','1.9.4.3') +GO +INSERT INTO TBDD_MODULES(GUID,NAME,SHORT_NAME,LICENSE,STRING1) VALUES +(4,'User-Manager','UM','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=','W') +GO +INSERT INTO TBDD_MODULES(GUID,NAME,SHORT_NAME,LICENSE,STRING1) VALUES +(5,'Clipboard-Watcher','CW','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=','W') +GO +INSERT INTO TBDD_MODULES(GUID,NAME,SHORT_NAME,LICENSE,STRING1) VALUES +(6,'Email-Profiler','EMLP','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=','W') +GO + +CREATE TABLE TBDD_USER +( + GUID INTEGER IDENTITY(1,1), + PRENAME VARCHAR(50), + NAME VARCHAR(50), + USERNAME VARCHAR(50) NOT NULL UNIQUE, + SHORTNAME VARCHAR(30), + EMAIL VARCHAR(100), + [LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE', + GENERAL_VIEWER VARCHAR(30) NOT NULL DEFAULT 'NONE', + COMMENT VARCHAR(500), + WAN_ENVIRONMENT BIT NOT NULL DEFAULT 0, + USERID_FK_INT_ECM INTEGER NOT NULL DEFAULT 0, + ATTR_CHAR1 VARCHAR(250), + ATTR_CHAR2 VARCHAR(250), + ATTR_CHAR3 VARCHAR(250), + ATTR_CHAR4 VARCHAR(250), + ATTR_CHAR5 VARCHAR(250), + ATTR_CHAR6 VARCHAR(250), + ATTR_CHAR7 VARCHAR(250), + ATTR_CHAR8 VARCHAR(250), + ATTR_CHAR9 VARCHAR(250), + ATTR_CHAR10 VARCHAR(250), + ATTR_CHAR11 VARCHAR(250), + ATTR_CHAR12 VARCHAR(250), + ATTR_CHAR13 VARCHAR(250), + ATTR_CHAR14 VARCHAR(250), + ATTR_CHAR15 VARCHAR(250), + ATTR_BIT1 BIT NOT NULL DEFAULT 0, + ATTR_BIT2 BIT NOT NULL DEFAULT 0, + ATTR_BIT3 BIT NOT NULL DEFAULT 0, + ATTR_BIT4 BIT NOT NULL DEFAULT 0, + DELETED BIT NOT NULL DEFAULT 0, + DELETED_WHEN DATETIME, + DELETED_WHO DATETIME, + DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT 'dd.MM.yyyy', + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_USER PRIMARY KEY (GUID) +) +GO +DECLARE @MY_INSTALL_ADMIN_USER VARCHAR(50) +SET @MY_INSTALL_ADMIN_USER = 'SchreiberM' +INSERT INTO TBDD_USER(PRENAME,NAME,USERNAME) VALUES +('DefPrename','DefSurname',@MY_INSTALL_ADMIN_USER) +GO + + +CREATE TABLE TBDD_GROUPS +( + GUID INTEGER IDENTITY(1,1), + NAME VARCHAR(50), + ECM_FK_ID INTEGER NOT NULL DEFAULT 0, + AD_SYNC BIT NOT NULL DEFAULT 0, + INTERNAL BIT NOT NULL DEFAULT 0, + ACTIVE BIT NOT NULL DEFAULT 1, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_GROUPS PRIMARY KEY (GUID), + CONSTRAINT UQ_TBDD_GROUPS UNIQUE(NAME) +) +GO +CREATE TRIGGER TBDD_GROUPS_AFT_UPD ON TBDD_GROUPS +FOR UPDATE +AS +BEGIN + DECLARE @GRPNAME VARCHAR(50) + SELECT @GRPNAME = NAME FROM inserted + IF UPDATE (NAME) + BEGIN + DECLARE @ECM_GRP_ID INTEGER + SELECT @ECM_GRP_ID = [dwGroupID] + FROM windream60.[dbo].[GroupInfo] where UPPER(szGroupName) = UPPER(@GRPNAME) AND szNTDomain = 'DIGITALDATA.LOCAL' + IF @ECM_GRP_ID IS NULL + SET @ECM_GRP_ID = 0 + UPDATE TBDD_GROUPS SET ECM_FK_ID = @ECM_GRP_ID + FROM INSERTED + WHERE TBDD_GROUPS.GUID = INSERTED.GUID + END + UPDATE TBDD_GROUPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_GROUPS.GUID = INSERTED.GUID +END +GO + +INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('PM_USER',1) +GO +INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('PM_ADMINS',1) +GO +INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('GLOBIX_USER',1) +GO +INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('GLOBIX_ADMINS',1) +GO +INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('ADDI_USER',1) +GO +INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('ADDI_ADMINS',1) +GO +INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('CW_USER',1) +GO +INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('CW_ADMINS',1) +GO +INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('UM_ADMINS',1) +GO +INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('SERVER_USER',1) +GO + +CREATE TABLE TBDD_GROUPS_MODULES +( + GUID INTEGER IDENTITY(1,1), + MODULE_ID INT NOT NULL, + GROUP_ID INT NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_GROUPS_MODULES PRIMARY KEY (GUID), + CONSTRAINT UC_MODULE_GROUP UNIQUE (MODULE_ID,GROUP_ID), + CONSTRAINT FK_TBDD_GROUPS_MODULES_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), + CONSTRAINT FK_TBDD_GROUPS_MODULES_MODULE_ID FOREIGN KEY(MODULE_ID) REFERENCES TBDD_MODULES(GUID), +) +GO +CREATE TABLE TBDD_CLIENT +( + GUID INTEGER IDENTITY(1,1), + CLIENT_NAME VARCHAR(50) NOT NULL UNIQUE, + SHORTNAME VARCHAR(30), + LICENSE_PMO VARCHAR(5000) NOT NULL DEFAULT '', + LICENSE_GI VARCHAR(5000) NOT NULL DEFAULT '', + LICENSE_PM VARCHAR(5000) NOT NULL DEFAULT '', + COMMENT VARCHAR(200), + ACTIVE 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_TBDD_CLIENT PRIMARY KEY (GUID) +) +GO +INSERT INTO TBDD_CLIENT(CLIENT_NAME,SHORTNAME) VALUES +('DEFAULT','DEF') +GO + +CREATE TRIGGER TBDD_CLIENT_AFT_UPD ON TBDD_CLIENT +FOR UPDATE +AS +BEGIN + UPDATE TBDD_CLIENT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_CLIENT.GUID = INSERTED.GUID +END +GO +CREATE TABLE TBDD_GROUPS_CLIENT +( + GUID INTEGER IDENTITY(1,1), + CLIENT_ID INT NOT NULL, + GROUP_ID INT NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_GROUPS_CLIENT PRIMARY KEY (GUID), + CONSTRAINT UC_CLIENT_GROUP UNIQUE (CLIENT_ID,GROUP_ID), + CONSTRAINT FK_TBDD_GROUPS_CLIENT_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), + CONSTRAINT FK_TBDD_GROUPS_CLIENT_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), +) +GO + + +CREATE TABLE TBDD_GROUPS_USER +( + GUID INTEGER IDENTITY(1,1), + [USER_ID] INT NOT NULL, + GROUP_ID INT NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_GROUPS_USER PRIMARY KEY (GUID), + CONSTRAINT UC_USER_GROUP UNIQUE (USER_ID,GROUP_ID), + CONSTRAINT FK_TBDD_GROUPS_USER_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), + CONSTRAINT FK_TBDD_GROUPS_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), +) +GO +CREATE TRIGGER TBDD_GROUPS_USER_AFT_UPD ON TBDD_GROUPS_USER +FOR UPDATE +AS + UPDATE TBDD_GROUPS_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBDD_GROUPS_USER.GUID = INSERTED.GUID +GO +CREATE TRIGGER [dbo].[TBDD_GROUPS_USER_AFT_DEL] ON [dbo].[TBDD_GROUPS_USER] +FOR DELETE +AS + DECLARE @USER_ID INTEGER + SELECT @USER_ID = deleted.USER_ID FROM deleted + IF @USER_ID IS NOT NULL + BEGIN + if exists (select * from sysobjects where name='TBPMO_USER_RIGHTS_JOBS' and xtype='U') + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER DELETED FROM GROUP','TBDD_GROUPS_USER_AFT_DEL') + if exists (select * from sysobjects where name='TBPMO_LOG_ESSENTIALS' and xtype='U') + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER-ID','USER DELETED FROM USER-GROUP',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID )) + END +GO +CREATE TABLE TBDD_FUNCTION_REGEX + +( + GUID INTEGER IDENTITY(1,1), + FUNCTION_NAME VARCHAR(250) NOT NULL, + REGEX VARCHAR(MAX) NOT NULL, + STRING1 VARCHAR(500), + STRING2 VARCHAR(500), + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_FUNCTION_REGEX PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBTBDD_FUNCTION_REGEX_AFT_UPD ON TBDD_FUNCTION_REGEX +FOR UPDATE +AS + UPDATE TBDD_FUNCTION_REGEX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_FUNCTION_REGEX.GUID = INSERTED.GUID +GO + + +INSERT INTO TBDD_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES +('FROM_EMAIL_HEADER','From:(?:\s*[\w\s\d.@&,|+%\)\(\-]*<|\s*=\?[\w\s\d.@&,|+%?=\)\(\-]+\?=\s*<|\s*""[\w\s\d.@&,|+%\)\(\-]+""\s*<|\s*)([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})>?') +GO +INSERT INTO TBDD_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES +('TO_EMAIL_HEADER','To:(?:\s*[\w\s\d.@&,|+%\)\(\-]+<|\s*=\?[\w\s\d.@&,|+%?=\)\(\-]+\?=\s*<|\s*""[\w\s\d.@&,|+%\)\(\-]+""\s*<|\s*)([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})>?') +GO +INSERT INTO TBDD_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES +('EMAIL_PROFILER - BODY REMOVE NewLine','[^\s]([\w\s\!\§\$\%\&\/\(\)\=\?\[\]\,\.\-\–\:\;\<\>\@\r\n\#]{1,})^[\#]{2}') +GO + +CREATE TABLE TBDD_LANGUAGE_OBJECTS +( + GUID VARCHAR(50) NOT NULL, + MODULE_ID INTEGER NOT NULL, + FORM_NAME VARCHAR(100) NOT NULL, + [LANGUAGE] VARCHAR(20), + CONTENT VARCHAR(MAX), + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_LANGUAGE_OBJECTS PRIMARY KEY (GUID), + CONSTRAINT FK_TBDD_LANGUAGE_OBJECTS_MODULE_ID FOREIGN KEY(MODULE_ID) REFERENCES TBDD_MODULES(GUID), +) +GO +CREATE TRIGGER TBDD_LANGUAGE_OBJECTS_AFT_UPD ON TBDD_LANGUAGE_OBJECTS +FOR UPDATE +AS + UPDATE TBDD_LANGUAGE_OBJECTS SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBDD_LANGUAGE_OBJECTS.GUID = INSERTED.GUID +GO + + +CREATE TABLE TBDD_VERSION_USER_UPDATE_PATH( + GUID INTEGER NOT NULL IDENTITY(1,1), + USER_ID INT NOT NULL, + MODULE_NAME VARCHAR(30) NOT NULL, + UPDATE_PATH VARCHAR(500) NOT NULL DEFAULT '', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME DEFAULT GETDATE(), +CONSTRAINT [PK_TBDD_VERSION_USER_UPDATE_PATH] PRIMARY KEY(GUID)) +GO +CREATE TRIGGER TBDD_VERSION_USER_UPDATE_PATH_AFT_UPD ON TBDD_VERSION_USER_UPDATE_PATH +FOR UPDATE +AS + UPDATE TBDD_VERSION_USER_UPDATE_PATH SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_VERSION_USER_UPDATE_PATH.GUID = INSERTED.GUID + +GO +CREATE TABLE TBDD_VERSION_UPDATE( + GUID INTEGER NOT NULL IDENTITY(1,1), + ALL_USERS BIT NOT NULL DEFAULT 0, + FORCE_UPD BIT NOT NULL DEFAULT 0, + MODULE_NAME VARCHAR(30) NOT NULL, + VERSION_NO VARCHAR(20) NOT NULL, + VERSION_FORCE_UPD VARCHAR(100) NOT NULL DEFAULT '', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME DEFAULT GETDATE(), +CONSTRAINT [PK_TBDD_VERSION_UPDATE] PRIMARY KEY(GUID)) +GO + +CREATE TRIGGER [dbo].[TBDD_VERSION_UPDATE_AFT_UPD] ON [dbo].[TBDD_VERSION_UPDATE] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @UPDATE_ID INTEGER, + @USER_ID INTEGER, + @ALL_USERS INT + SELECT @UPDATE_ID = GUID FROM INSERTED + + IF UPDATE (ALL_USERS) + BEGIN + SELECT @ALL_USERS = ALL_USERS FROM INSERTED + DELETE FROM TBDD_VERSION_USER_UPDATE WHERE UPDATE_ID = @UPDATE_ID + IF @ALL_USERS = 1 + BEGIN + DECLARE cursorUsers CURSOR FOR + select GUID FROM TBDD_USER + OPEN cursorUsers + FETCH NEXT FROM cursorUsers INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBDD_VERSION_USER_UPDATE (USER_ID, UPDATE_ID) VALUES (@USER_ID,@UPDATE_ID) + + FETCH NEXT FROM cursorUsers INTO @USER_ID + END + CLOSE cursorUsers + DEALLOCATE cursorUsers + END + END + --Generelle Updates (Datum und Recor-Änderungen) + UPDATE TBDD_VERSION_UPDATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_VERSION_UPDATE.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 TABLE TBDD_VERSION_ITEMS( + GUID INTEGER NOT NULL IDENTITY(1,1), + UPDATE_ID INTEGER NOT NULL, + ITEM_INFO VARCHAR(100) NOT NULL, + INFO1 VARCHAR(100), + INFO2 VARCHAR(100), + INFO3 VARCHAR(100), + BIT1 BIT NOT NULL DEFAULT 0, + BIT2 BIT NOT NULL DEFAULT 0, + BIT3 BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(250), + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME DEFAULT GETDATE(), +CONSTRAINT [PK_TBDD_VERSION_ITEMS] PRIMARY KEY(GUID), +CONSTRAINT FK_TBDD_VERSION_ITEMS_UPDATE_ID FOREIGN KEY (UPDATE_ID) REFERENCES TBDD_VERSION_UPDATE (GUID)) +GO +CREATE TABLE TBDD_VERSION_USER_UPDATE( + GUID INTEGER NOT NULL IDENTITY(1,1), + [USER_ID] INTEGER NOT NULL, + UPDATE_ID INTEGER NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME DEFAULT GETDATE(), +CONSTRAINT [PK_TBDD_VERSION_USER_UPDATE] PRIMARY KEY(GUID), +CONSTRAINT FK_TBDD_VERSION_USER_UPDATE_UPDATE_ID FOREIGN KEY (UPDATE_ID) REFERENCES TBDD_VERSION_UPDATE (GUID)) +GO + + +CREATE TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CLIENT_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @CLIENT_COUNT INTEGER, + @ECM_USR_ID INTEGER, + @USRNAME VARCHAR(50), + @UPDATE_PATH VARCHAR(500) + SELECT + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO, + @USRNAME = USERNAME + + FROM INSERTED + + SELECT @ECM_USR_ID = [dwUserID] + FROM windream60.[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME) + IF @ECM_USR_ID IS NOT NULL + UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID + FROM INSERTED + WHERE TBDD_USER.GUID = INSERTED.GUID + + -- SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT + -- IF @CLIENT_COUNT = 1 + -- BEGIN + -- SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT + -- INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES + -- (@USER_ID,@CLIENT_COUNT,@ADDED_WHO) + -- END + + -- --INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID) VALUES (@USER_ID,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 + +CREATE TRIGGER TBDD_USER_AFT_UPD ON TBDD_USER +FOR UPDATE +AS +BEGIN + DECLARE @USRNAME VARCHAR(50) + SELECT @USRNAME = USERNAME FROM inserted + IF UPDATE (USERNAME) + BEGIN + DECLARE @ECM_USR_ID INTEGER + SELECT @ECM_USR_ID = [dwUserID] + FROM windream60.[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME) + IF @ECM_USR_ID IS NOT NULL + UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID + FROM INSERTED + WHERE TBDD_USER.GUID = INSERTED.GUID + END + UPDATE TBDD_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_USER.GUID = INSERTED.GUID +END +GO + +CREATE TABLE TBDD_CLIENT_USER +( + GUID INTEGER IDENTITY(1,1), + [USER_ID] INT NOT NULL, + CLIENT_ID INT NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBDD_CLIENT_USER PRIMARY KEY (GUID), + CONSTRAINT FK_TBDD_CLIENT_USER_GROUP_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), + CONSTRAINT FK_TBDD_CLIENT_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), +) +GO +CREATE TABLE TBDD_CLIENT_GROUP +( + GUID INTEGER IDENTITY(1,1), + [GROUP_ID] INT NOT NULL, + CLIENT_ID INT NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBDD_CLIENT_GROUP PRIMARY KEY (GUID), + CONSTRAINT FK_TBDD_CLIENT_GROUP_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), + CONSTRAINT FK_TBDD_CLIENT_GROUP_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), +) +GO + +CREATE TABLE TBDD_USER_MODULES +( + GUID INTEGER IDENTITY(1,1), + [USER_ID] INT NOT NULL, + MODULE_ID INT NOT NULL, + IS_ADMIN BIT NOT NULL DEFAULT 0, + RIGHT1 BIT NOT NULL DEFAULT 0, + RIGHT2 BIT NOT NULL DEFAULT 0, + RIGHT3 BIT NOT NULL DEFAULT 0, + RIGHT4 BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME , + CONSTRAINT PK_TBDD_USER_MODULES PRIMARY KEY (GUID), + CONSTRAINT UQ_TBDD_USER_MODULES UNIQUE([USER_ID],MODULE_ID), + CONSTRAINT FK_TBDD_USER_MODULES_MODULE_ID FOREIGN KEY(MODULE_ID) REFERENCES TBDD_MODULES(GUID), + CONSTRAINT FK_TBDD_USER_MODULES2_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), +) +GO +CREATE TRIGGER TBDD_USER_MODULES_AFT_UPD ON TBDD_USER_MODULES +FOR UPDATE +AS + UPDATE TBDD_USER_MODULES SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBDD_USER_MODULES.GUID = INSERTED.GUID +GO + +INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID,IS_ADMIN) SELECT GUID,(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'UM'),1 FROM TBDD_USER where GUID NOT IN ( +SELECT USER_ID FROM TBDD_USER_MODULES WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'UM')) +GO + +CREATE TRIGGER [dbo].[TBDD_USER_AFT_DEL] ON [dbo].[TBDD_USER] +FOR DELETE +AS +DECLARE @USER_ID INTEGER +BEGIN + SELECT @USER_ID = GUID FROM DELETED + IF @USER_ID IN (0,1) + BEGIN + ROLLBACK TRANSACTION + RAISERROR('THIS USER CAN NOT BE DELETED!',16,10) + END + ELSE + BEGIN + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES + (@USER_ID,'USER DELETED','TBDD_GROUPS_USER_AFT_DEL') + END +END +GO +CREATE TABLE TBDD_USER_MODULE_LOG_IN +( + GUID INTEGER IDENTITY(1,1), + CLIENT_ID INTEGER NOT NULL DEFAULT 0, + CONNECTION_STRING VARCHAR(500) NOT NULL DEFAULT '' , + USER_ID INTEGER NOT NULL, + MACHINE_NAME VARCHAR(250) NOT NULL DEFAULT '', + MODULE VARCHAR(50), + VERSION_CLIENT VARCHAR(30), + ADDED_WHEN DATETIME DEFAULT GETDATE() NOT NULL, + CONSTRAINT PK_TBDD_USER_MODULE_LOG_IN PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBDD_USER_MODULE_LOG_IN_AFT_INS ON TBDD_USER_MODULE_LOG_IN +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @MODULE VARCHAR(50), + @CLIENT_ID INTEGER, + @VERSION_CLIENT VARCHAR(30), + @MACHINE_NAME VARCHAR(50), + @CONNECTION_STRING VARCHAR(500) + SELECT + @USER_ID = USER_ID, + @MODULE = MODULE, + @CLIENT_ID = CLIENT_ID, + @VERSION_CLIENT = VERSION_CLIENT, + @MACHINE_NAME = MACHINE_NAME, + @CONNECTION_STRING = CONNECTION_STRING + FROM INSERTED + + IF @VERSION_CLIENT IS NULL + SET @VERSION_CLIENT = '1.0.0.0' + INSERT INTO TBDD_USER_LOGIN_OUT (MODULE,USER_ID,CLIENT_ID,VERSION_CLIENT,MACHINE_NAME,CONNECTION_STRING) VALUES (@MODULE,@USER_ID,@CLIENT_ID,@VERSION_CLIENT,@MACHINE_NAME,@CONNECTION_STRING) +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER TBDD_USER_MODULE_LOG_IN_AFT_DEL ON TBDD_USER_MODULE_LOG_IN +FOR DELETE +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @MODULE VARCHAR(50), + @CLIENT_ID INTEGER + SELECT + @USER_ID = USER_ID, + @MODULE = MODULE, + @CLIENT_ID = CLIENT_ID + FROM DELETED + + UPDATE TBDD_USER_LOGIN_OUT SET LOGOUT = GETDATE() WHERE GUID = ( + SELECT MAX(GUID) FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @USER_ID AND MODULE = @MODULE AND CLIENT_ID = @CLIENT_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 TABLE TBDD_CONNECTION + +( + GUID SMALLINT IDENTITY(1,1), + BEZEICHNUNG VARCHAR(100), + SQL_PROVIDER VARCHAR(50), + SERVER VARCHAR(150), + DATENBANK VARCHAR(100), + USERNAME VARCHAR(100), + PASSWORD VARCHAR(100), + BEMERKUNG VARCHAR(400), + AKTIV BIT DEFAULT 1 NOT NULL, -- 1 - Connection aktiv, 0 - inaktiv + ERSTELLTWER VARCHAR(50) DEFAULT 'DD_ECM DEFAULT' NOT NULL, + ERSTELLTWANN DATETIME DEFAULT GETDATE(), + GEANDERTWER VARCHAR(50), + GEAENDERTWANN DATETIME, + CONSTRAINT PK_TBDD_CONNECTION PRIMARY KEY (GUID) +) +GO +------------------------------------------------------------------------------ + +CREATE TRIGGER TBDD_CONNECTION_AFT_UPD ON TBDD_CONNECTION +FOR UPDATE +AS + UPDATE TBDD_CONNECTION SET GEAENDERTWANN = GETDATE() FROM INSERTED WHERE TBDD_CONNECTION.GUID = INSERTED.GUID +GO +------------------------------------------------------------------------------ +INSERT INTO TBDD_CONNECTION(BEZEICHNUNG,SQL_PROVIDER,SERVER,DATENBANK,USERNAME,PASSWORD) VALUES ('Your first connection','MS-SQLServer','127.0.0.1','Datenbank','sa','') +GO +--INSERT INTO TBCONNECTION(BEZEICHNUNG,SQL_PROVIDER,SERVER,DATENBANK,USERNAME,PASSWORD) VALUES ('Zeiterfassung','SQLOLEDB','192.168.48.13','DD_ZEITERFASSUNG_AB_112011','sa','dd') +--GO +--INSERT INTO TBCONNECTION(BEZEICHNUNG,SQL_PROVIDER,SERVER,DATENBANK,USERNAME,PASSWORD) VALUES ('Oracle-Fuchs','OraOLEDB.Oracle','192.168.48.32','10FUCHS','IID_GH','dd') +--GO + + +CREATE TABLE TBDD_DOKUMENTART +( + GUID INT IDENTITY(1,1), + BEZEICHNUNG VARCHAR(50) NOT NULL, + OBJEKTTYP VARCHAR(50) NOT NULL, + EINGANGSART_ID TINYINT NOT NULL, -- Typ der die Entstehung der dokumnetart beschreibt + KURZNAME VARCHAR(50) NOT NULL, + ZIEL_PFAD VARCHAR(250) NOT NULL, + BESCHREIBUNG VARCHAR(250), + WINDREAM_DIRECT BIT DEFAULT 0 NOT NULL, + FOLDER_FOR_INDEX VARCHAR(500) DEFAULT '' NOT NULL, + DUPLICATE_HANDLING VARCHAR(30) NOT NULL DEFAULT 'Default', + AKTIV BIT DEFAULT 0 NOT NULL, -- 1 - Dokumentart aktiv und kann benutzt werden, 0 - inaktiv + [LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE', + SEQUENCE INT NOT NULL DEFAULT 1, + NAMENKONVENTION VARCHAR(500) NOT NULL DEFAULT '', + ERSTELLTWER VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ERSTELLTWANN DATETIME DEFAULT GETDATE(), + GEANDERTWER VARCHAR(50), + GEAENDERTWANN DATETIME, + CONSTRAINT PK_TBDD_DOKUMENTART PRIMARY KEY(GUID), + CONSTRAINT FK_TBDD_DOKUMENTART_EINGID FOREIGN KEY(EINGANGSART_ID) REFERENCES TBDD_EINGANGSARTEN(GUID), + CONSTRAINT UNIQUE_TBDD_DOKUMENTART UNIQUE(BEZEICHNUNG) +) +GO +------------------------------------------------------------------------------ + +CREATE TRIGGER TBDD_DOKUMENTART_AFT_UPD ON TBDD_DOKUMENTART +FOR UPDATE +AS +BEGIN TRY + DECLARE + @DA_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @DA_TITLE = BEZEICHNUNG, + @SCREEN_ID = 1, + @CHANGED_WHO = GEANDERTWER + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO) + SET @PMO_OBJECT_NAME = 'DOCTYPE_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBDD_DOKUMENTART SET GEAENDERTWANN = GETDATE() FROM INSERTED + WHERE TBDD_DOKUMENTART.GUID = INSERTED.GUID + IF UPDATE (BEZEICHNUNG) + BEGIN + IF OBJECT_ID(N'dbo.TBPMO_WD_OBJECTTYPE', N'U') 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 = @DA_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@DA_TITLE) + END + 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].[TBDD_DOKUMENTART_AFT_INS] ON [dbo].[TBDD_DOKUMENTART] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @DA_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @DA_TITLE = BEZEICHNUNG, + @LANGUAGE = [LANGUAGE], + @SCREEN_ID = 1, + @ADDED_WHO = ERSTELLTWER + FROM INSERTED + + SET @PMO_OBJECT_NAME = 'DOCTYPE_TITLE' + CONVERT(VARCHAR(5),@GUID) + IF OBJECT_ID(N'dbo.TBPMO_WD_OBJECTTYPE', N'U') IS NOT NULL + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@DA_TITLE,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE TRIGGER TBDD_DOKUMENTART_AFT_INS2 ON TBDD_DOKUMENTART +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @ADDED_WHO VARCHAR(50), + @OBJEKTTYP VARCHAR(50), + @GUID INTEGER + SELECT + @GUID = GUID, + @ADDED_WHO = ERSTELLTWER, + @OBJEKTTYP = OBJEKTTYP + FROM INSERTED + IF OBJECT_ID(N'dbo.TBPMO_CLIENT_DOCTYPE', N'U') IS NOT NULL + INSERT INTO TBPMO_CLIENT_DOCTYPE (CLIENT_ID,DOCTYPE_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) + + IF OBJECT_ID(N'dbo.TBPMO_WD_OBJECTTYPE', N'U') IS NOT NULL + IF @OBJEKTTYP IS NOT NULL + IF @OBJEKTTYP <> '' + BEGIN + DECLARE @IDX_DOC VARCHAR(50),@IDX_REC VARCHAR(50) + SELECT @IDX_DOC = IDXNAME_DOCTYPE, + @IDX_REC = IDXNAME_RECORDID FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = @OBJEKTTYP + IF @IDX_REC IS NOT NULL + INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES + (@GUID,@IDX_REC,'@Record-ID',1,@ADDED_WHO) + IF @IDX_DOC IS NOT NULL + INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES + (@GUID,@IDX_DOC,'@Dokart',1,@ADDED_WHO) + END +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE TABLE TBDD_DOKUMENTART_MODULE +( + GUID INT IDENTITY(1,1), + DOKART_ID INT NOT NULL, + MODULE_ID INT NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME, + CONSTRAINT PKTBDD_DOKART_MODULE PRIMARY KEY(GUID), + CONSTRAINT FK_TBDD_DOKART_MODULE_DOKART_ID FOREIGN KEY(DOKART_ID) REFERENCES TBDD_DOKUMENTART(GUID), + CONSTRAINT FK_TBDD_DOKART_MODULE_MODULE_ID FOREIGN KEY(MODULE_ID) REFERENCES TBDD_MODULES(GUID), +) +GO +------------------------------------------------------------------------------ + +CREATE TRIGGER TBDD_DOKUMENTART_MODULE_AFT_UPD ON TBDD_DOKUMENTART_MODULE +FOR UPDATE +AS +BEGIN + UPDATE TBDD_DOKUMENTART_MODULE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_DOKUMENTART_MODULE.GUID = INSERTED.GUID +END +GO + +CREATE TABLE TBDD_INDEX_MAN +( + GUID INT IDENTITY(1,1), + DOK_ID INT NOT NULL, + NAME VARCHAR(50) NOT NULL, + WD_INDEX VARCHAR(50), + --SAVE_VALUE BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(150), + DATATYPE VARCHAR(50), + SUGGESTION BIT DEFAULT 0 NOT NULL, -- 1 - Es wird Eingabe vorgeschlagen, bei 0 - manuelle Eingabe. + DEFAULT_VALUE VARCHAR(50) NOT NULL DEFAULT '', + CONNECTION_ID SMALLINT DEFAULT 0, + SEQUENCE INTEGER NOT NULL DEFAULT 1, + SQL_RESULT VARCHAR(2000) NOT NULL DEFAULT '', + SQL_CHECK VARCHAR(2000) NOT NULL DEFAULT '', + OPTIONAL BIT DEFAULT 0 NOT NULL, + SAVE_VALUE BIT DEFAULT 0 NOT NULL, + VKT_ADD_ITEM BIT NOT NULL DEFAULT 0, + VKT_PREVENT_MULTIPLE_VALUES BIT NOT NULL DEFAULT 1, + ACTIVE BIT DEFAULT 1 NOT NULL, -- 1 - Index aktiv, bei 0 - inaktiv. + ADDED_WHO VARCHAR(50) DEFAULT 'DD_ECM DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE() , + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_INDEX_MAN PRIMARY KEY(GUID), + CONSTRAINT FK_TBDD_INDEX_MAN_DAID FOREIGN KEY(DOK_ID) REFERENCES TBDD_DOKUMENTART(GUID), + CONSTRAINT FK_TBDD_INDEX_MAN_CID FOREIGN KEY(CONNECTION_ID) REFERENCES TBDD_CONNECTION(GUID) +) +GO +------------------------------------------------------------------------------ +CREATE TRIGGER TBINDEX_MAN_AFT_UPD ON TBDD_INDEX_MAN +FOR UPDATE +AS +BEGIN + UPDATE TBDD_INDEX_MAN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_INDEX_MAN.GUID = INSERTED.GUID +END +GO + +CREATE TABLE TBDD_INDEX_AUTOM +( + GUID INT IDENTITY(1,1), + DOCTYPE_ID INT NOT NULL, + [ENTITY_ID] INTEGER DEFAULT 0 NOT NULL, + INDEXNAME VARCHAR(50) NOT NULL, + VALUE VARCHAR(2000), + CONNECTION_ID SMALLINT NOT NULL DEFAULT 0, + [SQL_RESULT] VARCHAR(2000) DEFAULT '' NOT NULL, + SQL_ACTIVE BIT DEFAULT 0 NOT NULL, + COMMENT VARCHAR(400), + ACTIVE BIT DEFAULT 1 NOT NULL, -- 1 - Index aktiv, bei 0 - inaktiv. + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE() , + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_INDEX_AUTOM PRIMARY KEY(GUID), + CONSTRAINT FK_TBDD_INDEX_AUTOM_DOCID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID) +) +GO +------------------------------------------------------------------------------ + +CREATE TRIGGER TBDD_INDEX_AUTOM_AFT_UPD ON TBDD_INDEX_AUTOM +FOR UPDATE +AS +BEGIN + UPDATE TBDD_INDEX_AUTOM SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_INDEX_AUTOM.GUID = INSERTED.GUID +END +GO + + +CREATE TABLE TBDD_INDEX_MAN_POSTPROCESSING +( + GUID INT IDENTITY(1,1), + IDXMAN_ID INT NOT NULL, + VARIANT VARCHAR(20) NOT NULL DEFAULT 'FILE AND INDEX', + COMMENT VARCHAR(250), + [TYPE] VARCHAR(50), -- Beschreibt intern welche Funktion genutzt wird:SPLIT,REPLACE + FUNCTION1 VARCHAR(250), -- Funktionen wie RegexExpressions + FUNCTION2 VARCHAR(250), -- Funktionen wie RegexExpressions + TEXT1 VARCHAR(100), -- Option1 zB: Replace1 + TEXT2 VARCHAR(100), -- Option2 zB: Replace_with + TEXT3 VARCHAR(100), -- Option2 + SEQUENCE INT NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PKTBDD_INDEX_MAN_POSTPROCESSING PRIMARY KEY(GUID), + CONSTRAINT FKTBDD_INDEX_MAN_POSTPROCESSING_IDXID FOREIGN KEY(IDXMAN_ID) REFERENCES TBDD_INDEX_MAN(GUID) +) +GO +------------------------------------------------------------------------------ + +CREATE TRIGGER TBDD_INDEX_MAN_POSTPROCESSING_AFT_UPD ON TBDD_INDEX_MAN_POSTPROCESSING +FOR UPDATE +AS + UPDATE TBDD_INDEX_MAN_POSTPROCESSING SET CHANGED_WHEN = GETDATE() + FROM INSERTED WHERE TBDD_INDEX_MAN_POSTPROCESSING.GUID = INSERTED.GUID +GO +CREATE TABLE TBDD_EMAIL_ACCOUNT +( + GUID INTEGER IDENTITY(1,1), + NAME VARCHAR(50), + EMAIL_NAME VARCHAR(100) DEFAULT '', + EMAIL_FROM VARCHAR(100) NOT NULL, + EMAIL_FROM_NAME VARCHAR(100) DEFAULT '', + EMAIL_SMTP VARCHAR(100) NOT NULL, + EMAIL_USER VARCHAR(100) NOT NULL, + EMAIL_PW VARCHAR(250) NOT NULL DEFAULT '', + AUTH_TYPE VARCHAR(20) NOT NULL DEFAULT 'SSL', + SSL_AUTH BIT NOT NULL DEFAULT 0, + PORT INTEGER NOT NULL DEFAULT '25', + PORT_IN INT NOT NULL DEFAULT 25, + 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_TBDD_EMAIL_ACCOUNT PRIMARY KEY (GUID) +) +GO + +CREATE TRIGGER TBDD_EMAIL_ACCOUNT_AFT_UPD ON TBDD_EMAIL_ACCOUNT +FOR UPDATE +AS +BEGIN + UPDATE TBDD_EMAIL_ACCOUNT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_EMAIL_ACCOUNT.GUID = INSERTED.GUID +END +GO + +CREATE TABLE TBDD_USER_LOGIN_OUT( + GUID INT IDENTITY(1,1) NOT NULL, + CONNECTION_STRING VARCHAR(500) NOT NULL DEFAULT '', + CLIENT_ID INT NOT NULL, + MACHINE_NAME VARCHAR(250) NOT NULL DEFAULT '', + MODULE VARCHAR(30) NOT NULL, + [USER_ID] INT NOT NULL, + VERSION_CLIENT VARCHAR(30), + [LOGIN] DATETIME DEFAULT (GETDATE()), + [LOGOUT] DATETIME, +CONSTRAINT [PK_TBDD_USER_LOGIN_OUT] PRIMARY KEY(GUID), +CONSTRAINT FK_TBDD_USER_LOGIN_OUT_USER_ID FOREIGN KEY ([USER_ID]) REFERENCES TBDD_USER (GUID)) +GO +CREATE TABLE TBDD_USRGRP_DOKTYPE +( + GUID INT IDENTITY(1,1), + DOCTYPE_ID INT NOT NULL, + GROUP_ID INT NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME, + CONSTRAINT PKTBDD_USRGRP_DOKTYPE PRIMARY KEY(GUID), + CONSTRAINT FK_TBDD_USRGRP_DOKTYPE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID), + CONSTRAINT FK_TBDD_USRGRP_DOKTYPE_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), +) +GO +------------------------------------------------------------------------------ + +CREATE TRIGGER TBDD_USRGRP_DOKTYPE_AFT_UPD ON TBDD_USRGRP_DOKTYPE +FOR UPDATE +AS +BEGIN + UPDATE TBDD_USRGRP_DOKTYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_USRGRP_DOKTYPE.GUID = INSERTED.GUID +END +GO + +CREATE TABLE TBDD_LICENSE_ADD_ON( + [GUID] INT IDENTITY(1,1) NOT NULL, + [CLIENT_ID] INT NOT NULL, + [MODULE] VARCHAR(100) NOT NULL, + [NAME] VARCHAR(100) NOT NULL, + [VALID_DATE] VARCHAR(2000) NOT NULL, + [ADDED_WHO] VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + [ADDED_WHEN] DATETIME DEFAULT (getdate()), + [CHANGED_WHO] VARCHAR(50), + [CHANGED_WHEN] DATETIME +CONSTRAINT [PK_TBDD_LICENSE_ADD_ON] PRIMARY KEY(GUID), +CONSTRAINT FK_TBDD_LICENSE_ADD_ON_CLIENT_ID FOREIGN KEY ([CLIENT_ID]) REFERENCES TBDD_CLIENT (GUID)) +GO +--INSERT INTO TBDD_LICENSE_ADD_ON (CLIENT_ID, MODULE, NAME, VALID_DATE) VALUES (0,'Record-Organizer', 'Proxy-Server', '+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPncZwT1S0JUXDWEzuCTBqgpd20QM74AAN6') +--GO +--INSERT INTO TBDD_LICENSE_ADD_ON (CLIENT_ID, MODULE, NAME, VALID_DATE) VALUES (1,'Record-Organizer', 'Site-AddOn', '+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPncZwT1S0JUXDWEzuCTBqgpd20QM74AAN6') +--GO + +-- END CREATE TABLES + + +CREATE PROCEDURE [dbo].[PRDD_DELETE_USER](@pUSER_ID INT) +AS +BEGIN TRY + -- COMMON + IF OBJECT_ID(N'dbo.TBDD_USER_MODULES', N'U') IS NOT NULL + DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBDD_CLIENT_USER', N'U') IS NOT NULL + DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBDD_GROUPS_USER', N'U') IS NOT NULL + DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBDD_VERSION_USER_UPDATE', N'U') IS NOT NULL + DELETE FROM TBDD_VERSION_USER_UPDATE WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBDD_VERSION_USER_UPDATE_PATH', N'U') IS NOT NULL + DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBDD_USER_LOGIN_OUT', N'U') IS NOT NULL + DELETE FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBDD_USER_MODULE_LOG_IN', N'U') IS NOT NULL + DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = @pUSER_ID + + -- PROCESS MANAGER + IF OBJECT_ID(N'dbo.TBPM_PROFILE_USER', N'U') IS NOT NULL + DELETE FROM TBPM_PROFILE_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBPMO_FOLDERWATCH_USER', N'U') IS NOT NULL + DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + + -- GLOBAL INDEXER + 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 + -- CLIPBOARD WATCHER + IF OBJECT_ID(N'dbo.TBCW_USER_PROFILE', N'U') IS NOT NULL + DELETE FROM TBCW_USER_PROFILE WHERE USER_ID = @pUSER_ID + + --_ADDI + IF OBJECT_ID(N'dbo.TBPMO_CONSTRUCTOR_USER', N'U') IS NOT NULL + DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBPMO_USER_CONSTR_VIEW_TYPE', N'U') IS NOT NULL + DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID + + -- FINALLY + DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID + + RETURN 0 +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + RETURN -1 +END CATCH +GO +CREATE PROCEDURE [dbo].[PRDD_GLOBIX_DELETE_DOCTYPE](@pDOCID INT) +AS +BEGIN TRY + IF OBJECT_ID(N'dbo.TBPMO_CLIENT_DOCTYPE', N'U') IS NOT NULL + DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID + IF OBJECT_ID(N'dbo.TBPMO_TEMPLATE', N'U') IS NOT NULL + DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID + IF OBJECT_ID(N'dbo.TBPMO_WD_FORMVIEW_DOKTYPES', N'U') IS NOT NULL + DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID + + DELETE FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID IN (SELECT GUID FROM TBDD_INDEX_MAN WHERE DOK_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 TBDD_DOKUMENTART_MODULE WHERE DOKART_ID = @pDOCID + DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRDD_USER_REFRESH_WM_ID] +AS +DECLARE + @GUID INTEGER, + @USERNAME VARCHAR(500) + +DECLARE c_REDO CURSOR FOR + select GUID,USERNAME from TBDD_USER + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @GUID,@USERNAME + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @ECM_USR_ID INTEGER + --SELECT [dwUserID] FROM windream60.[dbo].[UserInfo] where UPPER(szUserName) = UPPER('windream') + + SELECT @ECM_USR_ID = [dwUserID] FROM windream60.[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USERNAME) + IF @ECM_USR_ID IS NOT NULL + UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID WHERE GUID = @GUID + + FETCH NEXT FROM c_REDO INTO @GUID,@USERNAME + END +CLOSE c_REDO +DEALLOCATE c_REDO +GO +CREATE TABLE TBDD_EXTATTRIBUTES_MATCHING +( + GUID INTEGER IDENTITY(1,1), + EXT_ATTRIBUTE VARCHAR(250), + TBDD_USER_COLUMN VARCHAR(150), + FB_SYS_KEY VARCHAR(150) DEFAULT '' + CONSTRAINT PK_TBAD_EXTATTRIBUTES_MATCHING_GUID PRIMARY KEY(GUID) +) +GO + +--###### VIEWS ##### +CREATE VIEW VWDD_LOGIN_USER_HISTORY AS +SELECT TOP (5000) + T.GUID, + T.MODULE, + T1.USERNAME, + T1.NAME, + T1.PRENAME, + T1.GUID as USER_ID, + T.CLIENT_ID, + T2.CLIENT_NAME, + T.LOGIN, + T.LOGOUT, + T.VERSION_CLIENT, + T.MACHINE_NAME +FROM + TBDD_USER_LOGIN_OUT T, + TBDD_USER T1, + TBDD_CLIENT T2 +WHERE + T.USER_ID = T1.GUID + AND T.CLIENT_ID = T2.GUID +ORDER BY GUID DESC +GO +CREATE VIEW VWDD_USER2GROUP AS +SELECT TOP 100 PERCENT T.GUID, T.USERNAME, T2.GUID as GROUP_ID, T2.NAME, T2.COMMENT +FROM TBDD_USER T, TBDD_GROUPS_USER T1, TBDD_GROUPS T2 +WHERE + T.GUID = T1.USER_ID AND + T1.GROUP_ID = T2.GUID +ORDER BY T.USERNAME +GO +CREATE VIEW VWDDINDEX_MAN +AS +SELECT TOP 2000 + T.GUID, + T.NAME INDEXNAME, + T.WD_INDEX, + T.COMMENT, + T.DATATYPE, + T.DOK_ID, + T1.BEZEICHNUNG DOKUMENTART, + T1.KURZNAME, + T.SUGGESTION, + T.CONNECTION_ID, + T2.BEZEICHNUNG CONNECTION, + T2.SQL_PROVIDER, + T2.SERVER, + T2.DATENBANK, + T2.USERNAME, + T2.PASSWORD, + T.SQL_RESULT, + T.SQL_CHECK, + T.OPTIONAL, + T.SAVE_VALUE +FROM + TBDD_INDEX_MAN T + INNER JOIN TBDD_DOKUMENTART T1 ON T.DOK_ID = T1.GUID AND T1.AKTIV = 1 + LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1 +WHERE + T.ACTIVE = 1 +ORDER BY + T.DOK_ID, + T.GUID +GO + +CREATE VIEW [dbo].[VWDDINDEX_AUTOM] +AS +SELECT TOP 100 PERCENT + T.GUID, + T.INDEXNAME, + T.COMMENT, + T.DOCTYPE_ID, + T1.BEZEICHNUNG DOKUMENTART, + T1.KURZNAME, + T.CONNECTION_ID, + T2.BEZEICHNUNG CONNECTION, + T2.SQL_PROVIDER, + T2.SERVER, + T2.DATENBANK, + T2.USERNAME, + T2.PASSWORD, + T.SQL_RESULT, + T.SQL_ACTIVE, + T.VALUE +FROM + TBDD_INDEX_AUTOM T + INNER JOIN TBDD_DOKUMENTART T1 ON T.DOCTYPE_ID = T1.GUID AND T1.AKTIV = 1 + LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1 +WHERE + T.ACTIVE = 1 +ORDER BY + T.DOCTYPE_ID, + T.GUID + +GO + +CREATE VIEW VWDDINDICES_MAN_AUTO_ACTIVE AS +SELECT TOP 100 PERCENT + DOK_ID AS DOCTYPE_ID, + 'm' + NAME AS NAME +FROM TBDD_INDEX_MAN WHERE ACTIVE = 1 +UNION +SELECT TOP 100 PERCENT + DOCTYPE_ID AS DOCTYPE_ID, + 'a' + INDEXNAME AS NAME +FROM TBDD_INDEX_AUTOM WHERE ACTIVE = 1 +ORDER BY +DOCTYPE_ID +GO +CREATE VIEW VWDD_USER_CLIENT +AS + SELECT + T1.GUID AS CLIENT_ID + ,T1.CLIENT_NAME + ,T.USER_ID + ,T2.USERNAME + FROM + TBDD_CLIENT_USER T + ,TBDD_CLIENT T1 + ,TBDD_USER T2 + WHERE + T1.ACTIVE = 1 + AND T.CLIENT_ID = T1.GUID + AND T.USER_ID = T2.GUID + +GO + +CREATE FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) +RETURNS @Table TABLE + (SequentialOrder INT IDENTITY(1, 1), + USER_ID INTEGER, + USER_PRENAME VARCHAR(50), + USER_SURNAME VARCHAR(50), + USER_SHORTNAME VARCHAR(50), + USER_EMAIL VARCHAR(100), + USER_LANGUAGE VARCHAR(10), + USER_DATE_FORMAT VARCHAR(10), + USER_RIGHT_FILE_DEL BIT, + MODULE_ACCESS BIT, + IS_ADMIN BIT, + USERCOUNT_LOGGED_IN INTEGER, + COMMENT VARCHAR(500)) +AS +BEGIN +/* +This function checks all user-relevant relations an +*/ + DECLARE + @RESULT VARCHAR(500), + @USER_ID INTEGER, + @USER_PRENAME VARCHAR(50), + @USER_SURNAME VARCHAR(50), + @USER_SHORTNAME VARCHAR(50), + @USER_EMAIL VARCHAR(50), + @USER_LANGUAGE VARCHAR(10), + @USER_DATE_FORMAT VARCHAR(10), + @IS_IN_MODULE BIT, + @IS_ADMIN BIT, + @USER_RIGHT_FILE_DEL BIT, + @USERCOUNT_LOGGED_IN INTEGER, + @MODULE_NAME VARCHAR(100), + @MODULE_GUID INTEGER, + @USER_GROUPNAME VARCHAR(100), + @ADMIN_GROUPNAME VARCHAR(100) + + SET @USER_ID = 0 + SET @IS_ADMIN = 0 + SET @IS_IN_MODULE = 0 + SET @USERCOUNT_LOGGED_IN = 0 + SET @RESULT = '' + IF @pMODULE_SHORT_NAME = 'PM' + BEGIN + SET @USER_GROUPNAME = 'PM_USER' + SET @ADMIN_GROUPNAME = 'PM_ADMINS' + SEt @USER_RIGHT_FILE_DEL = 0 + END + ELSE IF @pMODULE_SHORT_NAME = 'CW' + BEGIN + SET @USER_GROUPNAME = 'CW_USER' + SET @ADMIN_GROUPNAME = 'CW_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'ADDI' + BEGIN + SET @USER_GROUPNAME = 'ADDI_USER' + SET @ADMIN_GROUPNAME = 'ADDI_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX' + BEGIN + SET @USER_GROUPNAME = 'GLOBIX_USER' + SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'UM' + BEGIN + SET @USER_GROUPNAME = 'XXXX' + SET @ADMIN_GROUPNAME = 'UM_ADMINS' + END + + SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME + + IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)) + BEGIN + SET @RESULT = 'USER NOT CONFIGURED OR LISTED' + END + ELSE + BEGIN + SELECT @USER_ID = GUID,@USER_PRENAME = PRENAME, + @USER_SURNAME = NAME, @USER_SHORTNAME = SHORTNAME,@USER_EMAIL = EMAIL,@USER_LANGUAGE = LANGUAGE,@USER_DATE_FORMAT = DATE_FORMAT FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME) + SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = @pCLIENTID + --CHECK USER ÍS IN MODULE_USER_GROUP + IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME) + BEGIN + SET @IS_IN_MODULE = 1 + SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME + ')' + IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) + BEGIN + SET @RESULT = @RESULT + '| User is also configured in User-Modules' + select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID + END + END + ELSE + BEGIN + SET @RESULT = 'User not part of group (' + @USER_GROUPNAME + ')' + IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) + BEGIN + SET @RESULT = @RESULT + '| BUT User configured in User-Modules' + select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID + END + END + + IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME) + BEGIN + SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')' + SET @IS_ADMIN = 1 + SET @IS_IN_MODULE = 1 + END + + END + +INSERT INTO @Table (USER_ID,USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,USER_DATE_FORMAT, USER_RIGHT_FILE_DEL, MODULE_ACCESS,IS_ADMIN,USERCOUNT_LOGGED_IN, COMMENT) + VALUES (@USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_DATE_FORMAT,@USER_RIGHT_FILE_DEL,@IS_IN_MODULE,@IS_ADMIN,@USERCOUNT_LOGGED_IN,@RESULT) + +RETURN +END +GO + +CREATE VIEW VWDD_USER_GROUP_MODULE +AS +select + T1.NAME AS GROUP_NAME, + TU.* +FROM + TBDD_GROUPS_USER T, + TBDD_GROUPS T1, + TBDD_USER TU +WHERE + TU.NAME IS NOT NULL + AND TU.PRENAME IS NOT NULL + AND T1.INTERNAL = 1 + AND T.GROUP_ID = T1.GUID + AND T.USER_ID = TU.GUID + --AND T1.NAME IN ('CW_USER','CW_ADMINS') + +UNION + +SELECT + T2.NAME AS GROUP_MODULE, + TU.* + +FROM + TBDD_USER TU, + TBDD_USER_MODULES T1, + TBDD_MODULES T2 +WHERE + TU.NAME IS NOT NULL + AND TU.PRENAME IS NOT NULL + AND TU.GUID = T1.USER_ID + AND T1.MODULE_ID = T2.GUID +GO +CREATE VIEW VWDD_USER_MODULE_CW +AS +SELECT + DISTINCT GUID , + USERNAME, + NAME, + PRENAME, + EMAIL +FROM + VWDD_USER_GROUP_MODULE +WHERE + GROUP_NAME IN ('Clipboard-Watcher','CW_USER','CW_ADMINS') +GO +CREATE FUNCTION [dbo].[FNDD_GET_USER_FOR_GROUP] (@pGROUP_ID INTEGER,@pONLY_FREE BIT) +RETURNS @Table TABLE + (USER_ID INTEGER, + USER_PRENAME VARCHAR(50), + USER_SURNAME VARCHAR(50), + USER_SHORTNAME VARCHAR(50), + USER_EMAIL VARCHAR(100), + USER_LANGUAGE VARCHAR(10), + COMMENT VARCHAR(500)) +AS +BEGIN + IF @pONLY_FREE = 1 + INSERT INTO @Table (USER_ID,USER_PRENAME,USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,COMMENT) + select T.GUID, T.PRENAME, T.NAME, T.SHORTNAME, T.EMAIL,T.LANGUAGE, T.COMMENT FROM TBDD_USER T, TBDD_GROUPS_USER T1 WHERE T1.USER_ID = T.GUID AND + T.GUID NOT IN (SELECT USER_ID FROM TBDD_GROUPS_USER WHERE GROUP_ID = @pGROUP_ID) + ELSE + INSERT INTO @Table (USER_ID,USER_PRENAME,USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,COMMENT) + select T.GUID, T.PRENAME, T.NAME, T.SHORTNAME, T.EMAIL,T.LANGUAGE, T.COMMENT FROM TBDD_USER T, TBDD_GROUPS_USER T1 WHERE T1.USER_ID = T.GUID AND T1.GROUP_ID = @pGROUP_ID + +RETURN +END +GO +CREATE FUNCTION [dbo].[FNDD_GET_USER_FOR_MODULE] (@pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) +--DECLARE @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER +--SET @pMODULE_SHORT_NAME = 'PM' +--SET @pCLIENTID = 1 +RETURNS +--DECLARE +@Table TABLE + (SequentialOrder INT IDENTITY(1, 1), + USER_ID INTEGER, + USER_NAME VARCHAR(50), + USER_PRENAME VARCHAR(50), + USER_SURNAME VARCHAR(50), + USER_SHORTNAME VARCHAR(50), + USER_EMAIL VARCHAR(100), + USER_LANGUAGE VARCHAR(10), + USER_RIGHT_FILE_DEL BIT, + MODULE_ACCESS BIT, + IS_ADMIN BIT, + USER_COMMENT VARCHAR(500), + COMMENT VARCHAR(500)) +AS +BEGIN +/* +This function checks all user-relevant relations an +*/ + DECLARE + @RESULT VARCHAR(500), + @USER_ID INTEGER, + @USER_NAME VARCHAR(50), + @USER_PRENAME VARCHAR(50), + @USER_SURNAME VARCHAR(50), + @USER_SHORTNAME VARCHAR(50), + @USER_EMAIL VARCHAR(50), + @USER_LANGUAGE VARCHAR(10), + @IS_IN_MODULE BIT, + @IS_ADMIN BIT, + @USER_RIGHT_FILE_DEL BIT, + @MODULE_NAME VARCHAR(100), + @MODULE_GUID INTEGER, + @USER_GROUPNAME VARCHAR(100), + @ADMIN_GROUPNAME VARCHAR(100), + @USER_COMMENT VARCHAR(500) + + IF @pMODULE_SHORT_NAME = 'PM' + BEGIN + SET @USER_GROUPNAME = 'PM_USER' + SET @ADMIN_GROUPNAME = 'PM_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'CW' + BEGIN + SET @USER_GROUPNAME = 'CW_USER' + SET @ADMIN_GROUPNAME = 'CW_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'ADDI' + BEGIN + SET @USER_GROUPNAME = 'ADDI_USER' + SET @ADMIN_GROUPNAME = 'ADDI_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX' + BEGIN + SET @USER_GROUPNAME = 'GLOBIX_USER' + SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'UM' + BEGIN + SET @USER_GROUPNAME = 'XXXX' + SET @ADMIN_GROUPNAME = 'UM_ADMINS' + END + SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME + + DECLARE cursor_user CURSOR FOR + select GUID, ISNULL(PRENAME,'no prename'), ISNULL(NAME,'no name'), ISNULL(SHORTNAME,'no shortname'), ISNULL(EMAIL,'no email'), LANGUAGE,USERNAME,COMMENT from TBDD_USER + OPEN cursor_user + FETCH NEXT FROM cursor_user INTO @USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_NAME,@USER_COMMENT + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @IS_ADMIN = 0 + SET @IS_IN_MODULE = 0 + SET @RESULT = '' + --CHECK USER IS IN MODULE_USER_GROUP + IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME) + BEGIN + SET @IS_IN_MODULE = 1 + SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME + ')' + IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) + BEGIN + SET @RESULT = @RESULT + '| User is also configured in User-Modules (Unnecessary)' + select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID + + END + END + ELSE + BEGIN + SET @RESULT = 'User <' + CONVERT(VARCHAR(10),@USER_ID) + ' - ' + @USER_NAME + '> not part of group (' + @USER_GROUPNAME + ')' + IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) + BEGIN + SET @RESULT = @RESULT + '| BUT User configured in User-Modules' + select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID + SET @IS_IN_MODULE = 1 + END + END + + IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME) + BEGIN + SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')' + SET @IS_ADMIN = 1 + SET @IS_IN_MODULE = 1 + END + --PRINT @RESULT + IF @IS_IN_MODULE = 1 + INSERT INTO @Table (USER_ID,USER_NAME, USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE, USER_RIGHT_FILE_DEL, MODULE_ACCESS,IS_ADMIN,USER_COMMENT,COMMENT) + VALUES (@USER_ID,@USER_NAME,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_RIGHT_FILE_DEL,@IS_IN_MODULE,@IS_ADMIN,@USER_COMMENT,@RESULT) + FETCH NEXT FROM cursor_user INTO @USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_NAME,@USER_COMMENT + END + CLOSE cursor_user + DEALLOCATE cursor_user +RETURN +END +GO + +UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.0.0' +GO +CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_USER] AS +SELECT AR.dwObjectID, + AR.dwUserOrGROUPID, + AR.dwAccessRight, + AR.dwObjectDBID +FROM windream60.dbo.AccessRight AR LEFT JOIN windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID + INNER JOIN TBDD_USER TU ON AR.dwUserOrGroupID = TU.USERID_FK_INT_ECM +WHERE UG.dwUserOrGroupID IS NULL +GO + +CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_GROUP] AS +SELECT AR.dwObjectID, + UG.dwUserOrGROUPID, + AR.dwAccessRight, + AR.dwObjectDBID +FROM windream60.dbo.AccessRight AR LEFT JOIN windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID + INNER JOIN TBDD_USER TU ON UG.dwUserOrGroupID = TU.USERID_FK_INT_ECM +WHERE UG.dwUserOrGroupID IS NOT NULL +GO + +CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS] AS +SELECT ARU.dwObjectID, + ARU.dwUserOrGROUPID, + ARU.dwAccessRight, + ARU.dwObjectDBID +FROM VWDD_WM_ACCESS_RIGHTS_USER ARU UNION +SELECT ARG.dwObjectID, + ARG.dwUserOrGROUPID, + ARG.dwAccessRight, + ARG.dwObjectDBID +FROM VWDD_WM_ACCESS_RIGHTS_GROUP ARG +GO + + + + + diff --git a/01_PM/PM.sql b/01_PM/PM.sql new file mode 100644 index 0000000..e9701cf --- /dev/null +++ b/01_PM/PM.sql @@ -0,0 +1,1090 @@ + +/*################################## +1. Search for @MyUSER and replace the username + You use for administration +2. If windream database is not located: Search for windream60 and replace with databaselink.windream60 +####################################*/ + +UPDATE TBDD_MODULES SET DB_VERSION = '1.9.4.8' where NAME = 'Process-Manager' +GO +INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID,IS_ADMIN) SELECT GUID,(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'PM'),1 FROM TBDD_USER where UPPER(USERNAME) = UPPER('SchreiberM') +GO +INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID) SELECT GUID,1 FROM TBDD_USER WHERE GUID NOT IN (SELECT USER_ID FROM TBDD_CLIENT_USER WHERE CLIENT_ID = 1) +GO +INSERT INTO TBDD_GROUPS_USER (USER_ID,GROUP_ID) VALUES ((SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER('SchreiberM')),(SELECT GUID FROM TBDD_GROUPS WHERE NAME = 'PM_ADMINS')) +GO +CREATE TABLE TBPM_KONFIGURATION +( + GUID TINYINT, + LIZENZEN VARCHAR(2000), + INTERVALL_CKECK_NO_OF_FILES smallint NOT NULL DEFAULT 2, + VEKTOR_DELIMITER VARCHAR(1) NOT NULL DEFAULT '~', + 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), + ADMIN_PW VARCHAR(100) NOT NULL DEFAULT 'ZGQ=', + ADMIN_SECURITY BIT NOT NULL DEFAULT 0, + SQL_PROFILE_MAIN_VIEW VARCHAR(MAX)NOT NULL DEFAULT '', + [SERVICE_SCHEDULE] VARCHAR(100) NOT NULL DEFAULT '07-18;1111100', + [SERVICE_IDXNAME_DOCID] VARCHAR(50) NOT NULL DEFAULT 'Dokument-ID', + [SERVICE_WMDRIVE_LETTER] VARCHAR(1) NOT NULL DEFAULT 'W', + [SERVICE_IDXNAME_CREATED] VARCHAR(50) NOT NULL DEFAULT 'DMS erstellt', + [SERVICE_LOG_ERRORS_ONLY] BIT NOT NULL DEFAULT 1, + WM_REL_PATH VARCHAR(100) NOT NULL DEFAULT '\\windream\objects', + ERFASSTWER VARCHAR(50) DEFAULT 'PER DMSLite' NOT NULL, + ERSTELLTWER VARCHAR(50) DEFAULT 'DMSLite-Admin' NOT NULL, + ERSTELLTWANN DATETIME DEFAULT GETDATE() NOT NULL, + GEAENDERTWER VARCHAR(50), + GEAENDERTWANN DATETIME, + CONSTRAINT PK_TBPM_KONFIGURATION_GUID PRIMARY KEY(GUID), + CONSTRAINT CH_TBPM_KONFIGURATION_GUID CHECK(GUID = 1) +) +GO +------------------------------------------------------------------------------ +CREATE TRIGGER TBPM_KONFIGURATION_AFT_UPD ON TBPM_KONFIGURATION +FOR UPDATE +AS + UPDATE TBPM_KONFIGURATION SET GEAENDERTWANN = GETDATE() FROM INSERTED WHERE TBPM_KONFIGURATION.GUID = INSERTED.GUID +GO + +INSERT INTO TBPM_KONFIGURATION(GUID,LIZENZEN,EMAIL_REMINDER_HEADER,EMAIL_REMINDER_FOOTER) +VALUES +(1,'Y/R9cI8qEID774g/fqXzkrCdW5bhcB62jsBmRgJx2rI=','Der Process-Manager informiert Sie hiermit über nicht erledigte Dokumentenprozesse:

','

Bitte starten Sie Ihren Process-Manager und bearbeiten die entsprechenden Prozesse.
Vielen Dank.') +GO +-------------------------------------------------------------------------------- +CREATE TABLE TBPM_TYPE +( +GUID SMALLINT NOT NULL IDENTITY (1, 1), +BEZEICHNUNG VARCHAR(100) NOT NULL UNIQUE, +ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', +ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, + +CONSTRAINT PK_TBPM_TYPE_GUID PRIMARY KEY (GUID) +) +GO +INSERT INTO TBPM_TYPE(BEZEICHNUNG) VALUES ('Man. Validation') +GO +INSERT INTO TBPM_TYPE(BEZEICHNUNG) VALUES ('Automatism') +GO +CREATE TRIGGER TBPM_TYPE_AFT_UPD ON TBPM_TYPE +FOR UPDATE +AS + UPDATE TBPM_TYPE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_TYPE.GUID = INSERTED.GUID +GO +CREATE TABLE TBPM_PROFILE +( +GUID INTEGER NOT NULL IDENTITY (1, 1), +NAME VARCHAR(100) NOT NULL UNIQUE, +TITLE VARCHAR(150) NOT NULL DEFAULT 'DEFAULT-TITLE', +WD_OBJECTTYPE VARCHAR(200) NOT NULL, +PRIORITY INTEGER NOT NULL DEFAULT 1, +DESCRIPTION VARCHAR(250) , +TYPE SMALLINT NOT NULL, +LOG_INDEX VARCHAR(50) NOT NULL DEFAULT '', +IN_WORK BIT NOT NULL DEFAULT 0, +ACTIVE BIT NOT NULL DEFAULT 0, +WD_SEARCH VARCHAR(500) NOT NULL, +PM_VEKTOR_INDEX VARCHAR(50) NOT NULL DEFAULT '', +NO_OF_DOCUMENTS INTEGER NOT NULL DEFAULT 0, +FINAL_PROFILE BIT NOT NULL DEFAULT 0, +FINAL_TEXT VARCHAR(250), +MOVE2FOLDER VARCHAR(1000), +SORT_BY_LATEST BIT NOT NULL DEFAULT 0, +WORK_HISTORY_ENTRY VARCHAR(500), +ANNOTATE_ALL_WORK_HISTORY_ENTRIES BIT NOT NULL DEFAULT 0, +ANNOTATE_WORK_HISTORY_ENTRY BIT NOT NULL DEFAULT 0, +SQL_VIEW VARCHAR(MAX) NOT NULL DEFAULT '', +SQL_PROFILE_MAIN_VIEW VARCHAR(MAX) NOT NULL DEFAULT '', +SQL_GROUP_COLOR VARCHAR(MAX) NOT NULL DEFAULT '', +SQL_GROUP_TEXT VARCHAR(MAX) NOT NULL DEFAULT '', +ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', +ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, +CONSTRAINT PK_TBPM_PROFILE_GUID PRIMARY KEY (GUID), +CONSTRAINT FK_TBPM_PROFILE_TYPE FOREIGN KEY (TYPE) REFERENCES TBPM_TYPE (GUID) +) +GO +--ALTER TABLE dbo.TBPM_PROFILE WITH NOCHECK +--ADD CONSTRAINT FK_TBPM_PROFILE_TYPE FOREIGN KEY (TYPE) REFERENCES TBPM_TYPE (GUID) ; + +CREATE TRIGGER TBPM_PROFILE_AFT_UPD ON TBPM_PROFILE +FOR UPDATE +AS + UPDATE TBPM_PROFILE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_PROFILE.GUID = INSERTED.GUID +GO +------------------------------------------------------------------------------ +CREATE TABLE TBPM_PROFILE_FILES +( + GUID INTEGER IDENTITY(1,1), + DOC_ID INTEGER NOT NULL DEFAULT 0, + PROFIL_ID INTEGER NOT NULL, + FILE_PATH VARCHAR(1000), + EDIT BIT NOT NULL DEFAULT 0, + DMS_ERSTELLT_DATE DATE, + IN_WORK BIT NOT NULL DEFAULT 0, + WORK_USER VARCHAR(100), + ACTIVE BIT NOT NULL DEFAULT 0, + REFRESHED BIT NOT NULL DEFAULT 1, + REFRESHED_WHEN DATETIME, + ERSTELLTWER VARCHAR(50) DEFAULT 'PM_REFRESH_MANAGER' NOT NULL, + ERSTELLTWANN DATETIME DEFAULT GETDATE() NOT NULL, + CONSTRAINT PK_TBPM_PROFILE_FILES_GUID PRIMARY KEY(GUID), + CONSTRAINT FK_TBPM_PROFILE_FILES_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) +) +GO +------------------------------------------------------------------------------ +CREATE TABLE TBPM_FILES_USER_NOT_INDEXED +( + USR_NAME VARCHAR(50), + PROFIL_ID INTEGER, + FILE_PATH VARCHAR(500), + UNIQUE (USR_NAME,PROFIL_ID,FILE_PATH) +) +GO +------------------------------------------------------------------------------ +CREATE TABLE TBPM_FILES_WORK_HISTORY +( + GUID INTEGER IDENTITY(1,1), + PROFIL_ID INTEGER NOT NULL, + DOC_ID INTEGER NOT NULL DEFAULT 0, + WORKED_BY VARCHAR(100) NOT NULL, + WORKED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + WORKED_WHERE VARCHAR(100) NOT NULL, + STATUS_COMMENT VARCHAR(500), + COMMENT VARCHAR(MAX), + CONSTRAINT [PK_TBPM_FILES_WORK_HISTORY] PRIMARY KEY (GUID) +) +GO +------------------------------------------------------------------------------ +CREATE TABLE TBPM_ERROR_LOG +( + GUID INT NOT NULL IDENTITY (1, 1), + PROFIL_ID INTEGER NOT NULL, + ERROR_MSG VARCHAR(1000) NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + MACHINE_NAME VARCHAR(50), + CONSTRAINT PK_TBPM_ERROR_LOG_GUID PRIMARY KEY(GUID), + CONSTRAINT FK_TBPM_ERROR_LOG_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) +) +GO +CREATE TABLE TBPM_PROFILE_CONTROLS +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + PROFIL_ID INTEGER NOT NULL, + NAME VARCHAR(100) NOT NULL, + CTRL_TYPE VARCHAR(10) NOT NULL, --TXT,LBL,COMBO,DTP + CTRL_TEXT VARCHAR(50) NOT NULL DEFAULT 'CTRL TEXT', + X_LOC FLOAT NOT NULL, + Y_LOC FLOAT NOT NULL, + HEIGHT SMALLINT NOT NULL DEFAULT 25, + WIDTH SMALLINT NOT NULL DEFAULT 200, + INDEX_NAME VARCHAR(100), + TYP VARCHAR(50), + [VALIDATION] BIT NOT NULL DEFAULT 0, + CHOICE_LIST VARCHAR(50), + CONNECTION_ID SMALLINT, + DEFAULT_VALUE VARCHAR(100), + MULTISELECT BIT DEFAULT 0 NOT NULL, + VKT_ADD_ITEM BIT DEFAULT 0 NOT NULL, + VKT_PREVENT_MULTIPLE_VALUES BIT DEFAULT 0 NOT NULL, + SQL_UEBERPRUEFUNG VARCHAR(MAX) DEFAULT '', + REGEX_MESSAGE_DE VARCHAR(1000) NOT NULL DEFAULT '', + REGEX_MESSAGE_EN VARCHAR(1000) NOT NULL DEFAULT '', + [READ_ONLY] BIT NOT NULL DEFAULT 0, + LOAD_IDX_VALUE BIT NOT NULL DEFAULT 1, + FONT_STYLE smallint, + FONT_SIZE smallint, + FONT_FAMILY varchar(50), + FONT_COLOR bigint, + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPM_PROFILE_CONTROLS_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBPM_PROFILE_CONTROLS_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID), + CONSTRAINT UQ_TBPM_PROFILE_CONTROLS UNIQUE(PROFIL_ID,NAME) +) +GO +CREATE TRIGGER TBPM_PROFILE_CONTROLS_AFT_UPD ON TBPM_PROFILE_CONTROLS +FOR UPDATE +AS + UPDATE TBPM_PROFILE_CONTROLS SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_PROFILE_CONTROLS.GUID = INSERTED.GUID +GO +CREATE TABLE TBPM_CONTROL_TABLE +( +GUID INTEGER NOT NULL IDENTITY (1, 1), +CONTROL_ID INTEGER NOT NULL, +SPALTENNAME VARCHAR(100) NOT NULL, +SPALTEN_HEADER VARCHAR(100) NOT NULL, +SPALTENBREITE INTEGER NOT NULL, +[VALIDATION] BIT NOT NULL DEFAULT 0, +CHOICE_LIST VARCHAR(50), +CONNECTION_ID SMALLINT, +SQL_COMMAND VARCHAR(2000), +REGEX_MESSAGE_DE VARCHAR(1000) NOT NULL DEFAULT '', +REGEX_MESSAGE_EN VARCHAR(1000) NOT NULL DEFAULT '', +REGEX_MATCH VARCHAR(1000) NOT NULL DEFAULT '', +[READ_ONLY] BIT NOT NULL DEFAULT 0, +LOAD_IDX_VALUE BIT NOT NULL DEFAULT 1, +ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', +ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, +CONSTRAINT PK_TBPM_CONTROL_TABLE_GUID PRIMARY KEY (GUID), +CONSTRAINT FK_TBPM_CONTROL_TABLE_CONTROL FOREIGN KEY (CONTROL_ID) REFERENCES TBPM_PROFILE_CONTROLS (GUID) +) +GO +CREATE TRIGGER TBPM_CONTROL_TABLE_AFT_UPD ON TBPM_CONTROL_TABLE +FOR UPDATE +AS + UPDATE TBPM_CONTROL_TABLE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_CONTROL_TABLE.GUID = INSERTED.GUID +GO +---------------- +CREATE TABLE TBPM_PROFILE_USER +( +GUID INTEGER NOT NULL IDENTITY (1, 1), +PROFIL_ID INTEGER NOT NULL, +USER_ID INTEGER NOT NULL, +ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', +ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, +CONSTRAINT PK_TBPM_PROFILE_USER_GUID PRIMARY KEY (GUID), +UNIQUE (PROFIL_ID,USER_ID), +CONSTRAINT FK_TBPM_PROFILE_USER_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID), +CONSTRAINT FK_TBPM_PROFILE_USER_USER FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID), +CONSTRAINT UQ_TBPM_PROFILE_USER UNIQUE (PROFIL_ID,USER_ID) +) +GO +CREATE TRIGGER TBPM_PROFILE_USER_AFT_UPD ON TBPM_PROFILE_USER +FOR UPDATE +AS + UPDATE TBPM_PROFILE_USER SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_PROFILE_USER.GUID = INSERTED.GUID +GO +CREATE TABLE TBPM_PROFILE_GROUP +( +GUID INTEGER NOT NULL IDENTITY (1, 1), +PROFIL_ID INTEGER NOT NULL, +GROUP_ID INTEGER NOT NULL, +ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', +ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, +CONSTRAINT PK_TBPM_PROFILE_GROUP_GUID PRIMARY KEY (GUID), +UNIQUE (PROFIL_ID,GROUP_ID), +CONSTRAINT FK_TBPM_PROFILE_GROUP_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID), +CONSTRAINT FK_TBPM_PROFILE_GROUP_GROUP FOREIGN KEY (GROUP_ID) REFERENCES TBDD_GROUPS (GUID), +CONSTRAINT UQ_TBPM_PROFILE_GROUP UNIQUE (PROFIL_ID,GROUP_ID) +) +GO +CREATE TRIGGER TBPM_PROFILE_GROUP_AFT_UPD ON TBPM_PROFILE_GROUP +FOR UPDATE +AS + UPDATE TBPM_PROFILE_GROUP SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_PROFILE_GROUP.GUID = INSERTED.GUID +GO +CREATE TABLE TBPM_PROFILE_FINAL_INDEXING +( +GUID INTEGER NOT NULL IDENTITY (1, 1), +PROFIL_ID INTEGER NOT NULL, +CONNECTION_ID SMALLINT NOT NULL DEFAULT 0, +SQL_COMMAND VARCHAR(MAX) NOT NULL DEFAULT '', +INDEXNAME VARCHAR(100) NOT NULL, +VALUE VARCHAR(100) NOT NULL, +ACTIVE BIT NOT NULL DEFAULT 1, +[DESCRIPTION] VARCHAR(MAX) NOT NULL DEFAULT '', +PREVENT_DUPLICATES BIT NOT NULL DEFAULT (0), +ALLOW_NEW_VALUES BIT NOT NULL DEFAULT (0), + +ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', +ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, +CONSTRAINT PK_TBPM_PROFILE_FINAL_INDEXING_GUID PRIMARY KEY (GUID), +CONSTRAINT FK_TBPM_PROFILE_FINAL_INDEXING_PROFILE FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) +) +GO +CREATE TRIGGER TBPM_PROFILE_FINAL_INDEXING_AFT_UPD ON TBPM_PROFILE_FINAL_INDEXING +FOR UPDATE +AS + UPDATE TBPM_PROFILE_FINAL_INDEXING SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_PROFILE_FINAL_INDEXING.GUID = INSERTED.GUID +GO +CREATE TABLE TBPM_PROFILE_SEARCH +( + GUID INTEGER IDENTITY(1,1), + PROFILE_ID INTEGER NOT NULL, + TYPE VARCHAR(50) NOT NULL DEFAULT 'SQL', + CONN_ID INTEGER NOT NULL DEFAULT '0', + TAB_TITLE VARCHAR(50) NOT NULL DEFAULT 'UndefinedTitle', + LOAD_ON_START bit NOT NULL DEFAULT 1, + TAB_INDEX TINYINT DEFAULT 0 NOT NULL, + SQL_COMMAND VARCHAR(3000) NOT NULL, + RUN_MANUAL BIT DEFAULT 1 NOT NULL, + ACTIVE BIT DEFAULT 0 NOT NULL, + CREATED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + CREATED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPM_PROFILE_SEARCH PRIMARY KEY(GUID), + CONSTRAINT FK_TBPM_PROFILE_SEARCH_PROFILE_ID FOREIGN KEY (PROFILE_ID) REFERENCES TBPM_PROFILE (GUID) +) +GO +CREATE TABLE TBPM_MAIN_VIEW_GROUPS +( + GUID INTEGER IDENTITY(1,1), + GROUPNAME VARCHAR(100) NOT NULL, + ACTIVE BIT DEFAULT 1 NOT NULL, + CREATED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + CREATED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + CHANGED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPM_MAIN_VIEW_GROUPS PRIMARY KEY(GUID) +) +GO +CREATE TRIGGER [dbo].[TBPM_MAIN_VIEW_GROUPS_AFT_UPD] ON [dbo].[TBPM_MAIN_VIEW_GROUPS] +FOR UPDATE +AS +BEGIN + UPDATE TBPM_MAIN_VIEW_GROUPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPM_MAIN_VIEW_GROUPS.GUID = INSERTED.GUID +END +GO +INSERT INTO TBPM_MAIN_VIEW_GROUPS (GROUPNAME) VALUES ('GROUP_TEXT') +GO +CREATE TABLE [dbo].[TBPM_CHART]( + GUID INTEGER IDENTITY(1,1) NOT NULL, + PROFILE_ID INTEGER NOT NULL, + SQL_COMMAND VARCHAR(MAX) NOT NULL, + TYPE_CHART VARCHAR(50) NOT NULL, + ARGUMENT VARCHAR(50) NOT NULL, + [VALUE] VARCHAR(50) NOT NULL, + TITLE VARCHAR(50) NOT NULL DEFAULT '', + ADDED_WHO VARCHAR(50) DEFAULT '', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + GROUP_ID VARCHAR(50) DEFAULT '', +CONSTRAINT PK_TBPM_CHART_GUID PRIMARY KEY (GUID), +CONSTRAINT FK_TBPM_CHART_PROFILE FOREIGN KEY (PROFILE_ID) REFERENCES TBPM_PROFILE (GUID) +) +GO +--PROCEDURES +CREATE PROCEDURE [dbo].[PRPM_DELETE_USER](@pUSER_ID INT) +AS +BEGIN TRY + IF OBJECT_ID(N'dbo.TBPM_PROFILE_USER', N'U') IS NOT NULL + DELETE FROM TBPM_PROFILE_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBPM_PROFILE_USER', N'U') IS NOT NULL + DELETE FROM TBPM_PROFILE_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID AND MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'PM') +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRPM_REMOVE_NE_FILES] +AS +DECLARE + @DOC_ID INTEGER + +DECLARE c_REDO CURSOR FOR + select DOC_ID from TBPM_PROFILE_FILES + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT dwDocID FROM windream60.dbo.BaseAttributes where dwDocID = @DOC_ID) + DELETE FROM TBPM_PROFILE_FILES WHERE DOC_ID = @DOC_ID + FETCH NEXT FROM c_REDO INTO @DOC_ID + END +CLOSE c_REDO +DEALLOCATE c_REDO +GO +--FUNCTIONS +CREATE FUNCTION [dbo].[FNPM_PROFILE_GROUP_TEXT](@pPROFIL_ID AS INTEGER) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @RESULT VARCHAR(250) + SELECT @RESULT = TITLE FROM TBPM_PROFILE WHERE GUID = @pPROFIL_ID + IF @pPROFIL_ID = 1 + SET @RESULT = @RESULT + ' | Additional Text for Profile 1' + ELSE + SET @RESULT = @RESULT + ' | YourTextVariabel in FNPM_PROFILE_GROUP_TEXT' + RETURN @RESULT +END +GO +--GRANT EXECUTE ON [dbo].[FNPM_PROFILE_GROUP_TEXT] TO [dd_ecm] +--GO + +CREATE FUNCTION [dbo].[FNPM_LAST_WORKUSER_DOC](@pPROFIL_ID INTEGER,@pDOC_ID INTEGER) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @RESULT VARCHAR(250) + SELECT @RESULT = WORKED_BY FROM TBPM_FILES_WORK_HISTORY WHERE GUID = + (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = @pPROFIL_ID AND DOC_ID = @pDOC_ID) + IF LEN(@RESULT) = 0 + SET @RESULT = '' + RETURN @RESULT +END +GO +--GRANT EXECUTE ON [dbo].[FNPM_LAST_WORKUSER_DOC] TO [dd_ecm] +--GO +CREATE FUNCTION [dbo].[FNPM_LAST_EDITED_DOC](@pPROFIL_ID INTEGER,@pDOC_ID INTEGER) +RETURNS DATETIME +AS +BEGIN + DECLARE @RESULT DATETIME + SELECT @RESULT = WORKED_WHEN FROM TBPM_FILES_WORK_HISTORY WHERE GUID = + (SELECT MAX(GUID) FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = @pPROFIL_ID AND DOC_ID = @pDOC_ID) + IF LEN(@RESULT) = 0 + SET @RESULT = '' + RETURN @RESULT +END +GO +GO +--GRANT EXECUTE ON [dbo].[FNPM_LAST_EDITED_DOC] TO [dd_ecm] +--GO +CREATE FUNCTION [dbo].[FNPM_PROFILE_GROUP_COLOR](@pPROFIL_ID AS INTEGER) +RETURNS VARCHAR(20) +AS +BEGIN + DECLARE @RESULT VARCHAR(20) + SET @RESULT = 'Grey' + IF @pPROFIL_ID = 1 + SET @RESULT = 'Red' + ELSE + SET @RESULT = 'Yellow' + RETURN @RESULT +END +GO +--GRANT EXECUTE ON [dbo].[FNPM_PROFILE_GROUP_COLOR] TO [dd_ecm] +--GO +--GRANT EXECUTE ON [dbo].[FNPM_PROFILE_GROUP_TEXT] TO [dd_ecm] +--GO +CREATE FUNCTION [dbo].[FNPM_GET_FREE_USER_FOR_PROFILE] (@pPROFILE_ID INTEGER) +RETURNS +@Table TABLE + (SequentialOrder INT IDENTITY(1, 1), + USER_ID INTEGER, + USER_NAME VARCHAR(50), + USER_PRENAME VARCHAR(50), + USER_SURNAME VARCHAR(50), + USER_SHORTNAME VARCHAR(50), + USER_EMAIL VARCHAR(100), + USER_LANGUAGE VARCHAR(10), + USER_COMMENT VARCHAR(500)) +AS +BEGIN +/* This function returns all free users per profile */ + INSERT INTO @Table (USER_ID,USER_NAME, USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,USER_COMMENT) + SELECT + T.USER_ID + ,T.USER_NAME + ,T.USER_PRENAME + ,T.USER_SURNAME + ,T.USER_SHORTNAME + ,T.USER_EMAIL + ,T.USER_LANGUAGE + ,T.USER_COMMENT + FROM + [dbo].FNDD_GET_USER_FOR_MODULE ('PM',1) T WHERE T.USER_ID NOT IN (SELECT USER_ID FROM TBPM_PROFILE_USER WHERE PROFIL_ID = @pPROFILE_ID) +RETURN +END +GO +CREATE FUNCTION [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] (@USER_ID INTEGER) +RETURNS + @Table TABLE + (SCOPE VARCHAR(20),PROFILE_ID INTEGER, P_NAME VARCHAR(50),SequentialOrder INT IDENTITY(1, 1)) +AS +BEGIN + DECLARE + @P_ID INTEGER, + @P_NAME VARCHAR(50) + + DECLARE cursProfileUser CURSOR FOR + select T.PROFIL_ID, T1.NAME FROM TBPM_PROFILE_USER T, TBPM_PROFILE T1 WHERE T.PROFIL_ID = T1.GUID AND T.USER_ID = @USER_ID + OPEN cursProfileUser + FETCH NEXT FROM cursProfileUser INTO @P_ID,@P_NAME + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO @Table (SCOPE,PROFILE_ID,P_NAME) VALUES ('PROFILE-USER',@P_ID,@P_NAME) + FETCH NEXT FROM cursProfileUser INTO @P_ID,@P_NAME + END + CLOSE cursProfileUser + DEALLOCATE cursProfileUser + + DECLARE cursProfileGROUP CURSOR FOR + SELECT T.PROFIL_ID, TP.NAME FROM TBPM_PROFILE_GROUP T,TBDD_GROUPS T1,TBPM_PROFILE TP,TBDD_GROUPS_USER T2 WHERE + T.GROUP_ID = T1.GUID AND T.PROFIL_ID = TP.GUID AND TP.TYPE = 1 AND T1.GUID = T2.GROUP_ID AND T2.USER_ID = @USER_ID + + OPEN cursProfileGROUP + FETCH NEXT FROM cursProfileGROUP INTO @P_ID,@P_NAME + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT * FROM @Table WHERE PROFILE_ID = @P_ID) + INSERT INTO @Table (SCOPE,PROFILE_ID,P_NAME) VALUES ('PROFILE-GROUP',@P_ID,@P_NAME) + FETCH NEXT FROM cursProfileGROUP INTO @P_ID,@P_NAME + END + CLOSE cursProfileGROUP + DEALLOCATE cursProfileGROUP +RETURN +END +GO +--VIEWS +CREATE VIEW [dbo].[VWPM_CONTROL_INDEX] AS +SELECT TOP 100 PERCENT + T1.GUID, + T.GUID PROFIL_ID, + T.NAME PROFIL_NAME, + T.LOG_INDEX, + T1.NAME CTRL_NAME, + T1.CTRL_TYPE, + T1.CTRL_TEXT, + T1.X_LOC, + T1.Y_LOC, + T1.FONT_COLOR, + T1.FONT_FAMILY, + T1.FONT_SIZE, + T1.FONT_STYLE, + T1.WIDTH, + T1.HEIGHT, + COALESCE(T1.INDEX_NAME,'') INDEX_NAME, + T1.VALIDATION, + T1.CHOICE_LIST, + T1.TYP, + T1.CONNECTION_ID, + CASE WHEN T1.[SQL_UEBERPRUEFUNG] IS NULL THEN '' ELSE T1.[SQL_UEBERPRUEFUNG] END AS [SQL_UEBERPRUEFUNG], + T1.[READ_ONLY], + T1.LOAD_IDX_VALUE, + T1.DEFAULT_VALUE, + T1.REGEX_MESSAGE_DE, + T1.REGEX_MESSAGE_EN +FROM + TBPM_PROFILE T, + TBPM_PROFILE_CONTROLS T1 +WHERE + T.GUID = T1.PROFIL_ID +ORDER BY + T.GUID, + T1.X_LOC, + T1.Y_LOC +GO +CREATE VIEW [dbo].[VWPM_PROFILE_USER_UNION] AS +SELECT + 'USER' SCOPE, + T.GUID PROFIL_ID, + T.NAME PROFIL_NAME, + T.TITLE, + T.DESCRIPTION, + T.WD_OBJECTTYPE, + T.PRIORITY, + T.WD_SEARCH, + COALESCE(T.MOVE2FOLDER,'') as MOVE2Folder, + T.ACTIVE, + T.IN_WORK, + T.NO_OF_DOCUMENTS, + T.FINAL_PROFILE, + T.FINAL_TEXT, + T.LOG_INDEX, + T.PM_VEKTOR_INDEX, + T2.GUID AS USER_ID, + T2.PRENAME, + T2.NAME, + T2.USERNAME, + T2.EMAIL, + --T2.PM_RIGHT_FILE_DELETE as RIGHT_FILE_DELETE, + [dbo].[FNPM_PROFILE_GROUP_COLOR] (T.GUID) AS 'GROUP_COLOR', + [dbo].[FNPM_PROFILE_GROUP_TEXT] (T.GUID) AS 'GROUP_TEXT' +FROM + TBPM_PROFILE T, + TBPM_PROFILE_USER T1, + TBDD_USER T2 +WHERE + T.TYPE = 1 AND + T.GUID = T1.PROFIL_ID AND + T1.USER_ID = T2.GUID +UNION +SELECT + 'GROUP' SCOPE, + T.GUID PROFIL_ID, + T.NAME PROFIL_NAME, + T.TITLE, + T.DESCRIPTION, + T.WD_OBJECTTYPE, + T.PRIORITY, + T.WD_SEARCH, + COALESCE(T.MOVE2FOLDER,'') as MOVE2Folder, + T.ACTIVE, + T.IN_WORK, + T.NO_OF_DOCUMENTS, + T.FINAL_PROFILE, + T.FINAL_TEXT, + T.LOG_INDEX, + T.PM_VEKTOR_INDEX, + T4.GUID AS USER_ID, + T4.PRENAME, + T4.NAME, + T4.USERNAME, + T4.EMAIL, + --T4.PM_RIGHT_FILE_DELETE as RIGHT_FILE_DELETE, + [dbo].[FNPM_PROFILE_GROUP_COLOR] (T.GUID) AS 'GROUP_COLOR', + [dbo].[FNPM_PROFILE_GROUP_TEXT] (T.GUID) AS 'GROUP_TEXT' +FROM + TBPM_PROFILE T, + TBPM_PROFILE_GROUP T1, + TBDD_GROUPS T2, + TBDD_GROUPS_USER T3, + TBDD_USER T4 +WHERE + T.TYPE = 1 AND + T.GUID = T1.PROFIL_ID AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.USER_ID = T4.GUID +GO + +CREATE VIEW VWPM_PROFILE_USER AS +SELECT DISTINCT * FROM VWPM_PROFILE_USER_UNION +GO +CREATE VIEW [dbo].[VWPM_EMAIL_PROFIL] AS +SELECT + T.PROFIL_ID, + T2.TITLE AS PROFIL_TITLE, + T2.NAME AS PROFIL_NAME, + T.USER_ID, + T1.USERNAME, + T1.EMAIL, + '' AS LAST_HOUR, + '' as EMAIL_ONCE_DAY, + (SELECT COUNT(GUID) FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = T.PROFIL_ID) AS ANZ_FILES +FROM + TBPM_PROFILE_USER T, + TBDD_USER T1, + TBPM_PROFILE T2 +WHERE + T.USER_ID = T1.GUID AND + T.PROFIL_ID = T2.GUID AND + T1.EMAIL IS NOT NULL + +GO +CREATE VIEW VWPM_PROFILE_ACTIVE AS +SELECT + T1.*, + (SELECT COUNT(GUID) FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = T1.GUID) AS FILE_COUNT, + [dbo].[FNPM_PROFILE_GROUP_COLOR] (T1.GUID) AS 'GROUP_COLOR', + [dbo].[FNPM_PROFILE_GROUP_TEXT] (T1.GUID) AS 'GROUP_TEXT' +FROM + TBPM_PROFILE T1 +WHERE + T1.ACTIVE = 1 +GO +UPDATE TBPM_KONFIGURATION SET SQL_PROFILE_MAIN_VIEW = ' +/*## Following Columns need to be part of sql ## +TL_STATE Returns the TrafficLight-State for each doc (1=Red;2=Orange;3=Green) +PROFILE_ID TITLE Profile-Title used for default-grouping +DOC_ID +FULL_FILE_PATH +LAST USE +LAST EDITED */ +--DECLARE @USER_ID INTEGER +--SET @USER_ID = 1 + SELECT + T.GUID, + DATEDIFF(DAY, [dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID),GETDATE()) AS [Days in], + Case DATEDIFF(DAY, [dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID),GETDATE()) WHEN 0 THEN 3 WHEN 1 THEN 2 WHEN 2 THEN 1 ELSE 3 END AS TL_STATE, + T.PROFIL_ID AS PROFILE_ID, + T.DOC_ID, + T.FILE_PATH AS FULL_FILE_PATH, + TWM_BA.szLongName as Dateiname, + TWM_BA.szText36 AS Dokumentart, + --TWM_BA.szText35 AS [weitergeleitet an], + --TWM_BA.lfFloat14 AS [Rechnungs Summe], + --ISNULLTWM_BA.szText14 AS Buchungskreis, + --TWM_BA.szText08 AS Kreditor, + T.DMS_ERSTELLT_DATE AS [Erhalten wann], + [dbo].[FNPM_LAST_WORKUSER_DOC] (T.PROFIL_ID,T.DOC_ID) AS ''Last User'', + [dbo].[FNPM_LAST_EDITED_DOC] (T.PROFIL_ID,T.DOC_ID) AS ''Last edited'', + [dbo].[FNPM_PROFILE_GROUP_COLOR] (T.PROFIL_ID) AS ''GROUP_COLOR'', + [dbo].[FNPM_PROFILE_GROUP_TEXT] (T.PROFIL_ID) AS ''GROUP_TEXT'' + FROM TBPM_PROFILE_FILES T, + TBPM_PROFILE T1, + TBDD_USER T2, + windream60.dbo.BaseAttributes TWM_BA WHERE T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 AND T.PROFIL_ID = T1.GUID AND T1.GUID in (SELECT PROFIL_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] ({#USER#USER_ID})) AND T1.ACTIVE = 1 And T2.GUID = {#USER#USER_ID} + AND T.DOC_ID = TWM_BA.dwDocID ORDER By T1.PRIORITY' +WHERE GUID = 1 +GO +CREATE FUNCTION [dbo].[FNDD_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_PREFIX VARCHAR(50) + + SELECT @WM_PREFIX = WM_REL_PATH from tbpm_KONFIGURATION WHERE GUID = 1 + + SELECT @FSFLAGS = dwFSFlags FROM 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 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 * from [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes + SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID + SET @i = @i + 1 + END + END + + SET @RESULT = @WM_PREFIX + @RESULT + @DATEINAME + RETURN @RESULT +END +GO +CREATE VIEW [dbo].[VWPM_DOC_SEARCH] AS +SELECT TOP 100 PERCENT + T.dwDocID as DocID + ,T.dwParentID + ,dbo.FNDD_GET_WINDREAM_FILE_PATH (T.dwDocID) AS FULL_FILENAME + ,(SELECT szLongName from windream60.dbo.BaseAttributes WHERE dwDocID = T.dwDocID) AS [Filename] + ,T.szText00 + ,T.szText01 + ,T.szText02 + ,T.szText03 + ,T.szText04 + ,T.szText05 + ,T.szText06 + ,T.szText07 + ,T.szText08 + ,T.szText09 + ,T.szText10 + ,T.szText11 + ,T.szText12 + ,T.szText13 + ,T.szText14 + ,T.szText15 + ,T.szText16 + ,T.szText17 + ,T.szText18 + ,T.szText19 + ,T.szText20 + ,T.szText21 + ,T.szText22 + ,T.szText23 + ,T.szText24 + ,T.szText25 + ,T.szText26 + ,T.szText27 + ,T.szText28 + ,T.szText29 + ,T.szText30 + ,T.szText31 + ,T.szText32 + ,T.szText33 + ,T.szText34 + ,T.szText35 + ,ISNULL(T.szText36,'NO DOCTYPE') AS Doctype + ,T.szText37 + ,T.szText38 + ,T.szText39 + ,T.dwInteger00 + ,T.dwInteger01 + ,T.dwInteger02 + ,T.dwInteger03 + ,T.dwInteger04 + ,T.dwInteger05 + ,T.dwInteger06 + ,T.dwInteger07 + ,T.dwInteger08 + ,T.dwInteger09 + ,T.dwInteger10 + ,T.dwInteger11 + ,T.dwInteger12 + ,T.dwInteger13 + ,T.dwInteger14 + ,T.dwInteger15 + ,T.dwInteger16 + ,T.dwInteger17 + ,T.dwInteger18 + ,T.dwInteger19 + ,T.dwInteger20 + ,T.dwInteger21 + ,T.dwInteger22 + ,T.dwInteger23 + ,T.dwInteger24 + ,T.lfFloat00 + ,T.lfFloat01 + ,T.lfFloat02 + ,T.lfFloat03 + ,T.lfFloat04 + ,T.lfFloat05 + ,T.lfFloat06 + ,T.lfFloat07 + ,T.lfFloat08 + ,T.lfFloat09 + ,T.lfFloat10 + ,T.lfFloat11 + ,T.lfFloat12 + ,T.lfFloat13 + ,T.lfFloat14 + ,T.blBool00 + ,T.blBool01 + ,T.blBool02 + ,T.blBool03 + ,T.blBool04 + ,T.dwDate00 + ,T.dwDate01 + ,T.dwDate02 + ,T.dwDate03 + ,T.dwDate04 + ,T.dwDate05 + ,T.dwDate06 + ,T.dwDate07 + ,T.dwDate08 + ,T.dwDate09 + ,T.wmVar00 + ,T.wmVar01 + ,T.wmVar02 + ,T.wmVar03 + ,T.wmVar04 + ,T.wmVar05 + ,T.wmVar06 + ,T.wmVar07 + ,T.wmVar08 + ,T.wmVar09 + ,T.wmVar10 + ,T.wmVar11 + ,T.wmVar12 + ,T.wmVar13 + ,T.wmVar14 + ,T.wmVar15 + ,T.wmVar16 + ,T.wmVar17 + ,T.wmVar18 + ,T.wmVar19 + ,T.wmVar20 + ,T.wmVar21 + ,T.wmVar22 + ,T.wmVar23 + ,T.wmVar24 + ,T.wmVar25 + ,T.wmVar26 + ,T.wmVar27 + ,T.wmVar28 + ,T.wmVar29 + ,(SELECT ISNULL(T.dwVersionNumber,'1') from windream60.dbo.BaseAttributes WHERE dwDocID = T.dwDocID) 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 + windream60.dbo.BaseAttributes T + ,windream60.dbo.ObjectType T1 + ,TBPM_PROFILE_FILES T2 +WHERE + --T.dwParentID = 1896955 AND + T.dwCatalogID = 1 + AND T.dwObjectTypeID = 4 + AND T.dwObjectTypeID = T1.dwObjectTypeID + AND (T.dwDocID = T2.DOC_ID OR T.dwInteger23 = T2.DOC_ID) +ORDER BY [Creation_DateTime] +GO +CREATE FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) +RETURNS @Table TABLE + (SequentialOrder INT IDENTITY(1, 1), + USER_ID INTEGER, + USER_PRENAME VARCHAR(50), + USER_SURNAME VARCHAR(50), + USER_SHORTNAME VARCHAR(50), + USER_EMAIL VARCHAR(100), + USER_LANGUAGE VARCHAR(10), + USER_DATE_FORMAT VARCHAR(10), + USER_RIGHT_FILE_DEL BIT, + MODULE_ACCESS BIT, + IS_ADMIN BIT, + USERCOUNT_LOGGED_IN INTEGER, + COMMENT VARCHAR(500)) +AS +BEGIN +/* +This function checks all user-relevant relations an +*/ + DECLARE + @RESULT VARCHAR(500), + @USER_ID INTEGER, + @USER_PRENAME VARCHAR(50), + @USER_SURNAME VARCHAR(50), + @USER_SHORTNAME VARCHAR(50), + @USER_EMAIL VARCHAR(50), + @USER_LANGUAGE VARCHAR(10), + @USER_DATE_FORMAT VARCHAR(10), + @IS_IN_MODULE BIT, + @IS_ADMIN BIT, + @USER_RIGHT_FILE_DEL BIT, + @USERCOUNT_LOGGED_IN INTEGER, + @MODULE_NAME VARCHAR(100), + @MODULE_GUID INTEGER, + @USER_GROUPNAME VARCHAR(100), + @ADMIN_GROUPNAME VARCHAR(100) + + SET @USER_ID = 0 + SET @IS_ADMIN = 0 + SET @IS_IN_MODULE = 0 + SET @USERCOUNT_LOGGED_IN = 0 + SET @RESULT = '' + IF @pMODULE_SHORT_NAME = 'PM' + BEGIN + SET @USER_GROUPNAME = 'PM_USER' + SET @ADMIN_GROUPNAME = 'PM_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'CW' + BEGIN + SET @USER_GROUPNAME = 'CW_USER' + SET @ADMIN_GROUPNAME = 'CW_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'ADDI' + BEGIN + SET @USER_GROUPNAME = 'ADDI_USER' + SET @ADMIN_GROUPNAME = 'ADDI_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX' + BEGIN + SET @USER_GROUPNAME = 'GLOBIX_USER' + SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'UM' + BEGIN + SET @USER_GROUPNAME = 'XXXX' + SET @ADMIN_GROUPNAME = 'UM_ADMINS' + END + + SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME + + IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)) + BEGIN + SET @RESULT = 'USER NOT CONFIGURED OR LISTED' + END + ELSE + BEGIN + SELECT @USER_ID = GUID,@USER_PRENAME = PRENAME, + @USER_SURNAME = NAME, @USER_SHORTNAME = SHORTNAME,@USER_EMAIL = EMAIL,@USER_LANGUAGE = LANGUAGE,@USER_DATE_FORMAT = DATE_FORMAT FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME) + SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = @pCLIENTID + --CHECK USER ÍS IN MODULE_USER_GROUP + IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME) + BEGIN + SET @IS_IN_MODULE = 1 + SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME + ')' + IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) + BEGIN + SET @RESULT = @RESULT + '| User is also configured in User-Modules' + select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID + END + END + ELSE + BEGIN + SET @RESULT = 'User not part of group (' + @USER_GROUPNAME + ')' + IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) + BEGIN + SET @RESULT = @RESULT + '| BUT User configured in User-Modules' + select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID + END + END + + IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME) + BEGIN + SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')' + SET @IS_ADMIN = 1 + SET @IS_IN_MODULE = 1 + END + + END + +INSERT INTO @Table (USER_ID,USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE,USER_DATE_FORMAT, USER_RIGHT_FILE_DEL, MODULE_ACCESS,IS_ADMIN,USERCOUNT_LOGGED_IN, COMMENT) + VALUES (@USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_DATE_FORMAT,@USER_RIGHT_FILE_DEL,@IS_IN_MODULE,@IS_ADMIN,@USERCOUNT_LOGGED_IN,@RESULT) + +RETURN +END +GO +CREATE PROCEDURE [dbo].[PRPM_DELETE_PROFILE](@pPID INT) +AS + delete from TBPM_CONTROL_TABLE where CONTROL_ID in (SELECT GUID FROM TBPM_PROFILE_CONTROLS where PROFIL_ID = @pPID) + DELETE FROM TBPM_ERROR_LOG WHERE PROFIL_ID = @pPID + DELETE FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = @pPID + DELETE FROM TBPM_PROFILE_FINAL_INDEXING WHERE PROFIL_ID = @pPID + DELETE FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = @pPID + DELETE FROM TBPM_PROFILE_USER WHERE PROFIL_ID = @pPID + DELETE FROM TBPM_PROFILE_GROUP WHERE PROFIL_ID = @pPID + DELETE FROM TBPM_PROFILE WHERE GUID = @pPID + +GO +CREATE FUNCTION [dbo].[FNPM_GET_WM_FILE_PATH] (@pDOCGUID BIGINT,@STANDARD As INT = 0) +RETURNS VARCHAR(MAX) +AS +BEGIN + DECLARE @RELPATH VARCHAR(100),@FILEPATH VARCHAR(500),@NAVPATH as VARCHAR(MAX) + IF @STANDARD = 1 + SET @RELPATH = '\\windeam\objects' + ELSE + SELECT @RELPATH = WM_REL_PATH FROM TBPM_KONFIGURATION WHERE GUID = 1 + SELECT @FILEPATH = REPLACE(FILE_PATH,'W:\','') FROM TBPM_PROFILE_FILES WHERE (GUID = @pDOCGUID) + SET @NAVPATH = @RELPATH + '\' + @FILEPATH + + RETURN @NAVPATH +END +GO \ No newline at end of file diff --git a/MainScriptBuilder.ps1 b/MainScriptBuilder.ps1 new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md new file mode 100644 index 0000000..15c8a2f --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# SQL Skripte + +## Idee + +* Einzelne Tabellen-Skripte in Unterordnern sammeln und als unveränderlich betrachten +* Ordner und Skripte sind nach folgender Notation benannt NNN_Name, um eine Reihenfolge zu gewährleisten +* MainScriptBuilder.ps1 geht alle Order/Skripte der Reihenfolge nach durch und erstellt daraus das MainSkript + +## Beispiel + +* 00_DD + * 00_TBDD_BASECONFIG.sql + * 01_TBDD_USER.sql + * 02_TBDD_GROUP.sql +* 01_PM + * 00_TBPM_PROFILE.sql \ No newline at end of file