614 lines
25 KiB
Transact-SQL
614 lines
25 KiB
Transact-SQL
UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.4' where NAME = 'Record-Organizer'
|
|
GO
|
|
|
|
DECLARE @DoctypeID INTEGER
|
|
DECLARE cursor_Doctype CURSOR LOCAL FOR
|
|
select GUID from TBDD_DOKUMENTART
|
|
OPEN cursor_Doctype
|
|
FETCH NEXT FROM cursor_Doctype INTO @DoctypeID
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID, INDEXNAME,VALUE,ADDED_WHO) VALUES
|
|
(@DoctypeID,'String 36','ADDI-RELATION','Digital Data')
|
|
|
|
--#####
|
|
FETCH NEXT FROM cursor_Doctype INTO @DoctypeID
|
|
END
|
|
CLOSE cursor_Doctype
|
|
DEALLOCATE cursor_Doctype
|
|
GO
|
|
|
|
|
|
|
|
ALTER VIEW VWPMO_WD_OBJECT_RIGHTS
|
|
AS
|
|
SELECT dwObjectID, dwUserOrGroupID, dwAccessRight, dwObjectDBID
|
|
FROM [172.24.12.41\BRAINPOOL].windream60.dbo.AccessRight AS AccessRight_1
|
|
WHERE dwUserOrGroupID IN (SELECT USERID_FK_INT_ECM FROM TBDD_USER WHERE USERID_FK_INT_ECM <> 0)
|
|
GO
|
|
|
|
ALTER PROCEDURE [dbo].[PRPMO_DELETE_CONSTRUCTOR](@pCONSTR_ID INT)
|
|
AS
|
|
BEGIN TRY
|
|
DELETE FROM TBPMO_CLIENT_CONSTRUCTOR WHERE CONSTRUCT_ID = @pCONSTR_ID
|
|
DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE CONSTRUCT_ID = @pCONSTR_ID
|
|
DELETE FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE CONSTRUCT_ID in (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID)
|
|
DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE FOLLOW_UP_ID IN (SELECT GUID FROM TBPMO_FOLLOW_UP_EMAIL WHERE CONSTRUCTOR_ID = @pCONSTR_ID)
|
|
DELETE FROM TBPMO_FOLLOW_UP_EMAIL WHERE CONSTRUCTOR_ID = @pCONSTR_ID
|
|
DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID in (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID)
|
|
DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE CONSTRUCTOR_DETAIL_ID IN (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID)
|
|
DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID
|
|
DELETE FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = @pCONSTR_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
|
|
ALTER TRIGGER [dbo].[TBPMO_DOC_VALUES_AFT_UPD] ON [dbo].[TBPMO_DOC_VALUES]
|
|
FOR UPDATE
|
|
AS
|
|
UPDATE TBPMO_DOC_VALUES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_VALUES.GUID = INSERTED.GUID
|
|
GO
|
|
|
|
ALTER TABLE TBPMO_RECORD
|
|
ADD PARENT_RECORD INTEGER NOT NULL DEFAULT 0
|
|
GO
|
|
ALTER TABLE TBPMO_RECORD
|
|
ADD [VERSION] INTEGER NOT NULL DEFAULT 1
|
|
GO
|
|
ALTER PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT)
|
|
AS
|
|
DECLARE @COL_NAME VARCHAR(50),
|
|
@SQL_BEGIN VARCHAR(4000),
|
|
@SQL_END VARCHAR(4000),
|
|
@SQL VARCHAR(MAX),
|
|
@CONTROL_ID INT,
|
|
@RESULT VARCHAR(MAX),
|
|
@TYPEID INT,
|
|
@TABINDEX INT,
|
|
@ZAEHLER INT = 1,
|
|
@SQL_LBL VARCHAR(4000)
|
|
|
|
DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
|
|
WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
|
|
UNION
|
|
SELECT T.GUID,'[' + T.NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
|
|
WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0
|
|
ORDER BY TAB_INDEX
|
|
BEGIN
|
|
SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID]' + CHAR(13) + ',T.COLOR AS ROW_COLOR' + CHAR(13) + ',T.FORM_ID AS [Form-ID]' + CHAR(13) + ','
|
|
--SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID'
|
|
SET @SQL_END = ',T.ADDED_WHO AS AddedWho,' + CHAR(13) + 'T.ADDED_WHEN AS AddedWhen,' + CHAR(13) + 'T.CHANGED_WHO AS ChangedWho,' + CHAR(13) + 'T.CHANGED_WHEN AS ChangedWhen FROM TBPMO_RECORD T' + CHAR(13) + 'INNER JOIN TBPMO_FORM T1 ON T.FORM_ID = T1.GUID AND T.[PARENT_RECORD] = 0 AND T.FORM_ID = @FORM_ID' + CHAR(13)
|
|
|
|
SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@pFORM_ID)
|
|
|
|
OPEN c_SPALTENNAMEN
|
|
FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX
|
|
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
SET @COL_NAME = REPLACE(@COL_NAME,'lbl','')
|
|
SET @ZAEHLER = @ZAEHLER + 1
|
|
IF LEN(ISNULL(@SQL,'')) = 0
|
|
BEGIN
|
|
IF @TYPEID IN(10,11)
|
|
BEGIN
|
|
--SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME
|
|
SET @SQL = 'ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + CHAR(13)
|
|
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
|
END
|
|
ELSE IF @TYPEID = 6
|
|
BEGIN
|
|
--SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME
|
|
SET @SQL = 'T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.IMG AS ' + @COL_NAME + CHAR(13)
|
|
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_IMAGE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
|
ENd
|
|
ELSE IF @TYPEID = 1
|
|
BEGIN
|
|
SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
|
|
SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID')
|
|
SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME + CHAR(13)
|
|
END
|
|
ELSE IF @TYPEID IN(7,12,14)
|
|
BEGIN
|
|
SET @SQL = 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID) AS ' + @COL_NAME + CHAR(13)
|
|
END
|
|
ELSE IF @TYPEID = 4
|
|
BEGIN
|
|
SET @SQL = 'T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE AS ' + @COL_NAME + CHAR(13)
|
|
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
--SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME
|
|
SET @SQL = 'ISNULL(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE,'''') AS ' + @COL_NAME + CHAR(13)
|
|
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
|
END
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF @TYPEID IN(10,11)
|
|
BEGIN
|
|
--SET @SQL = @SQL + ',ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME
|
|
SET @SQL = @SQL + ',ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + CHAR(13)
|
|
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
|
END
|
|
ELSE IF @TYPEID = 6
|
|
BEGIN
|
|
--SET @SQL = @SQL + ',(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME
|
|
SET @SQL = @SQL + ',T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.IMG AS ' + @COL_NAME + CHAR(13)
|
|
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_IMAGE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
|
END
|
|
ELSE IF @TYPEID = 1
|
|
BEGIN
|
|
SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
|
|
SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID')
|
|
SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME + CHAR(13)
|
|
END
|
|
ELSE IF @TYPEID IN(7,12,14)
|
|
BEGIN
|
|
--SET @SQL = @SQL + ',(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
|
|
SET @SQL = @SQL + ',ISNULL(dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID),'''') AS ' + @COL_NAME + CHAR(13)
|
|
END
|
|
ELSE IF @TYPEID = 4
|
|
BEGIN
|
|
SET @SQL = @SQL + ',T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE AS ' + @COL_NAME + CHAR(13)
|
|
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
--SET @SQL = @SQL + ',(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME
|
|
SET @SQL = @SQL + ',ISNULL(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE,'''') AS ' + @COL_NAME + CHAR(13)
|
|
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
|
END
|
|
END
|
|
|
|
FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX
|
|
END
|
|
|
|
CLOSE c_SPALTENNAMEN
|
|
DEALLOCATE c_SPALTENNAMEN
|
|
|
|
--PRint '1'
|
|
SET @SQL = @SQL + ',(SELECT CASE COUNT(TDS.DocID) WHEN 0 THEN 0 ELSE 1 END AS [files?] FROM VWPMO_DOC_SEARCH TDS, TBPMO_DOC_RECORD_LINK TRL WHERE TDS.DocID = TRL.DOC_ID AND TRL.RECORD_ID = T.GUID) AS [files?]' + CHAR(13)
|
|
--PRint '2'
|
|
SET @SQL = @SQL + ',(SELECT COUNT(TDS.DocID) AS [files?] FROM VWPMO_DOC_SEARCH TDS, TBPMO_DOC_RECORD_LINK TRL WHERE TDS.DocID = TRL.DOC_ID AND TRL.RECORD_ID = T.GUID) AS [file count]' + CHAR(13)
|
|
--PRint '3'
|
|
SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
|
|
--PRINT 'LEN: ' + CONVERT(VARCHAR(10),LEN(@RESULT))
|
|
|
|
IF EXISTS (SELECT FORM_ID FROM TBPMO_FORM_SQL WHERE FORM_ID = @pFORM_ID)
|
|
UPDATE TBPMO_FORM_SQL SET SQL_COMMAND = @RESULT WHERE FORM_ID = @pFORM_ID
|
|
ELSE
|
|
INSERT INTO TBPMO_FORM_SQL(FORM_ID,SQL_COMMAND) VALUES(@pFORM_ID,@RESULT)
|
|
END
|
|
GO
|
|
|
|
DECLARE
|
|
@ENTITY_ID INTEGER,
|
|
@CONTROL_ID INTEGER,
|
|
@GUID INTEGER,
|
|
@VALUE VARCHAR(MAX)
|
|
|
|
DECLARE c_REDO CURSOR FOR
|
|
SELECT GUID FROM TBPMO_FORM
|
|
OPEN c_REDO
|
|
FETCH NEXT FROM c_REDO INTO @ENTITY_ID
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
EXEC [dbo].[PRPMO_CREATE_SQL] @ENTITY_ID
|
|
FETCH NEXT FROM c_REDO INTO @ENTITY_ID
|
|
END
|
|
CLOSE c_REDO
|
|
DEALLOCATE c_REDO
|
|
GO
|
|
EXECUTE [dbo].[PRPMO_CREATE_TEMP_VIEWS]
|
|
GO
|
|
|
|
CREATE TABLE TBPMO_RECORD_VARIANT(
|
|
[GUID] INT IDENTITY(1,1) NOT NULL,
|
|
RECORD_ID INT NOT NULL,
|
|
REASON_CODE VARCHAR(100) NOT NULL,
|
|
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_TBPMO_RECORD_VARIANT] PRIMARY KEY(GUID),
|
|
CONSTRAINT FK_TBPMO_RECORD_VARIANT_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID))
|
|
GO
|
|
|
|
CREATE TRIGGER TBPMO_RECORD_VARIANT_AFT_UPD ON TBPMO_RECORD_VARIANT
|
|
FOR UPDATE
|
|
AS
|
|
UPDATE TBPMO_RECORD_VARIANT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_VARIANT.GUID = INSERTED.GUID
|
|
GO
|
|
|
|
CREATE TABLE TBPMO_ENTITY_VARIANT_REASONS(
|
|
[GUID] INT IDENTITY(1,1) NOT NULL,
|
|
ENTITY_ID INT NOT NULL,
|
|
REASON_CODE VARCHAR(100) NOT NULL,
|
|
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_TBPMO_ENTITY_VARIANT_REASONS] PRIMARY KEY(GUID),
|
|
CONSTRAINT FK_TBPMO_ENTITY_VARIANT_REASONS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID))
|
|
GO
|
|
|
|
CREATE TRIGGER TBPMO_ENTITY_VARIANT_REASONS_AFT_UPD ON TBPMO_ENTITY_VARIANT_REASONS
|
|
FOR UPDATE
|
|
AS
|
|
UPDATE TBPMO_ENTITY_VARIANT_REASONS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_VARIANT_REASONS.GUID = INSERTED.GUID
|
|
GO
|
|
|
|
ALTER PROCEDURE [dbo].[PRPMO_DELETE_ENTITY](@pENTITY_ID INT)
|
|
AS
|
|
BEGIN TRY
|
|
DELETE FROM TBPMO_FORM_SQL WHERE FORM_ID = @pENTITY_ID
|
|
DELETE FROM TBPMO_CLIENT_ENTITY WHERE ENTITY_ID = @pENTITY_ID
|
|
DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @pENTITY_ID
|
|
DELETE FROM TBPMO_TEMPLATE_ENTITY WHERE ENTITY_ID = @pENTITY_ID
|
|
DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @pENTITY_ID
|
|
DELETE FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID
|
|
DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE ENTITY_ID = @pENTITY_ID
|
|
DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE [ENTITY_ID] = @pENTITY_ID
|
|
DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID)
|
|
DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID)
|
|
DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID)
|
|
DELETE FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID
|
|
DELETE FROM TBPMO_ENTITY_VARIANT_REASONS WHERE ENTITY_ID = @pENTITY_ID
|
|
DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_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
|
|
ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
|
|
ADD [DOC_SEARCH_TAB1] BIT NOT NULL DEFAULT 0
|
|
GO
|
|
ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
|
|
ADD [ACTIVATE_DOC_SEARCH_ON_EDIT] BIT NOT NULL DEFAULT 0
|
|
GO
|
|
ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS
|
|
SELECT TOP 100 PERCENT
|
|
T2.GUID,
|
|
T1.GUID FORM_VIEW_ID,
|
|
T1.SCREEN_ID,
|
|
T2.CONSTRUCT_ID,
|
|
T.PARENT_ID,
|
|
T2.SEQUENCE,
|
|
T2.LEVEL1_SELECT,
|
|
T.GUID AS FORM_ID,
|
|
T1.FORM_TITLE,
|
|
T2.SQL_SELECT_EBENE1,
|
|
T2.SQL_SELECT_EBENE2,
|
|
T2.SQL_QUICK_VIEW,
|
|
T2.COLUMN_NAME1,
|
|
T2.COLUMN_NAME2,
|
|
T.FORM_TYPE_ID,
|
|
T2.LOAD_DIRECT,
|
|
T2.CONTROL_DOCTYPE_MATCH,
|
|
T2.SQL_RIGHT_READ_AND_VIEW_ONLY,
|
|
T2.SQL_RIGHT_WINDREAM_VIEW,
|
|
T2.DOC_SEARCH_TAB1,
|
|
T2.[ACTIVATE_DOC_SEARCH_ON_EDIT],
|
|
T1.DOCUMENT_VIEW,
|
|
T.DATE_FORMAT,
|
|
T.LOCK_CONTROLS_BG_LOAD,
|
|
(SELECT COUNT(GUID) FROm TBPMO_CONTROL WHERE FORM_ID = T1.FORM_ID AND TREE_VIEW = 1) AS COUNT_TREEVIEW
|
|
FROM
|
|
tbpmo_form T,
|
|
TBPMO_FORM_VIEW T1,
|
|
TBPMO_FORM_CONSTRUCTOR_DETAIL T2
|
|
where
|
|
T2.FORM_ID = T.GUID AND
|
|
T.GUID = T1.FORM_ID
|
|
ORDER BY
|
|
T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE
|
|
GO
|
|
ALTER TABLE TBPMO_KONFIGURATION
|
|
ADD WM_LAUFWERKBUCHSTABE VARCHAR(1) NOT NULL DEFAULT 'W'
|
|
GO
|
|
|
|
--CREATE FUNCTION FNPMO_GET_WINDREAM_FILE_PATH_NEU (@pDOCID BIGINT)
|
|
ALTER FUNCTION [dbo].[FNPMO_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_LAUFWERKBUCHSTABE CHAR(1)
|
|
|
|
SELECT @WM_LAUFWERKBUCHSTABE = WM_LAUFWERKBUCHSTABE FROM TBPMO_KONFIGURATION WHERE GUID = 1
|
|
|
|
SELECT @FSFLAGS = dwFSFlags FROM [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID
|
|
IF @FSFLAGS = 16
|
|
BEGIN
|
|
SET @RESULT = 'THIS IS NOT A FILE!'
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM [172.24.12.41\brainpool].windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID
|
|
WHILE @a > 0
|
|
BEGIN
|
|
IF @i = 0
|
|
BEGIN
|
|
IF @PARENT_ID = 1
|
|
BEGIN
|
|
SET @RESULT = '\'
|
|
BREAK
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SET @DOCID = @PARENT_ID
|
|
SET @RESULT = '\'
|
|
END
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF @PARENT_ID = 1
|
|
BEGIN
|
|
SET @RESULT = '\' + @PARENTNAME + @RESULT
|
|
BREAK
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SET @DOCID = @PARENT_ID
|
|
SET @RESULT = '\' + @PARENTNAME + @RESULT
|
|
END
|
|
END
|
|
|
|
SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [172.24.12.41\brainpool].windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID
|
|
SET @i = @i + 1
|
|
END
|
|
END
|
|
|
|
SET @RESULT = @WM_LAUFWERKBUCHSTABE +':' + @RESULT + @DATEINAME
|
|
RETURN @RESULT
|
|
END
|
|
GO
|
|
|
|
CREATE TABLE TBDD_USER_LOGIN_OUT(
|
|
[GUID] INT IDENTITY(1,1) NOT NULL,
|
|
[MODULE] VARCHAR(30) NOT NULL,
|
|
[USER_ID] INT NOT NULL,
|
|
[CLIENT_ID] INT NOT NULL,
|
|
[LOGIN] DATETIME DEFAULT (GETDATE()),
|
|
[LOGOUT] DATETIME,
|
|
CONSTRAINT [PK_TBDD_USER_LOGIN_OUT] PRIMARY KEY(GUID),
|
|
CONSTRAINT FK_TBDD_USER_LOGIN_OUT_USER_ID FOREIGN KEY ([USER_ID]) REFERENCES TBDD_USER (GUID))
|
|
GO
|
|
|
|
CREATE TRIGGER TBDD_USER_MODULE_LOG_IN_AFT_INS ON TBDD_USER_MODULE_LOG_IN
|
|
WITH EXECUTE AS CALLER
|
|
FOR INSERT
|
|
AS
|
|
BEGIN TRY
|
|
DECLARE
|
|
@USER_ID INTEGER,
|
|
@MODULE VARCHAR(50),
|
|
@CLIENT_ID INTEGER
|
|
SELECT
|
|
@USER_ID = USER_ID,
|
|
@MODULE = MODULE,
|
|
@CLIENT_ID = CLIENT_ID
|
|
FROM INSERTED
|
|
|
|
INSERT INTO TBDD_USER_LOGIN_OUT (MODULE,USER_ID,CLIENT_ID) VALUES (@MODULE,@USER_ID,@CLIENT_ID)
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
|
|
+ ' - FEHLER-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
GO
|
|
|
|
CREATE TRIGGER TBDD_USER_MODULE_LOG_IN_AFT_DEL ON TBDD_USER_MODULE_LOG_IN
|
|
FOR DELETE
|
|
AS
|
|
BEGIN TRY
|
|
DECLARE
|
|
@USER_ID INTEGER,
|
|
@MODULE VARCHAR(50),
|
|
@CLIENT_ID INTEGER
|
|
SELECT
|
|
@USER_ID = USER_ID,
|
|
@MODULE = MODULE,
|
|
@CLIENT_ID = CLIENT_ID
|
|
FROM DELETED
|
|
|
|
UPDATE TBDD_USER_LOGIN_OUT SET LOGOUT = GETDATE() WHERE GUID = (
|
|
SELECT MAX(GUID) FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @USER_ID AND MODULE = @MODULE AND CLIENT_ID = @CLIENT_ID)
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
|
+ ' - ERROR-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
GO
|
|
ALTER TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_INS] ON [dbo].[TBPMO_CONSTRUCTOR_USER]
|
|
WITH EXECUTE AS CALLER
|
|
FOR INSERT
|
|
AS
|
|
BEGIN TRY
|
|
DECLARE
|
|
@USER_ID INTEGER,
|
|
@CONSTRUCT_ID INTEGER,
|
|
@ADDED_WHO VARCHAR(50)
|
|
SELECT
|
|
@CONSTRUCT_ID = CONSTRUCT_ID,
|
|
@USER_ID = GUID,
|
|
@ADDED_WHO = ADDED_WHO
|
|
FROM INSERTED
|
|
|
|
DECLARE @ENTITY_ID INTEGER
|
|
|
|
DECLARE c_USER CURSOR FOR
|
|
SELECT
|
|
FORM_ID FROM
|
|
VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = 2 AND DOCUMENT_VIEW = 1
|
|
OPEN c_USER
|
|
FETCH NEXT FROM c_USER INTO @ENTITY_ID
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES
|
|
(@USER_ID,@ENTITY_ID,'USER ADDED TO CONSTRUCTOR','TBPMO_CONSTRUCTOR_USER_AFT_INS')
|
|
INSERT INTO TBPMO_ENTITY_USER_RIGHTS (USER_ID,ENTITY_ID,READ_ONLY,FILES_VISIBLE) VALUES
|
|
(@USER_ID,@ENTITY_ID,0,1)
|
|
|
|
FETCH NEXT FROM c_USER INTO @ENTITY_ID
|
|
END
|
|
CLOSE c_USER
|
|
DEALLOCATE c_USER
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
|
+ ' - ERROR-MESSAGE: '
|
|
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
|
END CATCH
|
|
GO
|
|
|
|
CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_CHECK_USER](@pUSER_ID INT, @pCHECK_WHO VARCHAR(50))
|
|
AS
|
|
BEGIN TRY
|
|
DECLARE
|
|
@CONSTR_DET_ID INTEGER,
|
|
@ENTITY_ID INTEGER,
|
|
@RECORD_ID INTEGER,
|
|
--@pUSER_ID INTEGER,
|
|
@RECORD_SELECT nvarchar (max),
|
|
@RECORD_WHERE AS nvarchar (max),
|
|
@CREATE_VIEW AS nvarchar (max),
|
|
@USER_RIGHTADMIN_ID_ECM INTEGER--,
|
|
--@pCHECK_WHO VARCHAR(50)
|
|
--SET @pUSER_ID = 2
|
|
--SET @pCHECK_WHO = 'SchreiberM'
|
|
|
|
SELECT @USER_RIGHTADMIN_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE UPPER(USERNAME) = (
|
|
SELECT UPPER(AD_USER) FROM TBPMO_SERVICE_RIGHT_CONFIG WHERE GUID = 1)
|
|
DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE USER_ID = @pUSER_ID
|
|
DECLARE Cursor_constructors CURSOR LOCAL FOR
|
|
select T1.GUID, T1.FORM_ID from TBPMO_CONSTRUCTOR_USER T,TBPMO_FORM_CONSTRUCTOR_DETAIL T1 where T.USER_ID = @pUSER_ID AND T.CONSTRUCT_ID = T1.CONSTRUCT_ID
|
|
AND T1.FORM_ID IN (select DISTINCT TR.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD TR WHERE T.RECORD_ID = TR.GUID)
|
|
--select FORM_ID from TBPMO_CONSTRUCTOR_USER T,TBPMO_FORM_CONSTRUCTOR_DETAIL T1 where T.USER_ID = 1 AND T.CONSTRUCT_ID = T1.GUID
|
|
OPEN cursor_constructors
|
|
FETCH NEXT FROM cursor_constructors INTO @CONSTR_DET_ID,@ENTITY_ID
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
BEGIN
|
|
IF EXISTS(select * FROM sys.views where name = 'VWTEMP_REC_USER')
|
|
DROP VIEW VWTEMP_REC_USER
|
|
|
|
DECLARE
|
|
@WD_RIGHT AS INTEGER
|
|
SET @WD_RIGHT = 3
|
|
IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID)
|
|
SELECT @WD_RIGHT = RIGHT1 FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID
|
|
ELSE
|
|
IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID)
|
|
BEGIN
|
|
DECLARE @CONFIG AS INT
|
|
SELECT @CONFIG = [READ_ONLY] FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID
|
|
IF @CONFIG = 1
|
|
BEGIN
|
|
SET @WD_RIGHT = 1
|
|
Print 'User shall only read'
|
|
END
|
|
END
|
|
|
|
|
|
SET @RECORD_SELECT = N'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID)
|
|
IF EXISTS(SELECT SQL_COMMAND FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID AND SQL_COMMAND <> '')
|
|
BEGIN
|
|
|
|
SELECT @RECORD_WHERE = SQL_COMMAND FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID
|
|
SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@USER_ID',@pUSER_ID)
|
|
SET @RECORD_SELECT = @RECORD_SELECT + ' ' + @RECORD_WHERE
|
|
END
|
|
SET @CREATE_VIEW = N'CREATE VIEW VWTEMP_REC_USER AS ' + @RECORD_SELECT
|
|
--PRINT 'CREATE VIEW: ' + @CREATE_VIEW
|
|
|
|
EXEC (@CREATE_VIEW)
|
|
|
|
|
|
DECLARE cursor_Records CURSOR FOR
|
|
SELECT [Record-ID] FROM VWTEMP_REC_USER
|
|
--select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID
|
|
OPEN cursor_Records
|
|
FETCH NEXT FROM cursor_Records INTO @RECORD_ID
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
DECLARE @DOC_ID AS INTEGER
|
|
DECLARE cursor_Docs CURSOR FOR
|
|
SELECT T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD TR WHERE
|
|
T.RECORD_ID = @RECORD_ID
|
|
AND T.RECORD_ID = TR.GUID AND TR.FORM_ID = @ENTITY_ID AND T.DOC_ID IN (
|
|
SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE [dwUserOrGroupID] = @USER_RIGHTADMIN_ID_ECM)
|
|
|
|
OPEN cursor_Docs
|
|
FETCH NEXT FROM cursor_Docs INTO @DOC_ID
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
--PRINT 'INSERTING ENT_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) +' - DOC_ID: ' + CONVERT(VARCHAR(10),@DOC_ID) + ' - RIGHT: '+ CONVERT(VARCHAR(10),@WD_RIGHT)
|
|
INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES
|
|
(@DOC_ID,@pUSER_ID,'ADD RIGHT', @WD_RIGHT,'USER_RIGHTS_RENEW',@pCHECK_WHO)
|
|
|
|
FETCH NEXT FROM cursor_Docs INTO @DOC_ID
|
|
END
|
|
CLOSE cursor_Docs
|
|
DEALLOCATE cursor_Docs
|
|
|
|
|
|
FETCH NEXT FROM cursor_Records INTO @RECORD_ID
|
|
END
|
|
CLOSE cursor_Records
|
|
DEALLOCATE cursor_Records
|
|
DECLARE @DEL_SQL NVARCHAR(500)
|
|
SET @DEL_SQL = CONVERT(NVARCHAR(30),N'DROP VIEW VWTEMP_REC_USER')
|
|
EXEC sp_executesql @DEL_SQL
|
|
END
|
|
FETCH NEXT FROM cursor_constructors INTO @CONSTR_DET_ID, @ENTITY_ID
|
|
END
|
|
CLOSE cursor_constructors
|
|
DEALLOCATE cursor_constructors
|
|
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 TABLE TBPMO_USER_GLOBAL_SEARCH(
|
|
[GUID] INT IDENTITY(1,1) NOT NULL,
|
|
USER_ID INT NOT NULL,
|
|
COMMENT VARCHAR(500),
|
|
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'),
|
|
ADDED_WHEN DATETIME DEFAULT (GETDATE()),
|
|
CONSTRAINT [PK_TBPMO_USER_GLOBAL_SEARCH] PRIMARY KEY(GUID),
|
|
CONSTRAINT FK_TBPMO_USER_GLOBAL_SEARCH_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID))
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|