SqlScripts/01_SMART_UP_TOOLS/02_TASKFLOW/CreateDBObjects_TASKFLOW.sql
2023-12-06 09:05:09 +01:00

1972 lines
68 KiB
Transact-SQL
Raw Blame History

/*##################################
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 <20>ber nicht erledigte Dokumentenprozesse:<p>','<p>Bitte starten Sie Ihren Process-Manager und bearbeiten die entsprechenden Prozesse.<br>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: <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<6E>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<75>ckgeben?','Best<EFBFBD>tigen:','R<EFBFBD>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 <20>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<72>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