340 lines
12 KiB
Transact-SQL
340 lines
12 KiB
Transact-SQL
UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.4' where NAME = 'Record-Organizer'
|
||
GO
|
||
CREATE TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY(1,1),
|
||
[ENTITY_ID] INTEGER NOT NULL,
|
||
[LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE',
|
||
COLUMN_VIEW VARCHAR(100) NOT NULL,
|
||
HEADER_CAPTION VARCHAR(100) NOT NULL,
|
||
WIDTH INTEGER NOT NULL DEFAULT 250,
|
||
[TYPE_ID] TINYINT NOT NULL DEFAULT 1,
|
||
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
|
||
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
||
CHANGED_WHO VARCHAR(50),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBPMO_DOCSEARCH_RESULTLIST_CONFIG PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBPMO_DOCSEARCH_RESULTLIST_CONFIG_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_UPD ON TBPMO_DOCSEARCH_RESULTLIST_CONFIG
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBPMO_DOCSEARCH_RESULTLIST_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCSEARCH_RESULTLIST_CONFIG.GUID = INSERTED.GUID
|
||
GO
|
||
CREATE TABLE TBPMO_DOCSEARCH_VARIABLE_CONTROLS (
|
||
GUID INT IDENTITY(1,1) NOT NULL,
|
||
[ENTITY_ID] INT NOT NULL,
|
||
OPTION1_CTRL INT NOT NULL DEFAULT 0,
|
||
OPTION2_CTRL INT NOT NULL DEFAULT 0,
|
||
OPTION3_CTRL INT NOT NULL DEFAULT 0,
|
||
PTION4_CTRL INT NOT NULL DEFAULT 0,
|
||
OPTION5_CTRL INT NOT NULL DEFAULT 0,
|
||
OPTION6_CTRL INT NOT NULL DEFAULT 0,
|
||
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'),
|
||
ADDED_WHEN DATETIME NULL DEFAULT (GETDATE()),
|
||
CHANGED_WHO VARCHAR(50) NULL,
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBPMO_DOCSEARCH_VARIABLE_CONTROLS PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBPMO_DOCSEARCH_VARIABLE_CONTROLS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBPMO_DOCSEARCH_VARIABLE_CONTROLS_AFT_UPD ON TBPMO_DOCSEARCH_VARIABLE_CONTROLS
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBPMO_DOCSEARCH_VARIABLE_CONTROLS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCSEARCH_VARIABLE_CONTROLS.GUID = INSERTED.GUID
|
||
GO
|
||
|
||
CREATE TABLE TBPMO_STRUCTURE_NODES
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY(1,1),
|
||
[ENTITY_ID] INTEGER NOT NULL,
|
||
RECORD_ID INTEGER,
|
||
ID1 VARCHAR(100) NOT NULL,
|
||
ID2 VARCHAR(100),
|
||
ID3 VARCHAR(100),
|
||
ID4 VARCHAR(100),
|
||
[TYPE_NODE] SMALLINT NOT NULL DEFAULT 1,
|
||
CONTROL_ID INTEGER NOT NULL DEFAULT 0,
|
||
PARENT_GUID INTEGER NOT NULL DEFAULT 0,
|
||
BOOL1 BIT NOT NULL DEFAULT 0,
|
||
BOOL2 BIT 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_TBPMO_STRUCTURE_NODES PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBPMO_STRUCTURE_NODESG_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBPMO_STRUCTURE_NODES_AFT_UPD ON TBPMO_STRUCTURE_NODES
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBPMO_STRUCTURE_NODES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES.GUID = INSERTED.GUID
|
||
GO
|
||
CREATE TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION
|
||
(
|
||
GUID INTEGER NOT NULL IDENTITY(1,1),
|
||
NAME VARCHAR(50) NOT NULL,
|
||
[ENTITY_ID] INTEGER NOT NULL,
|
||
[TYPE_NODE] SMALLINT NOT NULL DEFAULT 1,
|
||
NODE_IMAGE VARBINARY(MAX),
|
||
CREATE_RECORD BIT NOT NULL DEFAULT 0,
|
||
COMMENT VARCHAR(300),
|
||
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
|
||
ADDED_WHEN DATETIME DEFAULT GETDATE(),
|
||
CHANGED_WHO VARCHAR(50),
|
||
CHANGED_WHEN DATETIME,
|
||
CONSTRAINT PK_TBPMO_STRUCTURE_NODES_CONFIGURATION PRIMARY KEY (GUID),
|
||
CONSTRAINT FK_TBPMO_STRUCTURE_NODES_CONFIGURATION_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)
|
||
)
|
||
GO
|
||
CREATE TRIGGER TBPMO_STRUCTURE_NODES_CONFIGURATION_AFT_UPD ON TBPMO_STRUCTURE_NODES_CONFIGURATION
|
||
FOR UPDATE
|
||
AS
|
||
UPDATE TBPMO_STRUCTURE_NODES_CONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES_CONFIGURATION.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
|
||
IF OBJECT_ID (N'TBPMO_DOCSEARCH_RESULTLIST_CONFIG', N'U') IS NOT NULL
|
||
DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE [ENTITY_ID] = @pENTITY_ID
|
||
IF OBJECT_ID (N'TBPMO_STRUCTURE_NODES', N'U') IS NOT NULL
|
||
DELETE FROM TBPMO_STRUCTURE_NODES 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_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
|
||
USE [DD_ECM]
|
||
GO
|
||
/****** Object: StoredProcedure [dbo].[PRPMO_CREATE_CONSTRUCTOR] Script Date: 30.06.2016 15:01:24 ******/
|
||
SET ANSI_NULLS ON
|
||
GO
|
||
SET QUOTED_IDENTIFIER ON
|
||
GO
|
||
ALTER PROCEDURE [dbo].[PRPMO_CREATE_CONSTRUCTOR](@pFORM_ID INT, @pNAME VARCHAR(50))
|
||
AS
|
||
DECLARE
|
||
@NEW_CONSTR_ID INTEGER,
|
||
@FORM_ID INTEGER,
|
||
@PARENT_ID INTEGER,
|
||
@PARENT_ID2 INTEGER,
|
||
@LEVEL1_SELECT INTEGER,
|
||
@SEQUENCE INTEGER,
|
||
@SEQUENCE2 INTEGER,
|
||
@SQL_SELECT_EBENE1 VARCHAR(4000)
|
||
|
||
IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR WHERE UPPER(FORM_TITLE) = UPPER(@pNAME))
|
||
INSERT INTO TBPMO_FORM_CONSTRUCTOR (FORM_TITLE,SEQUENCE_MENU,ADDED_WHO, SHORT_TITLE) VALUES
|
||
(@pNAME,1, 'CREATE_ROUTINE','SHORT-TITLE')
|
||
|
||
SELECT @NEW_CONSTR_ID = MAX(GUID) FROM TBPMO_FORM_CONSTRUCTOR WHERE UPPER(FORM_TITLE) = UPPER(@pNAME)
|
||
|
||
DECLARE c_ENTITY0 CURSOR FOR
|
||
SELECT T.GUID,T.LEVEL FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE
|
||
T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = 0 AND T.GUID = @pFORM_ID ORDER BY T.LEVEL
|
||
BEGIN
|
||
OPEN c_ENTITY0
|
||
FETCH NEXT FROM c_ENTITY0 INTO @FORM_ID,@SEQUENCE
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @NEW_CONSTR_ID AND FORM_ID = @FORM_ID AND PARENT_ID = 0)
|
||
INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL (
|
||
CONSTRUCT_ID
|
||
,FORM_ID
|
||
,PARENT_ID
|
||
,LEVEL1_SELECT
|
||
,SEQUENCE
|
||
,SQL_SELECT_EBENE1
|
||
,SQL_SELECT_EBENE2
|
||
,ADDED_WHO
|
||
) VALUES (
|
||
@NEW_CONSTR_ID
|
||
,@FORM_ID
|
||
,0
|
||
,0
|
||
,0
|
||
,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID)
|
||
,''
|
||
,'CREATE_ROUTINE2'
|
||
)
|
||
FETCH NEXT FROM c_ENTITY0 INTO @FORM_ID,@SEQUENCE
|
||
END
|
||
END
|
||
CLOSE c_ENTITY0
|
||
DEALLOCATE c_ENTITY0
|
||
|
||
DECLARE c_ENTITY1 CURSOR FOR
|
||
SELECT
|
||
T.GUID, T.PARENT_ID, T.LEVEL
|
||
FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = @FORM_ID ORDER BY T.LEVEL
|
||
BEGIN
|
||
OPEN c_ENTITY1
|
||
FETCH NEXT FROM c_ENTITY1 INTO @FORM_ID,@PARENT_ID,@SEQUENCE
|
||
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @NEW_CONSTR_ID AND FORM_ID = @FORM_ID AND PARENT_ID = @PARENT_ID)
|
||
BEGIN
|
||
PRINT 'c_ENTITY1: SELECT * FROM TBPMO_FORM WHERE PARENT_ID = @' + CONVERT(VARCHAR(3),@FORM_ID)
|
||
INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL (
|
||
CONSTRUCT_ID
|
||
,FORM_ID
|
||
,PARENT_ID
|
||
,LEVEL1_SELECT
|
||
,SEQUENCE
|
||
,SQL_SELECT_EBENE1
|
||
,SQL_SELECT_EBENE2
|
||
,ADDED_WHO
|
||
) VALUES (
|
||
@NEW_CONSTR_ID
|
||
,@FORM_ID
|
||
,@PARENT_ID
|
||
,0
|
||
,@SEQUENCE
|
||
,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID)
|
||
,'SELECT T.* FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@PARENT_ID) + ' AS T, TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @RecordID'
|
||
,'CREATE_ROUTINE2'
|
||
)
|
||
END
|
||
|
||
If EXISTS(SELECT * FROM TBPMO_FORM WHERE PARENT_ID = @FORM_ID)
|
||
BEGIN
|
||
PRINT 'c_ENTITY2: SELECT * FROM TBPMO_FORM WHERE PARENT_ID = ' + CONVERT(VARCHAR(3),@FORM_ID)
|
||
--###############
|
||
DECLARE c_ENTITY2 CURSOR FOR
|
||
SELECT
|
||
T.GUID, T.PARENT_ID, T.LEVEL
|
||
FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = @FORM_ID ORDER BY T.LEVEL
|
||
BEGIN
|
||
OPEN c_ENTITY2
|
||
FETCH NEXT FROM c_ENTITY2 INTO @FORM_ID,@PARENT_ID2,@SEQUENCE2
|
||
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL (
|
||
CONSTRUCT_ID
|
||
,FORM_ID
|
||
,PARENT_ID
|
||
,LEVEL1_SELECT
|
||
,SEQUENCE
|
||
,SQL_SELECT_EBENE1
|
||
,SQL_SELECT_EBENE2
|
||
,ADDED_WHO
|
||
) VALUES (
|
||
@NEW_CONSTR_ID
|
||
,@FORM_ID
|
||
,@PARENT_ID2
|
||
,0
|
||
,@SEQUENCE2
|
||
,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID)
|
||
,'SELECT T.* FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@PARENT_ID2) + ' AS T, TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @RecordID'
|
||
,'CREATE_ROUTINE3'
|
||
)
|
||
FETCH NEXT FROM c_ENTITY2 INTO @FORM_ID,@PARENT_ID2,@SEQUENCE2
|
||
END
|
||
CLOSE c_ENTITY2
|
||
DEALLOCATE c_ENTITY2
|
||
END
|
||
END
|
||
--###############
|
||
|
||
FETCH NEXT FROM c_ENTITY1 INTO @FORM_ID,@PARENT_ID,@SEQUENCE
|
||
END
|
||
|
||
CLOSE c_ENTITY1
|
||
DEALLOCATE c_ENTITY1
|
||
END
|
||
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,
|
||
(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_RECORD
|
||
ADD NODE_GUID INTEGER
|
||
GO
|
||
ALTER TABLE TBPMO_WORKFLOW
|
||
ADD MANUALLY BIT NOT NULL DEFAULT 0
|
||
GO
|
||
|
||
ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD]
|
||
WITH EXECUTE AS CALLER
|
||
FOR INSERT
|
||
AS
|
||
BEGIN TRY
|
||
DECLARE
|
||
@RECORD_ID INTEGER,
|
||
@MAX_ID INTEGER,
|
||
@FORM_ID INTEGER,
|
||
@WF_ID INTEGER,
|
||
@PARENT_ID INTEGER
|
||
SELECT
|
||
@FORM_ID = FORM_ID,
|
||
@RECORD_ID = GUID
|
||
FROM INSERTED
|
||
|
||
IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID)
|
||
SELECT @MAX_ID = MAX(RECORD_ENTITY_ID) + 1
|
||
FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID
|
||
ELSE
|
||
SET @MAX_ID = 1
|
||
|
||
UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
|
||
|
||
----<2D>berpr<70>fen ob f<>r die Entity_ID Workflows definiert sind?
|
||
IF EXISTS(
|
||
SELECT DISTINCT T.[ENTITY_ID] FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 where T.WF_ID = T1.GUID AND T1.MANUALLY = 0 AND T.[ENTITY_ID] = @FORM_ID
|
||
)
|
||
BEGIN
|
||
EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID
|
||
END
|
||
|
||
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 |