MS Integrate smartup in DD_ECM, Erstes ToolCollection Tabellenskript in ZA mit Marvin

This commit is contained in:
Developer01
2025-03-21 11:06:27 +01:00
parent 8b4f1d05d2
commit 3ff72eb165
24 changed files with 5531 additions and 2702 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,3 @@
/*##################################
1. Replace @WINDREAM_DB in code with name of WM-Database
####################################*/
UPDATE TBDD_MODULES SET DB_VERSION = '2.2.2.2' 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);
@@ -107,6 +102,14 @@ 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 '',
SQL_BTN_REJECT NVARCHAR(MAX) NOT NULL DEFAULT '',
BTN_REJECT_CAPTION NVARCHAR(100) NOT NULL DEFAULT '',
REJECT_SQL_REASONS NVARCHAR(3000) NOT NULL DEFAULT '',
REJECT_ACTIONS_ATTRIBUTE VARCHAR(100) NOT NULL DEFAULT '',
REJECT_COMMENT_ATTRIBUTE VARCHAR(100) NOT NULL DEFAULT '',
BTN_NOT_RESP_CAPTION NVARCHAR(100) NOT NULL DEFAULT '',
NOT_RESP_SQL VARCHAR(3000) NOT NULL DEFAULT '',
NOT_RESP_COMMENT_ATTRIBUTE VARCHAR(150) NOT NULL DEFAULT '',
ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
CHANGED_WHO VARCHAR(30),
@@ -291,6 +294,7 @@ CREATE TABLE TBPM_PROFILE_CONTROLS
VKT_PREVENT_MULTIPLE_VALUES BIT DEFAULT 0 NOT NULL,
IMAGE_CONTROL VARBINARY(MAX),
BACKGROUND_COLOR VARCHAR(50),
BACKCOLOR_IF VARCHAR(500) NOT NULL DEFAULT '',
SQL_UEBERPRUEFUNG NVARCHAR(MAX) DEFAULT '',
SQL2 NVARCHAR(MAX),
SQL_ENABLE NVARCHAR(MAX),
@@ -306,12 +310,12 @@ CREATE TABLE TBPM_PROFILE_CONTROLS
LOAD_IDX_VALUE BIT NOT NULL DEFAULT 1,
CONTROL_ACTIVE BIT NOT NULL DEFAULT 1,
FORMAT_STRING VARCHAR(200) NOT NULL DEFAULT '',
BACKCOLOR_IF VARCHAR(500) NOT NULL DEFAULT '',
FONT_STYLE smallint,
FONT_SIZE smallint,
FONT_FAMILY varchar(50),
FONT_COLOR bigint,
[TABLE_ORDER_COLUMN] VARCHAR(250) NOT NULL DEFAULT (''),
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),
@@ -394,7 +398,7 @@ 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'),
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()),
@@ -943,26 +947,7 @@ BEGIN CATCH
+ 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
@@ -1077,23 +1062,7 @@ 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
@@ -1602,103 +1571,6 @@ 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
@@ -1907,11 +1779,19 @@ 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);
delete from TBPM_CONTROL_TABLE where CONTROL_ID in (SELECT GUID FROM TBPM_PROFILE_CONTROLS where PROFIL_ID = @pPID);
IF OBJECT_ID (N'TBPM_ADHOC_WF_SERIEL_PARTIES', N'U') IS NOT NULL
Delete from TBPM_ADHOC_WF_SERIEL_PARTIES WHERE AH_WF_ID In (SELECT GUID
FROM [DD_ECM].[dbo].[TBPM_ADHOC_WF_OBJECT] where PROFIL_ID = @pPID);
IF OBJECT_ID (N'TBPM_ADHOC_WF_OBJECT', N'U') IS NOT NULL
DELETE FROM [DD_ECM].[dbo].[TBPM_ADHOC_WF_OBJECT] where PROFIL_ID = @pPID;
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_PROFILE_SEARCH WHERE PROFILE_ID = @pPID;
IF OBJECT_ID (N'TBPM_ADHOC_WF_OBJECT', N'U') IS NOT NULL
DELETE FROm TBPM_ADHOC_WF_OBJECT 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;
@@ -2524,4 +2404,299 @@ QuitWithRollback:
EndSave:
GO
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.MSG1','de-DE','Information','Sie wollen diesen Beleg ablehnen?','');
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.MSG1','en-US','Information','You want to reject this receipt?','');
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.MSG2','de-DE','Information','Wenn ja, dann geben Sie bitte einen Grund für die Ablehnung ein!','')
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.MSG2','en-US','Information','If yes, please enter a reason for your refusal!','')
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.Caption','de-DE','Information','Ablehnung - Bestätigung','');
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.Caption','en-US','Information','Rejection - Confirmation','');
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.MissingInput','de-DE','Message','Bitte wählen Sie einen Grund und geben eine Begründung ein!','');
INSERT INTO [dbo].[TBDD_GUI_LANGUAGE_PHRASE]
(OBJ_NAME,[MODULE],[TITLE],[LANGUAGE],[CAPT_TYPE],[STRING1],STRING2)
VALUES('frmRejectionCommit','PM','frmRejectionCommit.MissingInput','en-US','Message','Please select a reason and enter a justification!','');
ALTER TABLE TBPM_PROFILE ADD CURRENCY_ATTRIBUTE VARCHAR(100) NOT NULL DEFAULT ''
GO
CREATE TABLE [dbo].[TBTF_VALIDATOR_MESSAGE](
[GUID] [bigint] IDENTITY(1,1) NOT NULL,
[DocID] [bigint] NOT NULL,
[GUI_LANG_TITLE] [nvarchar](100) NOT NULL,
[ImageIndex] [tinyint] NOT NULL,
[Active] [bit] NOT NULL,
[ADDED_WHEN] [datetime] NOT NULL,
[ADDED_WHO] [varchar](100) NOT NULL,
[CHANGED_WHEN] [datetime] NULL,
[CHANGED_WHO] [varchar](100) NULL,
CONSTRAINT [PK_TBTFVALIDATOR_MESSAGE] 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]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TBTF_VALIDATOR_MESSAGE] ADD CONSTRAINT [DF_TBTFVALIDATOR_MESSAGE_ACTIVE] DEFAULT ((1)) FOR [Active]
GO
ALTER TABLE [dbo].[TBTF_VALIDATOR_MESSAGE] ADD CONSTRAINT [DF_TBTFVALIDATOR_MESSAGE_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
GO
USE [DD_ECM]
GO
CREATE TRIGGER [dbo].[TBTF_VALIDATOR_MESSAGE_AFT_UPD] ON [dbo].[TBTF_VALIDATOR_MESSAGE]
FOR UPDATE
AS
UPDATE TBTF_VALIDATOR_MESSAGE SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBTF_VALIDATOR_MESSAGE.GUID = INSERTED.GUID
GO
ALTER TABLE [dbo].[TBTF_VALIDATOR_MESSAGE] ENABLE TRIGGER [TBTF_VALIDATOR_MESSAGE_AFT_UPD]
GO
INSERT INTO [dbo].[TBDD_SQL_COMMANDS]
(TITLE,SQL_COMMAND)
VALUES('TF_WORKFLOW_MESSAGE','SELECT
CONVERT(VARCHAR(30), A.ADDED_WHEN,20) + '' - '' + B.STRING1 as MSG,A.ImageIndex
FROM
TBTF_VALIDATOR_MESSAGE A INNER JOIN
(SELECt * FROM TBDD_GUI_LANGUAGE_PHRASE
WHERE MODULE = ''PM'' AND OBJ_NAME = ''frmValidator'' AND CAPT_TYPE = ''WF_MESSAGE'') B ON A.GUI_LANG_TITLE = B.TITLE
WHERE
A.Active = 1 and (A.DocID = @DocID or A.DocID = 1) AND B.LANGUAGE = ''@LANGUAGE'' ORDER BY A.ADDED_WHEN DESC');
GO
-- =================================================================
-- Die Procedure fügt einen Datensatz in die Tabelle TBTF_VALIDATOR_MESSAGE ein.
--
-- =================================================================
-- Copyright (c) 2024 by Digital Data GmbH
--
-- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
-- =================================================================
-- Creation Date / Author: 29.08.2024 / MP
-- =================================================================
-- History:
-- 29.08.2024 / MP - Prozedur erstellt
CREATE PROCEDURE [dbo].[PRTF_NEW_VALIDATOR_MESSAGE]
@DOC_ID BIGINT -- DocID oder IDB_OBJ_ID / 1 für alle Belege
, @MESSAGE_TITLE VARCHAR(100) -- Title aus GUI_LANGUAGE_PHRASE
, @ADDED_WHO VARCHAR(100) -- Wo/Von wem wurde die Prozedur aufgerufen
, @IMAGE_INDEX INTEGER = 0 -- ICON: 0 = Info / 1 = Fehlende Eingabe / 2 = Fehler
AS
BEGIN
SET NOCOUNT ON;
IF NOT EXISTS (SELECT 1 FROM TBDD_GUI_LANGUAGE_PHRASE
WHERE TITLE = @MESSAGE_TITLE AND MODULE = 'PM' AND CAPT_TYPE = 'WF_MESSAGE' AND OBJ_NAME = 'frmValidator')
BEGIN
-- Wenn es die Meldung nicht gibt, oder nicht korrekt konfiguriert ist, brechen wir hier ab
RETURN;
END
IF @IMAGE_INDEX > 2
BEGIN
SET @IMAGE_INDEX = 0;
END
INSERT INTO TBTF_VALIDATOR_MESSAGE
(
DocID
, GUI_LANG_TITLE
, ImageIndex
, Active
, ADDED_WHO
) VALUES (
@DOC_ID
, @MESSAGE_TITLE
, @IMAGE_INDEX
, 1 -- wir fügen nur aktive Sätze ein
, @ADDED_WHO
);
END
GO
-- =================================================================
-- Die Procedure setzt einen Datensatz der Tabelle TBTF_VALIDATOR_MESSAGE
-- auf ACTIVE = 0
--
-- =================================================================
-- Copyright (c) 2024 by Digital Data GmbH
--
-- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
-- =================================================================
-- Creation Date / Author: 30.08.2024 / MP
-- =================================================================
-- History:
-- 30.08.2024 / MP - Prozedur erstellt
CREATE PROCEDURE [dbo].[PRTF_DEACTIVATE_VALIDATOR_MESSAGE]
@DOC_ID BIGINT -- DocID oder IDB_OBJ_ID / 1 für alle Belege
, @MESSAGE_TITLE VARCHAR(100) -- Title aus GUI_LANGUAGE_PHRASE
, @CHANGED_WHO VARCHAR(100) -- Wo/Von wem wurde die Prozedur aufgerufen
, @ACTIVE_FLAG INTEGER = 0 -- optionales ACTIVE-Flag - Default = 0
AS
BEGIN
SET NOCOUNT ON;
UPDATE TBTF_VALIDATOR_MESSAGE SET
Active = @ACTIVE_FLAG,
CHANGED_WHO = @CHANGED_WHO
WHERE DocID = @DOC_ID
AND GUI_LANG_TITLE = @MESSAGE_TITLE;
END
GO
DECLARE @SQL NVARCHAR(max)
IF EXISTS (SELECT name FROM master.sys.databases WHERE name = N'IDB')
BEGIN
SET @SQL = 'ALTER 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,
COALESCE((SELECT TYP_ID FROM IDB.dbo.TBIDB_ATTRIBUTE WHERE TITLE = COALESCE(T1.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,
T1.SAVE_CHANGE_ON_ENABLED,
T1.FORMAT_STRING CTRL_FORMAT_STRING,
T1.BACKCOLOR_IF CTRL_BACKCOLOR_IF,
T1.VKT_ADD_ITEM
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'
END
ELSE
BEGIN
SET @SQL = 'ALTER 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,
'' 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,
T1.SAVE_CHANGE_ON_ENABLED,
T1.FORMAT_STRING CTRL_FORMAT_STRING,
T1.BACKCOLOR_IF CTRL_BACKCOLOR_IF,
T1.VKT_ADD_ITEM
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'
END
EXEC (@SQL);
GO
CREATE TABLE TBTF_PROFILE_FILES_WORK
(
GUID BIGINT NOT NULL IDENTITY(1,1),
ProfileID INTEGER NOT NULL,
DocID BIGINT NOT NULL,
InWork BIT NOT NULL DEFAULT 0,
Worked BIT NOT NULL DEFAULT 0,
Action_When DATETIME,
Action_UserID INTEGER,
ChangedWho_ID INTEGER,
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBTF_PROFILE_FILES_WORK PRIMARY KEY (GUID),
CONSTRAINT UQ_TBTF_PROFILE_FILES_WORK UNIQUE(ProfileID,DocID)
)
GO
CREATE PROCEDURE PRTF_PROFILE_FILES_WORK @pDocID BIGINT,@pProfilID INTEGER,@pUserID INTEGER, @pMode VARCHAR(100)
AS
BEGIN
IF NOT EXISTS(SELECT GUID FROM TBTF_PROFILE_FILES_WORK WHERE ProfileID = @pProfilID AND DocID = @pDocID)
BEGIN
INSERT INTO TBTF_PROFILE_FILES_WORK (ProfileID,DocID,Action_UserID,Action_When) VALUES (@pProfilID,@pDocID,@pUserID,GETDATE());
END
IF @pMode = 'FreeFile'
BEGIN
PRINT 'FreeFile ...'
UPDATE TBTF_PROFILE_FILES_WORK SET InWork = 0, Action_UserID = @pUserID
WHERE DocID = @pDocID AND ProfileID = @pProfilID AND InWork = 1;
END
ELSE IF @pMode = 'InWork'
UPDATE TBTF_PROFILE_FILES_WORK SET InWork = 1, Action_When = GETDATE(), Action_UserID = @pUserID
WHERE DocID = @pDocID AND ProfileID = @pProfilID AND InWork = 0;
ELSE IF @pMode = 'Worked'
UPDATE TBTF_PROFILE_FILES_WORK SET InWork = 0,Worked = 1, Action_When = GETDATE(), Action_UserID = @pUserID
WHERE DocID = @pDocID AND ProfileID = @pProfilID AND Worked = 0;
END
GO

View File

@@ -1,528 +0,0 @@
IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'Clipboard-Watcher' )
INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('Clipboard-Watcher','CW','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1)
GO
UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.1' where UPPER(NAME) = UPPER('Clipboard-Watcher')
GO
--ADDs THE USER WITH ADMIN-RIGHTS TO USER-MODULE RELATION
INSERT INTO TBDD_USER_MODULES(USER_ID,MODULE_ID)
SELECT DISTINCT USER_ID,(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'CW')
FROM TBDD_USER_MODULES where IS_ADMIN = 1
GO
INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID) SELECT GUID,1 FROM TBDD_USER WHERE GUID NOT IN (SELECT USER_ID FROM TBDD_CLIENT_USER WHERE CLIENT_ID = 1)
GO
CREATE TABLE TBCW_CONFIGURATION
(
GUID TINYINT,
WD_UNICODE BIT NOT NULL DEFAULT 1,
GDPICTURE_LICENSE VARCHAR(500) NOT NULL DEFAULT '',
ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCW_CONFIGURATION_GUID PRIMARY KEY(GUID),
CONSTRAINT CH_TBCW_CONFIGURATION_GUID CHECK(GUID = 1)
)
GO
CREATE TRIGGER TBCW_CONFIGURATION_AFT_UPD ON TBCW_CONFIGURATION
FOR UPDATE
AS
UPDATE TBCW_CONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED
WHERE TBCW_CONFIGURATION.GUID = INSERTED.GUID
GO
INSERT INTO TBCW_CONFIGURATION (GUID) VALUES (1)
GO
--ALTER TABLE TBDD_CLIENT
--ADD LICENSE_DDCBSEARCHER VARCHAR(5000) NOT NULL DEFAULT ''
--GO
CREATE TABLE TBCW_PROFILES
(
GUID INTEGER NOT NULL IDENTITY(1,1),
NAME VARCHAR(100) NOT NULL,
PROFILE_TYPE SMALLINT NOT NULL DEFAULT 0,
REGEX_EXPRESSION VARCHAR(100) NOT NULL,
ACTIVE BIT NOT NULL DEFAULT 0,
COMMENT VARCHAR(500),
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCW_PROFILES PRIMARY KEY (GUID),
CONSTRAINT UQ_TBCW_PROFILES_NAME UNIQUE(NAME)
)
GO
CREATE TRIGGER TBCW_PROFILES_AFT_UPD ON TBCW_PROFILES
FOR UPDATE
AS
UPDATE TBCW_PROFILES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBCW_PROFILES.GUID = INSERTED.GUID
GO
CREATE TABLE TBCW_USER_PROFILE
(
GUID INT IDENTITY(1,1),
PROFILE_ID INT NOT NULL,
[USER_ID] INT NOT NULL,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBCW_USER_PROFILE PRIMARY KEY (GUID),
CONSTRAINT UQ_TBCW_USER_PROFILE_PID_UID UNIQUE (PROFILE_ID,[USER_ID])
)
GO
CREATE TABLE TBCW_PROFILE_PROCESS
(
GUID INT IDENTITY(1,1),
PROFILE_ID INT NOT NULL,
PROC_NAME VARCHAR(100) NOT NULL,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBCW_PROFILE_PROCESS PRIMARY KEY (GUID),
CONSTRAINT UQ_TBCW_PROFILE_PROCESS UNIQUE (PROFILE_ID,PROC_NAME)
)
GO
CREATE TABLE TBCW_PROF_DOC_SEARCH(
GUID INTEGER NOT NULL IDENTITY(1,1),
PROFILE_ID INTEGER NOT NULL,
CONN_ID TinyINT NOT NULL DEFAULT 0,
SQL_COMMAND VARCHAR(MAX) NOT NULL,
COUNT_COMMAND VARCHAR(MAX) NOT NULL,
TAB_INDEX TINYINT NOT NULL DEFAULT 0,
ACTIVE BIT NOT NULL DEFAULT 0,
TAB_TITLE VARCHAR(100) NOT NULL DEFAULT 'NOT DEFINED',
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCW_PROF_DOC_SEARCH PRIMARY KEY (GUID),
CONSTRAINT FK_TBCW_PROF_DOC_SEARCH_PROF_IF FOREIGN KEY (PROFILE_ID) REFERENCES TBCW_PROFILES (GUID)
)
GO
CREATE TRIGGER TBCW_PROF_DOC_SEARCH_AFT_UPD ON TBCW_PROF_DOC_SEARCH
FOR UPDATE
AS
UPDATE TBCW_PROF_DOC_SEARCH SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBCW_PROF_DOC_SEARCH.GUID = INSERTED.GUID
GO
CREATE TRIGGER [dbo].[TBCW_PROF_DOC_SEARCH_AFT_INS] ON [dbo].[TBCW_PROF_DOC_SEARCH]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE @TABINDEX TINYINT
,@MAX_INDEX TINYINT
,@PROFILE_ID INT
,@GUID INTEGER
SELECT @TABINDEX = TAB_INDEX
,@PROFILE_ID = PROFILE_ID
,@GUID = GUID FROM inserted
SELECT @MAX_INDEX = ISNULL(MAX(TAB_INDEX),0) FROM TBCW_PROF_DOC_SEARCH WHERE PROFILE_ID = @PROFILE_ID AND GUID <> @GUID
UPDATE TBCW_PROF_DOC_SEARCH SET TAB_INDEX = @MAX_INDEX
FROM INSERTED
WHERE TBCW_PROF_DOC_SEARCH.GUID = INSERTED.GUID
UPDATE TBCW_PROF_DOC_SEARCH SET ADDED_WHEN = GETDATE() FROM INSERTED WHERE TBCW_PROF_DOC_SEARCH.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
--DROP TABLE TBCW_PROF_DATA_SEARCH
--GO
CREATE TABLE TBCW_PROF_DATA_SEARCH(
GUID INTEGER NOT NULL IDENTITY(1,1),
PROFILE_ID INTEGER NOT NULL,
CONN_ID TinyINT NOT NULL DEFAULT 0,
SQL_COMMAND VARCHAR(MAX) NOT NULL,
COUNT_COMMAND VARCHAR(MAX) NOT NULL,
TAB_INDEX TINYINT NOT NULL DEFAULT 0,
ACTIVE BIT NOT NULL DEFAULT 0,
TAB_TITLE VARCHAR(100) NOT NULL DEFAULT 'NOT DEFINED',
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCW_PROF_DATA_SEARCH PRIMARY KEY (GUID),
CONSTRAINT FK_TBCW_PROF_DATA_SEARCH_PROF_IF FOREIGN KEY (PROFILE_ID) REFERENCES TBCW_PROFILES (GUID)
)
GO
CREATE TRIGGER TBCW_PROF_DATA_SEARCH_AFT_UPD ON TBCW_PROF_DATA_SEARCH
FOR UPDATE
AS
UPDATE TBCW_PROF_DATA_SEARCH SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBCW_PROF_DATA_SEARCH.GUID = INSERTED.GUID
GO
CREATE TRIGGER [dbo].[TBCW_PROF_DATA_SEARCH_AFT_INS] ON [dbo].[TBCW_PROF_DATA_SEARCH]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE @TABINDEX TINYINT
,@MAX_INDEX TINYINT
,@PROFILE_ID INT
,@GUID INTEGER
SELECT @TABINDEX = TAB_INDEX
,@PROFILE_ID = PROFILE_ID
,@GUID = GUID FROM inserted
SELECT @MAX_INDEX = ISNULL(MAX(TAB_INDEX),0) FROM TBCW_PROF_DATA_SEARCH WHERE PROFILE_ID = @PROFILE_ID AND GUID <> @GUID
UPDATE TBCW_PROF_DATA_SEARCH SET TAB_INDEX = @MAX_INDEX
FROM INSERTED
WHERE TBCW_PROF_DATA_SEARCH.GUID = INSERTED.GUID
UPDATE TBCW_PROF_DATA_SEARCH SET ADDED_WHEN = GETDATE() FROM INSERTED WHERE TBCW_PROF_DATA_SEARCH.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE TABLE [dbo].[TBCW_GROUP_PROFILE](
GUID INTEGER IDENTITY(1,1) NOT NULL,
PROFILE_ID INTEGER NOT NULL,
GROUP_ID INTEGER NOT NULL,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME NULL DEFAULT GETDATE(),
CONSTRAINT PK_TBCW_GROUP_PROFILE PRIMARY KEY (GUID),
CONSTRAINT UQ_TBCW_GROUP_PROFILE_PID_UID UNIQUE (PROFILE_ID,GROUP_ID)
)
GO
CREATE TABLE TBCW_PROF_REL_WINDOW(
GUID INTEGER NOT NULL IDENTITY(1,1),
PROCESS_ID INTEGER NOT NULL,
DESCRIPTION VARCHAR(250) NOT NULL DEFAULT '',
REGEX VARCHAR(500) NOT NULL,
SEQUENCE TINYINT NOT NULL DEFAULT 0,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCW_PROF_REL_WINDOW PRIMARY KEY (GUID),
CONSTRAINT FK_TBCW_PROF_REL_WINDOW_PROCESS_ID FOREIGN KEY (PROCESS_ID) REFERENCES TBCW_PROFILE_PROCESS (GUID)
)
GO
CREATE TRIGGER TBCW_PROF_REL_WINDOW_AFT_UPD ON TBCW_PROF_REL_WINDOW
FOR UPDATE
AS
UPDATE TBCW_PROF_REL_WINDOW SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBCW_PROF_REL_WINDOW.GUID = INSERTED.GUID
GO
CREATE TRIGGER [dbo].[TBCW_PROF_REL_WINDOW_AFT_INS] ON [dbo].TBCW_PROF_REL_WINDOW
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE @SEQUENCE TINYINT
,@MAX_SEQUENCE TINYINT
,@PROCESS_ID INT
,@GUID INTEGER
SELECT @SEQUENCE = SEQUENCE
,@PROCESS_ID = PROCESS_ID
,@GUID = GUID FROM inserted
SELECT @MAX_SEQUENCE = ISNULL(MAX(SEQUENCE),0) FROM TBCW_PROF_REL_WINDOW WHERE PROCESS_ID = @PROCESS_ID AND GUID <> @GUID
UPDATE TBCW_PROF_REL_WINDOW SET SEQUENCE = @MAX_SEQUENCE
FROM INSERTED
WHERE TBCW_PROF_REL_WINDOW.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE TABLE TBCW_PROF_REL_CONTROL(
GUID INTEGER NOT NULL IDENTITY(1,1),
DESCRIPTION VARCHAR(250) NOT NULL,
WINDOW_ID INTEGER NOT NULL,
CONTROL_NAME VARCHAR(500) NOT NULL DEFAULT '',
[TOPLEFT_TOP] INTEGER NOT NULL DEFAULT 0,
[TOPLEFT_LEFT] INTEGER NOT NULL DEFAULT 0,
[TOPLEFT_RIGHT] INTEGER NOT NULL DEFAULT 0,
[TOPLEFT_BOTTOM] INTEGER NOT NULL DEFAULT 0,
[TOPRIGHT_TOP] INTEGER NOT NULL DEFAULT 0,
[TOPRIGHT_LEFT] INTEGER NOT NULL DEFAULT 0,
[TOPRIGHT_RIGHT] INTEGER NOT NULL DEFAULT 0,
[TOPRIGHT_BOTTOM] INTEGER NOT NULL DEFAULT 0,
[BOTTOMLEFT_TOP] INTEGER NOT NULL DEFAULT 0,
[BOTTOMLEFT_LEFT] INTEGER NOT NULL DEFAULT 0,
[BOTTOMLEFT_RIGHT] INTEGER NOT NULL DEFAULT 0,
[BOTTOMLEFT_BOTTOM] INTEGER NOT NULL DEFAULT 0,
[BOTTOMRIGHT_TOP] INTEGER NOT NULL DEFAULT 0,
[BOTTOMRIGHT_LEFT] INTEGER NOT NULL DEFAULT 0,
[BOTTOMRIGHT_RIGHT] INTEGER NOT NULL DEFAULT 0,
[BOTTOMRIGHT_BOTTOM] INTEGER NOT NULL DEFAULT 0,
SEQUENCE TINYINT NOT NULL DEFAULT 0,
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBCW_PROF_REL_CONTROL PRIMARY KEY (GUID),
CONSTRAINT FK_TBCW_PROF_REL_CONTROL_WINDOW_ID FOREIGN KEY (WINDOW_ID) REFERENCES TBCW_PROF_REL_WINDOW (GUID)
)
GO
CREATE TRIGGER TBCW_PROF_REL_CONTROL_AFT_UPD ON TBCW_PROF_REL_CONTROL
FOR UPDATE
AS
UPDATE TBCW_PROF_REL_CONTROL SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBCW_PROF_REL_CONTROL.GUID = INSERTED.GUID
GO
CREATE TRIGGER TBCW_PROF_REL_CONTROL_AFT_INS ON TBCW_PROF_REL_CONTROL
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE @SEQUENCE TINYINT
,@MAX_SEQUENCE TINYINT
,@WINDOW_ID INT
,@GUID INTEGER
SELECT @SEQUENCE = SEQUENCE
,@WINDOW_ID = WINDOW_ID
,@GUID = GUID FROM inserted
SELECT @MAX_SEQUENCE = ISNULL(MAX(SEQUENCE),0) FROM TBCW_PROF_REL_CONTROL WHERE WINDOW_ID = @WINDOW_ID AND GUID <> @GUID
UPDATE TBCW_PROF_REL_CONTROL SET SEQUENCE = @MAX_SEQUENCE
FROM INSERTED
WHERE TBCW_PROF_REL_CONTROL.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE TRIGGER [dbo].[TBCW_PROF_REL_CONTROLAFT_INS] ON [dbo].TBCW_PROF_REL_CONTROL
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN TRY
DECLARE @SEQUENCE TINYINT
,@MAX_SEQUENCE TINYINT
,@WINDOW_ID INT
,@GUID INTEGER
SELECT @SEQUENCE = SEQUENCE
,@WINDOW_ID = @WINDOW_ID
,@GUID = GUID FROM inserted
SELECT @MAX_SEQUENCE = ISNULL(MAX(SEQUENCE),0) FROM TBCW_PROF_REL_CONTROL WHERE @WINDOW_ID = @WINDOW_ID AND GUID <> @GUID
UPDATE TBCW_PROF_REL_CONTROL SET SEQUENCE = @MAX_SEQUENCE
FROM INSERTED
WHERE TBCW_PROF_REL_CONTROL.GUID = INSERTED.GUID
END TRY
BEGIN CATCH
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ ' - ERROR-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
/*##### PROCEDURES ####*/
CREATE PROCEDURE [dbo].[PRCW_DELETE_PROFILE](@pPROFILE_ID INT)
AS
BEGIN TRY
delete from TBCW_PROF_DATA_SEARCH where PROFILE_ID = @pPROFILE_ID
delete from TBCW_PROF_DOC_SEARCH where PROFILE_ID = @pPROFILE_ID
delete from TBCW_PROF_REL_CONTROL where WINDOW_ID IN (SELECT GUID FROM TBCW_PROF_REL_WINDOW WHERE PROCESS_ID IN (SELECT GUID FROM TBCW_PROFILE_PROCESS WHERE PROFILE_ID = @pPROFILE_ID))
delete from TBCW_PROF_REL_WINDOW where PROCESS_ID IN (SELECT GUID FROM TBCW_PROFILE_PROCESS WHERE PROFILE_ID = @pPROFILE_ID)
delete from TBCW_PROFILE_PROCESS where PROFILE_ID = @pPROFILE_ID
delete from TBCW_USER_PROFILE where PROFILE_ID = @pPROFILE_ID
delete from TBCW_PROFILES where GUID = @pPROFILE_ID
END TRY
BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE PROCEDURE [dbo].[PRCW_DELETE_PROCESS](@pPROCESS_ID INT)
AS
BEGIN TRY
delete from TBCW_PROF_REL_CONTROL where WINDOW_ID IN (SELECT GUID FROM TBCW_PROF_REL_WINDOW WHERE PROCESS_ID = @pPROCESS_ID)
delete from TBCW_PROF_REL_WINDOW where PROCESS_ID = @pPROCESS_ID
delete from TBCW_PROFILE_PROCESS where GUID = @pPROCESS_ID
END TRY
BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
CREATE PROCEDURE [dbo].[PRCW_DELETE_WINDOW](@pWINDOW_ID INT)
AS
BEGIN TRY
delete from TBCW_PROF_REL_CONTROL where WINDOW_ID = @pWINDOW_ID
delete from TBCW_PROF_REL_WINDOW where GUID = @pWINDOW_ID
END TRY
BEGIN CATCH
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ ' - FEHLER-MESSAGE: '
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
END CATCH
GO
/*##### FUNCTIONS ####*/
CREATE FUNCTION [dbo].[FNCW_WM_SEARCH] (@pSearchValue Varchar(512),@pUSER_ID INTEGER, @pLike BIT)
RETURNS @TBResult TABLE
(DocID INTEGER,
INDEX_NAME VARCHAR(50),
COMMENT VARCHAR(500))
AS
BEGIN
DECLARE @USER_ECM_FKID INTEGER
SELECT @USER_ECM_FKID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @pUSER_ID
IF @pLike = 1
BEGIN
INSERT INTO @TBResult (DocID, INDEX_NAME)
SELECT DISTINCT T.[dwDocID]
,T.[Idx]
FROM VWCW_SEARCH1 T INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON T.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID
WHERE UPPER(T.Search_Term) LIKE UPPER('%' + @pSearchValue + '%')
INSERT INTO @TBResult (DocID, INDEX_NAME)
SELECT DISTINCT WMV.dwDocID, WMA.szAttrName
FROM sDD_VMP01_APS01_windream60.dbo.Attribute WMA INNER JOIN sDD_VMP01_APS01_windream60.dbo.Vector WMV ON WMA.dwAttrID = WMV.dwAttrID
INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON WMV.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID
WHERE WMA.szAttrName in ('Vektor String 00','Vektor String 01','Vektor String 03','Vektor String 04','Vektor String 06','Vektor String 25','Vektor String 26','Vektor String 50','Vektor String 51')
AND UPPER(WMV.szValue) LIKE UPPER('%' + @pSearchValue + '%')
END
ELSE
BEGIN
INSERT INTO @TBResult (DocID, INDEX_NAME) -- VALUES (1,'1234')
SELECT T.[dwDocID]
,T.[Idx]--,T.Search_Term
FROM VWCW_SEARCH1 T INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON T.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = 1000004
WHERE UPPER(T.Search_Term) = UPPER(@pSearchValue)
INSERT INTO @TBResult (DocID, INDEX_NAME)
SELECT DISTINCT WMV.dwDocID, WMA.szAttrName
FROM sDD_VMP01_APS01_windream60.dbo.Attribute WMA INNER JOIN sDD_VMP01_APS01_windream60.dbo.Vector WMV ON WMA.dwAttrID = WMV.dwAttrID
INNER JOIN VWDD_WM_ACCESS_RIGHTS T1 ON WMV.dwDocID = T1.dwObjectID AND T1.dwUserOrGROUPID = @USER_ECM_FKID
WHERE WMA.szAttrName in ('Vektor String 00','Vektor String 01','Vektor String 03','Vektor String 04','Vektor String 06','Vektor String 25','Vektor String 26','Vektor String 50','Vektor String 51')
AND UPPER(WMV.szValue) = UPPER(@pSearchValue)
END
RETURN
END
GO
CREATE FUNCTION FNCW_GET_SEARCH_COUNT_FOR_CONNECTION(@CONNECTION_ID int)
RETURNS int
AS
BEGIN
DECLARE @RESULT int
SELECT @RESULT = SUM(t.CNT) FROM (
SELECT COUNT(*) AS CNT FROM TBCW_PROF_DATA_SEARCH WHERE CONN_ID = @CONNECTION_ID
UNION ALL
SELECT COUNT(*) AS CNT FROM TBCW_PROF_DOC_SEARCH WHERE CONN_ID = @CONNECTION_ID
) t
RETURN @RESULT
END
GO
/*##### VIEWS ####*/
CREATE VIEW [dbo].[VWCW_USER_PROFILE] AS
SELECT DISTINCT
T.GUID,
T.NAME,
T.REGEX_EXPRESSION,
T.COMMENT,
T.ACTIVE,
T.PROFILE_TYPE,
T2.PROC_NAME,
T1.USER_ID,
T3.GROUP_ID
FROM TBCW_PROFILES T
LEFT JOIN TBCW_USER_PROFILE T1 ON T.GUID = T1.PROFILE_ID
LEFT JOIN TBCW_PROFILE_PROCESS T2 ON T.GUID = T2.PROFILE_ID
LEFT JOIN TBCW_GROUP_PROFILE T3 ON T.GUID = T3.PROFILE_ID
WHERE T.ACTIVE = 1
GO
CREATE VIEW VWCW_PROFILE_REL_WINDOW AS
SELECT DISTINCT TOP 100 PERCENT
T.GUID
,T.PROCESS_ID
,T2.USER_ID
,T1.PROC_NAME AS PROCESS_NAME
,T1.PROFILE_ID
,T.DESCRIPTION
,T.REGEX
,T.SEQUENCE
FROM
TBCW_PROF_REL_WINDOW T
,TBCW_PROFILE_PROCESS T1
,VWCW_USER_PROFILE T2
WHERE
T.PROCESS_ID = T1.GUID AND
T1.PROFILE_ID = T2.GUID
ORDER BY T.SEQUENCE
GO
CREATE VIEW VWCW_PROFILE_REL_CONTROL AS
SELECT DISTINCT TOP 100 PERCENT
T.GUID
,T1.USER_ID
,TP.PROC_NAME AS PROCESS_NAME
,T1.GUID AS PROFILE_ID
,T.WINDOW_ID
,T.DESCRIPTION
,T.SEQUENCE
,T.CONTROL_NAME
,T.TOPLEFT_LEFT
,T.TOPLEFT_RIGHT
,T.TOPLEFT_TOP
,T.TOPLEFT_BOTTOM
,T.TOPRIGHT_LEFT
,T.TOPRIGHT_RIGHT
,T.TOPRIGHT_TOP
,T.TOPRIGHT_BOTTOM
,T.BOTTOMLEFT_LEFT
,T.BOTTOMLEFT_RIGHT
,T.BOTTOMLEFT_TOP
,T.BOTTOMLEFT_BOTTOM
,T.BOTTOMRIGHT_LEFT
,T.BOTTOMRIGHT_RIGHT
,T.BOTTOMRIGHT_TOP
,T.BOTTOMRIGHT_BOTTOM
FROM
TBCW_PROF_REL_CONTROL T
,TBCW_PROF_REL_WINDOW TW
,TBCW_PROFILE_PROCESS TP
,VWCW_USER_PROFILE T1
WHERE
T.WINDOW_ID = TW.GUID AND
TW.PROCESS_ID = TP.GUID AND
TP.PROFILE_ID = T1.GUID
ORDER BY T.SEQUENCE
GO
CREATE VIEW [dbo].[VWCW_GROUP_PROFILE] AS
SELECT
T.GUID,
T.NAME,
T.REGEX_EXPRESSION,
T.COMMENT,
T.ACTIVE,
T1.GROUP_ID,
T2.PROC_NAME
FROM
TBCW_PROFILES T
,TBCW_GROUP_PROFILE T1
,TBCW_PROFILE_PROCESS T2
WHERE
T.GUID = T1.PROFILE_ID
AND T.GUID = T2.PROFILE_ID
AND T.ACTIVE = 1
GO

View File

@@ -342,7 +342,7 @@ WHERE
GO
DECLARE @SQL nvarchar(max);
IF EXISTS (SELECT 1 FROM sys.databases WHERE [name] = N'IDB')
IF EXISTS (SELECT * FROM [TBDD_CATALOG] WHERE CAT_TITLE = 'USE_IDB_AS_METADATA' AND CAT_STRING = '1')
BEGIN
SET @SQL = N'--26.09 MS Shortname angepasst
CREATE OR ALTER VIEW [dbo].[VWGI_DOCTYPE_IDB] AS
@@ -372,7 +372,7 @@ END;
GO
DECLARE @SQL nvarchar(max);
IF EXISTS (SELECT 1 FROM sys.databases WHERE [name] = N'IDB')
IF EXISTS (SELECT * FROM [TBDD_CATALOG] WHERE CAT_TITLE = 'USE_IDB_AS_METADATA' AND CAT_STRING = '1')
BEGIN
SET @SQL = N'
--26.09 MS Shortname angepasst
@@ -644,7 +644,7 @@ END
GO
C-- 20.09.2024 MS ModuleName geändert
-- 20.09.2024 MS ModuleName geändert
CREATE OR ALTER VIEW [dbo].[VWGI_DOCTYPE] AS
SELECT DISTINCT
T.GUID AS [USER_ID],