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