/*################################## 1. Search for @MyUSER and replace the username You use for administration 2. If windream database is not located: Search for windream60 and replace with databaselink.windream60 ALTER TABLE TBDD_CONNECTION ADD SYS_CONNECTION BIT DEFAULT 0 NOT NULL; GO ####################################*/ UPDATE TBDD_MODULES SET DB_VERSION = '2.1.0.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 UPPER(USERNAME) = UPPER('@MyUSER') GO INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID) SELECT GUID,1 FROM TBDD_USER WHERE GUID NOT IN (SELECT USER_ID FROM TBDD_CLIENT_USER WHERE CLIENT_ID = 1) GO INSERT INTO TBDD_GROUPS_USER (USER_ID,GROUP_ID) VALUES ((SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER('@MyUSER')),(SELECT GUID FROM TBDD_GROUPS WHERE NAME = 'PM_ADMINS')) GO CREATE TABLE TBPM_KONFIGURATION ( GUID TINYINT, LIZENZEN VARCHAR(2000), INTERVALL_CKECK_NO_OF_FILES smallint NOT NULL DEFAULT 2, VEKTOR_DELIMITER VARCHAR(1) NOT NULL DEFAULT '~', EMAIL_ACTIVE BIT NOT NULL DEFAULT 0, EMAIL_FROM VARCHAR(50), EMAIL_SMTP VARCHAR(50), EMAIL_USER VARCHAR(50), EMAIL_PW VARCHAR(50), EMAIL_REMINDER_HEADER VARCHAR(250), EMAIL_REMINDER_FOOTER VARCHAR(250), ADMIN_PW VARCHAR(100) NOT NULL DEFAULT 'ZGQ=', ADMIN_SECURITY BIT NOT NULL DEFAULT 0, SQL_PROFILE_MAIN_VIEW VARCHAR(MAX)NOT NULL DEFAULT '', [SERVICE_SCHEDULE] VARCHAR(100) NOT NULL DEFAULT '07-18;1111100', [SERVICE_IDXNAME_DOCID] VARCHAR(50) NOT NULL DEFAULT 'Dokument-ID', [SERVICE_WMDRIVE_LETTER] VARCHAR(1) NOT NULL DEFAULT 'W', [SERVICE_IDXNAME_CREATED] VARCHAR(50) NOT NULL DEFAULT 'DMS erstellt', [SERVICE_LOG_ERRORS_ONLY] BIT NOT NULL DEFAULT 1, WM_REL_PATH VARCHAR(100) NOT NULL DEFAULT '\\windream\objects', ERFASSTWER VARCHAR(50) DEFAULT 'PER DMSLite' NOT NULL, ERSTELLTWER VARCHAR(50) DEFAULT 'DMSLite-Admin' NOT NULL, ERSTELLTWANN DATETIME DEFAULT GETDATE() NOT NULL, GEAENDERTWER VARCHAR(50), GEAENDERTWANN DATETIME, CONSTRAINT PK_TBPM_KONFIGURATION_GUID PRIMARY KEY(GUID), CONSTRAINT CH_TBPM_KONFIGURATION_GUID CHECK(GUID = 1) ) GO ------------------------------------------------------------------------------ CREATE TRIGGER TBPM_KONFIGURATION_AFT_UPD ON TBPM_KONFIGURATION FOR UPDATE AS UPDATE TBPM_KONFIGURATION SET GEAENDERTWANN = GETDATE() FROM INSERTED WHERE TBPM_KONFIGURATION.GUID = INSERTED.GUID GO INSERT INTO TBPM_KONFIGURATION(GUID,LIZENZEN,EMAIL_REMINDER_HEADER,EMAIL_REMINDER_FOOTER) VALUES (1,'Y/R9cI8qEID774g/fqXzkrCdW5bhcB62jsBmRgJx2rI=','Der Process-Manager informiert Sie hiermit über nicht erledigte Dokumentenprozesse:

','

Bitte starten Sie Ihren Process-Manager und bearbeiten die entsprechenden Prozesse.
Vielen Dank.') GO -------------------------------------------------------------------------------- CREATE TABLE TBPM_TYPE ( GUID SMALLINT NOT NULL IDENTITY (1, 1), BEZEICHNUNG VARCHAR(100) NOT NULL UNIQUE, ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), CHANGED_WHO VARCHAR(30), CHANGED_WHEN DATETIME, CONSTRAINT PK_TBPM_TYPE_GUID PRIMARY KEY (GUID) ) GO INSERT INTO TBPM_TYPE(BEZEICHNUNG) VALUES ('Man. Validation') GO INSERT INTO TBPM_TYPE(BEZEICHNUNG) VALUES ('Automatism') GO CREATE TRIGGER TBPM_TYPE_AFT_UPD ON TBPM_TYPE FOR UPDATE AS UPDATE TBPM_TYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPM_TYPE.GUID = INSERTED.GUID GO CREATE TABLE TBPM_PROFILE ( GUID INTEGER NOT NULL IDENTITY (1, 1), NAME VARCHAR(100) NOT NULL UNIQUE, TITLE VARCHAR(150) NOT NULL DEFAULT 'DEFAULT-TITLE', WD_OBJECTTYPE VARCHAR(200) NOT NULL, PRIORITY INTEGER NOT NULL DEFAULT 1, DESCRIPTION VARCHAR(250) , TYPE SMALLINT NOT NULL, 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 INTEGER NOT NULL DEFAULT 0, PROFIL_ID INTEGER NOT NULL, FILE_PATH VARCHAR(1000), EDIT BIT NOT NULL DEFAULT 0, DMS_ERSTELLT_DATE DATE, IN_WORK BIT NOT NULL DEFAULT 0, 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_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'), 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 --############################################ --##########PROCEDURES######################## --############################################ -- ============================================= -- Author: Digital Data MS -- Create date: 11.06.2021 -- Description: Gets the next DocumentID -- ============================================= CREATE PROCEDURE [dbo].[PRPM_GET_NEXT_DOC_INFO] ( @PROFIL_ID Integer, @DocID BigInt, @UserID Integer ) AS BEGIN INSERT INTO TBPM_DOCWALKOVER (DocID,UserID) VALUES (@DocID,@UserID) SELECT Top 1 GUID, DOC_ID FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = @PROFIL_ID AND EDIT = 0 AND IN_WORK = 0 AND DOC_ID <> @DocID AND DOC_ID NOT IN (select DocID from TBPM_DOCWALKOVER WHERE UserID = @DocID AND UserID = @UserID) AND GUID NOT IN ( SELECT A.[DocGUID] FROM [TBPM_FILES_USER_NOT_INDEXED] A INNER JOIN TBDD_USER B ON A.USR_NAME = B.USERNAME WHERE A.PROFIL_ID = @PROFIL_ID AND B.GUID = @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 windream60.[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 --############################## --##########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, windream60.dbo.BaseAttributes TWM_BA WHERE T.EDIT = 0 AND T.IN_WORK = 0 AND T.ACTIVE = 1 AND T.PROFIL_ID = T1.GUID AND T1.GUID in (SELECT PROFIL_ID FROM [dbo].[FNPM_GET_ACTIVE_PROFILES_USER] ({#USER#USER_ID})) AND T1.ACTIVE = 1 And T2.GUID = {#USER#USER_ID} AND T.DOC_ID = TWM_BA.dwDocID ORDER By T1.PRIORITY' WHERE GUID = 1 GO CREATE FUNCTION [dbo].[FNDD_GET_WINDREAM_FILE_PATH] (@pDOCID BIGINT) RETURNS VARCHAR(MAX) AS BEGIN DECLARE @RESULT VARCHAR(MAX), @DOCID BIGINT, @a TINYINT = 1, @i TINYINT = 0, @PARENT_ID BIGINT, @DATEINAME NVARCHAR(255), @PARENTNAME NVARCHAR(255), @FSFLAGS INT, @WM_PREFIX VARCHAR(50) SELECT @WM_PREFIX = WM_REL_PATH from tbpm_KONFIGURATION WHERE GUID = 1 SELECT @FSFLAGS = dwFSFlags FROM windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID IF @FSFLAGS = 16 BEGIN SET @RESULT = 'THIS IS NOT A FILE!' END ELSE BEGIN SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID WHILE @a > 0 BEGIN IF @i = 0 BEGIN IF @PARENT_ID = 1 BEGIN SET @RESULT = '\' BREAK END ELSE BEGIN SET @DOCID = @PARENT_ID SET @RESULT = '\' END END ELSE BEGIN IF @PARENT_ID = 1 BEGIN SET @RESULT = '\' + @PARENTNAME + @RESULT BREAK END ELSE BEGIN SET @DOCID = @PARENT_ID SET @RESULT = '\' + @PARENTNAME + @RESULT END END --select * from [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID SET @i = @i + 1 END END SET @RESULT = @WM_PREFIX + @RESULT + @DATEINAME RETURN @RESULT END GO CREATE view [dbo].[VWPM_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