diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/DD_ECM.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/DD_ECM.sql index b66ff9d..88475a0 100644 --- a/00_DB_SETUP_SINGLE/01_DD_ECM/DD_ECM.sql +++ b/00_DB_SETUP_SINGLE/01_DD_ECM/DD_ECM.sql @@ -9,6 +9,8 @@ SET @ADMINUSER2 = 'digitaldata' -- Search for @ECM_IP and replace it with IP or Name of MSSQL Server -- Search for @ECM_USER and replace it with DB-Username for ECM-DB -- Search for @ECM_PW and replace it with PW for ECM-User +-- 5. Integrieren wir auch unsere IDB-Logik? +-- Wenn Ja: Suchen nach IDB.dbo und entfernen der Auskommentierung der entspechenden Bereiche -- Execute Script and cross fingers :) -- #################################### CREATE TABLE TBIMPORT_USER (USR_NAME VARCHAR(100)); @@ -554,7 +556,7 @@ BEGIN TRY UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID FROM INSERTED WHERE TBDD_USER.GUID = INSERTED.GUID - EXEC IDB.dbo.PRIDB_NEW_CATALOG_USER @USER_ID; + --EXEC IDB.dbo.PRIDB_NEW_CATALOG_USER @USER_ID; -- SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT -- IF @CLIENT_COUNT = 1 -- BEGIN @@ -1658,6 +1660,15 @@ FROM @WINDREAM_DB.dbo.AccessRight AR LEFT JOIN @WINDREAM_DB.dbo.UserGroup UG ON 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_USER] AS +SELECT AR.dwObjectID, + AR.dwUserOrGROUPID, + AR.dwAccessRight, + AR.dwObjectDBID +FROM @WINDREAM_DB.dbo.AccessRight AR LEFT JOIN @WINDREAM_DB.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] AS SELECT ARU.dwObjectID, @@ -2116,16 +2127,6 @@ RETURN END GO - -CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_USER] AS -SELECT AR.dwObjectID, - AR.dwUserOrGROUPID, - AR.dwAccessRight, - AR.dwObjectDBID -FROM @WINDREAM_DB.dbo.AccessRight AR LEFT JOIN @WINDREAM_DB.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 FUNCTION [dbo].[FNDD_LANGUAGE_PHRASE](@pTITLE VARCHAR(100),@pLANG_CODE VARCHAR(5), @pMODULE VARCHAR(10)) RETURNS VARCHAR(500) AS diff --git a/01_SMART_UP_TOOLS/02_TASKFLOW/CreateDBObjects_TASKFLOW.sql b/01_SMART_UP_TOOLS/02_TASKFLOW/CreateDBObjects_TASKFLOW.sql new file mode 100644 index 0000000..fd78e5d --- /dev/null +++ b/01_SMART_UP_TOOLS/02_TASKFLOW/CreateDBObjects_TASKFLOW.sql @@ -0,0 +1,1971 @@ + +/*################################## +1. Replace @WINDREAM_DB in code with name of WM-Database +####################################*/ + +UPDATE TBDD_MODULES SET DB_VERSION = '2.2.1.1' 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 USERNAME IN (SELECT USR_NAME FROM TBIMPORT_USER); +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); +INSERT INTO TBDD_GROUPS_USER (USER_ID,GROUP_ID) + SELECT GUID,(SELECT GUID FROM TBDD_GROUPS WHERE NAME = 'PM_ADMINS') FROM TBDD_USER WHERE USERNAME IN (SELECT USR_NAME FROM TBIMPORT_USER) +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 ('Metadata based') +GO +INSERT INTO TBPM_TYPE(BEZEICHNUNG) VALUES ('Serially') +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, +DISPLAY_MODE VARCHAR(20) NOT NULL DEFAULT 'Overview and Detail', +LOG_INDEX VARCHAR(50) NOT NULL DEFAULT '', +IN_WORK BIT NOT NULL DEFAULT 0, +ACTIVE BIT NOT NULL DEFAULT 0, +WD_SEARCH NVARCHAR(MAX) 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 NVARCHAR(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 NVARCHAR(MAX) NOT NULL DEFAULT '', +SQL_PROFILE_MAIN_VIEW NVARCHAR(MAX) NOT NULL DEFAULT '', +SQL_GROUP_COLOR NVARCHAR(MAX) NOT NULL DEFAULT '', +SQL_GROUP_TEXT NVARCHAR(MAX) NOT NULL DEFAULT '', +SQL_BTN_FINISH NVARCHAR(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 BIGINT 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, + IN_WORK_WHEN DATETIME, + 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_PROFILE_FILES_TEMP +( + GUID INTEGER IDENTITY(1,1), + DocID BIGINT NOT NULL DEFAULT 0, + PROFIL_ID INTEGER NOT NULL, + FILE_PATH VARCHAR(1000), + ADDED_WHEN DATETIME DEFAULT GETDATE() NOT NULL +) +GO +------------------------------------------------------------------------------ + +CREATE TABLE TBPM_SERIELL_DOC +( + GUID BIGINT IDENTITY(1,1), + PROFIL_ID INTEGER NOT NULL, + OBJ_ID BIGINT NOT NULL, + WF_FINISHED DATETIME, + ADDED_WHO VARCHAR(100) DEFAULT 'SYSTEM' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPM_SERIELL_DOC PRIMARY KEY(GUID), + CONSTRAINT FK_TBPM_SERIELL_DOC_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) +) +GO +CREATE TRIGGER TBPM_SERIELL_DOC_AFT_UPD ON TBPM_SERIELL_DOC +FOR UPDATE +AS + UPDATE TBPM_SERIELL_DOC SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_SERIELL_DOC.GUID = INSERTED.GUID +GO + +CREATE TABLE TBPM_PROFILE_SERIELL_PARTIES +( + GUID BIGINT IDENTITY(1,1), + PROFIL_ID INTEGER NOT NULL, + ENTITY_TYPE VARCHAR(50) NOT NULL, + USER_OR_GROUP_ID INTEGER NOT NULL, + CRITERIA_NEXT_STEP VARCHAR(500), + SEQUENCE TINYINT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) DEFAULT 'SYSTEM' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPM_PROFILE_SERIELL_PARTIES PRIMARY KEY(GUID), + CONSTRAINT FK_TBPM_PROFILE_SERIELL_PARTIES_PROFIL_ID FOREIGN KEY (PROFIL_ID) REFERENCES TBPM_PROFILE (GUID) +) +GO +CREATE TRIGGER TBPM_PROFILE_SERIELL_PARTIES_AFT_UPD ON TBPM_PROFILE_SERIELL_PARTIES +FOR UPDATE +AS + UPDATE TBPM_PROFILE_SERIELL_PARTIES SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_PROFILE_SERIELL_PARTIES.GUID = INSERTED.GUID +GO + +CREATE TABLE TBPM_SERIELL_PARTIES_STATE +( + GUID BIGINT IDENTITY(1,1), + SPID_ID BIGINT NOT NULL, + ENTITY_TYPE VARCHAR(50) NOT NULL, + USER_OR_GROUP_ID INTEGER NOT NULL, + STATE_DESC VARCHAR(500) NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) DEFAULT 'SYSTEM' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME , + CONSTRAINT PK_TBPM_SP_STATE PRIMARY KEY(GUID), + CONSTRAINT FK_TBPM_SP_STATE_SPID_ID FOREIGN KEY (SPID_ID) REFERENCES TBPM_PROFILE_SERIELL_PARTIES (GUID) +) +GO +CREATE TRIGGER TBPM_SERIELL_PARTIES_STATE_AFT_UPD ON TBPM_SERIELL_PARTIES_STATE +FOR UPDATE +AS + UPDATE TBPM_SERIELL_PARTIES_STATE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_SERIELL_PARTIES_STATE.GUID = INSERTED.GUID +GO +CREATE TABLE TBPM_FILES_USER_NOT_INDEXED +( + USR_NAME VARCHAR(50), + PROFIL_ID INTEGER, + DocGUID BigInt NOT NULL DEFAULT 0, + 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(100) 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, + IMAGE_CONTROL VARBINARY(MAX), + BACKGROUND_COLOR VARCHAR(50), + SQL_UEBERPRUEFUNG NVARCHAR(MAX) DEFAULT '', + SQL2 NVARCHAR(MAX), + SQL_ENABLE NVARCHAR(MAX), + SQL_ENABLE_ON_LOAD NVARCHAR(MAX), + SQL_ENABLE_ON_LOAD_CONID TINYINT, + OVERWRITE_DATA BIT NOT NULL DEFAULT 0, + SET_CONTROL_DATA NVARCHAR(MAX), + REGEX_MATCH NVARCHAR(1000), + 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, + CONTROL_ACTIVE BIT NOT NULL DEFAULT 1, + FONT_STYLE smallint, + FONT_SIZE smallint, + FONT_FAMILY varchar(50), + FONT_COLOR bigint, + [TABLE_ORDER_COLUMN] VARCHAR(250) 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_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 + BEGIN + DECLARE @NAME VARCHAR(50),@WHO VARCHAR(100), @CTRL_TYPE VARCHAR(10),@CTRL_TEXT VARCHAR(100),@CTRL_CONFIG_TITLE VARCHAR(100),@OLD_CTRL_NAME VARCHAR(100) + SELECT @NAME = [NAME], @WHO = CHANGED_WHO, @CTRL_TYPE = CTRL_TYPE, @CTRL_TEXT = CTRL_TEXT FROM inserted + SELECT @OLD_CTRL_NAME = [NAME] FROM DELETED + IF (UPDATE (NAME) OR UPDATE (CTRL_TEXT)) + IF @CTRL_TYPE in ('LBL','CHK','BUTTON') + BEGIN + SET @CTRL_CONFIG_TITLE = @CTRL_TYPE + '.' + @NAME + + --IF NOT @OLD_CTRL_NAME <> @NAME + BEGIN + PRINT '@CTRL_CONFIG_TITLE:' + @CTRL_CONFIG_TITLE + IF NOT LEN(@WHO) > 0 + SET @WHO = 'DD Automatic' + DECLARE @LANG_CODECONF VARCHAR(5) + DECLARE cursorLanguage CURSOR FOR + select LANG_CODE from TBDD_GUI_LANGUAGE + OPEN cursorLanguage + FETCH NEXT FROM cursorLanguage INTO @LANG_CODECONF + WHILE @@FETCH_STATUS = 0 + BEGIN + PRINT 'Checking language: ' + @LANG_CODECONF + IF NOT EXISTS(SELECT GUID FROM TBDD_GUI_LANGUAGE_PHRASE WHERE MODULE = 'PM' AND CAPT_TYPE = 'Caption Validator Control' + AND UPPER(TITLE) = UPPER(@CTRL_CONFIG_TITLE) AND LANGUAGE = @LANG_CODECONF AND OBJ_NAME = 'frmValidator') + INSERT INTO TBDD_GUI_LANGUAGE_PHRASE (MODULE,TITLE, LANGUAGE, CAPT_TYPE,STRING1,STRING2,ADDED_WHO, OBJ_NAME) + VALUES ('PM',@CTRL_CONFIG_TITLE ,@LANG_CODECONF,'Caption Validator Control',@CTRL_TEXT,'',@WHO,'frmValidator') + ELSE + PRINT 'SEEMS 2 EXIST: ' + @CTRL_CONFIG_TITLE + FETCH NEXT FROM cursorLanguage INTO @LANG_CODECONF + END + CLOSE cursorLanguage + DEALLOCATE cursorLanguage + END + + + + + + + END + + + UPDATE TBPM_PROFILE_CONTROLS SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBPM_PROFILE_CONTROLS.GUID = INSERTED.GUID + END +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 NVARCHAR(MAX), +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, +LOAD_AFT_LOAD_CONTROL BIT NOT NULL DEFAULT 0, +[SEQUENCE] INTEGER NOT NULL DEFAULT 0, +FORMATTYPE VARCHAR(100) NOT NULL DEFAULT '', +FORMATSTRING VARCHAR(10) NOT NULL DEFAULT '', +DEFAULT_VALUE VARCHAR (MAX) NOT NULL DEFAULT '', +ADVANCED_LOOKUP BIT NOT NULL DEFAULT 0, +[SUMMARY_FUNCTION] VARCHAR(20) NOT NULL DEFAULT ('NONE'), +[TYPE_COLUMN] VARCHAR(20) NOT NULL DEFAULT ('TEXT'), +LU_CAPTION VARCHAR(150) NOT NULL DEFAULT 'NONE', +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), +IF_VEKTOR_BEHAVIOUR VARCHAR(25) NOT NULL DEFAULT '', +[SEQUENCE] TINYINT NOT NULL DEFAULT 0, +[CONTINUE_INDETERMINED] 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, + 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) + +) +GO + +CREATE TABLE TBPM_LOG_DEBUG +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + USERID INTEGER NOT NULL, + LOGMSG VARCHAR(MAX) NOT NULL, + DATE_STR VARCHAR(20) NOT NULL, + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CONSTRAINT PK_TBPM_LOG_DEBUG PRIMARY KEY (GUID) +) +GO +CREATE TABLE TBPM_MONITOR_KONFIG +( + GUID INTEGER NOT NULL, + GRID_TITLE VARCHAR(100) NOT NULL, + GRID_SQL VARCHAR(MAX) NOT NULL, + DEPENDING_GRID INTEGER NOT NULL DEFAULT 0, + COMMENT VARCHAR(500), + 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_MONITOR_KONFIG PRIMARY KEY (GUID), + CONSTRAINT UQ_TBPM_MONITOR_KONFIG_TITLE UNIQUE (GRID_TITLE) +) +GO +CREATE TRIGGER TBPM_MONITOR_KONFIG_AFT_UPD ON [dbo].[TBPM_MONITOR_KONFIG] +FOR UPDATE +AS +BEGIN + UPDATE TBPM_MONITOR_KONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPM_MONITOR_KONFIG.GUID = INSERTED.GUID +END +GO + +CREATE TABLE [dbo].[TBPM_CUST_USER_DOC_JOB]( + [GUID] [int] IDENTITY(1,1) NOT NULL, + [DocID] [bigint] NULL, + [UserID] [int] NULL, + [InWork] [bit] NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL, + [CHANGED_WHEN] [datetime] NULL, + [ProfileID] [int] NOT NULL, + CONSTRAINT [PK_TBPM_CUST_USER_DOC_JOB] 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], + CONSTRAINT [UQ_TBPM_CUST_USER_DOC_JOB] UNIQUE NONCLUSTERED +( + [DocID] ASC, + [UserID] 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 + +ALTER TABLE [dbo].[TBPM_CUST_USER_DOC_JOB] ADD DEFAULT ((0)) FOR [InWork] +GO + +ALTER TABLE [dbo].[TBPM_CUST_USER_DOC_JOB] ADD DEFAULT (getdate()) FOR [ADDED_WHEN] +GO + +ALTER TABLE [dbo].[TBPM_CUST_USER_DOC_JOB] ADD CONSTRAINT [DF_TBPM_CUST_USER_DOC_JOB_ProfileID] DEFAULT ((0)) FOR [ProfileID] +GO + +CREATE TABLE TBPM_FURTHER_KONFIG_VIEW +( + GUID INTEGER NOT NULL, + GRID_TITLE VARCHAR(100) NOT NULL, + GRID_SQL VARCHAR(MAX) NOT NULL, + DEPENDING_GRID INTEGER NOT NULL DEFAULT 0, + COMMENT VARCHAR(500), + 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_FURTHER_KONFIG_VIEW PRIMARY KEY (GUID), + CONSTRAINT UQ_TBPM_FURTHER_KONFIG_VIEW_TITLE UNIQUE (GRID_TITLE) +) +GO +CREATE TRIGGER TBPM_FURTHER_KONFIG_VIEW_AFT_UPD ON [dbo].[TBPM_FURTHER_KONFIG_VIEW] +FOR UPDATE +AS +BEGIN + UPDATE TBPM_FURTHER_KONFIG_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPM_FURTHER_KONFIG_VIEW.GUID = INSERTED.GUID +END +GO +CREATE TABLE [dbo].[TBPM_DOCWALKOVER]( + [DocID] [bigint] NOT NULL, + [UserID] [int] NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL +) ON [PRIMARY] + +GO +ALTER TABLE [dbo].[TBPM_DOCWALKOVER] ADD CONSTRAINT [DF_TBPM_CUST_DocWalkOver_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN] +GO +CREATE TABLE TBPM_VALIDATION_PROFILE_GROUP_USER +( + GUID BIGINT IDENTITY(1,1), + PROFIL_ID INTEGER NOT NULL, + DocID BIGINT NOT NULL, + UserID INTEGER NOT NULL, + ADDED_WHO VARCHAR(100) DEFAULT 'SYSTEM' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPM_VALIDATION_PROFILE_GROUP_USER PRIMARY KEY(GUID), + CONSTRAINT UQ_TBPM_VALIDATION_PROFILE_GROUP_USER UNIQUE (PROFIL_ID,DocID,UserID) +) +GO +--############################################ +--##########PROCEDURES######################## +--############################################ +-- ============================================= +-- Author: Digital Data MS +-- Created: 11.06.2021 +-- Description: Gets the next DocumentID +-- Changed: 05.05.2022 Insert only when <> 0 +-- ============================================= +CREATE PROCEDURE [dbo].[PRPM_GET_NEXT_DOC_INFO] +( + @PROFIL_ID Integer, + @DocID BigInt, + @UserID Integer +) +AS +BEGIN + IF @DocID <> 0 + BEGIN + INSERT INTO TBPM_DOCWALKOVER (DocID,UserID) VALUES (@DocID,@UserID); + END + + SELECT GUID as DocGUID, DOC_ID as DocID + ,(SELECT COUNT(GUID) FROM TBPM_VALIDATION_PROFILE_GROUP_USER WHERE UserID = @UserID) - (SELECT COUNT(DocID) + 1 FROM TBPM_DOCWALKOVER WHERE UserID = @UserID) REMAINING + FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = @PROFIL_ID AND DOC_ID = ( + SELECT MIN(DocID) FROM TBPM_VALIDATION_PROFILE_GROUP_USER WHERE UserID = @UserID AND DocID not in (SELECT DISTINCT DocID FROM TBPM_DOCWALKOVER WHERE UserID = @UserID)) + + RETURN +END +GO +CREATE PROCEDURE [dbo].[PRPM_COPY_PROFILE] (@pProfileID as Integer,@pAddedWho Varchar(100)) +AS + DECLARE @NEWPROFILE_ID INTEGER + INSERT INTO [dbo].[TBPM_PROFILE] + ([NAME] + ,[TITLE] + ,[WD_OBJECTTYPE] + ,[PRIORITY] + ,[DESCRIPTION] + ,[TYPE] + ,[LOG_INDEX] + ,[IN_WORK] + ,[ACTIVE] + ,[WD_SEARCH] + ,[PM_VEKTOR_INDEX] + ,[NO_OF_DOCUMENTS] + ,[FINAL_PROFILE] + ,[FINAL_TEXT] + ,[MOVE2FOLDER] + ,[SORT_BY_LATEST] + ,[WORK_HISTORY_ENTRY] + ,[ANNOTATE_ALL_WORK_HISTORY_ENTRIES] + ,[ANNOTATE_WORK_HISTORY_ENTRY] + ,[SQL_VIEW] + ,[ADDED_WHO] + ,[DISPLAY_MODE] + ,[SQL_BTN_FINISH]) + SELECT [NAME] + ' - COPY' + ,[TITLE] + ' - COPY' + ,[WD_OBJECTTYPE] + ,[PRIORITY] + ,[DESCRIPTION] + ,[TYPE] + ,[LOG_INDEX] + ,[IN_WORK] + ,0 + ,[WD_SEARCH] + ,[PM_VEKTOR_INDEX] + ,[NO_OF_DOCUMENTS] + ,[FINAL_PROFILE] + ,[FINAL_TEXT] + ,[MOVE2FOLDER] + ,[SORT_BY_LATEST] + ,[WORK_HISTORY_ENTRY] + ,[ANNOTATE_ALL_WORK_HISTORY_ENTRIES] + ,[ANNOTATE_WORK_HISTORY_ENTRY] + ,[SQL_VIEW] + ,@pAddedWho + ,[DISPLAY_MODE] + ,[SQL_BTN_FINISH] FROM TBPM_PROFILE WHERE GUID = @pProfileID; + + SELECT @NEWPROFILE_ID = MAX(GUID) FROM TBPM_PROFILE WHERE ADDED_WHO = @pAddedWho; + + INSERT INTO [dbo].[TBPM_PROFILE_FINAL_INDEXING] + ([PROFIL_ID] + ,[CONNECTION_ID] + ,[SQL_COMMAND] + ,[INDEXNAME] + ,[VALUE] + ,[ACTIVE] + ,[DESCRIPTION] + ,[ADDED_WHO] + ,[PREVENT_DUPLICATES] + ,[ALLOW_NEW_VALUES] + ,[IF_VEKTOR_BEHAVIOUR] + ,[SEQUENCE]) + SELECT + @NEWPROFILE_ID + ,[CONNECTION_ID] + ,[SQL_COMMAND] + ,[INDEXNAME] + ,[VALUE] + ,[ACTIVE] + ,[DESCRIPTION] + ,[ADDED_WHO] + ,[PREVENT_DUPLICATES] + ,[ALLOW_NEW_VALUES] + ,[IF_VEKTOR_BEHAVIOUR] + ,[SEQUENCE] + FROM [TBPM_PROFILE_FINAL_INDEXING] WHERE PROFIL_ID = @pProfileID + + + + + + INSERT INTO [dbo].[TBPM_PROFILE_CONTROLS] + ([PROFIL_ID] + ,[NAME] + ,[CTRL_TYPE] + ,[CTRL_TEXT] + ,[X_LOC] + ,[Y_LOC] + ,[HEIGHT] + ,[WIDTH] + ,[INDEX_NAME] + ,[TYP] + ,[VALIDATION] + ,[CHOICE_LIST] + ,[CONNECTION_ID] + ,[DEFAULT_VALUE] + ,[SQL_UEBERPRUEFUNG] + ,[READ_ONLY] + ,[LOAD_IDX_VALUE] + ,[FONT_STYLE] + ,[FONT_SIZE] + ,[FONT_FAMILY] + ,[FONT_COLOR] + ,[ADDED_WHO] + ,[MULTISELECT] + ,[VKT_ADD_ITEM] + ,[VKT_PREVENT_MULTIPLE_VALUES] + ,[REGEX_MATCH] + ,[REGEX_MESSAGE_DE] + ,[REGEX_MESSAGE_EN] + ,[IMAGE_CONTROL] + ,[SQL2] + ,[SQL_ENABLE] + ,[BACKGROUND_COLOR] + ,[OVERWRITE_DATA] + ,[SET_CONTROL_DATA]) + SELECT @NEWPROFILE_ID + ,[NAME] + ,[CTRL_TYPE] + ,[CTRL_TEXT] + ,[X_LOC] + ,[Y_LOC] + ,[HEIGHT] + ,[WIDTH] + ,[INDEX_NAME] + ,[TYP] + ,[VALIDATION] + ,[CHOICE_LIST] + ,[CONNECTION_ID] + ,[DEFAULT_VALUE] + ,[SQL_UEBERPRUEFUNG] + ,[READ_ONLY] + ,[LOAD_IDX_VALUE] + ,[FONT_STYLE] + ,[FONT_SIZE] + ,[FONT_FAMILY] + ,[FONT_COLOR] + ,@pAddedWho + ,[MULTISELECT] + ,[VKT_ADD_ITEM] + ,[VKT_PREVENT_MULTIPLE_VALUES] + ,[REGEX_MATCH] + ,[REGEX_MESSAGE_DE] + ,[REGEX_MESSAGE_EN] + ,[IMAGE_CONTROL] + ,[SQL2] + ,[SQL_ENABLE] + ,[BACKGROUND_COLOR] + ,[OVERWRITE_DATA] + ,[SET_CONTROL_DATA] FROM [TBPM_PROFILE_CONTROLS] WHERE PROFIL_ID = @pProfileID; + + DECLARE + @OLD_ID INTEGER, + @NEW_ID INTEGER + + DECLARE cursor1 CURSOR FOR + select T.GUID, T1.GUID from TBPM_PROFILE_CONTROLS T,TBPM_PROFILE_CONTROLS T1 WHERE + T.CTRL_TYPE = 'TABLE' and T1.CTRL_TYPE = 'TABLE' AND T.PROFIL_ID = @pProfileID AND T1.PROFIL_ID = @NEWPROFILE_ID AND T.NAME = T1.NAME + OPEN cursor1 + FETCH NEXT FROM cursor1 INTO @OLD_ID,@NEW_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO [dbo].[TBPM_CONTROL_TABLE] + ([CONTROL_ID] + ,[SPALTENNAME] + ,[SPALTEN_HEADER] + ,[SPALTENBREITE] + ,[VALIDATION] + ,[CHOICE_LIST] + ,[CONNECTION_ID] + ,[SQL_COMMAND] + ,[READ_ONLY] + ,[LOAD_IDX_VALUE] + ,[ADDED_WHO] + ,[REGEX_MESSAGE_DE] + ,[REGEX_MESSAGE_EN] + ,[REGEX_MATCH] + ,[LOAD_AFT_LOAD_CONTROL] + ,[SEQUENCE]) + SELECT @NEW_ID + ,[SPALTENNAME] + ,[SPALTEN_HEADER] + ,[SPALTENBREITE] + ,[VALIDATION] + ,[CHOICE_LIST] + ,[CONNECTION_ID] + ,[SQL_COMMAND] + ,[READ_ONLY] + ,[LOAD_IDX_VALUE] + ,@pAddedWho + ,[REGEX_MESSAGE_DE] + ,[REGEX_MESSAGE_EN] + ,[REGEX_MATCH] + ,[LOAD_AFT_LOAD_CONTROL] + ,[SEQUENCE] FROM [TBPM_CONTROL_TABLE] WHERE CONTROL_ID = @OLD_ID ORDER BY SEQUENCE + + + FETCH NEXT FROM cursor1 INTO @OLD_ID,@NEW_ID + END + CLOSE cursor1 + DEALLOCATE cursor1 + +GO +CREATE PROCEDURE [dbo].[PRPM_CUST_DocHANDLE] @pDocID BIGINT +AS +BEGIN + /*INDIVIDUAL HANDLING FOR DOC IN PM GOES HERE*/ + PRINT 'Starting INDIVIDUAL HANDLING FOR DOC IN PM' +END +GO +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, + @DocRelativePath VARCHAR(500) + +DECLARE c_PRPM_REMOVE_NE_FILES CURSOR FOR + select DOC_ID,FILE_PATH from TBPM_PROFILE_FILES + OPEN c_PRPM_REMOVE_NE_FILES + FETCH NEXT FROM c_PRPM_REMOVE_NE_FILES INTO @DOC_ID,@DocRelativePath + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT [dwDocID] FROM @WINDREAM_DB.[dbo].[BaseAttributes] where dwDocID = @DOC_ID) + IF NOT EXISTS(SELECT IDB_OBJ_ID FROM IDB.dbo.TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @DOC_ID and UPPER(RELATIVE_PATH) = UPPER(@DocRelativePath)) + DELETE FROM TBPM_PROFILE_FILES WHERE DOC_ID = @DOC_ID + FETCH NEXT FROM c_PRPM_REMOVE_NE_FILES INTO @DOC_ID,@DocRelativePath + END +CLOSE c_PRPM_REMOVE_NE_FILES +DEALLOCATE c_PRPM_REMOVE_NE_FILES +GO +-- ============================================= +-- Author: Digital Data, MS +-- Create date: 05.07.2019 +-- Description: +-- ============================================= +CREATE PROCEDURE PRPM_FILES_NOT_INDEXED + -- Add the parameters for the stored procedure here + @USER_NAME VARCHAR(50), + @PROFIL_ID INTEGER, + @FILEPATH VARCHAR(500), + @DocGUID BIGINT +AS +BEGIN + IF NOT EXISTS(SELECT * FROM TBPM_FILES_USER_NOT_INDEXED WHERE + UPPER(USR_NAME) = UPPER(@USER_NAME) + AND PROFIL_ID = @PROFIL_ID AND DocGUID = @DocGUID) + INSERT INTO TBPM_FILES_USER_NOT_INDEXED (USR_NAME,PROFIL_ID,FILE_PATH,DocGUID) VALUES (@USER_NAME, @PROFIL_ID, @FILEPATH,@DocGUID) +END +GO +CREATE PROCEDURE PRPM_CHECK_NEXT_WF @pGUID BIGINT +AS +BEGIN + DECLARE @DocID BIGINT + SELECT @DocID = DOC_ID FROM TBPM_PROFILE_FILES WHERE GUID = @pGUID + DELETE FROM TBPM_PROFILE_FILES WHERE GUID = @pGUID + /*TO DO HERE*/ + EXEC PRPM_CUST_DocHANDLE @DocID +END +GO +CREATE PROCEDURE [dbo].[PRPM_CHANGE_CONTROL_CAPTION] (@pCTRL_ID INT,@NEW_CAPTION VARCHAR(100), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5)) +AS + DECLARE @RESULT VARCHAR(250), @CTRL_CONFIG_TITLE VARCHAR(100) + SELECT @CTRL_CONFIG_TITLE = CTRL_TYPE + '.' + NAME FROM TBPM_PROFILE_CONTROLS WHERE GUID = @pCTRL_ID + + UPDATE TBDD_GUI_LANGUAGE_PHRASE SET STRING1 = @NEW_CAPTION, CHANGED_WHO = @WHO + WHERE OBJ_NAME = 'frmValidator' AND MODULE = 'PM' AND TITLE = @CTRL_CONFIG_TITLE AND UPPER(LANGUAGE) = UPPER(@LANG_CODE) +GO +-- ============================================= +-- Author: Digital Data Gmbh +-- ============================================= +CREATE PROCEDURE [dbo].[PRPM_REFRESH_FILES_SQL] as +BEGIN + DECLARE @PROFIL_ID INTEGER, @NAME VARCHAR(100),@SEARCH NVARCHAR(2000) + --#### Der Cursor für alle Profile + DECLARE CursorProfile CURSOR LOCAL FOR + select GUID,NAME,WD_SEARCH FROM TBPM_PROFILE WHERE + ACTIVE = 1 and WD_SEARCH like '%select%' --AND GUID = 12 + ORDER BY PRIORITY + OPEN CursorProfile + FETCH NEXT FROM CursorProfile INTO @PROFIL_ID,@NAME,@SEARCH + WHILE @@FETCH_STATUS = 0 + BEGIN + PRINT '++++ REFRESH FILES WORKING ON ProfilID:' + CONVERT(VARCHAR(4),@PROFIL_ID) + ' ++++' + delete from TBPM_PROFILE_FILES_TEMP where PROFIL_ID = @PROFIL_ID; + DECLARE @SQL NVARCHAR(2000) + --Objekte zu Profil in Hilfstabelle inserten + SET @SQL = 'INSERT INTO DD_ECM.dbo.TBPM_PROFILE_FILES_TEMP (PROFIL_ID,DocId,FILE_PATH,ADDED_WHEN) ' + @SEARCH + --Print @SQL + exec(@SQL); + --Print 'INSERT INTO DD_ECM.dbo.TBPM_PROFILE_FILES_TEMP EXECUTED' + DECLARE @DocID BIGINT, @Path VARCHAR(500), @CREATED DATETIME, @COUNT_DOC INTEGER + SET @COUNT_DOC = 0 + --Der Cursor für NEUE Objekte + DECLARE cursorNewObjects CURSOR FOR + SELECT A.DocId,A.FILE_PATH,A.ADDED_WHEN + FROM TBPM_PROFILE_FILES_TEMP A WHERE A.PROFIL_ID = @PROFIL_ID AND(SELECT COUNT(DOC_ID) + FROM TBPM_PROFILE_FILES B WHERE B.DOC_ID = A.DocId AND B.PROFIL_ID = @PROFIL_ID) = 0; + OPEN cursorNewObjects + FETCH NEXT FROM cursorNewObjects INTO @DocID,@Path,@CREATED + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COUNT_DOC += 1 + --PRINT 'WORKING ON NEW OBJECT#:' + CONVERT(VARCHAR(4),@COUNT_DOC) + '#ProfilID:' + CONVERT(VARCHAR(4),@PROFIL_ID) + INSERT INTO TBPM_PROFILE_FILES (PROFIL_ID,FILE_PATH,ACTIVE,DMS_ERSTELLT_DATE,DOC_ID) VALUES + (@PROFIL_ID,@Path,1,@CREATED,@DocID) + FETCH NEXT FROM cursorNewObjects INTO @DocID,@Path,@CREATED + END + CLOSE cursorNewObjects + DEALLOCATE cursorNewObjects + + DECLARE @DocIDInvalid BIGINT + --Der Cursor für ungültige Objekte + DECLARE cursorInvalidObjects CURSOR FOR + SELECT A.DOC_ID FROM TBPM_PROFILE_FILES A where A.PROFIL_ID = @PROFIL_ID + AND A.DOC_ID NOT IN (select DocId from TBPM_PROFILE_FILES_TEMP where PROFIL_ID = @PROFIL_ID) + OPEN cursorInvalidObjects + FETCH NEXT FROM cursorInvalidObjects INTO @DocIDInvalid + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COUNT_DOC += 1 + --PRINT 'WORKING ON INVALID OBJECT#:' + CONVERT(VARCHAR(4),@COUNT_DOC) + '#ProfilID:' + CONVERT(VARCHAR(4),@PROFIL_ID) + DELETE FROM TBPM_PROFILE_FILES WHERE DOC_ID = @DocIDInvalid and PROFIL_ID = @PROFIL_ID + FETCH NEXT FROM cursorInvalidObjects INTO @DocIDInvalid + END + CLOSE cursorInvalidObjects + DEALLOCATE cursorInvalidObjects + FETCH NEXT FROM CursorProfile INTO @PROFIL_ID,@NAME,@SEARCH + END + CLOSE CursorProfile + DEALLOCATE CursorProfile + DELETE FROM TBPM_PROFILE_FILES WHERE EDIT = 1; + --EXEC PRPM_REMOVE_NE_FILES; + UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = NULL, IN_WORK_WHEN = NULL where + datediff(MINUTE,IN_WORK_WHEN,Getdate()) >= 25; +END +GO +--############################## +--##########FUNCTIONS########### +--############################## +CREATE FUNCTION [dbo].[FNIDB_OBJECT_DYNAMIC_CONFIG] (@pIDB_OBJ_ID as INTEGER, @pUSERID as INTEGER) +RETURNS + @Table TABLE + (CONF_TITLE VARCHAR(900),CONF_VALUE VARCHAR(900)) +AS +BEGIN + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Admin'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Start'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Stop'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddMessage'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddUser'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('NEW_CONVERSATION_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from TBDD_USER'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ADD_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from TBDD_USER WHERE GUID NOT IN (SELECT USER_OR_GROUP_ID FROM + IDB_TEST.dbo.TBIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND IS_USER = 1)'); +RETURN +END +GO +CREATE FUNCTION [dbo].[FNPM_IDB_LAST_EDITED_DOC](@pPROFIL_ID INTEGER,@pDOC_ID INTEGER) +RETURNS DATETIME +AS +BEGIN + DECLARE @RESULT DATETIME + + IF EXISTS(SELECT CHANGED_WHEN FROM IDB.dbo.TBIDB_OBJECT_METADATA_CHANGE WHERE IDB_OBJ_ID = @pDOC_ID) + SELECT @RESULT = MAX(CHANGED_WHEN) FROM IDB.dbo.TBIDB_OBJECT_METADATA_CHANGE WHERE IDB_OBJ_ID = @pDOC_ID + ELSE + SELECT @RESULT = convert(date,T.DMS_ERSTELLT_DATE) FROM TBPM_PROFILE_FILES T + WHERE T.PROFIL_ID = @pPROFIL_ID AND T.DOC_ID = @pDOC_ID + RETURN @RESULT +END +GO +CREATE FUNCTION [dbo].[FNPM_GET_FILEPATH] (@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 = '\\windream\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 + IF @NAVPATH IS NULL + SET @NAVPATH = '' + RETURN @NAVPATH +END +GO +-- ============================================= +-- Author: Digital Data MS +-- Create date: 05.07.2019 +-- Description: Gets the next DocumentID +-- ============================================= +CREATE FUNCTION [dbo].[FNPM_GET_NEXT_DOC_GUID] +( + -- Add the parameters for the function here + @PROFIL_ID Integer, + @OrderByNewest Bit, @DocGUID BigInt, @USERNAME VARCHAR(50) +) +RETURNS BIGINT +AS +BEGIN + DECLARE @NEXT_DOC_GUID BIGINT + IF @OrderByNewest = 0 + SELECT Top 1 @NEXT_DOC_GUID = GUID FROM TBPM_PROFILE_FILES WHERE + PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + GUID <> @DocGUID AND GUID NOT IN ( + SELECT DocGUID + FROM TBPM_FILES_USER_NOT_INDEXED + WHERE (PROFIL_ID = @PROFIL_ID) AND (UPPER(USR_NAME) = UPPER(@USERNAME)) + ) + ELSE + SELECT Top 1 @NEXT_DOC_GUID = GUID FROM TBPM_PROFILE_FILES WHERE + PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + GUID <> @DocGUID AND GUID NOT IN ( + SELECT DocGUID + FROM TBPM_FILES_USER_NOT_INDEXED + WHERE (PROFIL_ID = @PROFIL_ID) AND (UPPER(USR_NAME) = UPPER(@USERNAME))) + ORDER BY DMS_ERSTELLT_DATE DESC,GUID DESC + IF @NEXT_DOC_GUID IS NULL + SET @NEXT_DOC_GUID = 0 + RETURN @NEXT_DOC_GUID +END +GO +CREATE FUNCTION [dbo].[FNPM_PROFILE_GROUP_TEXT](@pPROFIL_ID AS INTEGER) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @RESULT VARCHAR(250), @RESULT2 VARCHAR(250) + + SELECT @RESULT = TITLE,@RESULT2 = NAME FROM TBPM_PROFILE WHERE GUID = @pPROFIL_ID + --SET @RESULT2 = 'Additional and configurable text for profile ' + @RESULT2 + SET @RESULT = @RESULT --+ ' | ' + @RESULT2 + RETURN @RESULT +END +GO +CREATE FUNCTION [dbo].[FNPM_PROFILE_GROUP_FONT_COLOR](@pPROFIL_ID AS INTEGER) +RETURNS VARCHAR(20) +AS +BEGIN + DECLARE @RESULT VARCHAR(20) + SET @RESULT = 'Black' + IF @pPROFIL_ID = 11 --Abgelehnt + SET @RESULT = 'White' + + 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 + IF EXISTS(SELECT GUID FROM TBPM_FILES_WORK_HISTORY WHERE PROFIL_ID = @pPROFIL_ID AND DOC_ID = @pDOC_ID) + 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) + ELSE + SELECT @RESULT = convert(date,T.DMS_ERSTELLT_DATE) FROM TBPM_PROFILE_FILES T + WHERE T.PROFIL_ID = @pPROFIL_ID AND T.DOC_ID = @pDOC_ID + RETURN @RESULT +END +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(50),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 + + DECLARE cursSQLProfile CURSOR FOR + SELECT T.PROFIL_ID, TP.NAME FROM TBPM_PROFILE_GROUP T,TBDD_GROUPS T1,TBPM_PROFILE TP WHERE + T.GROUP_ID = T1.GUID AND T.PROFIL_ID = TP.GUID AND TP.TYPE = 1 AND T1.NAME = 'PM_SQL_BASED' and NO_OF_DOCUMENTS > 0 + + OPEN cursSQLProfile + FETCH NEXT FROM cursSQLProfile 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-SQL',@P_ID,@P_NAME) + FETCH NEXT FROM cursSQLProfile INTO @P_ID,@P_NAME + END + CLOSE cursSQLProfile + DEALLOCATE cursSQLProfile + INSERT INTO @Table (SCOPE,PROFILE_ID,P_NAME) + select DISTINCT 'TBPM_CUST_USER_DOC_JOB',T.ProfileID,T1.NAME + from TBPM_CUST_USER_DOC_JOB T INNER JOIN TBPM_PROFILE T1 ON T.ProfileID = T1.GUID + INNER JOIN TBPM_PROFILE_FILES T2 ON T.ProfileID = T2.PROFIL_ID + where T.UserID = @USER_ID and T2.EDIT = 0 AND T2.ACTIVE = 1 AND T2.IN_WORK = 0 --@USER_ID +RETURN +END +GO +CREATE FUNCTION [dbo].[FNPM_BTN_OVERRIDE] (@ParamString as VARCHAR(3000)) +RETURNS + @Table TABLE + (ActionType Varchar(100),Question VARCHAR(500),Title VARCHAR(100), CaptionButton Varchar(100),Color Varchar(10),OverrideAll Bit) +AS +BEGIN + --INSERT INTO @Table (ActionType, Question,Title,CaptionButton,Color) VALUES ('Override_Direct','') + INSERT INTO @Table (ActionType, Question,Title,CaptionButton,Color,OverrideAll) VALUES ('Override_Question','Wollen Sie den Beleg wirklich an den Posteingang zurückgeben?','Bestätigen:','Rückgabe','Red',1) +RETURN +END +GO +-- ============================================= +-- Author: Digital Data MS +-- Create date: 27.11.2019 +-- Description: Gets the next DocumentID +-- ============================================= +CREATE FUNCTION [dbo].[FNPM_GET_NEXT_DOC_INFO] +( + -- Add the parameters for the function here + @PROFIL_ID Integer, + @OrderByNewest Bit, @DocGUID BigInt, @USERNAME VARCHAR(50) +) +RETURNS @Output TABLE (DocGUID BIGINT,DocID BIGINT) + +AS +BEGIN + IF @OrderByNewest = 0 + INSERT INTO @Output (DocGUID,DocID) + SELECT Top 1 GUID, DOC_ID FROM TBPM_PROFILE_FILES WHERE + PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + GUID <> @DocGUID AND GUID NOT IN ( + SELECT DocGUID + FROM TBPM_FILES_USER_NOT_INDEXED + WHERE (PROFIL_ID = @PROFIL_ID) AND (UPPER(USR_NAME) = UPPER(@USERNAME)) + ) + ELSE + INSERT INTO @Output (DocGUID,DocID) + SELECT Top 1 GUID, DOC_ID FROM TBPM_PROFILE_FILES WHERE + PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND + GUID <> @DocGUID AND GUID NOT IN ( + SELECT DocGUID + FROM TBPM_FILES_USER_NOT_INDEXED + WHERE (PROFIL_ID = @PROFIL_ID) AND (UPPER(USR_NAME) = UPPER(@USERNAME))) + ORDER BY DMS_ERSTELLT_DATE DESC,GUID DESC + + RETURN +END +GO +CREATE FUNCTION [dbo].[FNPM_LANGUAGE_CONTROL_TEXT](@pCTRL_NAME VARCHAR(100),@pLANG_CODE VARCHAR(5), @pCTRL_TYPE VARCHAR(10),@pRETURN VARCHAR(500) = '') +RETURNS VARCHAR(500) +AS +BEGIN + DECLARE @RESULT VARCHAR(250), @CTRL_CONFIG_TITLE VARCHAR(100) + IF @pCTRL_TYPE not in ('LBL','CHK','BUTTON') + SET @RESULT = '' + ELSE + BEGIN + SET @CTRL_CONFIG_TITLE = @pCTRL_TYPE + '.' + @pCTRL_NAME + SELECT @RESULT = STRING1 FROM TBDD_GUI_LANGUAGE_PHRASE + WHERE MODULE = 'PM' AND CAPT_TYPE = 'Caption Validator Control' AND UPPER(TITLE) = UPPER(@CTRL_CONFIG_TITLE) + AND UPPER(LANGUAGE) = UPPER(@pLANG_CODE) AND OBJ_NAME = 'frmValidator' + IF LEN(@RESULT) > 0 + SET @RESULT = @RESULT + ELSE + SET @RESULT = @pRETURN + ' (NLConf)' --'NO LANGUAGE CONFIGURATION SO FAR - CONTROL-NAME [' + @CTRL_CONFIG_TITLE + '] - LANG-CODE [' + @pLANG_CODE + ']' + --IF @pRETURN = '' + -- SET @RESULT = 'NO LANGUAGE CONFIGURATION SO FAR - CONTROL-NAME [' + @pCTRL_NAME + '] - LANG-CODE [' + @pLANG_CODE + ']' + --ELSE + -- SET @RESULT = @pRETURN + END + RETURN @RESULT +END +GO +CREATE FUNCTION [dbo].[FNPM_IDB_CONVERSATION_YN] (@pIDB_OBJ_ID BIGINT, @USER_ID INTEGER) +RETURNS BIT +AS +BEGIN + DECLARE @CONV_YES BIT + SET @CONV_YES = 0 + IF EXISTS(select T.CONV_ID from IDB_TEST.dbo.VWIDB_CONVERSATION_USER T INNER JOIN IDB_TEST.dbo.VWIDB_CONVERSATION T1 ON T.CONV_ID = T1.CONVERSATION_ID + WHERE T.USER_ID = @USER_ID AND T1.CONVERSATION_STATE = 'Started' AND T1.IDB_OBJ_ID = @pIDB_OBJ_ID) + SET @CONV_YES = 1 + RETURN @CONV_YES +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, + 0 AS IDB_TYP, + 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_MATCH, + T1.REGEX_MESSAGE_DE, + T1.REGEX_MESSAGE_EN, + T1.OVERWRITE_DATA, + T1.SET_CONTROL_DATA +FROM + TBPM_PROFILE T, + TBPM_PROFILE_CONTROLS T1 +WHERE + T.GUID = T1.PROFIL_ID + AND T1.CONTROL_ACTIVE = 1 +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, + T.DISPLAY_MODE, + 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 'PROFILE_GROUP_COLOR', + [dbo].[FNPM_PROFILE_GROUP_TEXT] (T.GUID) AS 'PROFILE_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, + T.DISPLAY_MODE, + 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 'PROFILE_GROUP_COLOR', + [dbo].[FNPM_PROFILE_GROUP_TEXT] (T.GUID) AS 'PROFILE_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.[GUID] + ,T1.[NAME] + ,T1.[TITLE] + ,T1.[WD_OBJECTTYPE] + ,T1.[PRIORITY] + ,T1.[DESCRIPTION] + ,T1.[TYPE] + ,T1.[LOG_INDEX] + ,T1.[IN_WORK] + ,T1.[ACTIVE] + ,T1.[WD_SEARCH] + ,T1.[PM_VEKTOR_INDEX] + ,T1.[NO_OF_DOCUMENTS] + ,T1.[FINAL_PROFILE] + ,T1.[FINAL_TEXT] + ,T1.[MOVE2FOLDER] + ,T1.[SORT_BY_LATEST] + ,T1.[WORK_HISTORY_ENTRY] + ,T1.[ANNOTATE_ALL_WORK_HISTORY_ENTRIES] + ,T1.[ANNOTATE_WORK_HISTORY_ENTRY] + ,T1.[SQL_VIEW] + ,T1.[ADDED_WHO] + ,T1.[ADDED_WHEN] + ,T1.[CHANGED_WHO] + ,T1.[CHANGED_WHEN] + -- ,T1.[SQL_GROUP_COLOR] + -- ,T1.[SQL_GROUP_TEXT] + ,T1.[DISPLAY_MODE] + + + + ,(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_FONT_COLOR (T1.GUID) AS 'GROUP_FONT_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, + @WINDREAM_DB.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 @WINDREAM_DB.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 @WINDREAM_DB.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 @WINDREAM_DB.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_CHART_TOP5] as +SELECT 'Kreditor1' as KRED_NAME +,'56' as ANZ_BELEG +,convert(decimal(19,2),125565478.8) as Netto +,convert(decimal(19,2),10000) as Skonto +UNION +SELECT 'Kreditor2' as KRED_NAME +,'49' as ANZ_BELEG +,convert(decimal(19,2),8575222.48) as Netto +,convert(decimal(19,2),8555.4) as Skonto +UNION +SELECT 'Kreditor3' as KRED_NAME +,'43' as ANZ_BELEG +,convert(decimal(19,2),2582222.8) as Netto +,convert(decimal(19,2),5647.2) as Skonto +UNION +SELECT 'Kreditor4' as KRED_NAME +,'3' as ANZ_BELEG +,convert(decimal(19,2),68589.89) as Netto +,convert(decimal(19,2),48.96) as Skonto +GO + +CREATE VIEW [dbo].[VWPM_CHART_INVOICE_MONITOR_SERIES] +AS +select 'Alle Rechnungen' as Title +,15 Anzahl +,500000 NettoSumme +,1 SEQ +--,convert(varchar,format(SUM(500000),'###,###,###.00','de-de')) NettoSumme +UNION +SELECT 'Posteingang' as Title +,10 Anzahl +,12000 NettoSumme +,2 SEQ +--,convert(varchar,format(SUM(12000),'###,###,###.00','de-de')) NettoSumme +UNION +SELECT 'Fachliche Freigabe' as Title +,5 Anzahl +,13658.5 NettoSumme +,3 SEQ +--,convert(varchar,format(13658.5,'###,###,###.00','de-de')) NettoSumme +UNION +SELECT 'Finale Freigabe' as Title +,53 Anzahl +,658555.65 NettoSumme +,4 SEQ +--,convert(varchar,format(658555.65,'###,###,###.00','de-de')) NettoSumme +UNION +SELECT 'Zeitkritisch' as Title +,0 Anzahl +,'0.000' NettoSumme +,5 SEQ +--ORDER BY SEQ + +GO + +CREATE OR ALTER 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), + USER_RIGHT2 BIT NOT NULL DEFAULT 1, + USER_RIGHT3 BIT NOT NULL DEFAULT 0, + USER_RIGHT4 BIT NOT NULL DEFAULT 0, + USER_RIGHT5 BIT NOT NULL DEFAULT 0, + WORKING_MODE VARCHAR(5000) NOT NULL DEFAULT '' + ,ADDITIONAL_TITLE VARCHAR(200)) +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, + @USER_RIGHT2 BIT, + @USER_RIGHT3 BIT, + @USER_RIGHT4 BIT, + @USER_RIGHT5 BIT, + @USERCOUNT_LOGGED_IN INTEGER, + @MODULE_NAME VARCHAR(100), + @MODULE_GUID INTEGER, + @USER_GROUPNAME VARCHAR(100), + @ADMIN_GROUPNAME VARCHAR(100), + @WORKING_MODE VARCHAR(1000) + --'PM#NO_MASS_VALIDATOR;PM#FORCE_LAYOUT_OVERVIEW;PM#NO_CHARTS;PM#DEBUG_LOG' + + SET @USER_RIGHT2 = 1 --1 = DocumentPropertyView only View + SET @USER_RIGHT3 = 0 + SET @USER_RIGHT4 = 0 + SET @USER_RIGHT5 = 0 + DECLARE @CONN_ID_IDB INTEGER + SELECT @CONN_ID_IDB = GUID FROM TBDD_CONNECTION WHERE SYS_CONNECTION = 1 AND BEZEICHNUNG = 'IDB' + SET @WORKING_MODE = '' + IF @pMODULE_SHORT_NAME = 'PM' + SET @WORKING_MODE = 'PM.NO_MASS_VALIDATOR#PM.FORCE_LAYOUT_OVERVIEW#PM.NO_CHARTS#PM.DEBUG_LOG'--#PM.IDBWITHWMFS#PM.IDB_CONID!' + CONVERT(VARCHAR(2),@CONN_ID_IDB) + +'#PM.MONITORING#PM.COLORSCHEME=Purple' + + 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) + + --##### LICENSE COUNT + --SELECT @USERCOUNT_LOGGED_IN = [dbo].[FNDD_GET_LICENSE_COUNT] (@pCLIENTID) + + 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 + --,@USER_RIGHT2 = T.RIGHT2 + 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,WORKING_MODE,USER_RIGHT2,USER_RIGHT3,USER_RIGHT4,USER_RIGHT5 +,ADDITIONAL_TITLE) + 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,@WORKING_MODE,@USER_RIGHT2,@USER_RIGHT3,@USER_RIGHT4,@USER_RIGHT5 + ,'PROD') + +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 = 5); + IF OBJECT_ID (N'TBPM_ERROR_LOG', N'U') IS NOT NULL + 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_CONTROL_TABLE where CONTROL_ID in (select GUID FROM TBPM_PROFILE_CONTROLS 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 = '\\windream\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 + IF @NAVPATH IS NULL + SET @NAVPATH = '' + RETURN @NAVPATH +END +GO + +-- ============================================= +-- Author: Digital Data MS +-- Create date: 08.01.2020 +-- Description: Checks whether Doc is in use or not +-- ============================================= +CREATE FUNCTION [dbo].[FNPM_CHECK_DocGUID_Valid](@DocGUID BigInt) +RETURNS BIT +AS +BEGIN + DECLARE @RESULT BIT + SET @RESULT = 1 + IF EXISTS(SELECT GUID FROM TBPM_PROFILE_FILES WHERE GUID = @DocGUID) + BEGIN + IF EXISTS(SELECT GUID FROM TBPM_PROFILE_FILES WHERE GUID = @DocGUID AND (IN_WORK = 1 OR EDIT = 1 OR ACTIVE = 0)) + SET @RESULT = 0 + END + ELSE + SET @RESULT = 0 + RETURN @RESULT +END +GO +USE [msdb] +GO + +/****** Object: Job [PRPM_REFRESH_FILES_SQL] Script Date: 17.01.2022 13:23:39 ******/ +BEGIN TRANSACTION +DECLARE @ReturnCode INT +SELECT @ReturnCode = 0 +/****** Object: JobCategory [[Uncategorized (Local)]] Script Date: 17.01.2022 13:23:39 ******/ +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'PRPM_REFRESH_FILES_SQL', + @enabled=1, + @notify_level_eventlog=0, + @notify_level_email=0, + @notify_level_netsend=0, + @notify_level_page=0, + @delete_level=0, + @description=N'Es ist keine Beschreibung verfügbar.', + @category_name=N'[Uncategorized (Local)]', + @owner_login_name=N'sa', @job_id = @jobId OUTPUT +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +/****** Object: Step [PRPM_REFRESH_FILES_SQL] Script Date: 17.01.2022 13:23:39 ******/ +EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'PRPM_REFRESH_FILES_SQL', + @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 PRPM_REFRESH_FILES_SQL; +GO', + @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'MO_FR', + @enabled=1, + @freq_type=8, + @freq_interval=62, + @freq_subday_type=4, + @freq_subday_interval=5, + @freq_relative_interval=0, + @freq_recurrence_factor=1, + @active_start_date=20200115, + @active_end_date=99991231, + @active_start_time=80000, + @active_end_time=170000, + @schedule_uid=N'ac93c8f9-3890-4111-a3de-768a66f97266' +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 + + diff --git a/01_SMART_UP_TOOLS/03_EASYFLOW/CreateDBObjects_EASYFLOW.sql b/01_SMART_UP_TOOLS/03_EASYFLOW/CreateDBObjects_EASYFLOW.sql new file mode 100644 index 0000000..b1cda27 --- /dev/null +++ b/01_SMART_UP_TOOLS/03_EASYFLOW/CreateDBObjects_EASYFLOW.sql @@ -0,0 +1,528 @@ +IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'Clipboard-Watcher' ) + INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('Clipboard-Watcher','CW','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1) +GO +UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.1' where UPPER(NAME) = UPPER('Clipboard-Watcher') +GO +--ADDs THE USER WITH ADMIN-RIGHTS TO USER-MODULE RELATION +INSERT INTO TBDD_USER_MODULES(USER_ID,MODULE_ID) +SELECT DISTINCT USER_ID,(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'CW') +FROM TBDD_USER_MODULES where IS_ADMIN = 1 +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 +CREATE TABLE TBCW_CONFIGURATION +( + GUID TINYINT, + WD_UNICODE BIT NOT NULL DEFAULT 1, + GDPICTURE_LICENSE VARCHAR(500) NOT NULL DEFAULT '', + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBCW_CONFIGURATION_GUID PRIMARY KEY(GUID), + CONSTRAINT CH_TBCW_CONFIGURATION_GUID CHECK(GUID = 1) +) +GO +CREATE TRIGGER TBCW_CONFIGURATION_AFT_UPD ON TBCW_CONFIGURATION +FOR UPDATE +AS + UPDATE TBCW_CONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBCW_CONFIGURATION.GUID = INSERTED.GUID +GO +INSERT INTO TBCW_CONFIGURATION (GUID) VALUES (1) +GO +--ALTER TABLE TBDD_CLIENT +--ADD LICENSE_DDCBSEARCHER VARCHAR(5000) NOT NULL DEFAULT '' +--GO +CREATE TABLE TBCW_PROFILES +( + GUID INTEGER NOT NULL IDENTITY(1,1), + NAME VARCHAR(100) NOT NULL, + PROFILE_TYPE SMALLINT NOT NULL DEFAULT 0, + REGEX_EXPRESSION VARCHAR(100) NOT NULL, + ACTIVE BIT NOT NULL DEFAULT 0, + 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_TBCW_PROFILES PRIMARY KEY (GUID), + CONSTRAINT UQ_TBCW_PROFILES_NAME UNIQUE(NAME) +) +GO +CREATE TRIGGER TBCW_PROFILES_AFT_UPD ON TBCW_PROFILES +FOR UPDATE +AS + UPDATE TBCW_PROFILES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBCW_PROFILES.GUID = INSERTED.GUID +GO +CREATE TABLE TBCW_USER_PROFILE +( + GUID INT IDENTITY(1,1), + PROFILE_ID INT NOT NULL, + [USER_ID] INT NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBCW_USER_PROFILE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBCW_USER_PROFILE_PID_UID UNIQUE (PROFILE_ID,[USER_ID]) +) +GO +CREATE TABLE TBCW_PROFILE_PROCESS +( + GUID INT IDENTITY(1,1), + PROFILE_ID INT NOT NULL, + PROC_NAME VARCHAR(100) NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBCW_PROFILE_PROCESS PRIMARY KEY (GUID), + CONSTRAINT UQ_TBCW_PROFILE_PROCESS UNIQUE (PROFILE_ID,PROC_NAME) +) +GO +CREATE TABLE TBCW_PROF_DOC_SEARCH( + GUID INTEGER NOT NULL IDENTITY(1,1), + PROFILE_ID INTEGER NOT NULL, + CONN_ID TinyINT NOT NULL DEFAULT 0, + SQL_COMMAND VARCHAR(MAX) NOT NULL, + COUNT_COMMAND VARCHAR(MAX) NOT NULL, + TAB_INDEX TINYINT NOT NULL DEFAULT 0, + ACTIVE BIT NOT NULL DEFAULT 0, + TAB_TITLE VARCHAR(100) NOT NULL DEFAULT 'NOT DEFINED', + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBCW_PROF_DOC_SEARCH PRIMARY KEY (GUID), + CONSTRAINT FK_TBCW_PROF_DOC_SEARCH_PROF_IF FOREIGN KEY (PROFILE_ID) REFERENCES TBCW_PROFILES (GUID) +) +GO +CREATE TRIGGER TBCW_PROF_DOC_SEARCH_AFT_UPD ON TBCW_PROF_DOC_SEARCH +FOR UPDATE +AS + UPDATE TBCW_PROF_DOC_SEARCH SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBCW_PROF_DOC_SEARCH.GUID = INSERTED.GUID +GO +CREATE TRIGGER [dbo].[TBCW_PROF_DOC_SEARCH_AFT_INS] ON [dbo].[TBCW_PROF_DOC_SEARCH] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE @TABINDEX TINYINT + ,@MAX_INDEX TINYINT + ,@PROFILE_ID INT + ,@GUID INTEGER + SELECT @TABINDEX = TAB_INDEX + ,@PROFILE_ID = PROFILE_ID + ,@GUID = GUID FROM inserted + + SELECT @MAX_INDEX = ISNULL(MAX(TAB_INDEX),0) FROM TBCW_PROF_DOC_SEARCH WHERE PROFILE_ID = @PROFILE_ID AND GUID <> @GUID + UPDATE TBCW_PROF_DOC_SEARCH SET TAB_INDEX = @MAX_INDEX + FROM INSERTED + WHERE TBCW_PROF_DOC_SEARCH.GUID = INSERTED.GUID + + UPDATE TBCW_PROF_DOC_SEARCH SET ADDED_WHEN = GETDATE() FROM INSERTED WHERE TBCW_PROF_DOC_SEARCH.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 +--DROP TABLE TBCW_PROF_DATA_SEARCH +--GO +CREATE TABLE TBCW_PROF_DATA_SEARCH( + GUID INTEGER NOT NULL IDENTITY(1,1), + PROFILE_ID INTEGER NOT NULL, + CONN_ID TinyINT NOT NULL DEFAULT 0, + SQL_COMMAND VARCHAR(MAX) NOT NULL, + COUNT_COMMAND VARCHAR(MAX) NOT NULL, + TAB_INDEX TINYINT NOT NULL DEFAULT 0, + ACTIVE BIT NOT NULL DEFAULT 0, + TAB_TITLE VARCHAR(100) NOT NULL DEFAULT 'NOT DEFINED', + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBCW_PROF_DATA_SEARCH PRIMARY KEY (GUID), + CONSTRAINT FK_TBCW_PROF_DATA_SEARCH_PROF_IF FOREIGN KEY (PROFILE_ID) REFERENCES TBCW_PROFILES (GUID) +) +GO +CREATE TRIGGER TBCW_PROF_DATA_SEARCH_AFT_UPD ON TBCW_PROF_DATA_SEARCH +FOR UPDATE +AS + UPDATE TBCW_PROF_DATA_SEARCH SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBCW_PROF_DATA_SEARCH.GUID = INSERTED.GUID +GO +CREATE TRIGGER [dbo].[TBCW_PROF_DATA_SEARCH_AFT_INS] ON [dbo].[TBCW_PROF_DATA_SEARCH] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE @TABINDEX TINYINT + ,@MAX_INDEX TINYINT + ,@PROFILE_ID INT + ,@GUID INTEGER + SELECT @TABINDEX = TAB_INDEX + ,@PROFILE_ID = PROFILE_ID + ,@GUID = GUID FROM inserted + + SELECT @MAX_INDEX = ISNULL(MAX(TAB_INDEX),0) FROM TBCW_PROF_DATA_SEARCH WHERE PROFILE_ID = @PROFILE_ID AND GUID <> @GUID + UPDATE TBCW_PROF_DATA_SEARCH SET TAB_INDEX = @MAX_INDEX + FROM INSERTED + WHERE TBCW_PROF_DATA_SEARCH.GUID = INSERTED.GUID + UPDATE TBCW_PROF_DATA_SEARCH SET ADDED_WHEN = GETDATE() FROM INSERTED WHERE TBCW_PROF_DATA_SEARCH.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 [dbo].[TBCW_GROUP_PROFILE]( + GUID INTEGER IDENTITY(1,1) NOT NULL, + PROFILE_ID INTEGER NOT NULL, + GROUP_ID INTEGER NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME NULL DEFAULT GETDATE(), + CONSTRAINT PK_TBCW_GROUP_PROFILE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBCW_GROUP_PROFILE_PID_UID UNIQUE (PROFILE_ID,GROUP_ID) + ) + +GO + +CREATE TABLE TBCW_PROF_REL_WINDOW( + GUID INTEGER NOT NULL IDENTITY(1,1), + PROCESS_ID INTEGER NOT NULL, + DESCRIPTION VARCHAR(250) NOT NULL DEFAULT '', + REGEX VARCHAR(500) 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_TBCW_PROF_REL_WINDOW PRIMARY KEY (GUID), + CONSTRAINT FK_TBCW_PROF_REL_WINDOW_PROCESS_ID FOREIGN KEY (PROCESS_ID) REFERENCES TBCW_PROFILE_PROCESS (GUID) +) +GO +CREATE TRIGGER TBCW_PROF_REL_WINDOW_AFT_UPD ON TBCW_PROF_REL_WINDOW +FOR UPDATE +AS + UPDATE TBCW_PROF_REL_WINDOW SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBCW_PROF_REL_WINDOW.GUID = INSERTED.GUID +GO +CREATE TRIGGER [dbo].[TBCW_PROF_REL_WINDOW_AFT_INS] ON [dbo].TBCW_PROF_REL_WINDOW +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE @SEQUENCE TINYINT + ,@MAX_SEQUENCE TINYINT + ,@PROCESS_ID INT + ,@GUID INTEGER + SELECT @SEQUENCE = SEQUENCE + ,@PROCESS_ID = PROCESS_ID + ,@GUID = GUID FROM inserted + + SELECT @MAX_SEQUENCE = ISNULL(MAX(SEQUENCE),0) FROM TBCW_PROF_REL_WINDOW WHERE PROCESS_ID = @PROCESS_ID AND GUID <> @GUID + UPDATE TBCW_PROF_REL_WINDOW SET SEQUENCE = @MAX_SEQUENCE + FROM INSERTED + WHERE TBCW_PROF_REL_WINDOW.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 TBCW_PROF_REL_CONTROL( + GUID INTEGER NOT NULL IDENTITY(1,1), + DESCRIPTION VARCHAR(250) NOT NULL, + WINDOW_ID INTEGER NOT NULL, + CONTROL_NAME VARCHAR(500) NOT NULL DEFAULT '', + [TOPLEFT_TOP] INTEGER NOT NULL DEFAULT 0, + [TOPLEFT_LEFT] INTEGER NOT NULL DEFAULT 0, + [TOPLEFT_RIGHT] INTEGER NOT NULL DEFAULT 0, + [TOPLEFT_BOTTOM] INTEGER NOT NULL DEFAULT 0, + [TOPRIGHT_TOP] INTEGER NOT NULL DEFAULT 0, + [TOPRIGHT_LEFT] INTEGER NOT NULL DEFAULT 0, + [TOPRIGHT_RIGHT] INTEGER NOT NULL DEFAULT 0, + [TOPRIGHT_BOTTOM] INTEGER NOT NULL DEFAULT 0, + [BOTTOMLEFT_TOP] INTEGER NOT NULL DEFAULT 0, + [BOTTOMLEFT_LEFT] INTEGER NOT NULL DEFAULT 0, + [BOTTOMLEFT_RIGHT] INTEGER NOT NULL DEFAULT 0, + [BOTTOMLEFT_BOTTOM] INTEGER NOT NULL DEFAULT 0, + [BOTTOMRIGHT_TOP] INTEGER NOT NULL DEFAULT 0, + [BOTTOMRIGHT_LEFT] INTEGER NOT NULL DEFAULT 0, + [BOTTOMRIGHT_RIGHT] INTEGER NOT NULL DEFAULT 0, + [BOTTOMRIGHT_BOTTOM] INTEGER NOT NULL DEFAULT 0, + 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_TBCW_PROF_REL_CONTROL PRIMARY KEY (GUID), + CONSTRAINT FK_TBCW_PROF_REL_CONTROL_WINDOW_ID FOREIGN KEY (WINDOW_ID) REFERENCES TBCW_PROF_REL_WINDOW (GUID) +) +GO +CREATE TRIGGER TBCW_PROF_REL_CONTROL_AFT_UPD ON TBCW_PROF_REL_CONTROL +FOR UPDATE +AS + UPDATE TBCW_PROF_REL_CONTROL SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBCW_PROF_REL_CONTROL.GUID = INSERTED.GUID +GO + +CREATE TRIGGER TBCW_PROF_REL_CONTROL_AFT_INS ON TBCW_PROF_REL_CONTROL +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE @SEQUENCE TINYINT + ,@MAX_SEQUENCE TINYINT + ,@WINDOW_ID INT + ,@GUID INTEGER + SELECT @SEQUENCE = SEQUENCE + ,@WINDOW_ID = WINDOW_ID + ,@GUID = GUID FROM inserted + + SELECT @MAX_SEQUENCE = ISNULL(MAX(SEQUENCE),0) FROM TBCW_PROF_REL_CONTROL WHERE WINDOW_ID = @WINDOW_ID AND GUID <> @GUID + UPDATE TBCW_PROF_REL_CONTROL SET SEQUENCE = @MAX_SEQUENCE + FROM INSERTED + WHERE TBCW_PROF_REL_CONTROL.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 TRIGGER [dbo].[TBCW_PROF_REL_CONTROLAFT_INS] ON [dbo].TBCW_PROF_REL_CONTROL +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE @SEQUENCE TINYINT + ,@MAX_SEQUENCE TINYINT + ,@WINDOW_ID INT + ,@GUID INTEGER + SELECT @SEQUENCE = SEQUENCE + ,@WINDOW_ID = @WINDOW_ID + ,@GUID = GUID FROM inserted + + SELECT @MAX_SEQUENCE = ISNULL(MAX(SEQUENCE),0) FROM TBCW_PROF_REL_CONTROL WHERE @WINDOW_ID = @WINDOW_ID AND GUID <> @GUID + UPDATE TBCW_PROF_REL_CONTROL SET SEQUENCE = @MAX_SEQUENCE + FROM INSERTED + WHERE TBCW_PROF_REL_CONTROL.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 +/*##### PROCEDURES ####*/ +CREATE PROCEDURE [dbo].[PRCW_DELETE_PROFILE](@pPROFILE_ID INT) +AS +BEGIN TRY + delete from TBCW_PROF_DATA_SEARCH where PROFILE_ID = @pPROFILE_ID + delete from TBCW_PROF_DOC_SEARCH where PROFILE_ID = @pPROFILE_ID + + delete from TBCW_PROF_REL_CONTROL where WINDOW_ID IN (SELECT GUID FROM TBCW_PROF_REL_WINDOW WHERE PROCESS_ID IN (SELECT GUID FROM TBCW_PROFILE_PROCESS WHERE PROFILE_ID = @pPROFILE_ID)) + delete from TBCW_PROF_REL_WINDOW where PROCESS_ID IN (SELECT GUID FROM TBCW_PROFILE_PROCESS WHERE PROFILE_ID = @pPROFILE_ID) + delete from TBCW_PROFILE_PROCESS where PROFILE_ID = @pPROFILE_ID + + delete from TBCW_USER_PROFILE where PROFILE_ID = @pPROFILE_ID + delete from TBCW_PROFILES where GUID = @pPROFILE_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRCW_DELETE_PROCESS](@pPROCESS_ID INT) +AS +BEGIN TRY + delete from TBCW_PROF_REL_CONTROL where WINDOW_ID IN (SELECT GUID FROM TBCW_PROF_REL_WINDOW WHERE PROCESS_ID = @pPROCESS_ID) + delete from TBCW_PROF_REL_WINDOW where PROCESS_ID = @pPROCESS_ID + delete from TBCW_PROFILE_PROCESS where GUID = @pPROCESS_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRCW_DELETE_WINDOW](@pWINDOW_ID INT) +AS +BEGIN TRY + delete from TBCW_PROF_REL_CONTROL where WINDOW_ID = @pWINDOW_ID + delete from TBCW_PROF_REL_WINDOW where GUID = @pWINDOW_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +/*##### FUNCTIONS ####*/ + +CREATE FUNCTION [dbo].[FNCW_WM_SEARCH] (@pSearchValue Varchar(512),@pUSER_ID INTEGER, @pLike BIT) +RETURNS @TBResult TABLE + (DocID INTEGER, + INDEX_NAME VARCHAR(50), + COMMENT VARCHAR(500)) +AS +BEGIN + DECLARE @USER_ECM_FKID INTEGER + SELECT @USER_ECM_FKID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @pUSER_ID + + IF @pLike = 1 + BEGIN + INSERT INTO @TBResult (DocID, INDEX_NAME) + SELECT DISTINCT T.[dwDocID] + ,T.[Idx] + FROM VWCW_SEARCH1 T INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON T.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID + WHERE UPPER(T.Search_Term) LIKE UPPER('%' + @pSearchValue + '%') + + INSERT INTO @TBResult (DocID, INDEX_NAME) + SELECT DISTINCT WMV.dwDocID, WMA.szAttrName + FROM sDD_VMP01_APS01_windream60.dbo.Attribute WMA INNER JOIN sDD_VMP01_APS01_windream60.dbo.Vector WMV ON WMA.dwAttrID = WMV.dwAttrID + INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON WMV.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID + WHERE WMA.szAttrName in ('Vektor String 00','Vektor String 01','Vektor String 03','Vektor String 04','Vektor String 06','Vektor String 25','Vektor String 26','Vektor String 50','Vektor String 51') + AND UPPER(WMV.szValue) LIKE UPPER('%' + @pSearchValue + '%') + END + ELSE + BEGIN + INSERT INTO @TBResult (DocID, INDEX_NAME) -- VALUES (1,'1234') + SELECT T.[dwDocID] + ,T.[Idx]--,T.Search_Term + FROM VWCW_SEARCH1 T INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON T.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = 1000004 + WHERE UPPER(T.Search_Term) = UPPER(@pSearchValue) + INSERT INTO @TBResult (DocID, INDEX_NAME) + SELECT DISTINCT WMV.dwDocID, WMA.szAttrName + FROM sDD_VMP01_APS01_windream60.dbo.Attribute WMA INNER JOIN sDD_VMP01_APS01_windream60.dbo.Vector WMV ON WMA.dwAttrID = WMV.dwAttrID + INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON WMV.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID + WHERE WMA.szAttrName in ('Vektor String 00','Vektor String 01','Vektor String 03','Vektor String 04','Vektor String 06','Vektor String 25','Vektor String 26','Vektor String 50','Vektor String 51') + AND UPPER(WMV.szValue) = UPPER(@pSearchValue) + END + +RETURN +END +GO +CREATE FUNCTION FNCW_GET_SEARCH_COUNT_FOR_CONNECTION(@CONNECTION_ID int) +RETURNS int +AS +BEGIN + DECLARE @RESULT int + + SELECT @RESULT = SUM(t.CNT) FROM ( + SELECT COUNT(*) AS CNT FROM TBCW_PROF_DATA_SEARCH WHERE CONN_ID = @CONNECTION_ID + UNION ALL + SELECT COUNT(*) AS CNT FROM TBCW_PROF_DOC_SEARCH WHERE CONN_ID = @CONNECTION_ID + ) t + + RETURN @RESULT +END +GO +/*##### VIEWS ####*/ +CREATE VIEW [dbo].[VWCW_USER_PROFILE] AS +SELECT DISTINCT + T.GUID, + T.NAME, + T.REGEX_EXPRESSION, + T.COMMENT, + T.ACTIVE, + T.PROFILE_TYPE, + T2.PROC_NAME, + T1.USER_ID, + T3.GROUP_ID +FROM TBCW_PROFILES T + LEFT JOIN TBCW_USER_PROFILE T1 ON T.GUID = T1.PROFILE_ID + LEFT JOIN TBCW_PROFILE_PROCESS T2 ON T.GUID = T2.PROFILE_ID + LEFT JOIN TBCW_GROUP_PROFILE T3 ON T.GUID = T3.PROFILE_ID +WHERE T.ACTIVE = 1 +GO + +CREATE VIEW VWCW_PROFILE_REL_WINDOW AS +SELECT DISTINCT TOP 100 PERCENT + T.GUID + ,T.PROCESS_ID + ,T2.USER_ID + ,T1.PROC_NAME AS PROCESS_NAME + ,T1.PROFILE_ID + ,T.DESCRIPTION + ,T.REGEX + ,T.SEQUENCE +FROM + TBCW_PROF_REL_WINDOW T + ,TBCW_PROFILE_PROCESS T1 + ,VWCW_USER_PROFILE T2 +WHERE + T.PROCESS_ID = T1.GUID AND + T1.PROFILE_ID = T2.GUID + +ORDER BY T.SEQUENCE +GO + +CREATE VIEW VWCW_PROFILE_REL_CONTROL AS +SELECT DISTINCT TOP 100 PERCENT + T.GUID + ,T1.USER_ID + ,TP.PROC_NAME AS PROCESS_NAME + ,T1.GUID AS PROFILE_ID + ,T.WINDOW_ID + ,T.DESCRIPTION + ,T.SEQUENCE + ,T.CONTROL_NAME + ,T.TOPLEFT_LEFT + ,T.TOPLEFT_RIGHT + ,T.TOPLEFT_TOP + ,T.TOPLEFT_BOTTOM + ,T.TOPRIGHT_LEFT + ,T.TOPRIGHT_RIGHT + ,T.TOPRIGHT_TOP + ,T.TOPRIGHT_BOTTOM + ,T.BOTTOMLEFT_LEFT + ,T.BOTTOMLEFT_RIGHT + ,T.BOTTOMLEFT_TOP + ,T.BOTTOMLEFT_BOTTOM + ,T.BOTTOMRIGHT_LEFT + ,T.BOTTOMRIGHT_RIGHT + ,T.BOTTOMRIGHT_TOP + ,T.BOTTOMRIGHT_BOTTOM +FROM + TBCW_PROF_REL_CONTROL T + ,TBCW_PROF_REL_WINDOW TW + ,TBCW_PROFILE_PROCESS TP + ,VWCW_USER_PROFILE T1 +WHERE + T.WINDOW_ID = TW.GUID AND + TW.PROCESS_ID = TP.GUID AND + TP.PROFILE_ID = T1.GUID +ORDER BY T.SEQUENCE +GO + +CREATE VIEW [dbo].[VWCW_GROUP_PROFILE] AS +SELECT + T.GUID, + T.NAME, + T.REGEX_EXPRESSION, + T.COMMENT, + T.ACTIVE, + T1.GROUP_ID, + T2.PROC_NAME +FROM + TBCW_PROFILES T + ,TBCW_GROUP_PROFILE T1 + ,TBCW_PROFILE_PROCESS T2 +WHERE + T.GUID = T1.PROFILE_ID + AND T.GUID = T2.PROFILE_ID + AND T.ACTIVE = 1 +GO \ No newline at end of file diff --git a/01_SMART_UP_TOOLS/03_FILEFLOW/CreateDBObjects_FILEFLOW.sql b/01_SMART_UP_TOOLS/03_FILEFLOW/CreateDBObjects_FILEFLOW.sql new file mode 100644 index 0000000..d29e37e --- /dev/null +++ b/01_SMART_UP_TOOLS/03_FILEFLOW/CreateDBObjects_FILEFLOW.sql @@ -0,0 +1,668 @@ +-- Integrieren wir auch unsere IDB-Logik? +-- Wenn Ja: Suchen nach 0 IDB_FILESTORE_ID und ersetzen mit T4.IDB_FILESTORE_ID + +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.5.2.0' where NAME = 'Global-Indexer' +GO +UPDATE TBDD_MODULES SET STRING1 = '\\windream\objects' WHERE SHORT_NAME = 'GLOBIX' AND STRING1 = 'W'; +CREATE TABLE TBGI_CONFIGURATION +( + GUID TINYINT, + WD_UNICODE BIT NOT NULL DEFAULT 0, + LICENSEKEY VARCHAR(1000) NOT NULL DEFAULT '', + IDX_EMAIL_ID VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_FROM VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_TO VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_SUBJECT VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_DATE_IN VARCHAR(50) NOT NULL DEFAULT '', + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBGI_CONFIGURATION_GUID PRIMARY KEY(GUID), + CONSTRAINT CH_TBGI_CONFIGURATION_GUID CHECK(GUID = 1) +) +GO +CREATE TRIGGER TBGI_CONFIGURATION_AFT_UPD ON TBGI_CONFIGURATION +FOR UPDATE +AS + UPDATE TBGI_CONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBGI_CONFIGURATION.GUID = INSERTED.GUID +GO + +INSERT INTO TBGI_CONFIGURATION(GUID,IDX_EMAIL_ID,LICENSEKEY) +VALUES + (1,'','lsHEktEpn3R1UiIxAnvtY7aM5dBRxgb7aYTlEzH52V0=') +GO +------------------------------------------------------------------------------ +CREATE TABLE TBGI_FILES_USER +( + GUID BIGINT IDENTITY(1,1), + DocID BIGINT NOT NULL DEFAULT 0, + FILENAME2WORK VARCHAR(500) NOT NULL, + FILENAME_ONLY VARCHAR(250) NOT NULL DEFAULT '', + FILE_HASH VARCHAR(200), + USER@WORK VARCHAR(50) NOT NULL, + WORKED BIT NOT NULL DEFAULT 0, + HANDLE_TYPE VARCHAR(50) NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE() NOT NULL, + CONSTRAINT PK_TBGI_FILES_USER PRIMARY KEY(GUID) +) +GO +------------------------------------------------------------------------------ +CREATE TABLE TBGI_FOLDERWATCH_USER +( + GUID INTEGER IDENTITY(0,1), + [USER_ID] INT NOT NULL, + FOLDER_PATH VARCHAR(800) NOT NULL, + FOLDER_TYPE VARCHAR(20) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBGI_FOLDERWATCH_USER PRIMARY KEY (GUID), + CONSTRAINT UQ_USER_FOLDERWATCHPATH UNIQUE([USER_ID],FOLDER_PATH), + CONSTRAINT FK_TBGI_FOLDERWATCH_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), +) +GO +CREATE TRIGGER TBGI_FOLDERWATCH_USER_AFT_UPD ON TBGI_FOLDERWATCH_USER +FOR UPDATE +AS + UPDATE TBGI_FOLDERWATCH_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBGI_FOLDERWATCH_USER.GUID = INSERTED.GUID +GO +------------------------------------------------------------------------------ +CREATE TABLE TBGI_FUNCTION_REGEX + +( + GUID INTEGER IDENTITY(1,1), + FUNCTION_NAME VARCHAR(100) NOT NULL, + REGEX VARCHAR(2000) NOT NULL, + STRING1 VARCHAR(100), + STRING2 VARCHAR(100), + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBGI_FUNCTION_REGEX PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBGI_FUNCTION_REGEX_AFT_UPD ON TBGI_FUNCTION_REGEX +FOR UPDATE +AS + UPDATE TBGI_FUNCTION_REGEX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBGI_FUNCTION_REGEX.GUID = INSERTED.GUID +GO + + +INSERT INTO TBGI_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 TBGI_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 +------------------------------------------------------------------------------ +CREATE TABLE TBGI_HISTORY +( + GUID INT IDENTITY(1,1), + FILENAME_ORIGINAL VARCHAR(512), + FILENAME_NEW VARCHAR(512), + INDEX1 VARCHAR(250), + INDEX2 VARCHAR(250), + INDEX3 VARCHAR(250), + INDEX4 VARCHAR(250), + INDEX5 VARCHAR(250), + INDEX6 VARCHAR(250), + INDEX7 VARCHAR(250), + INDEX8 VARCHAR(250), + INDEX9 VARCHAR(250), + INDEX10 VARCHAR(250), + MSG_ID VARCHAR(250), + ATTACHMENT BIT NOT NULL DEFAULT 0, + FILE_HASH VARCHAR(100), + ADDED_WHO VARCHAR(50), + ADDED_WHEN DATETIME DEFAULT GETDATE(), + ADDED_WHERE VARCHAR(100), + CONSTRAINT PK_TBGI_HISTORY PRIMARY KEY(GUID) +) +GO + +------------------------------------------------------------------------------ +CREATE TABLE TBGI_OBJECTTYPE_EMAIL_INDEX + +( + GUID INTEGER IDENTITY(1,1), + OBJECTTYPE VARCHAR(100) NOT NULL, + IDX_EMAIL_ID VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_FROM VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_TO VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_SUBJECT VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_DATE_IN VARCHAR(50) NOT NULL DEFAULT '', + IDX_CHECK_ATTACHMENT VARCHAR(50) NOT NULL DEFAULT '', + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBGI_OBJECTTYPE_EMAIL_INDEX PRIMARY KEY (GUID) +) +GO + +CREATE TRIGGER TBGI_OBJECTTYPE_EMAIL_INDEX_AFT_UPD ON TBGI_OBJECTTYPE_EMAIL_INDEX +FOR UPDATE +AS + UPDATE TBGI_OBJECTTYPE_EMAIL_INDEX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBGI_OBJECTTYPE_EMAIL_INDEX.GUID = INSERTED.GUID +GO +------------------------------------------------------------------------------ +CREATE TABLE TBHOTKEY_PROFILE +( + GUID INTEGER IDENTITY(1,1), + NAME VARCHAR(50) NOT NULL, + OBJECTTYPE VARCHAR(100) NOT NULL, + WD_SEARCH VARCHAR(250) NOT NULL, + HOTKEY1 VARCHAR(10) NOT NULL, + HOTKEY2 VARCHAR(5) NOT NULL, + WINDOW_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_TBHOTKEY_PROFILE PRIMARY KEY (GUID) +) +GO + +CREATE TRIGGER TBHOTKEY_PROFILE_UPD ON TBHOTKEY_PROFILE +FOR UPDATE +AS +BEGIN + UPDATE TBHOTKEY_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_PROFILE.GUID = INSERTED.GUID +END +GO +------------------------------------------------------------------------------ + +CREATE TABLE TBHOTKEY_PATTERNS +( + GUID INT IDENTITY(1,1), + HKPROFILE_ID INT NOT NULL, + PATTERN_WDSEARCH VARCHAR(50) NOT NULL, + WINDOW_CONTROL VARCHAR(100) NOT NULL, + SEQUENCE_NUMBER INTEGER NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PKTBHOTKEY_PATTERNS PRIMARY KEY(GUID), + CONSTRAINT FK_TBHOTKEY_PATTERNS_PROFILE_ID FOREIGN KEY(HKPROFILE_ID) REFERENCES TBHOTKEY_PROFILE(GUID) +) +GO +CREATE TRIGGER TBHOTKEY_PATTERNS_AFT_UPD ON TBHOTKEY_PATTERNS +FOR UPDATE +AS +BEGIN + UPDATE TBHOTKEY_PATTERNS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_PATTERNS.GUID = INSERTED.GUID +END +GO +------------------------------------------------------------------------------ +CREATE TABLE TBHOTKEY_WINDOW_HOOK +( + GUID INT IDENTITY(1,1), + HKPROFILE_ID INT NOT NULL, + SEQUENCE_NUMBER INTEGER NOT NULL, + CONTROL_VALUE VARCHAR(100) NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PKTBHOTKEY_WINDOW_HOOK PRIMARY KEY(GUID), + CONSTRAINT FK_TBHOTKEY_WINDOW_HOOK_PROFILE_ID FOREIGN KEY(HKPROFILE_ID) REFERENCES TBHOTKEY_PROFILE(GUID) +) +GO +CREATE TRIGGER TBHOTKEY_WINDOW_HOOK_AFT_UPD ON TBHOTKEY_WINDOW_HOOK +FOR UPDATE +AS +BEGIN + UPDATE TBHOTKEY_WINDOW_HOOK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_WINDOW_HOOK.GUID = INSERTED.GUID +END +GO +------------------------------------------------------------------------------ +CREATE TABLE TBHOTKEY_PATTERNS_REWORK +( + GUID INT IDENTITY(1,1), + HKPATTERN_ID INT NOT NULL, + TYPE VARCHAR(30) NOT NULL, + FUNCTION1 VARCHAR(250) DEFAULT '', + FUNCTION2 VARCHAR(250) DEFAULT '', + TEXT1 VARCHAR(100) DEFAULT '', + TEXT2 VARCHAR(100) DEFAULT '', + SEQUENCE INTEGER NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBHOTKEY_PATTERNS_REWORK PRIMARY KEY(GUID), + CONSTRAINT FK_TBHOTKEY_PATTERNS_REWORK_HKPATTERN_ID FOREIGN KEY(HKPATTERN_ID) REFERENCES TBHOTKEY_PATTERNS(GUID) +) +GO +CREATE TRIGGER TTBHOTKEY_PATTERNS_REWORK_AFT_UPD ON TBHOTKEY_PATTERNS_REWORK +FOR UPDATE +AS +BEGIN + UPDATE TBHOTKEY_PATTERNS_REWORK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_PATTERNS_REWORK.GUID = INSERTED.GUID +END +GO +------------------------------------------------------------------------------ +CREATE TABLE TBHOTKEY_USER_PROFILE +( + GUID INT IDENTITY(1,1), + HKPROFILE_ID INT NOT NULL, + [USER_ID] INT NOT NULL, + WD_SEARCH VARCHAR(250) NOT NULL DEFAULT '', + HOTKEY1 VARCHAR(10) NOT NULL DEFAULT '', + HOTKEY2 VARCHAR(5) 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_TBHOTKEY_USER_PROFILE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBHOTKEY_USER_PROFILE UNIQUE (HKPROFILE_ID,[USER_ID]), + CONSTRAINT FK_TBHOTKEY_USER_PROFILE_PROFILE_ID FOREIGN KEY(HKPROFILE_ID) REFERENCES TBHOTKEY_PROFILE(GUID), + CONSTRAINT FK_TBHOTKEY_USER_PROFILE_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID) +) +GO +CREATE TRIGGER TBHOTKEY_USER_PROFILE_AFT_UPD ON TBHOTKEY_USER_PROFILE +FOR UPDATE +AS +BEGIN + UPDATE TBHOTKEY_USER_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_USER_PROFILE.GUID = INSERTED.GUID +END +GO +------------------------------------------------------------------------------ +CREATE TABLE TBHOTKEYTEMP_USER_HOTKEYS +( + HOTKEY_ID INTEGER NOT NULL, + HOTKEY1 VARCHAR(10) NOT NULL, + HOTKEY2 VARCHAR(5) NOT NULL, + [USER_ID] INTEGER NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBHOTKEYTEMP_USER_HOTKEYS PRIMARY KEY (HOTKEY1,HOTKEY2,[USER_ID]) +) +GO +------------------------------------------------------------------------------ +--############# VIEWS ################# +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ + +ALTER VIEW [dbo].[VWGI_DOCTYPE] AS +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --T2.NAME AS GROUP_NAME, + T3.DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + 0 IDB_FILESTORE_ID, --T4.IDB_FILESTORE_ID, + T4.SEQUENCE +FROM + TBDD_USER T, + TBDD_GROUPS_USER T1, + TBDD_GROUPS T2, + TBDD_USRGRP_DOKTYPE T3, + TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T1.[USER_ID] AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +UNION +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --'' AS GROUP_NAME, + T4.GUID as DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + 0 IDB_FILESTORE_ID, --T4.IDB_FILESTORE_ID, + T4.SEQUENCE +FROM + TBDD_USER T, + TBDD_USER_DOKTYPE T3, + TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T3.[USER_ID] AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +GO +CREATE VIEW [dbo].[VWGI_DOCTYPE_USER] AS +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --T2.NAME AS GROUP_NAME, + T3.DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID, + --T5.OBJECT_TITLE as OBJECT_ST_NAME, + T4.SEQUENCE +FROM + DD_ECM.dbo.TBDD_USER T, + DD_ECM.dbo.TBDD_GROUPS_USER T1, + DD_ECM.dbo.TBDD_GROUPS T2, + DD_ECM.dbo.TBDD_USRGRP_DOKTYPE T3, + DD_ECM.dbo.TBDD_DOKUMENTART T4--, + --IDB.dbo.TBIDB_OBJECT_STORE T5 +WHERE + T4.AKTIV = 1 AND + T.GUID = T1.[USER_ID] AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.DOCTYPE_ID = T4.GUID AND + --T4.IDB_OBJECT_STORE_ID = T5.GUID AND + + T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +UNION +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --'' AS GROUP_NAME, + T4.GUID as DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID, + --T5.OBJECT_TITLE as OBJECT_ST_NAME, + T4.SEQUENCE +FROM + DD_ECM.dbo.TBDD_USER T, + DD_ECM.dbo.TBDD_USER_DOKTYPE T3, + DD_ECM.dbo.TBDD_DOKUMENTART T4--, + --IDB.dbo.TBIDB_OBJECT_STORE T5 +WHERE + T4.AKTIV = 1 AND + T.GUID = T3.[USER_ID] AND + T3.DOCTYPE_ID = T4.GUID AND + --T4.IDB_OBJECT_STORE_ID = T5.GUID AND + T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +GO +------------------------------------------------------------------------------ + +CREATE VIEW [dbo].[VWGI_USER_GROUPS_RELATION] AS +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --T2.NAME AS GROUP_NAME, + T3.DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID, + T4.SEQUENCE +FROM + DD_ECM.dbo.TBDD_USER T, + DD_ECM.dbo.TBDD_GROUPS_USER T1, + DD_ECM.dbo.TBDD_GROUPS T2, + DD_ECM.dbo.TBDD_USRGRP_DOKTYPE T3, + DD_ECM.dbo.TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T1.[USER_ID] AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.DOCTYPE_ID = T4.GUID AND + + T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +UNION +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --'' AS GROUP_NAME, + T4.GUID as DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID, + T4.SEQUENCE +FROM + DD_ECM.dbo.TBDD_USER T, + DD_ECM.dbo.TBDD_USER_DOKTYPE T3, + DD_ECM.dbo.TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T3.[USER_ID] AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +GO + +------------------------------------------------------------------------------ +--############# PROCEDURES ################# +------------------------------------------------------------------------------ +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 TBGI_REGEX_DOCTYPE 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_COPY_DOKPROFILE](@pDOCTYPE_ID INT,@pMODULE_ID INT) +AS +DECLARE @NEWDOCTYPE_ID INT + +BEGIN + INSERT INTO TBDD_DOKUMENTART ( + BEZEICHNUNG,EINGANGSART_ID,WINDREAM_DIRECT,KURZNAME,ZIEL_PFAD,BESCHREIBUNG,AKTIV,NAMENKONVENTION,OBJEKTTYP,FOLDER_FOR_INDEX,ERSTELLTWER,DUPLICATE_HANDLING + ) + SELECT + 'COPY_' + BEZEICHNUNG ,EINGANGSART_ID,WINDREAM_DIRECT,KURZNAME,ZIEL_PFAD,BESCHREIBUNG,0,NAMENKONVENTION,OBJEKTTYP,FOLDER_FOR_INDEX,'COPY-PROCEDURE',DUPLICATE_HANDLING FROM TBDD_DOKUMENTART WHERE GUID = @pDOCTYPE_ID + + SELECT @NEWDOCTYPE_ID = MAX(GUID) FROM TBDD_DOKUMENTART + INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID,ADDED_WHO) VALUES (@NEWDOCTYPE_ID,@pMODULE_ID,'COPY-PROCEDURE') + + INSERT INTO TBDD_INDEX_AUTOM ( + DOCTYPE_ID,INDEXNAME,VALUE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,ADDED_WHO) + SELECT @NEWDOCTYPE_ID,INDEXNAME,VALUE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,'COPY-PROCEDURE' FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCTYPE_ID + + DECLARE + @MANINDEX_ID INTEGER, + @NEW_ID INTEGER + DECLARE c_INDEX CURSOR FOR + SELECT GUID FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCTYPE_ID ORDER BY SEQUENCE + OPEN c_INDEX + FETCH NEXT FROM c_INDEX INTO @MANINDEX_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBDD_INDEX_MAN ( + DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE , ADDED_WHO ,SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES) + SELECT @NEWDOCTYPE_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE ,'COPY-PROCEDURE',SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES FROM TBDD_INDEX_MAN WHERE GUID = @MANINDEX_ID + + SELECT @NEW_ID = MAX(GUID) FROM TBDD_INDEX_MAN WHERE DOK_ID = @NEWDOCTYPE_ID + + --Nachbearbeitungsfunktionen hinzufügen + IF EXISTS(SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = @MANINDEX_ID) + BEGIN + DECLARE + @NB_ID INTEGER + DECLARE c_NBFUNCTION CURSOR FOR + SELECT GUID FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = @MANINDEX_ID ORDER BY SEQUENCE ASC + OPEN c_NBFUNCTION + FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + PRINT '@NB_ID: ' + CONVERT(VARCHAR(5),@NB_ID) + INSERT INTO TBDD_INDEX_MAN_POSTPROCESSING ( + IDXMAN_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, ADDED_WHO, VARIANT) + SELECT @NEW_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, 'COPY-ROUTINE',VARIANT + FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE GUID = @NB_ID + FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID + END + CLOSE c_NBFUNCTION + DEALLOCATE c_NBFUNCTION + END + + FETCH NEXT FROM c_INDEX INTO @MANINDEX_ID + END + CLOSE c_INDEX + DEALLOCATE c_INDEX +END +GO + + +CREATE OR ALTER VIEW [dbo].[VWGI_DOCTYPE_IDB] AS +SELECT + T4.GUID as DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.FOLDER_FOR_INDEX DYNAMIC_FOLDER, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + --T6.OBJECT_TITLE AS OBJECT_STORE, + T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID, + --T7.CAT_TITLE AS OBJECT_ST_PATH, + T4.ERSTELLTWANN, + T4.GEAENDERTWANN, + T4.SEQUENCE--, + --T4.IDB_DOCTYPE_ID +FROM + DD_ECM.dbo.TBDD_DOKUMENTART T4 --LEFT JOIN IDB.dbo.TBIDB_OBJECT_STORE T6 ON T4.IDB_OBJECT_STORE_ID = T6.GUID + --LEFT JOIN IDB.dbo.TBIDB_CATALOG T7 On T6.CAT_ID = T7.GUID +WHERE + T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +GO +CREATE VIEW [dbo].[VWGI_DOCTYPE] AS +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --T2.NAME AS GROUP_NAME, + T3.DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + 0 IDB_FILESTORE_ID--T4.IDB_FILESTORE_ID, + T4.SEQUENCE +FROM + TBDD_USER T, + TBDD_GROUPS_USER T1, + TBDD_GROUPS T2, + TBDD_USRGRP_DOKTYPE T3, + TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T1.[USER_ID] AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +UNION +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --'' AS GROUP_NAME, + T4.GUID as DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + 0 IDB_FILESTORE_ID,--T4.IDB_FILESTORE_ID, + T4.SEQUENCE +FROM + TBDD_USER T, + TBDD_USER_DOKTYPE T3, + TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T3.[USER_ID] AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +GO + + +CREATE TABLE TBGI_REGEX_DOCTYPE( + GUID INTEGER NOT NULL IDENTITY(1,1), + REGEX VARCHAR(500) NOT NULL, + DOCTYPE_ID INTEGER, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBGI_REGEX_DOCTYPE PRIMARY KEY (GUID), + CONSTRAINT FK_TBGI_REGEX_DOCTYPE_DTID FOREIGN KEY (DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART (GUID) +) +GO +CREATE TRIGGER TBGI_REGEX_DOCTYPE_AFT_UPD ON TBGI_REGEX_DOCTYPE +FOR UPDATE +AS + UPDATE TBGI_REGEX_DOCTYPE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBGI_REGEX_DOCTYPE.GUID = INSERTED.GUID +GO +IF EXISTS (SELECT name from sys.indexes + WHERE name = N'UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID') + DROP INDEX UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID ON TBGI_REGEX_DOCTYPE; +GO +CREATE UNIQUE INDEX UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID + ON TBGI_REGEX_DOCTYPE (DOCTYPE_ID); +GO +CREATE PROCEDURE [dbo].[PRDD_CHECK_REL_DOCTYPE_MODULE] (@MODULE_SHORT VARCHAR(20),@DOCTYPE_ID INTEGER) +AS +DECLARE @MODULEID INTEGER +SELECT @MODULEID = GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'GLOBIX' + +If not exists(select guid from TBDD_DOKUMENTART_MODULE where DOKART_ID = @DOCTYPE_ID and MODULE_ID = @MODULEID) + INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID, ADDED_WHO) VALUES (@DOCTYPE_ID,@MODULEID, 'PRDD_CHECK_REL_DOCTYPE_MODULE') +GO + + + + + + + diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.2.2.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.2.2.sql new file mode 100644 index 0000000..a0f4d18 Binary files /dev/null and b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.2.2.sql differ diff --git a/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/SIG_CREATE.sql b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/SIG_CREATE.sql new file mode 100644 index 0000000..f7673d8 Binary files /dev/null and b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/SIG_CREATE.sql differ