diff --git a/00_IDB/CreateDB.sql b/00_IDB/CreateDB.sql
new file mode 100644
index 0000000..e4aa55c
--- /dev/null
+++ b/00_IDB/CreateDB.sql
@@ -0,0 +1,111 @@
+USE [master]
+GO
+
+/****** Object: Database [IDB] Script Date: 10.01.2020 12:55:47 ******/
+CREATE DATABASE [IDB]
+ CONTAINMENT = NONE
+ ON PRIMARY
+( NAME = N'IDB', FILENAME = N'E:\DataFiles\Microsoft SQL Server 2017\MSSQL14.DD_DEVELOP01\MSSQL\DATA\IDB.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
+ LOG ON
+( NAME = N'IDB_log', FILENAME = N'E:\DataFiles\Microsoft SQL Server 2017\MSSQL14.DD_DEVELOP01\MSSQL\DATA\IDB_log.ldf' , SIZE = 5184KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
+GO
+
+IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
+begin
+EXEC [IDB].[dbo].[sp_fulltext_database] @action = 'enable'
+end
+GO
+
+ALTER DATABASE [IDB] SET ANSI_NULL_DEFAULT OFF
+GO
+
+ALTER DATABASE [IDB] SET ANSI_NULLS OFF
+GO
+
+ALTER DATABASE [IDB] SET ANSI_PADDING OFF
+GO
+
+ALTER DATABASE [IDB] SET ANSI_WARNINGS OFF
+GO
+
+ALTER DATABASE [IDB] SET ARITHABORT OFF
+GO
+
+ALTER DATABASE [IDB] SET AUTO_CLOSE OFF
+GO
+
+ALTER DATABASE [IDB] SET AUTO_SHRINK OFF
+GO
+
+ALTER DATABASE [IDB] SET AUTO_UPDATE_STATISTICS ON
+GO
+
+ALTER DATABASE [IDB] SET CURSOR_CLOSE_ON_COMMIT OFF
+GO
+
+ALTER DATABASE [IDB] SET CURSOR_DEFAULT GLOBAL
+GO
+
+ALTER DATABASE [IDB] SET CONCAT_NULL_YIELDS_NULL OFF
+GO
+
+ALTER DATABASE [IDB] SET NUMERIC_ROUNDABORT OFF
+GO
+
+ALTER DATABASE [IDB] SET QUOTED_IDENTIFIER OFF
+GO
+
+ALTER DATABASE [IDB] SET RECURSIVE_TRIGGERS OFF
+GO
+
+ALTER DATABASE [IDB] SET DISABLE_BROKER
+GO
+
+ALTER DATABASE [IDB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
+GO
+
+ALTER DATABASE [IDB] SET DATE_CORRELATION_OPTIMIZATION OFF
+GO
+
+ALTER DATABASE [IDB] SET TRUSTWORTHY OFF
+GO
+
+ALTER DATABASE [IDB] SET ALLOW_SNAPSHOT_ISOLATION OFF
+GO
+
+ALTER DATABASE [IDB] SET PARAMETERIZATION SIMPLE
+GO
+
+ALTER DATABASE [IDB] SET READ_COMMITTED_SNAPSHOT OFF
+GO
+
+ALTER DATABASE [IDB] SET HONOR_BROKER_PRIORITY OFF
+GO
+
+ALTER DATABASE [IDB] SET RECOVERY FULL
+GO
+
+ALTER DATABASE [IDB] SET MULTI_USER
+GO
+
+ALTER DATABASE [IDB] SET PAGE_VERIFY CHECKSUM
+GO
+
+ALTER DATABASE [IDB] SET DB_CHAINING OFF
+GO
+
+ALTER DATABASE [IDB] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
+GO
+
+ALTER DATABASE [IDB] SET TARGET_RECOVERY_TIME = 0 SECONDS
+GO
+
+ALTER DATABASE [IDB] SET DELAYED_DURABILITY = DISABLED
+GO
+
+ALTER DATABASE [IDB] SET QUERY_STORE = OFF
+GO
+
+ALTER DATABASE [IDB] SET READ_WRITE
+GO
+
diff --git a/00_IDB/CreateDBObjects.sql b/00_IDB/CreateDBObjects.sql
new file mode 100644
index 0000000..4369e5e
--- /dev/null
+++ b/00_IDB/CreateDBObjects.sql
@@ -0,0 +1,4614 @@
+--REPLACE @MY_DD_ECM_DB WITH REAL_DBNAME
+
+USE IDB
+GO
+CREATE TABLE TBIDB_LAYOUT_CONFIG
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ TITLE VARCHAR(100) NOT NULL,
+ COMMENT VARCHAR(500),
+ XML_CONTENT NVARCHAR(MAX) NOT NULL,
+ ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME DEFAULT (GETDATE()),
+ CHANGED_WHO VARCHAR(30),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_LAYOUT_CONFIG PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_LAYOUT_CONFIG_TITLE UNIQUE (TITLE)
+)
+GO
+CREATE TRIGGER TBIDB_LAYOUT_CONFIG_AFT_UPD ON TBIDB_LAYOUT_CONFIG
+FOR UPDATE
+AS
+ UPDATE TBIDB_LAYOUT_CONFIG SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_LAYOUT_CONFIG.GUID = INSERTED.GUID
+GO
+--DROP TABLE TBIDB_CATALOG
+CREATE TABLE TBIDB_CATALOG
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ CAT_TITLE VARCHAR(100) NOT NULL,
+ CAT_STRING VARCHAR(900) 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_TBIDB_CATALOG PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_CATALOG_TITLE UNIQUE (CAT_TITLE)
+)
+GO
+INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('DB_VERSION','1.0.4.1')
+GO
+INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('FILESTORE_PRAEFIX','\\IDB\OBJECTS')
+GO
+--INSERT INTO [TBIDB_CATALOG] ([CAT_TITLE],[CAT_STRING]) VALUES ('APPSERV1','172.24.12.39')
+--GO
+INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('GHOST_SELECT','
+SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM @MY_DD_ECM_DB.dbo.TBDD_USER T ORDER BY USERNAME')
+GO
+CREATE TRIGGER TBIDB_CATALOG_AFT_UPD ON TBIDB_CATALOG
+FOR UPDATE
+AS
+ UPDATE TBIDB_CATALOG SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_CATALOG.GUID = INSERTED.GUID
+GO
+
+--DROP TABLE TBIDB_OBJECT_STORE
+CREATE TABLE TBIDB_OBJECT_STORE
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ OBJECT_TITLE VARCHAR(250) NOT NULL,
+ CAT_ID INTEGER NOT NULL,
+ OBJ_PATH VARCHAR(250) NOT NULL,
+ IS_ARCHIVE BIT 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_TBIDB_OBJECT_STORE PRIMARY KEY (GUID),
+ CONSTRAINT FK_OS_CAT_ID FOREIGN KEY (CAT_ID) REFERENCES TBIDB_CATALOG (GUID) ,
+ CONSTRAINT UQ1_TBIDB_OBJECT_STORE UNIQUE (OBJECT_TITLE),
+ CONSTRAINT UQ2_TBIDB_OBJECT_STORE UNIQUE (OBJ_PATH)
+)
+GO
+CREATE TRIGGER TBIDB_OBJECT_STORE_AFT_UPD ON TBIDB_OBJECT_STORE
+FOR UPDATE
+AS
+ UPDATE TBIDB_OBJECT_STORE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_OBJECT_STORE.GUID = INSERTED.GUID
+GO
+
+CREATE TABLE TBIDB_DOCTYPE_OBJECT_STORE
+(
+ GUID INT NOT NULL IDENTITY (1, 1),
+ DOCTYPE_ID INT NOT NULL,
+ OBJECT_ST_ID INT NOT NULL,
+ ACTIVE BIT NOT NULL DEFAULT 1,
+ COMMENT VARCHAR(1000),
+ 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_TBIDB_DOCTYPE_OBJECT_STORE PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_DOCTYPE_OBJECT_STORE UNIQUE (DOCTYPE_ID,OBJECT_ST_ID),
+ CONSTRAINT FK_TBIDB_DOCTYPE_OBJECT_STORE_OSTID FOREIGN KEY (OBJECT_ST_ID) REFERENCES TBIDB_OBJECT_STORE (GUID)
+)
+GO
+CREATE TRIGGER TBIDB_DOCTYPE_OBJECT_STORE_AFT_UPD ON TBIDB_DOCTYPE_OBJECT_STORE
+FOR UPDATE
+AS
+ UPDATE TBIDB_DOCTYPE_OBJECT_STORE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_DOCTYPE_OBJECT_STORE.GUID = INSERTED.GUID
+GO
+
+CREATE TABLE TBIDB_TERM_VALUE_VARCHAR
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ TERM_VALUE VARCHAR(900) NOT NULL,
+ ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
+ CHANGED_WHO VARCHAR(100),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_TERM_VALUE_VARCHAR PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_TERM_VALUE_VARCHAR UNIQUE (TERM_VALUE)
+)
+GO
+CREATE TRIGGER TBIDB_TERM_VALUE_VARCHAR_AFT_UPD ON TBIDB_TERM_VALUE_VARCHAR
+FOR UPDATE
+AS
+ UPDATE TBIDB_TERM_VALUE_VARCHAR SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_TERM_VALUE_VARCHAR.GUID = INSERTED.GUID
+GO
+CREATE TABLE TBIDB_TERM_VALUE_INTEGER
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ TERM_VALUE BIGINT NOT NULL,
+ ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
+ CHANGED_WHO VARCHAR(100),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_TERM_VALUE_INTEGER PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_TERM_VALUE_INTEGER UNIQUE (TERM_VALUE)
+)
+GO
+CREATE TRIGGER TBIDB_TERM_VALUE_INTEGER_AFT_UPD ON TBIDB_TERM_VALUE_INTEGER
+FOR UPDATE
+AS
+ UPDATE TBIDB_TERM_VALUE_INTEGER SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_TERM_VALUE_INTEGER.GUID = INSERTED.GUID
+GO
+INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE) VALUES (0);
+INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE) VALUES (1);
+
+CREATE TABLE TBIDB_TERM_VALUE_FLOAT
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ TERM_VALUE FLOAT NOT NULL,
+ ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
+ CHANGED_WHO VARCHAR(100),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_TERM_VALUE_FLOAT PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_TERM_VALUE_FLOAT UNIQUE (TERM_VALUE)
+)
+GO
+CREATE TRIGGER TBIDB_TERM_VALUE_FLOAT_AFT_UPD ON TBIDB_TERM_VALUE_FLOAT
+FOR UPDATE
+AS
+ UPDATE TBIDB_TERM_VALUE_FLOAT SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_TERM_VALUE_FLOAT.GUID = INSERTED.GUID
+GO
+CREATE TABLE TBIDB_TERM_VALUE_DECIMAL
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ TERM_VALUE DECIMAL(19, 0) NOT NULL,
+ ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
+ CHANGED_WHO VARCHAR(100),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_TERM_VALUE_DECIMAL PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_TERM_VALUE_DECIMAL UNIQUE (TERM_VALUE)
+)
+GO
+CREATE TRIGGER TBIDB_TERM_VALUE_DECIMAL_AFT_UPD ON TBIDB_TERM_VALUE_DECIMAL
+FOR UPDATE
+AS
+ UPDATE TBIDB_TERM_VALUE_DECIMAL SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_TERM_VALUE_DECIMAL.GUID = INSERTED.GUID
+GO
+CREATE TABLE TBIDB_TERM_VALUE_DATE
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ TERM_VALUE DATE NOT NULL,
+ ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
+ CHANGED_WHO VARCHAR(100),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_TERM_VALUE_DATE PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_TERM_VALUE_DATE UNIQUE (TERM_VALUE)
+)
+GO
+CREATE TRIGGER TBIDB_TERM_VALUE_DATE_AFT_UPD ON TBIDB_TERM_VALUE_DATE
+FOR UPDATE
+AS
+ UPDATE TBIDB_TERM_VALUE_DATE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_TERM_VALUE_DATE.GUID = INSERTED.GUID
+GO
+--DELETE FROM TBIDB_OBJECT_METADATA
+--DELETE FROM TBIDB_LANGUAGE_TERM_METADATA
+--DELETE FROM TBIDB_FILE_OBJECT
+--DELETE FROM TBIDB_OBJECT_BE
+--DELETE FROM TBIDB_OBJECT_METADATA_CHANGE
+--DELETE FROM TBIDB_OBJECT
+DROP TABLE TBIDB_TERM_VALUE_DATETIME
+CREATE TABLE TBIDB_TERM_VALUE_DATETIME
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ TERM_VALUE DATETIME NOT NULL,
+ ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
+ CHANGED_WHO VARCHAR(100),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_TERM_VALUE_DATETIME PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_TERM_VALUE_DATETIME UNIQUE (TERM_VALUE)
+)
+GO
+CREATE TRIGGER TBIDB_TERM_VALUE_DATETIME_UPD ON TBIDB_TERM_VALUE_DATETIME
+FOR UPDATE
+AS
+ UPDATE TBIDB_TERM_VALUE_DATETIME SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_TERM_VALUE_DATETIME.GUID = INSERTED.GUID
+GO
+--DROP TABLE TBIDB_ATTRIBUTE_TYPE
+CREATE TABLE TBIDB_ATTRIBUTE_TYPE
+(
+ GUID TINYINT NOT NULL IDENTITY (1, 1),
+ NAME_TYPE VARCHAR(100) NOT NULL,
+ COMMENT VARCHAR(500),
+ BIT1 BIT NOT NULL DEFAULT 0,
+ BIT2 BIT NOT NULL DEFAULT 0,
+ BIT3 BIT NOT NULL DEFAULT 0,
+ BIT4 BIT NOT NULL DEFAULT 0,
+ DELETED BIT NOT NULL DEFAULT 0,
+ DELETED_WHO VARCHAR(100),
+ DELETED_WHEN DATETIME,
+ 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_TBIDB_ATTRIBUTE_TYPE PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_ATTRIBUTE_TYPE UNIQUE (NAME_TYPE)
+)
+GO
+CREATE TRIGGER TBIDB_ATTRIBUTE_TYPE_AFT_UPD ON TBIDB_ATTRIBUTE_TYPE
+FOR UPDATE
+AS
+ UPDATE TBIDB_ATTRIBUTE_TYPE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_ATTRIBUTE_TYPE.GUID = INSERTED.GUID
+GO
+INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('VARCHAR'); --1
+INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('BIG INTEGER');--2
+INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('FLOAT');--3
+INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('DECIMAL');--4
+INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('DATE');--5
+INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('DATETIME');--6
+INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('BIT');--7
+INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('VECTOR STRING');--8
+INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('VECTOR INTEGER');--9
+
+--DROP TABLE TBIDB_OBJECT_KIND
+CREATE TABLE TBIDB_OBJECT_KIND
+(
+ GUID TINYINT NOT NULL IDENTITY (1, 1),
+ KIND_NAME VARCHAR(100) 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_TBIDB_OBJECT_KIND PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_OBJECT_KIND UNIQUE (KIND_NAME)
+)
+GO
+INSERT INTO TBIDB_OBJECT_KIND (KIND_NAME) VALUES ('DOC');
+INSERT INTO TBIDB_OBJECT_KIND (KIND_NAME) VALUES ('OBJECT');
+GO
+CREATE TRIGGER TBIDB_OBJECT_KIND_AFT_UPD ON TBIDB_OBJECT_KIND
+FOR UPDATE
+AS
+ UPDATE TBIDB_OBJECT_KIND SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_OBJECT_KIND.GUID = INSERTED.GUID
+GO
+--DROP TABLE TBIDB_BUSINESS_ENTITY
+CREATE TABLE TBIDB_BUSINESS_ENTITY
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ TITLE VARCHAR(500) NOT NULL,
+ PARENT_ENT_ID INTEGER NOT NULL DEFAULT 0,
+ INHERITS_ATTRIBUTES BIT NOT NULL DEFAULT 1,
+ COMMENT VARCHAR(1000),
+ 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_TBIDB_BUSINESS_ENTITY PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_BUSINESS_ENTITY UNIQUE (TITLE)
+)
+GO
+CREATE TRIGGER TBIDB_BUSINESS_ENTITY_AFT_UPD ON TBIDB_BUSINESS_ENTITY
+FOR UPDATE
+AS
+ UPDATE TBIDB_BUSINESS_ENTITY SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_BUSINESS_ENTITY.GUID = INSERTED.GUID
+GO
+INSERT INTO TBIDB_BUSINESS_ENTITY (TITLE) VALUES ('DEFAULT');
+
+CREATE TABLE TBIDB_LANGUAGE
+(
+ GUID TINYINT NOT NULL IDENTITY (1, 1),
+ LANG_CODE VARCHAR(10) NOT NULL,
+ CREATE_DEFAULT_ENTRY BIT NOT NULL DEFAULT 0,
+ COMMENT VARCHAR(1000),
+ 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_TBIDB_LANGUAGE PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_LANGUAGE UNIQUE (LANG_CODE)
+)
+GO
+CREATE TRIGGER TBIDB_LANGUAGE_AFT_UPD ON TBIDB_LANGUAGE
+FOR UPDATE
+AS
+ UPDATE TBIDB_LANGUAGE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_LANGUAGE.GUID = INSERTED.GUID
+GO
+INSERT INTO TBIDB_LANGUAGE (LANG_CODE,CREATE_DEFAULT_ENTRY) VALUES ('de-DE',1);
+INSERT INTO TBIDB_LANGUAGE (LANG_CODE,CREATE_DEFAULT_ENTRY) VALUES ('en-EN',1);
+
+GO
+F
+--DROP TABLE TBIDB_OBJECT_BE
+--DROP TABLE TBIDB_OBJECT
+CREATE TABLE TBIDB_OBJECT
+(
+ IDB_OBJ_ID BIGINT NOT NULL IDENTITY (10000, 1),
+ KIND_TYPE_ID TINYINT NOT NULL,
+ REFERENCE_KEY BIGINT,
+ PARENT_OBJ_ID BIGINT NOT NULL DEFAULT 0,
+ IS_VERSION BIT NOT NULL DEFAULT 0,
+ ACTIVE BIT NOT NULL DEFAULT 1,
+ DELETED BIT NOT NULL DEFAULT 0,
+ COMMENT VARCHAR(1000),
+ 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_TBIDB_OBJECT PRIMARY KEY (IDB_OBJ_ID),
+ CONSTRAINT UQ_TBIDB_OBJECT UNIQUE (REFERENCE_KEY),
+ CONSTRAINT FK_KIND_TYPE_ID FOREIGN KEY (KIND_TYPE_ID) REFERENCES TBIDB_OBJECT_KIND (GUID)
+)
+GO
+
+CREATE TRIGGER TBIDB_OBJECT_AFT_INS ON TBIDB_OBJECT
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @IDB_OBJ_ID BIGINT,
+ @REFERENCE_KEY BIGINT
+ SELECT
+ @IDB_OBJ_ID = IDB_OBJ_ID,
+ @REFERENCE_KEY = REFERENCE_KEY
+ FROM INSERTED
+
+ IF @REFERENCE_KEY IS NULL
+ UPDATE TBIDB_OBJECT SET REFERENCE_KEY = @IDB_OBJ_ID
+ FROM INSERTED
+ WHERE TBIDB_OBJECT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE TRIGGER TBIDB_OBJECT_AFT_UPD ON TBIDB_OBJECT
+FOR UPDATE
+AS
+ UPDATE TBIDB_OBJECT SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_OBJECT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
+GO
+CREATE TABLE TBIDB_DOC_INFO
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ IDB_OBJ_ID BIGINT NOT NULL,
+ OBJ_ST_ID INTEGER NOT NULL,
+ FILENAME_ONLY VARCHAR(250) NOT NULL,
+ FILENAME_EXT VARCHAR(250) NOT NULL,
+ EXTENSION_TERM BIGINT NOT NULL,
+ RELATIVE_PATH VARCHAR(250) NOT NULL,
+ RELATIVE_PATH_ONLY_TERM BIGINT NOT NULL,
+ FULL_TEXT VARBINARY(MAX),
+ FILE_SIZE INTEGER,
+ COMMENT VARCHAR(1000),
+ 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_TBIDB_DOC_INFO PRIMARY KEY (GUID),
+ CONSTRAINT UQ_DI_IDB_OBJ_ID UNIQUE (IDB_OBJ_ID),
+ CONSTRAINT FK_DI_IDB_OBJ_ST_ID FOREIGN KEY (OBJ_ST_ID) REFERENCES TBIDB_OBJECT_STORE (GUID),
+ CONSTRAINT FK_DI_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
+ CONSTRAINT FKTBIDB_DOC_INFO_RELATIVEPATHONLYTERM FOREIGN KEY (RELATIVE_PATH_ONLY_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID),
+ CONSTRAINT FKTBIDB_DOC_INFO_EXTENSIONTERM FOREIGN KEY (EXTENSION_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID)
+)
+GO
+CREATE TRIGGER TBIDB_DOC_INFO_AFT_UPD ON TBIDB_DOC_INFO
+FOR UPDATE
+AS
+ UPDATE TBIDB_DOC_INFO SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_DOC_INFO.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
+GO
+
+--DROP TABLE TBIDB_OBJECT_BE
+CREATE TABLE TBIDB_OBJECT_BE
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ IDB_OBJ_ID BIGINT NOT NULL,
+ BE_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(1000),
+ 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_TBIDB_OBJECT_BE PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_OBJECT_BE UNIQUE (IDB_OBJ_ID,BE_ID),
+ CONSTRAINT FK_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
+ CONSTRAINT FK_BE_ID FOREIGN KEY (BE_ID) REFERENCES TBIDB_BUSINESS_ENTITY (GUID),
+)
+GO
+CREATE TRIGGER TBIDB_OBJECT_BE_AFT_UPD ON TBIDB_OBJECT_BE
+FOR UPDATE
+AS
+ UPDATE TBIDB_OBJECT_BE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_OBJECT_BE.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
+GO
+
+--ALTER TABLE TBIDB_ATTRIBUTE ADD SYS_ATTRIBUTE BIT NOT NULL DEFAULT 0
+GO
+CREATE TABLE TBIDB_ATTRIBUTE
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ TITLE VARCHAR(100) NOT NULL,
+ TYP_ID TINYINT NOT NULL,
+ MULTI_CONTEXT BIT NOT NULL DEFAULT 0,
+ VIEW_SEQUENCE INTEGER NOT NULL DEFAULT 0,
+ VIEW_VISIBLE BIT NOT NULL DEFAULT 1,
+ SYS_ATTRIBUTE BIT NOT NULL DEFAULT 0,
+ COMMENT VARCHAR(1000),
+ ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
+ CHANGED_WHO VARCHAR(30),
+ CHANGED_WHEN DATETIME,
+ DELETED BIT NOT NULL DEFAULT 0,
+ DELETED_WHO VARCHAR(100),
+ DELETED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_ATTRIBUTE PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_ATTRIBUTE UNIQUE (TITLE),
+ CONSTRAINT FK_TYP_ID FOREIGN KEY (TYP_ID) REFERENCES TBIDB_ATTRIBUTE_TYPE (GUID)
+)
+GO
+CREATE TRIGGER TBIDB_ATTRIBUTE_AFT_UPD ON TBIDB_ATTRIBUTE
+FOR UPDATE
+AS
+ UPDATE TBIDB_ATTRIBUTE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_ATTRIBUTE.GUID = INSERTED.GUID
+GO
+
+CREATE TRIGGER TBIDB_ATTRIBUTE_AFT_INS ON TBIDB_ATTRIBUTE
+FOR INSERT
+AS
+ DECLARE
+ @ATTRIBUTE_ID INTEGER,
+ @TYP_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @TITLE VARCHAR(100),
+ @ADD_DEFAULT BIT,
+ @LANG_ID INTEGER,
+ @LANG_CODE VARCHAR(5)
+ SELECT
+ @ATTRIBUTE_ID = GUID,
+ @TYP_ID = TYP_ID,
+ @ADDED_WHO = ADDED_WHO,
+ @TITLE = TITLE
+ FROM INSERTED
+
+ SELCT
+ DECLARE @NEW_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@TITLE,'',@TERM_ID = @NEW_TERM_ID OUTPUT;
+
+ DECLARE cursorIDBLANGUAGE_ATTR CURSOR FOR
+ select GUID,LANG_CODE from TBIDB_LANGUAGE where CREATE_DEFAULT_ENTRY = 1
+ OPEN cursorIDBLANGUAGE_ATTR
+ FETCH NEXT FROM cursorIDBLANGUAGE_ATTR INTO @LANG_ID,@LANG_CODE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO [dbo].[TBIDB_ATTRIBUTE_LANGUAGE]
+ ([ATTRIBUTE_ID]
+ ,[LANGUAGE_ID]
+ ,[TERM_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@ATTRIBUTE_ID
+ ,@LANG_ID
+ ,@NEW_TERM_ID
+ ,@ADDED_WHO);
+ EXEC PRIDB_CREATE_VIEW_DOC_DATA @LANG_CODE
+ FETCH NEXT FROM cursorIDBLANGUAGE_ATTR INTO @LANG_ID,@LANG_CODE
+ END
+CLOSE cursorIDBLANGUAGE_ATTR
+DEALLOCATE cursorIDBLANGUAGE_ATTR
+
+GO
+
+CREATE TABLE TBIDB_BE_ATTRIBUTE
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ BE_ID INTEGER NOT NULL,
+ ATTR_ID INTEGER NOT NULL,
+ DEFAULT_SEARCH_ATTRIBUTE BIT NOT NULL DEFAULT 0,
+ COMMENT VARCHAR(1000),
+ 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_TBIDB_BE_ATTRIBUTE PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_BE_ATTRIBUTE UNIQUE (BE_ID,ATTR_ID),
+ CONSTRAINT FK_IDB_BEATT_BEID FOREIGN KEY (BE_ID) REFERENCES TBIDB_BUSINESS_ENTITY (GUID),
+ CONSTRAINT FK_IDB_BEATT_AID FOREIGN KEY (ATTR_ID) REFERENCES TBIDB_ATTRIBUTE (GUID),
+)
+GO
+CREATE TRIGGER TBIDB_BE_ATTRIBUTE_AFT_UPD ON TBIDB_BE_ATTRIBUTE
+FOR UPDATE
+AS
+ UPDATE TBIDB_BE_ATTRIBUTE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_BE_ATTRIBUTE.GUID = INSERTED.GUID
+GO
+--DROP TABLE TBIDB_TERM_LANGUAGE
+CREATE TABLE TBIDB_TERM_LANGUAGE
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ LANGUAGE_ID TINYINT NOT NULL DEFAULT 1,
+ TEXT_TERM_ID BIGINT NOT NULL,
+ ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
+ CHANGED_WHO VARCHAR(100),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_TERM_LANGUAGE PRIMARY KEY (GUID),
+ CONSTRAINT FK_TL_LANGUAGE_ID FOREIGN KEY (LANGUAGE_ID) REFERENCES TBIDB_LANGUAGE (GUID),
+)
+GO
+CREATE TRIGGER [dbo].[TBIDB_TERM_LANGUAGE_AFT_UPD] ON [dbo].[TBIDB_TERM_LANGUAGE]
+FOR UPDATE
+AS
+ UPDATE TBIDB_TERM_LANGUAGE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_TERM_LANGUAGE.GUID = INSERTED.GUID
+GO
+ --DROP TABLE TBIDB_OBJECT_METADATA_CHANGE
+
+--DROP TABLE TBIDB_OBJECT_METADATA
+CREATE TABLE TBIDB_OBJECT_METADATA
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ IDB_OBJ_ID BIGINT NOT NULL,
+ ATTR_ID INTEGER NOT NULL,
+ TEXT_TERM_LANG_ID BIGINT,
+ INT_TERM_ID BIGINT,
+ DEC_TERM_ID BIGINT,
+ FLOAT_TERM_ID BIGINT,
+ DATE_TERM_ID BIGINT,
+ DATETIME_TERM_ID BIGINT,
+ ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
+ CHANGED_WHO VARCHAR(100),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_OBJECT_METADATA PRIMARY KEY (GUID),
+ CONSTRAINT FK_OMD_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
+ CONSTRAINT FK_OMD_ATTR_ID FOREIGN KEY (ATTR_ID) REFERENCES TBIDB_ATTRIBUTE (GUID),
+ CONSTRAINT FK_OMD_TEXT_TERM_ID FOREIGN KEY (TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
+ CONSTRAINT FK_OMD_INT_TERM_ID FOREIGN KEY (INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER (GUID),
+ CONSTRAINT FK_OMD_DEC_TERM_ID FOREIGN KEY (DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL (GUID),
+ CONSTRAINT FK_OMD_FLOAT_TERM_ID FOREIGN KEY (FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT (GUID),
+ CONSTRAINT FK_OMD_DATE_TERM_ID FOREIGN KEY (DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE (GUID),
+ CONSTRAINT FK_OMD_DATETIME_TERM_ID FOREIGN KEY (DATETIME_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATETIME (GUID),
+)
+GO
+CREATE TABLE TBIDB_OBJECT_METADATA_CHANGE
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ IDB_OBJ_ID BIGINT NOT NULL,
+ ATTR_ID INTEGER NOT NULL,
+ OLD_TEXT_TERM_LANG_ID BIGINT,
+ NEW_TEXT_TERM_LANG_ID BIGINT,
+ OLD_INT_TERM_ID BIGINT,
+ NEW_INT_TERM_ID BIGINT,
+ OLD_DEC_TERM_ID BIGINT,
+ NEW_DEC_TERM_ID BIGINT,
+ OLD_FLOAT_TERM_ID BIGINT,
+ NEW_FLOAT_TERM_ID BIGINT,
+ OLD_DATE_TERM_ID BIGINT,
+ NEW_DATE_TERM_ID BIGINT,
+ COMMENT VARCHAR(500),
+ ADDED_WHO VARCHAR(100),
+ CHANGED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
+ CHANGED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
+ CONSTRAINT PK_TBIDB_OBJECT_METADATA_CHANGE PRIMARY KEY (GUID),
+ CONSTRAINT FK_OMDC_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
+ CONSTRAINT FK_OMDC_ATTR_ID FOREIGN KEY (ATTR_ID) REFERENCES TBIDB_ATTRIBUTE (GUID),
+ CONSTRAINT FK_OMDC_OLD_TEXT_TERM_ID FOREIGN KEY (OLD_TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
+ CONSTRAINT FK_OMDC_NEW_TEXT_TERM_ID FOREIGN KEY (NEW_TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
+ CONSTRAINT FK_OMDC_OLD_INT_TERM_ID FOREIGN KEY (OLD_INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER (GUID),
+ CONSTRAINT FK_OMDC_NEW_INT_TERM_ID FOREIGN KEY (NEW_INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER (GUID),
+ CONSTRAINT FK_OMDC_OLD_DEC_TERM_ID FOREIGN KEY (OLD_DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL (GUID),
+ CONSTRAINT FK_OMDC_NEW_DEC_TERM_ID FOREIGN KEY (NEW_DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL (GUID),
+ CONSTRAINT FK_OMDC_OLD_FLOAT_TERM_ID FOREIGN KEY (OLD_FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT (GUID),
+ CONSTRAINT FK_OMDC_NEW_FLOAT_TERM_ID FOREIGN KEY (NEW_FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT (GUID),
+ CONSTRAINT FK_OMDC_OLD_DATE_TERM_ID FOREIGN KEY (OLD_DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE (GUID),
+ CONSTRAINT FK_OMDC_NEW_DATE_TERM_ID FOREIGN KEY (NEW_DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE (GUID),
+)
+GO
+
+CREATE TABLE [dbo].[TBIDB_OBJECT_METADATA_ADD](
+ [GUID] BIGINT IDENTITY(1,1) NOT NULL,
+ [IDB_OBJ_ID] BIGINT NOT NULL,
+ [ATTR_ID] INT NOT NULL,
+ [TEXT_TERM_LANG_ID] BIGINT,
+ [INT_TERM_ID] BIGINT,
+ [DEC_TERM_ID] BIGINT,
+ [FLOAT_TERM_ID] BIGINT,
+ [DATE_TERM_ID] BIGINT,
+ [ADDED_WHO] VARCHAR(100),
+ [ADDED_WHEN] DATETIME NOT NULL,
+ CONSTRAINT PK_TBDD_GROUPS_USER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_ATTRID FOREIGN KEY(ATTR_ID) REFERENCES TBIDB_ATTRIBUTE(GUID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_IDBOBJID FOREIGN KEY(IDB_OBJ_ID) REFERENCES TBIDB_OBJECT(IDB_OBJ_ID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DATETERMID FOREIGN KEY(DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE(GUID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DECTERMID FOREIGN KEY(DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL(GUID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_FLOATTERMID FOREIGN KEY(FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT(GUID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_INTTERMID FOREIGN KEY(INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER(GUID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_TEXTTERMLANGID FOREIGN KEY(TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE(GUID),
+ )
+
+GO
+
+CREATE TABLE TBIDB_OBJECT_METADATA_DELETE
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ IDB_OBJ_ID BIGINT NOT NULL,
+ ATTR_ID INTEGER NOT NULL,
+ TEXT_TERM_LANG_ID BIGINT,
+ INT_TERM_ID BIGINT,
+ DEC_TERM_ID BIGINT,
+ FLOAT_TERM_ID BIGINT,
+ DATE_TERM_ID BIGINT,
+ USER_DELETE_ID INTEGER NOT NULL DEFAULT 0,
+ ADDED_WHO VARCHAR(100),
+ ADDED_WHEN DATETIME,
+ DELETED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data',
+ DELETED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
+ CONSTRAINT PK_TBIDB_OBJECT_METADATA_DELETE PRIMARY KEY (GUID),
+ CONSTRAINT FK_OMDD_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
+ CONSTRAINT FK_OMDD_ATTR_ID FOREIGN KEY (ATTR_ID) REFERENCES TBIDB_ATTRIBUTE (GUID),
+ CONSTRAINT FK_OMDD_TEXT_TERM_ID FOREIGN KEY (TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
+ CONSTRAINT FK_OMDD_INT_TERM_ID FOREIGN KEY (INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER (GUID),
+ CONSTRAINT FK_OMDD_DEC_TERM_ID FOREIGN KEY (DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL (GUID),
+ CONSTRAINT FK_OMDD_FLOAT_TERM_ID FOREIGN KEY (FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT (GUID),
+ CONSTRAINT FK_OMDD_DATE_TERM_ID FOREIGN KEY (DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE (GUID),
+ )
+GO
+CREATE TRIGGER [dbo].[TBIDB_OBJECT_METADATA_AFT_UPD] ON [dbo].[TBIDB_OBJECT_METADATA]
+FOR UPDATE
+AS
+ DECLARE
+ @IDB_OBJ_ID BIGINT,
+ @ATTR_ID INTEGER,
+ @CHANGED_WHO VARCHAR(100),
+ @OLD_TEXT_TERM_LANG_ID BIGINT,
+ @NEW_TEXT_TERM_LANG_ID BIGINT,
+ @OLD_INT_TERM_ID BIGINT,
+ @NEW_INT_TERM_ID BIGINT,
+ @OLD_DEC_TERM_ID BIGINT,
+ @NEW_DEC_TERM_ID BIGINT,
+ @OLD_FLOAT_TERM_ID BIGINT,
+ @NEW_FLOAT_TERM_ID BIGINT,
+ @OLD_DATE_TERM_ID BIGINT,
+ @NEW_DATE_TERM_ID BIGINT
+
+ SELECT
+ @OLD_TEXT_TERM_LANG_ID = TEXT_TERM_LANG_ID,
+ @OLD_INT_TERM_ID = INT_TERM_ID,
+ @OLD_DEC_TERM_ID = DEC_TERM_ID,
+ @OLD_FLOAT_TERM_ID = FLOAT_TERM_ID,
+ @OLD_DATE_TERM_ID = DATE_TERM_ID
+ FROM DELETED
+ SELECT
+ @IDB_OBJ_ID = IDB_OBJ_ID,
+ @ATTR_ID = ATTR_ID,
+ @NEW_TEXT_TERM_LANG_ID = TEXT_TERM_LANG_ID,
+ @NEW_INT_TERM_ID = INT_TERM_ID,
+ @NEW_DEC_TERM_ID = DEC_TERM_ID,
+ @NEW_FLOAT_TERM_ID = FLOAT_TERM_ID,
+ @NEW_DATE_TERM_ID = DATE_TERM_ID,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ IF @IDB_OBJ_ID IS NOT NULL
+ INSERT INTO TBIDB_OBJECT_METADATA_CHANGE (
+ IDB_OBJ_ID,
+ ATTR_ID,
+ OLD_TEXT_TERM_LANG_ID,
+ NEW_TEXT_TERM_LANG_ID,
+ OLD_INT_TERM_ID,
+ NEW_INT_TERM_ID,
+ OLD_DEC_TERM_ID,
+ NEW_DEC_TERM_ID,
+ OLD_FLOAT_TERM_ID,
+ NEW_FLOAT_TERM_ID,
+ OLD_DATE_TERM_ID,
+ NEW_DATE_TERM_ID,
+ CHANGED_WHO) VALUES
+ (@IDB_OBJ_ID,
+ @ATTR_ID,
+ @OLD_TEXT_TERM_LANG_ID,
+ @NEW_TEXT_TERM_LANG_ID,
+ @OLD_INT_TERM_ID,
+ @NEW_INT_TERM_ID,
+ @OLD_DEC_TERM_ID,
+ @NEW_DEC_TERM_ID,
+ @OLD_FLOAT_TERM_ID,
+ @NEW_FLOAT_TERM_ID,
+ @OLD_DATE_TERM_ID,
+ @NEW_DATE_TERM_ID,
+ @CHANGED_WHO)
+
+
+ UPDATE TBIDB_OBJECT_METADATA SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_OBJECT_METADATA.GUID = INSERTED.GUID
+GO
+CREATE TRIGGER TBIDB_OBJECT_METADATA_AFT_INS ON TBIDB_OBJECT_METADATA
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @TEXT_TERM_ID BIGINT,
+ @INT_TERM_ID BIGINT,
+ @DEC_TERM_ID BIGINT,
+ @FLOAT_TERM_ID BIGINT,
+ @DATE_TERM_ID BIGINT,
+ @ATTR_ID INTEGER,
+ @TYPID TINYINT,
+ @ERROR VARCHAR(100)
+ SELECT
+ @TEXT_TERM_ID = TEXT_TERM_LANG_ID,
+ @INT_TERM_ID = INT_TERM_ID,
+ @DEC_TERM_ID = DEC_TERM_ID,
+ @FLOAT_TERM_ID = FLOAT_TERM_ID,
+ @DATE_TERM_ID = DATE_TERM_ID,
+ @ATTR_ID = ATTR_ID
+ FROM INSERTED
+
+ SET @ERROR = 'NONE'
+ SELECT @TYPID = TYP_ID FROM TBIDB_ATTRIBUTE WHERE GUID = @ATTR_ID
+
+ IF @TYPID in (1,8) AND @TEXT_TERM_ID IS NULL
+ SET @ERROR = 'NO @TEXT_TERM_ID FOR INSERT'
+ ELSE IF @TYPID in (2,9) AND @INT_TERM_ID IS NULL
+ SET @ERROR = 'NO @INT_TERM_ID FOR INSERT'
+ ELSE IF @TYPID = 3 AND @FLOAT_TERM_ID IS NULL
+ SET @ERROR = 'NO @@FLOAT_TERM_ID FOR INSERT'
+ ELSE IF @TYPID = 4 AND @DEC_TERM_ID IS NULL
+ SET @ERROR = 'NO @DEC_TERM_ID FOR INSERT'
+ ELSE IF @TYPID = 5 AND @DATE_TERM_ID IS NULL
+ SET @ERROR = 'NO @DATE_TERM_ID FOR INSERT'
+ ELSE IF @TYPID = 7 AND @INT_TERM_ID IS NULL
+ SET @ERROR = 'NO @INT_TERM_ID FOR INSERT'
+
+ IF @ERROR <> 'NONE'
+ BEGIN
+ RAISERROR(@ERROR, 16, 1)
+ rollback transaction
+ END
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--DROP TABLE TBIDB_ATT_LANGUAGE
+CREATE TABLE TBIDB_ATTRIBUTE_LANGUAGE
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ ATTRIBUTE_ID INT NOT NULL,
+ LANGUAGE_ID TINYINT NOT NULL,
+ TERM_ID BIGINT NOT NULL,
+ 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_TBIDB_ATT_LANGUAGE PRIMARY KEY(GUID),
+ CONSTRAINT UN_TBIDB_ATT_LANGUAGE UNIQUE(ATTRIBUTE_ID,LANGUAGE_ID),
+ CONSTRAINT FK_ATTRIBUTE_ID FOREIGN KEY(ATTRIBUTE_ID) REFERENCES TBIDB_ATTRIBUTE(GUID),
+ CONSTRAINT FK_LANGUAGE_ID FOREIGN KEY(LANGUAGE_ID) REFERENCES TBIDB_LANGUAGE(GUID),
+ CONSTRAINT FK_TERM_ID FOREIGN KEY(TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID)
+)
+GO
+CREATE TRIGGER TBIDB_ATT_LANGUAGE_AFT_UPD ON TBIDB_ATTRIBUTE_LANGUAGE
+FOR UPDATE
+AS
+ UPDATE TBIDB_ATTRIBUTE_LANGUAGE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_ATTRIBUTE_LANGUAGE.GUID = INSERTED.GUID
+GO
+
+CREATE VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS
+SELECT
+ T.[BE_ID]
+ ,T2.TITLE AS BE
+ ,[ATTR_ID]
+ ,T6.TERM_VALUE AS ATTR_TITLE
+ ,T1.TYP_ID
+ ,T1.TYP_ID AS [TYPE_ID]
+ ,T3.NAME_TYPE AS [TYPE_NAME]
+ ,T1.VIEW_VISIBLE
+ ,T1.VIEW_SEQUENCE
+ ,T1.SYS_ATTRIBUTE
+ ,T5.GUID AS LANG_ID
+ ,T5.LANG_CODE
+ ,T.ADDED_WHEN
+ ,T.ADDED_WHO
+ ,T.CHANGED_WHEN
+ ,T.CHANGED_WHO
+ FROM [TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID
+ INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID
+ WHERE T1.DELETED = 0
+GO
+
+CREATE TABLE TBIDB_BASE
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ CONFIG_NAME VARCHAR(900) NOT NULL,
+ CONFIG_VALUE VARCHAR(MAX) NOT NULL,
+ 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_TBIDB_BASE PRIMARY KEY (GUID),
+ CONSTRAINT UQ1_TBIDB_BASE UNIQUE (CONFIG_NAME)
+)
+GO
+CREATE TRIGGER TBIDB_BASE_AFT_UPD ON TBIDB_BASE
+FOR UPDATE
+AS
+ UPDATE TBIDB_BASE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_BASE.GUID = INSERTED.GUID
+GO
+INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('DB_VERSION','1.0.1')
+GO
+INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('GHOST_SELECT','
+SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM MY_DD_ECM_DB.dbo.TBDD_USER T ORDER BY USERNAME')
+GO
+
+
+CREATE TABLE TBIDB_STATES
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ STATE_LTERM_ID BIGINT NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_STATES PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_STATES_STATE_LTERM_ID FOREIGN KEY (STATE_LTERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
+ CONSTRAINT FK_TBIDB_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
+GO
+CREATE TRIGGER TBIDB_STATES_AFT_UPD ON TBIDB_STATES
+FOR UPDATE
+AS
+ UPDATE TBIDB_STATES SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_STATES.GUID = INSERTED.GUID
+GO
+
+
+
+
+CREATE TABLE TBIDB_STATE_LANG_GROUP
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ STATE_ID BIGINT NOT NULL,
+ LANG_TERM_ID BIGINT NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_STATE_LANG_GROUP PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID),
+ CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TTBIDB_STATE_LANG_GROUP_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
+GO
+CREATE TRIGGER TBIDB_STATE_LANG_GROUP_AFT_UPD ON TBIDB_STATE_LANG_GROUP
+FOR UPDATE
+AS
+ UPDATE TBIDB_STATE_LANG_GROUP SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_STATE_LANG_GROUP.GUID = INSERTED.GUID
+GO
+
+CREATE TABLE TBIDB_CONVERSATION_OBJECT
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ TITLE_TERM_ID BIGINT NOT NULL,
+ IDB_OBJ_ID BIGINT NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_CONVERSATION_OBJECT PRIMARY KEY (GUID),
+ CONSTRAINT FK_TITLE_TERM_ID FOREIGN KEY (TITLE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
+GO
+CREATE TRIGGER TBIDB_CONVERSATION_OBJECT_AFT_UPD ON TBIDB_CONVERSATION_OBJECT
+FOR UPDATE
+AS
+ UPDATE TBIDB_CONVERSATION_OBJECT SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_CONVERSATION_OBJECT.GUID = INSERTED.GUID
+GO
+
+
+GO
+--delete from TBIDB_MYOBJECT_STATES
+CREATE TABLE TBIDB_MYOBJECT_STATES
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ MY_OBJECT_ID BIGINT NOT NULL,
+ STATE_ID BIGINT NOT NULL,
+ COMMENT_ID BIGINT ,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_MYOBJECT_STATES PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_MYOBJECT_STATES_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID),
+ CONSTRAINT FK_TBIDB_MYOBJECT_STATES_COMMENT_ID_T_ID FOREIGN KEY (COMMENT_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
+ CONSTRAINT FK_TBIDB_MYOBJECT_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_MYOBJECT_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
+GO
+CREATE TRIGGER TBIDB_MYOBJECT_STATES_AFT_UPD ON TBIDB_MYOBJECT_STATES
+FOR UPDATE
+AS
+ UPDATE TBIDB_MYOBJECT_STATES SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_MYOBJECT_STATES.GUID = INSERTED.GUID
+GO
+
+
+
+CREATE TABLE TBIDB_CONVERSATION_USER
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ CONV_ID BIGINT NOT NULL,
+ USER_OR_GROUP_ID INTEGER NOT NULL,
+ IS_USER BIT NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CONSTRAINT PK_TBIDB_CONVERSATION_USER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_USER_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
+GO
+CREATE TABLE TBIDB_COMMON_SQL
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ TITLE VARCHAR(200) NOT NULL,
+ SQL_COMMAND NVARCHAR(MAX),
+ ACTIVE BIT NOT NULL DEFAULT 1,
+ ADDED_WHO VARCHAR(100),
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(100),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_COMMON_SQL PRIMARY KEY (GUID)
+ )
+GO
+
+
+
+
+DROP TABLE TBIDB_SEARCH_PROFILE
+CREATE TABLE TBIDB_SEARCH_PROFILE
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ TITLE_ID BIGINT NOT NULL,
+ COMMENT VARCHAR(900),
+ ACTIVE BIT NOT NULL DEFAULT 1,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_SEARCH_PROFILE PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ )
+GO
+CREATE TRIGGER TBIDB_SEARCH_PROFILE_AFT_UPD ON TBIDB_SEARCH_PROFILE
+FOR UPDATE
+AS
+ UPDATE TBIDB_SEARCH_PROFILE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_SEARCH_PROFILE.GUID = INSERTED.GUID
+GO
+
+--CREATE TABLE TBIDB_SEARCH_RESULT_ATTRIBUTES
+--(
+-- GUID INTEGER NOT NULL IDENTITY (1, 1),
+-- SEARCH_PROFIL_ID INTEGER NOT NULL,
+-- ATTRIBUTE_ID INTEGER NOT NULL,
+-- SEQUENCE INTEGER DEFAULT 0,
+-- ADDED_WHO BIGINT,
+-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+-- CONSTRAINT PK_TBIDB_SEARCH_RESULT_ATTRIBUTES_GUID PRIMARY KEY (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_RESULT_ATTRIBUTES_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_RESULT_ATTRIBUTES_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+-- CONSTRAINT UQ_TBIDB_SEARCH_RESULT_ATTRIBUTES UNIQUE(SEARCH_PROFIL_ID,ATTRIBUTE_ID)
+--)
+--GO
+
+
+CREATE TABLE TBIDB_SEARCH_LANGUAGE_SQL_RESULT
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ SEARCH_PROFIL_ID INTEGER NOT NULL,
+ LANGUAGE_ID TINYINT NOT NULL,
+ SEARCH_TERM_ID BIGINT NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_LID FOREIGN KEY (LANGUAGE_ID) REFERENCES TBIDB_LANGUAGE (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_STID FOREIGN KEY (SEARCH_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES @MY_DD_ECM_DB.dbo.TBDD_USER (GUID),
+ CONSTRAINT UQ_TBIDB_SEARCH_LANGUAGE_SQL_RESULT UNIQUE(SEARCH_PROFIL_ID,LANGUAGE_ID)
+)
+GO
+CREATE TRIGGER TBIDB_SEARCH_LANGUAGE_SQL_RESULT_AFT_UPD ON TBIDB_SEARCH_LANGUAGE_SQL_RESULT
+FOR UPDATE
+AS
+ UPDATE TBIDB_SEARCH_LANGUAGE_SQL_RESULT SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_SEARCH_LANGUAGE_SQL_RESULT .GUID = INSERTED.GUID
+GO
+DROP TABLE TBIDB_SEARCH_PROFILE_USER_GROUP
+CREATE TABLE TBIDB_SEARCH_PROFILE_USER_GROUP
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ SEARCH_PROFIL_ID INTEGER NOT NULL,
+ USER_ID INTEGER NOT NULL DEFAULT 0,
+ GROUP_ID INTEGER NOT NULL DEFAULT 0,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CONSTRAINT PK_TBIDB_SEARCH_PROFILE_USER_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_PID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES @MY_DD_ECM_DB.dbo.TBDD_USER (GUID),
+ CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_USER UNIQUE(SEARCH_PROFIL_ID,USER_ID,GROUP_ID)
+)
+GO
+
+
+--CREATE TABLE TBIDB_SEARCH_PROFILE_GROUP
+--(
+-- GUID INTEGER NOT NULL IDENTITY (1, 1),
+-- SEARCH_PROFIL_ID INTEGER NOT NULL,
+-- GROUP_ID INTEGER NOT NULL,
+-- ADDED_WHO BIGINT,
+-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+-- CONSTRAINT PK_TBIDB_SEARCH_PROFILE_GROUP_GUID PRIMARY KEY (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+-- --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES @MY_DD_ECM_DB.dbo.TBDD_USER (GUID),
+-- CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_GROUP UNIQUE(SEARCH_PROFIL_ID,GROUP_ID)
+--)
+--GO
+
+
+----DROP TABLE TBIDB_SEARCH_PROFILE_ATTRIBUTES
+--CREATE TABLE TBIDB_SEARCH_PROFILE_ATTRIBUTES
+--(
+-- GUID INTEGER NOT NULL IDENTITY (1, 1),
+-- SEARCH_PROFIL_ID INTEGER NOT NULL,
+-- ATTRIBUTE_ID INTEGER NOT NULL,
+-- X_LOC FLOAT NOT NULL DEFAULT 0,
+-- Y_LOC FLOAT NOT NULL DEFAULT 0,
+-- [SEQUENCE] INTEGER NOT NULL DEFAULT 0,
+-- HEIGHT SMALLINT NOT NULL DEFAULT 25,
+-- WIDTH SMALLINT NOT NULL DEFAULT 200,
+-- MULTISELECT BIT NOT NULL DEFAULT 0,
+-- SOURCE_SQL BIGINT,
+-- ENABLE_SQL BIGINT,
+-- ENABLE_CONID SMALLINT,
+-- --DEPENDING_ATTRIBUTE1 INTEGER NOT NULL DEFAULT 0,
+-- ADDED_WHO BIGINT,
+-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+-- CHANGED_WHO BIGINT,
+-- CHANGED_WHEN DATETIME,
+-- CONSTRAINT PK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_GUID PRIMARY KEY (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_SOURCE_SQL FOREIGN KEY (SOURCE_SQL) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_ENABLE_SQL FOREIGN KEY (ENABLE_SQL) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+-- CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_ATTRIBUTES UNIQUE(SEARCH_PROFIL_ID,ATTRIBUTE_ID)
+--)
+--GO
+--CREATE TRIGGER TBIDB_SEARCH_PROFILE_ATTRIBUTES_AFT_UPD ON TBIDB_SEARCH_PROFILE_ATTRIBUTES
+--FOR UPDATE
+--AS
+-- UPDATE TBIDB_SEARCH_PROFILE_ATTRIBUTES SET CHANGED_WHEN = GETDATE()
+-- FROM INSERTED
+-- WHERE TBIDB_SEARCH_PROFILE_ATTRIBUTES .GUID = INSERTED.GUID
+--GO
+
+
+----drop table TBIDB_SEARCH_ATTRIBUTES_LINKS;
+--CREATE TABLE TBIDB_SEARCH_ATTRIBUTES_LINKS
+--(
+-- GUID INTEGER NOT NULL IDENTITY (1, 1),
+-- DEP_ATTR_ID INTEGER NOT NULL,
+-- LINKED_ATTR_ID INTEGER NOT NULL,
+-- ADDED_WHO BIGINT,
+-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+-- CHANGED_WHO BIGINT,
+-- CHANGED_WHEN DATETIME,
+-- CONSTRAINT PK_TBIDB_SEARCH_ATTRIBUTES_LINKS_GUID PRIMARY KEY (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_DA_ID FOREIGN KEY (DEP_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_LA_ID FOREIGN KEY (LINKED_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID)
+--)
+--GO
+----DROP TABLE TBIDB_SEARCH_RESTRICTIONS_INPUT
+--CREATE TABLE TBIDB_SEARCH_RESTRICTIONS_INPUT
+--(
+-- GUID INTEGER NOT NULL IDENTITY (1, 1),
+-- SEARCH_ID INTEGER NOT NULL,
+-- RESTR_ATTR_ID INTEGER NOT NULL,
+-- SOURCE_ATTR_ID INTEGER NOT NULL,
+-- TERM VARCHAR(900) NOT NULL,
+-- USR_ID INTEGER NOT NULL,
+-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+
+-- CONSTRAINT PK_TBIDB_SEARCH_RESTRICTIONS_INPUT_GUID PRIMARY KEY (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_SID FOREIGN KEY (SEARCH_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_RA_ID FOREIGN KEY (RESTR_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_SA_ID FOREIGN KEY (SOURCE_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
+--)
+--GO
+--CREATE TABLE TBIDB_SEARCH_RESTRICTIONS_OBJECTS
+--(
+-- GUID INTEGER NOT NULL IDENTITY (1, 1),
+-- SEARCH_ID INTEGER NOT NULL,
+-- RESTR_ATTR_ID INTEGER NOT NULL,
+-- SOURCE_ATTR_ID INTEGER NOT NULL,
+-- IDB_OBJ_ID BIGINT NOT NULL,
+-- USR_ID INTEGER NOT NULL,
+-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+
+-- CONSTRAINT PK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_GUID PRIMARY KEY (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_SID FOREIGN KEY (SEARCH_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_RA_ID FOREIGN KEY (RESTR_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_SA_ID FOREIGN KEY (SOURCE_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_IOBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID)
+--)
+--GO
+
+--CREATE TRIGGER [dbo].[TBIDB_SEARCH_RESTRICTIONS_INPUT_AFT_INS] ON [dbo].[TBIDB_SEARCH_RESTRICTIONS_INPUT]
+--WITH EXECUTE AS CALLER
+--FOR INSERT
+--AS
+--BEGIN TRY
+-- DECLARE
+-- @SEARCH_ID INTEGER,
+-- @RESTR_ATTR_ID INTEGER,
+-- @SOURCE_ATTR_ID INTEGER,
+-- @TERM VARCHAR(900),
+-- @USR_ID INTEGER,
+-- @pLANG_CODE VARCHAR(5)
+
+-- SELECT
+-- @SEARCH_ID = SEARCH_ID,
+-- @RESTR_ATTR_ID = RESTR_ATTR_ID,
+-- @SOURCE_ATTR_ID = SOURCE_ATTR_ID,
+-- @TERM = TERM,
+-- @USR_ID = USR_ID
+
+-- FROM INSERTED
+
+-- --DELETE FROM TBIDB_SEARCH_RESTRICTIONS_OBJECTS
+-- --WHERE
+-- -- SEARCH_ID = @SEARCH_ID AND
+-- -- RESTR_ATTR_ID = @RESTR_ATTR_ID AND
+-- -- SOURCE_ATTR_ID = @SOURCE_ATTR_ID AND
+-- -- USR_ID = @USR_ID;
+
+-- SELECT @pLANG_CODE = [LANGUAGE] FROM @MY_DD_ECM_DB.dbo.TBDD_USER WHERE GUID = @USR_ID
+-- INSERT INTO TBIDB_SEARCH_RESTRICTIONS_OBJECTS (SEARCH_ID,RESTR_ATTR_ID, SOURCE_ATTR_ID, IDB_OBJ_ID, USR_ID)
+-- SELECT @SEARCH_ID,@RESTR_ATTR_ID, @SOURCE_ATTR_ID,T.IDB_OBJECT_ID,@USR_ID
+-- FROM [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (@SOURCE_ATTR_ID,@pLANG_CODE,@USR_ID) T LEFT JOIN TBIDB_SEARCH_RESTRICTIONS_OBJECTS T1
+-- ON T.IDB_OBJECT_ID = T1.IDB_OBJ_ID
+-- where T.TERM_VALUE = @TERM AND T1.IDB_OBJ_ID IS NULL
+-- --where TERM_VALUE = @TERM
+
+--END TRY
+--BEGIN CATCH
+-- PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+-- + ' - ERROR-MESSAGE: '
+-- + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+--END CATCH
+--GO
+CREATE TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA](
+ [GUID] [bigint] NOT NULL,
+ [LANG_TERM_ID] [bigint] NOT NULL,
+ [ADDED_WHO] [bigint] NOT NULL,
+ [ADDED_WHEN] [datetime] NOT NULL,
+ [CHANGED_WHO] [bigint] NULL,
+ [CHANGED_WHEN] [datetime] NULL,
+ CONSTRAINT [PKTBIDB_LANGUAGE_TERM_METADATA] PRIMARY KEY CLUSTERED
+(
+ [GUID] ASC,
+ [LANG_TERM_ID] 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].[TBIDB_LANGUAGE_TERM_METADATA] ADD DEFAULT (getdate()) FOR [ADDED_WHEN]
+GO
+
+ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] WITH CHECK ADD CONSTRAINT [FK_TBIDB_LTMD_ADDED_WHO_T_ID] FOREIGN KEY([ADDED_WHO])
+REFERENCES [dbo].[TBIDB_TERM_VALUE_VARCHAR] ([GUID])
+GO
+
+ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] CHECK CONSTRAINT [FK_TBIDB_LTMD_ADDED_WHO_T_ID]
+GO
+
+ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] WITH CHECK ADD CONSTRAINT [FK_TBIDB_LTMD_CHANGED_WHO_T_ID] FOREIGN KEY([CHANGED_WHO])
+REFERENCES [dbo].[TBIDB_TERM_VALUE_VARCHAR] ([GUID])
+GO
+
+ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] CHECK CONSTRAINT [FK_TBIDB_LTMD_CHANGED_WHO_T_ID]
+GO
+
+ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] WITH CHECK ADD CONSTRAINT [FK_TBIDB_LTMD_LANG_TERM_ID] FOREIGN KEY([LANG_TERM_ID])
+REFERENCES [dbo].[TBIDB_TERM_LANGUAGE] ([GUID])
+GO
+
+ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] CHECK CONSTRAINT [FK_TBIDB_LTMD_LANG_TERM_ID]
+GO
+
+
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID1]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[TEXT_TERM_LANG_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+CREATE NONCLUSTERED INDEX [TBIDB_LANGUAGE_TERM_METADATA_LANG_TERM_ID]
+ON [dbo].[TBIDB_LANGUAGE_TERM_METADATA] ([LANG_TERM_ID])
+GO
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA2]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[INT_TERM_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID_TEXT_TERM_LANG_ID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[TEXT_TERM_LANG_ID])
+INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA3]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[FLOAT_TERM_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID_[FLOAT_TERM_ID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[FLOAT_TERM_ID])
+INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+CREATE NONCLUSTERED INDEX IDX_GUID_TEXTTEM_ID
+ON [dbo].[TBIDB_TERM_LANGUAGE] ([LANGUAGE_ID])
+INCLUDE ([GUID],[TEXT_TERM_ID])
+GO
+CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN
+ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN])
+INCLUDE ([GUID])
+GO
+CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IDBOBJID
+ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID])
+INCLUDE ([CHANGED_WHEN])
+GO
+
+CREATE TABLE TBIDB_CONVERSATION_MESSAGE
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ CONV_ID BIGINT NOT NULL,
+ TO_USER BIGINT NOT NULL DEFAULT 0,
+ FROM_USER BIGINT NOT NULL,
+ MESSAGE_TERM_ID BIGINT NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CONSTRAINT PK_TBIDB_CONVERSATION_MESSAGE PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_FROM_USER FOREIGN KEY (FROM_USER) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_TERM_ID FOREIGN KEY (MESSAGE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
+GO
+--CREATE TABLE TBIDB_USER_SEARCH_CRITERIA
+--(
+-- GUID BIGINT NOT NULL IDENTITY (1, 1),
+-- SEARCH_PROFIL_ID INTEGER NOT NULL,
+-- USERID INTEGER NOT NULL,
+-- ATTRIBUTE_ID INTEGER NOT NULL,
+-- TERM_TEXT VARCHAR(900),
+-- --TERM_DATE DATE,
+-- --TERM_FLOAT FLOAT,
+-- --TERM_DEC DECIMAL(19,2),
+-- TERM_ID BIGINT,
+-- ADDED_WHO BIGINT,
+-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+-- CONSTRAINT PK_TBIDB_USER_SEARCH_CRITERIA_GUID PRIMARY KEY (GUID),
+-- CONSTRAINT FK_TBIDB_USER_SEARCH_CRITERIA_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+-- CONSTRAINT FK_TBIDB_USER_SEARCH_CRITERIA_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID)
+--)
+--GO
+
+
+
+--CREATE TABLE TBIDB_SEARCH_CRITERIA_SAVE
+--(
+-- GUID BIGINT NOT NULL IDENTITY (1, 1),
+-- SEARCH_PROFIL_ID INTEGER NOT NULL,
+-- ATTRIBUTE_ID INTEGER NOT NULL,
+-- TERM_TEXT VARCHAR(900),
+-- --TERM_DATE DATE,
+-- --TERM_FLOAT FLOAT,
+-- --TERM_DEC DECIMAL(19,2),
+-- TERM_ID BIGINT,
+-- ADDED_WHO BIGINT,
+-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+-- CONSTRAINT PK_TBIDB_SEARCH_CRITERIA_SAVE_GUID PRIMARY KEY (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_CRITERIA_SAVE_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+-- CONSTRAINT FK_TBIDB_SEARCH_CRITERIA_SAVE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID)
+--)
+--GO
+CREATE TABLE TBIDB_ACCESSRIGHT
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ IDB_OBJ_ID BIGINT NOT NULL,
+ USR_ID INTEGER NOT NULL DEFAULT 0,
+ GRP_ID INTEGER NOT NULL DEFAULT 0,
+ ACCESSRIGHT INTEGER NOT NULL,
+ COMMENT VARCHAR(250),
+ ADDED_WHO BIGINT NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBIDB_ACCESSRIGHT_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_ACCESSRIGHT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
+ CONSTRAINT FK_TBIDB_ACCESSRIGHT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT UQ_TBIDB_ACCESSRIGHT UNIQUE(IDB_OBJ_ID,USR_ID,GRP_ID,ACCESSRIGHT)
+)
+GO
+CREATE NONCLUSTERED INDEX IDX_TBIDB_ACCESSRIGHT_USRID
+ON [dbo].[TBIDB_ACCESSRIGHT] ([USR_ID])
+INCLUDE ([IDB_OBJ_ID])
+GO
+CREATE NONCLUSTERED INDEX IDX_TBIDB_ACCESSRIGHT_GRPID
+ON [dbo].[TBIDB_ACCESSRIGHT] ([GRP_ID])
+INCLUDE ([IDB_OBJ_ID])
+GO
+CREATE TABLE TBIDB_REFRESH_ON_APPSERVER
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ IDB_OBJ_ID BIGINT NOT NULL,
+ USR_ID INTEGER NOT NULL,
+ ACCESSRIGHT INTEGER NOT NULL,
+ ADDED_WHO BIGINT NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PKTBIDB_REFRESH_ON_APPSERVER_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
+ CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT UQ_TBIDB_REFRESH_ON_APPSERVER UNIQUE(IDB_OBJ_ID,USR_ID)
+)
+GO
+CREATE NONCLUSTERED INDEX [IDX_ATTR-ID_OBJ-INTTERMID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[INT_TERM_ID])
+GO
+CREATE NONCLUSTERED INDEX IDXATTR_IDINT_TERM_ID_IDB_OBJ_ID
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[INT_TERM_ID])
+INCLUDE ([IDB_OBJ_ID])
+GO
+CREATE NONCLUSTERED INDEX IDX_DELETED_OBJID
+ON [dbo].[TBIDB_OBJECT] ([DELETED])
+INCLUDE ([IDB_OBJ_ID])
+GO
+CREATE NONCLUSTERED INDEX [IDXATTR_ID-IDB_OBJ_ID-FLOAT_TERM_ID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[FLOAT_TERM_ID])
+GO
+CREATE NONCLUSTERED INDEX [ATTR_ID_IDB_OBJ_ID_DEC_TERM_ID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[DEC_TERM_ID])
+GO
+CREATE NONCLUSTERED INDEX [ATTR_ID-IDB_OBJ_ID-DATE_TERM_ID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[DATE_TERM_ID])
+GO
+CREATE NONCLUSTERED INDEX [IDXATTR_ID-DATE_TERM_ID-IDB_OBJ_ID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[DATE_TERM_ID])
+INCLUDE ([IDB_OBJ_ID])
+GO
+--CREATE TABLE TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES
+--(
+-- GUID BIGINT NOT NULL IDENTITY (1, 1),
+-- ATTRIBUTE_ID INTEGER NOT NULL,
+-- ACTIVE BIT NOT NULL DEFAULT 1,
+-- ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data (DEF)',
+-- ADDED_WHEN DATETIME DEFAULT GETDATE(),
+-- CHANGED_WHO VARCHAR(100),
+-- CHANGED_WHEN DATETIME,
+-- CONSTRAINT PKTBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES_GUID PRIMARY KEY (GUID),
+-- CONSTRAINT UQ_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES UNIQUE(ATTRIBUTE_ID),
+-- CONSTRAINT FK_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES FOREIGN KEY (ATTRIBUTE_ID) REFERENCES TBIDB_ATTRIBUTE (GUID),
+--)
+--GO
+--INSERT INTO TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES (ATTRIBUTE_ID) VALUES(1);
+--ALTER TABLE [TBIDB_FILE_OBJECT]
+--ADD [FILE_HASH] VARCHAR(500) NOT NULL
+--GO
+
+CREATE TABLE TBIDB_FILE_OBJECT
+(
+ IDB_OBJ_ID BIGINT NOT NULL,
+ OBJ_ST_ID INTEGER NOT NULL,
+ EXTENSION_TERM_ID BIGINT NOT NULL,
+ RELPATH_TERM_ID BIGINT NOT NULL,
+ FILENAME_TERM_ID BIGINT NOT NULL,
+ FILE_SIZE BIGINT,
+ FILE_HASH VARCHAR(500) 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_TBIDB_FILE_OBJECT PRIMARY KEY (IDB_OBJ_ID),
+ CONSTRAINT FK_TBIDB_FILE_OBJECT_OBJSTID FOREIGN KEY (OBJ_ST_ID) REFERENCES TBIDB_OBJECT_STORE (GUID),
+ CONSTRAINT FK_TBIDB_FILE_OBJECT_IDBOBJID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
+ CONSTRAINT FK_TBIDB_FILE_OBJECT_EXTTID FOREIGN KEY (EXTENSION_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_FILE_OBJECT_RPTID FOREIGN KEY (RELPATH_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_FILE_OBJECT_FNTID FOREIGN KEY (FILENAME_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID)
+)
+GO
+CREATE TRIGGER TBIDB_FILE_OBJECT_AFT_UPD ON TBIDB_FILE_OBJECT
+FOR UPDATE
+AS
+ UPDATE TBIDB_FILE_OBJECT SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_FILE_OBJECT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
+GO
+
+
+CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IN_GUID
+ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN])
+INCLUDE ([GUID])
+GO
+
+
+CREATE NONCLUSTERED INDEX IDX_IDBOBJID_CW
+ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID])
+INCLUDE ([CHANGED_WHEN])
+GO
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA4]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[DEC_TERM_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA5]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[DEC_TERM_ID])
+INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+/*###########################
+######### FUNCTIONS #########
+#############################*/
+CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_ROWID] (@DocID BIGINT, @ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10), @DocID_ISFOREIGN as BIT = False)
+RETURNS @Output TABLE (ID INT IDENTITY(1, 1),TERM_VALUE VARCHAR(900))
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT,
+ @TERM_RESULT VARCHAR(900)
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
+ SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
+ WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE)
+
+ IF @DocID_ISFOREIGN = 1
+ SELECT @DocID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @DocID
+
+ IF @TYP_ID IN (1,8) --VARCHAR
+ BEGIN
+ DECLARE @TL_ID BIGINT
+ INSERT INTO @Output (TERM_VALUE)
+ SELECT TERM.TERM_VALUE FROM
+ TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
+ INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
+ WHERE MD.ATTR_ID = @ATTR_ID
+ AND TLANG.LANGUAGE_ID = @LANG_ID
+ AND MD.IDB_OBJ_ID = @DocID
+ END
+ ELSE IF @TYP_ID IN (2,7,9) --BIGINT
+ BEGIN
+ INSERT INTO @Output (TERM_VALUE)
+ SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER TERM, TBIDB_OBJECT_METADATA MD WHERE MD.INT_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
+ END
+ ELSE IF @TYP_ID = 3 --FLOAT
+ BEGIN
+ INSERT INTO @Output (TERM_VALUE)
+ SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_FLOAT TERM, TBIDB_OBJECT_METADATA MD WHERE MD.FLOAT_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
+ END
+ ELSE IF @TYP_ID = 4
+ BEGIN
+ INSERT INTO @Output (TERM_VALUE)
+ SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_DECIMAL TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DEC_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
+ END
+ ELSE IF @TYP_ID = 5
+ BEGIN
+ INSERT INTO @Output (TERM_VALUE)
+ SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_DATE TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DATE_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
+ END
+RETURN
+END
+GO
+
+
+CREATE FUNCTION [dbo].[FNGetFileName]
+(
+ @Path NVARCHAR(MAX)
+)
+RETURNS NVARCHAR(MAX)
+AS
+BEGIN
+ DECLARE @FileName NVARCHAR(MAX)
+ DECLARE @ReversedPath NVARCHAR(MAX)
+
+ SET @ReversedPath = REVERSE(@Path)
+ SELECT @FileName = RIGHT(@Path, CHARINDEX('\', @ReversedPath)-1)
+
+ RETURN @FileName
+END
+GO
+
+
+CREATE FUNCTION [dbo].[FNGetFileNameWithoutExtension]
+(
+ @Path NVARCHAR(MAX)
+)
+RETURNS NVARCHAR(MAX)
+AS
+BEGIN
+ DECLARE @FileName NVARCHAR(MAX)
+ DECLARE @ReversedPath NVARCHAR(MAX)
+ DECLARE @ExtLength INT
+
+ SET @ReversedPath = REVERSE(@Path)
+ SELECT @ExtLength = CHARINDEX('.', @ReversedPath)
+ SELECT @FileName = RIGHT(@Path, CHARINDEX('\', @ReversedPath)-1)
+ SELECT @FileName = LEFT(@FileName, LEN(@FileName) - @ExtLength)
+ RETURN @FileName
+END
+GO
+
+CREATE FUNCTION [dbo].[FNGetDirectoryPath]
+(
+ @Path NVARCHAR(MAX)
+)
+RETURNS NVARCHAR(MAX)
+AS
+BEGIN
+ DECLARE @FileName NVARCHAR(MAX)
+ DECLARE @ReversedPath NVARCHAR(MAX)
+ DECLARE @PathLength INT
+
+ SET @ReversedPath = REVERSE(@Path)
+ SELECT @PathLength = CHARINDEX('\', @ReversedPath)
+ SELECT @FileName = LEFT(@Path, LEN(@Path) - @PathLength)
+ RETURN @FileName
+END
+GO
+
+CREATE FUNCTION [dbo].[FNGetExtension]
+(
+ @Path NVARCHAR(MAX)
+)
+RETURNS NVARCHAR(MAX)
+AS
+BEGIN
+ DECLARE @FileName NVARCHAR(MAX)
+ DECLARE @ReversedPath NVARCHAR(MAX)
+ DECLARE @ExtLength INT
+
+ SET @ReversedPath = REVERSE(@Path)
+ SET @FileName = ''
+ SELECT @ExtLength = CHARINDEX('.', @ReversedPath)
+ IF (@ExtLength > 0)
+ BEGIN
+ SELECT @FileName = RIGHT(@Path, @ExtLength - 1)
+ END
+ RETURN @FileName
+END
+GO
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_TEXT] (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
+RETURNS VARCHAR(900)
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900)
+ SELECT @TERM_ID = T1.TEXT_TERM_ID FROM TBIDB_OBJECT_METADATA T, TBIDB_TERM_LANGUAGE T1 WHERE
+ T.TEXT_TERM_LANG_ID = T1.GUID AND
+ T.IDB_OBJ_ID = @IDB_OBJ_ID and T.ATTR_ID = @ATTR_ID
+ SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID
+ RETURN @RESULT
+END
+GO
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (@TERM_ID BIGINT)
+RETURNS VARCHAR(900)
+AS
+BEGIN
+ DECLARE @RESULT VARCHAR(900)
+
+ SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID
+ RETURN @RESULT
+END
+GO
+----------------------------------------------------
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_TEXT_VECTOR] (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
+RETURNS VARCHAR(5000)
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT_SING VARCHAR(900), @RESULT VARCHAR(5000)
+ SEt @RESULT = ''
+ DECLARE c_REDO CURSOR FOR
+ SELECT T1.TEXT_TERM_ID FROM TBIDB_OBJECT_METADATA T, TBIDB_TERM_LANGUAGE T1 WHERE
+ T.TEXT_TERM_LANG_ID = T1.GUID AND
+ T.IDB_OBJ_ID = @IDB_OBJ_ID and T.ATTR_ID = @ATTR_ID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @TERM_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @RESULT_SING = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID
+ IF @RESULT = ''
+ SET @RESULT = @RESULT_SING
+ ELSE
+ SET @RESULT += '; ' + @RESULT_SING
+ FETCH NEXT FROM c_REDO INTO @TERM_ID
+ END
+ CLOSE c_REDO
+ DEALLOCATE c_REDO
+ RETURN @RESULT
+END
+GO
+CREATE FUNCTION FNIDB_GET_TERM_INTEGER_VECTOR (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
+RETURNS VARCHAR(5000)
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT_SING VARCHAR(900), @RESULT VARCHAR(5000)
+ SEt @RESULT = ''
+ DECLARE c_REDO CURSOR FOR
+ SELECT INT_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @TERM_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @RESULT_SING = TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER WHERE GUID = @TERM_ID
+ IF @RESULT = ''
+ SET @RESULT = @RESULT_SING
+ ELSE
+ SET @RESULT += '; ' + @RESULT_SING
+ FETCH NEXT FROM c_REDO INTO @TERM_ID
+ END
+ CLOSE c_REDO
+ DEALLOCATE c_REDO
+ RETURN @RESULT
+END
+GO
+CREATE FUNCTION FNIDB_GET_TERM_INTEGER (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
+RETURNS BIGINT
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900)
+ SELECT @TERM_ID = INT_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID
+ SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER WHERE GUID = @TERM_ID
+ RETURN @RESULT
+END
+GO
+CREATE FUNCTION FNIDB_GET_TERM_BIT (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
+RETURNS BIT
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT BIT
+ SELECT @TERM_ID = INT_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID
+ SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER WHERE GUID = @TERM_ID
+ RETURN @RESULT
+END
+GO
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FLOAT] (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
+RETURNS FLOAT
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT FLOAT
+ SELECT @TERM_ID = FLOAT_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID
+ SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_FLOAT WHERE GUID = @TERM_ID
+ RETURN @RESULT
+END
+GO
+CREATE FUNCTION FNIDB_GET_TERM_DATE (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
+RETURNS DATE
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT DATE
+ SELECT @TERM_ID = DATE_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID
+ SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_DATE WHERE GUID = @TERM_ID
+ RETURN @RESULT
+END
+GO
+CREATE FUNCTION FNIDB_GET_TERM_DECIMAL (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER)
+RETURNS DECIMAL(19,0)
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT DECIMAL(19,0)
+ SELECT @TERM_ID = DEC_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID
+ SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_DECIMAL WHERE GUID = @TERM_ID
+ RETURN @RESULT
+END
+
+GO
+CREATE FUNCTION [dbo].[FNGET_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)
+
+ SET @WM_PREFIX = '\\windream\objects'
+
+ SELECT @FSFLAGS = dwFSFlags FROM [windream60].[dbo].[BaseAttributes] WHERE dwDocID = @pDOCID
+ IF @FSFLAGS = 16
+ BEGIN
+ SET @RESULT = 'THIS IS NOT A FILE!'
+ END
+ ELSE
+ BEGIN
+ SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM [windream60].[dbo].[BaseAttributes] WHERE dwDocID = @pDOCID
+ WHILE @a > 0
+ BEGIN
+ IF @i = 0
+ BEGIN
+ IF @PARENT_ID = 1
+ BEGIN
+ SET @RESULT = '\'
+ BREAK
+ END
+ ELSE
+ BEGIN
+ SET @DOCID = @PARENT_ID
+ SET @RESULT = '\'
+ END
+ END
+ ELSE
+ BEGIN
+ IF @PARENT_ID = 1
+ BEGIN
+ SET @RESULT = '\' + @PARENTNAME + @RESULT
+ BREAK
+ END
+ ELSE
+ BEGIN
+ SET @DOCID = @PARENT_ID
+ SET @RESULT = '\' + @PARENTNAME + @RESULT
+ END
+ END
+ --select * from [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes
+ SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [windream60].[dbo].[BaseAttributes] WHERE dwDocID = @DOCID
+ SET @i = @i + 1
+ END
+ END
+
+ SET @RESULT = @WM_PREFIX + @RESULT + @DATEINAME
+ RETURN @RESULT
+END
+GO
+CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] (@DocID BIGINT, @ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10), @DocID_ISFOREIGN as BIT = False)
+RETURNS @Output TABLE (TERM_VALUE VARCHAR(900))
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT,
+ @TERM_RESULT VARCHAR(900),
+ @IDB_CREATED_WHEN DATETIME,
+ @IDB_CREATED_WHO VARCHAR(100),
+ @IDB_CHANGED_WHEN DATETIME,
+ @IDB_CHANGED_WHO VARCHAR(100)
+
+ IF @DocID_ISFOREIGN = 1
+ SELECT @DocID = IDB_OBJ_ID,@IDB_CREATED_WHEN = ADDED_WHEN, @IDB_CREATED_WHO = ADDED_WHO, @IDB_CHANGED_WHEN = CHANGED_WHEN, @IDB_CHANGED_WHO = CHANGED_WHO FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @DocID
+ ELSE
+ SELECT @IDB_CREATED_WHEN = ADDED_WHEN, @IDB_CREATED_WHO = ADDED_WHO, @IDB_CHANGED_WHEN = CHANGED_WHEN, @IDB_CHANGED_WHO = CHANGED_WHO FROM TBIDB_OBJECT
+ WHERE IDB_OBJ_ID = @DocID
+
+
+ IF @ATTRIBUTE like 'IDB%'
+ BEGIN
+ SELECT @IDB_CREATED_WHEN = ADDED_WHEN, @IDB_CREATED_WHO = ADDED_WHO, @IDB_CHANGED_WHEN = CHANGED_WHEN, @IDB_CHANGED_WHO = CHANGED_WHO FROM TBIDB_OBJECT
+ WHERE IDB_OBJ_ID = @DocID
+ IF @ATTRIBUTE = 'IDBCreatedWhen'
+ INSERT INTO @Output (TERM_VALUE) VALUES (@IDB_CREATED_WHEN)
+ ELSE IF @ATTRIBUTE = 'IDBCreatedWho'
+ INSERT INTO @Output (TERM_VALUE) VALUES (@IDB_CREATED_WHO)
+ ELSE IF @ATTRIBUTE = 'IDBChangedWhen'
+ INSERT INTO @Output (TERM_VALUE) VALUES (@IDB_CHANGED_WHEN)
+ ELSE IF @ATTRIBUTE = 'IDBChangedWho'
+ INSERT INTO @Output (TERM_VALUE) VALUES (@IDB_CHANGED_WHO)
+ END
+ ELSE
+ BEGIN
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
+ SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
+ WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE)
+ IF @TYP_ID IN (1,8) --VARCHAR
+ BEGIN
+ DECLARE @TL_ID BIGINT
+ INSERT INTO @Output (TERM_VALUE)
+ SELECT TERM.TERM_VALUE FROM
+ TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
+ INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
+ WHERE MD.ATTR_ID = @ATTR_ID
+ AND TLANG.LANGUAGE_ID = @LANG_ID
+ AND MD.IDB_OBJ_ID = @DocID
+ END
+ ELSE IF @TYP_ID IN (2,7,9) --BIGINT
+ BEGIN
+ INSERT INTO @Output (TERM_VALUE)
+ SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER TERM, TBIDB_OBJECT_METADATA MD WHERE MD.INT_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
+ END
+ ELSE IF @TYP_ID = 3 --FLOAT
+ BEGIN
+ INSERT INTO @Output (TERM_VALUE)
+ SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_FLOAT TERM, TBIDB_OBJECT_METADATA MD WHERE MD.FLOAT_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
+ END
+ ELSE IF @TYP_ID = 4
+ BEGIN
+ INSERT INTO @Output (TERM_VALUE)
+ SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_DECIMAL TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DEC_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
+ END
+ ELSE IF @TYP_ID = 5
+ BEGIN
+ INSERT INTO @Output (TERM_VALUE)
+ SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_DATE TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DATE_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID
+ END
+ END
+ RETURN
+END
+GO
+-------------------------------------------------------------------
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (@LANG_TERM_ID BIGINT)
+RETURNS VARCHAR(900)
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900)
+ SELECT @RESULT = T1.TERM_VALUE FROM TBIDB_TERM_LANGUAGE T INNER JOIN TBIDB_TERM_VALUE_VARCHAR T1 ON T.TEXT_TERM_ID = T1.GUID WHERE T.GUID = @LANG_TERM_ID
+ RETURN @RESULT
+END
+GO
+-------------------------------------------------------------------
+CREATE FUNCTION [dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (@OBJ_ID BIGINT)
+RETURNS VARCHAR(900)
+AS
+BEGIN
+ DECLARE @MAX_STATE_GUID BIGINT,@STATE_ID INTEGER,@RESULT VARCHAR(900)
+
+ SELECT @STATE_ID = STATE_ID FROM TBIDB_MYOBJECT_STATES WHERE GUID = (
+ SELECT MAX(GUID) FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @OBJ_ID)
+
+ SELECT @RESULT = [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] ((SELECT STATE_LTERM_ID FROM TBIDB_STATES
+ WHERE GUID = @STATE_ID))
+ RETURN @RESULT
+END
+GO
+-------------------------------------------------------------------
+
+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
+ DECLARE @CONVID BIGINT
+ SELECT @CONVID = CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started'
+ IF @CONVID > 0
+ BEGIN
+ INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ID',@CONVID);
+ END
+
+ IF EXISTS(SELECT CONV_ID FROM VWIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND USER_ID = @pUSERID)
+ BEGIN
+ INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_USER_ACTIVE','True');
+ END
+
+ 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 @MY_DD_ECM_DB.dbo.TBDD_USER');
+ INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ADD_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from @MY_DD_ECM_DB.dbo.TBDD_USER WHERE GUID NOT IN (SELECT USER_OR_GROUP_ID FROM
+ TBIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND IS_USER = 1)');
+
+RETURN
+END
+GO
+
+CREATE FUNCTION [dbo].[FNIDB_GET_FILE_PATH] (@pIDB_OBJ_ID BIGINT)
+RETURNS VARCHAR(500)
+AS
+BEGIN
+ DECLARE @RELPATH VARCHAR(500),@FILEPATH VARCHAR(500),@NAVPATH as VARCHAR(500)
+ SELECT @RELPATH = [CAT_STRING] FROM [TBIDB_CATALOG] where CAT_TITLE = 'FILESTORE_PRAEFIX'
+ SELECT @NAVPATH = RELATIVE_PATH FROM TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @pIDB_OBJ_ID
+
+ RETURN @NAVPATH
+END
+GO
+
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (@pTERMGUID BIGINT)
+RETURNS VARCHAR(900)
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900)
+ SELECT @RESULT = T.TERM_VALUE
+ FROM TBIDB_TERM_VALUE_VARCHAR T WHERE T.GUID = @pTERMGUID
+ RETURN @RESULT
+END
+GO
+
+-- =============================================
+-- Author: DD MS
+-- Craeation date: 17.08.2020 MS [TBIDB_LANGUAGE_TERM_METADATA]
+-- =============================================
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID] (@pTBIDB_LANGUAGE_TERM_METADATA_GUID BIGINT,@pLANG_CODE VARCHAR(5) = 'de-DE')
+RETURNS VARCHAR(900)
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900),@LANG_ID INTEGER
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+ SELECT @RESULT = T3.TERM_VALUE -- @TERM_ID = T1.TEXT_TERM_ID
+ FROM TBIDB_LANGUAGE_TERM_METADATA T2
+ INNER JOIN TBIDB_TERM_LANGUAGE T1 ON T2.LANG_TERM_ID = T1.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T1.TEXT_TERM_ID = T3.GUID
+ WHERE
+ T2.GUID = @pTBIDB_LANGUAGE_TERM_METADATA_GUID
+ AND T1.LANGUAGE_ID = @LANG_ID
+ --SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID
+ RETURN @RESULT
+END
+GO
+-- =============================================
+-- Author: DD MS
+-- Creation date: 17.08.2020
+-- =============================================
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (@pATTRIBUTE_ID INTEGER,@pLANG_CODE VARCHAR(10), @pUSERID INTEGER)
+RETURNS @Output TABLE (IDB_OBJECT_ID BIGINT, TERM_VALUE VARCHAR(900),TERM_ID BIGINT,IDB_CREATED_WHEN DATETIME,IDB_CREATED_WHO VARCHAR(100))
+AS
+BEGIN
+ DECLARE
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT,
+ @TERM_RESULT VARCHAR(900),
+ @CREATED_WHEN DATETIME,
+ @CREATED_WHO VARCHAR(100)
+
+
+ BEGIN
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+ SELECT @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
+ WHERE T.TYP_ID = T1.GUID AND T.GUID = @pATTRIBUTE_ID
+ IF @TYP_ID IN (1,8) --VARCHAR
+ BEGIN
+ DECLARE @TL_ID BIGINT
+ INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
+ SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
+ FROM
+ TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
+ INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID
+ INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID
+ WHERE MD.ATTR_ID = @pATTRIBUTE_ID
+ AND TLANG.LANGUAGE_ID = @LANG_ID
+ END
+ ELSE IF @TYP_ID IN (2,7,9) --BIGINT
+ BEGIN
+ INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
+ SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
+ FROM
+ TBIDB_TERM_VALUE_INTEGER TERM, TBIDB_OBJECT_METADATA MD WHERE MD.INT_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @pATTRIBUTE_ID
+ END
+ ELSE IF @TYP_ID = 3 --FLOAT
+ BEGIN
+ INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
+ SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
+ FROM TBIDB_TERM_VALUE_FLOAT TERM, TBIDB_OBJECT_METADATA MD WHERE MD.FLOAT_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @pATTRIBUTE_ID
+ END
+ ELSE IF @TYP_ID = 4
+ BEGIN
+ INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
+ SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE, TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
+ FROM TBIDB_TERM_VALUE_DECIMAL TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DEC_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @pATTRIBUTE_ID
+ END
+ ELSE IF @TYP_ID = 5
+ BEGIN
+ INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
+ SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
+ FROM TBIDB_TERM_VALUE_DATE TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DATE_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @pATTRIBUTE_ID
+ END
+ END
+ RETURN
+END
+GO
+
+--CREATE FUNCTION [dbo].[FNIDB_SEARCH_GET_FILTER_SQL] (@pSEARCH_ID INTEGER, @pUSERID INTEGER, @pLANG_CODE VARCHAR(5))
+--RETURNS NVARCHAR(MAX)
+--AS
+--BEGIN
+-- DECLARE @ATTR_ID INTEGER, @ATTR_TITLE AS VARCHAR(100), @RUN TINYINT, @RESULT NVARCHAR(MAX), @RUN_ALIAS VARCHAR(2), @RUN_SELECT VARCHAR(500)
+-- ,@RUN_FROM VARCHAR(500), @SELECT_PART NVARCHAR(MAX), @FROM_PART NVARCHAR(MAX),@SEPARATOR VARCHAR(1)
+-- SET @RUN = 0
+-- SET @RUN_ALIAS = 'T'
+-- SET @SELECT_PART = 'SELECT '
+-- SET @FROM_PART = ''
+-- DECLARE cursAttribute CURSOR LOCAL FOR
+-- SELECT ATTRIBUTE_ID,ATTRIBUTE_TITLE
+-- FROM VWIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_ID ORDER BY SEQUENCE
+-- OPEN cursAttribute
+-- FETCH NEXT FROM cursAttribute INTO @ATTR_ID,@ATTR_TITLE
+-- WHILE @@FETCH_STATUS = 0
+-- BEGIN
+-- SET @RUN_SELECT = ''
+-- SET @RUN_FROM = ''
+-- IF @RUN = 0
+-- BEGIN
+-- SET @RUN_SELECT = 'T.IDB_OBJECT_ID, T.TERM_VALUE AS [' + @ATTR_TITLE + ']'
+-- SET @RUN_FROM = CHAR(10) + 'FROM [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (' + CONVERT(VARCHAR(10),@ATTR_ID) + ',''' + @pLANG_CODE + ''',' + CONVERT(VARCHAR(10),@pUSERID) + ') T'
+-- END
+-- ELSE
+-- BEGIN
+-- SET @RUN_SELECT = ', ' + @RUN_ALIAS + CONVERT(VARCHAR(2), @RUN) + '.TERM_VALUE AS [' + @ATTR_TITLE + ']'
+-- SET @RUN_FROM = CHAR(10) + 'INNER JOIN [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (' + CONVERT(VARCHAR(10),@ATTR_ID) + ',''' + @pLANG_CODE + ''',' + CONVERT(VARCHAR(10),@pUSERID) + ') ' + @RUN_ALIAS + CONVERT(VARCHAR(2), @RUN)
+-- SET @RUN_FROM += ' ON T.IDB_OBJECT_ID = T' + CONVERT(VARCHAR(2), @RUN) + '.IDB_OBJECT_ID'
+-- END
+-- SET @SELECT_PART += @RUN_SELECT
+-- SET @FROM_PART += @RUN_FROM
+
+-- SET @RUN += 1
+-- FETCH NEXT FROM cursAttribute INTO @ATTR_ID,@ATTR_TITLE
+-- END
+-- CLOSE cursAttribute
+-- DEALLOCATE cursAttribute
+-- SET @RESULT = @SELECT_PART + @FROM_PART
+
+
+-- RETURN @RESULT
+--END
+--GO
+-- =======================================================
+-- Author: Digital Data, DD MS
+-- Create Date: 22.10.2020
+-- Gunction returns all values for parameterized Attribute
+-- =======================================================
+CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_FOR_ALL_OBJECTS] (@ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10))
+RETURNS @Output TABLE (IDB_OBJ_ID BIGINT,TERM_VALUE VARCHAR(900))
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT,
+ @TERM_RESULT VARCHAR(900)
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
+ SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
+ WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE)
+
+ IF @TYP_ID IN (1,8) --VARCHAR
+ BEGIN
+ DECLARE @TL_ID BIGINT
+ INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
+ SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE FROM
+ TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
+ INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = @ATTR_ID
+ AND TLANG.LANGUAGE_ID = @LANG_ID
+ AND OBJ.DELETED = 0
+ ORDER BY OBJ.IDB_OBJ_ID DESC
+ END
+ ELSE IF @TYP_ID IN (2,7,9) --BIGINT
+ BEGIN
+ INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
+ SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
+ FROM
+ TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.INT_TERM_ID = TERM.GUID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = @ATTR_ID
+ AND OBJ.DELETED = 0
+ ORDER BY OBJ.IDB_OBJ_ID DESC
+ END
+ ELSE IF @TYP_ID = 3 --FLOAT
+ BEGIN
+ INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
+ SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
+ FROM
+ TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.FLOAT_TERM_ID = TERM.GUID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = @ATTR_ID
+ AND OBJ.DELETED = 0 ORDER BY OBJ.IDB_OBJ_ID DESC
+ END
+ ELSE IF @TYP_ID = 4
+ BEGIN
+ INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
+ SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
+ FROM
+ TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DEC_TERM_ID = TERM.GUID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = @ATTR_ID
+ AND OBJ.DELETED = 0
+ ORDER BY OBJ.IDB_OBJ_ID DESC
+ END
+ ELSE IF @TYP_ID = 5
+ BEGIN
+ INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
+ SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
+ FROM
+ TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DATE_TERM_ID = TERM.GUID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = @ATTR_ID AND OBJ.DELETED = 0
+ ORDER BY OBJ.IDB_OBJ_ID DESC
+ END
+RETURN
+END
+GO
+ --=============================================
+ --Author: Digital Data MS
+ --Creation date: 22.10.2020
+ --=============================================
+CREATE FUNCTION [dbo].[FNIDB_GET_SEARCH_PROFILES] (@pUSERID INT, @pLANGCODE VARCHAR(5))
+RETURNS @Output TABLE (SEARCH_PROFILE_ID INTEGER,TITLE VARCHAR(100),RESULT_SQL VARCHAR(915),PSOURCE VARCHAR(50))
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT,
+ @TERM_RESULT VARCHAR(900),
+ @IDB_CREATED_WHEN DATETIME,
+ @IDB_CREATED_WHO VARCHAR(100),
+ @IDB_CHANGED_WHEN DATETIME,
+ @IDB_CHANGED_WHO VARCHAR(100)
+
+ INSERT INTO @Output (SEARCH_PROFILE_ID,TITLE,RESULT_SQL,PSOURCE)
+ SELECT
+ T.GUID
+ ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID] (T.TITLE_ID,@pLANGCODE) AS TITLE
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T2.SEARCH_TERM_ID) AS RESULT_SQL
+ ,'TBIDB_SEARCH_PROFILE_USER'
+ FROM TBIDB_SEARCH_PROFILE T INNER JOIN TBIDB_SEARCH_PROFILE_USER_GROUP T1 ON T.GUID = T1.SEARCH_PROFIL_ID
+ INNER JOIN TBIDB_SEARCH_LANGUAGE_SQL_RESULT T2 ON T.GUID = T2.SEARCH_PROFIL_ID
+ INNER JOIN TBIDB_LANGUAGE T3 ON T2.LANGUAGE_ID = T3.GUID
+ WHERE T1.USER_ID = @pUSERID AND UPPER(T3.LANG_CODE) = UPPER(@pLANGCODE)
+
+ INSERT INTO @Output (SEARCH_PROFILE_ID,TITLE,RESULT_SQL,PSOURCE)
+ SELECT
+ T.GUID
+ ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID] (T.TITLE_ID,@pLANGCODE) AS TITLE
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T4.SEARCH_TERM_ID) AS RESULT_SQL
+ ,'TBIDB_SEARCH_PROFILE_GROUP'
+ FROM TBIDB_SEARCH_PROFILE T INNER JOIN TBIDB_SEARCH_PROFILE_USER_GROUP T1 ON T.GUID = T1.SEARCH_PROFIL_ID
+ INNER JOIN DD_ECM.dbo.TBDD_GROUPS T2 ON T1.GROUP_ID = T2.GUID
+ INNER JOIN DD_ECM.dbo.TBDD_GROUPS_USER T3 ON T2.GUID = T3.GROUP_ID
+ INNER JOIN TBIDB_SEARCH_LANGUAGE_SQL_RESULT T4 ON T.GUID = T4.SEARCH_PROFIL_ID
+ INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T3.GUID
+ WHERE T3.USER_ID = @pUSERID AND UPPER(T5.LANG_CODE) = UPPER(@pLANGCODE)
+ RETURN
+END
+GO
+--CREATE FUNCTION [dbo].[FNIDB_SEARCH_RESULT_GET_OBJECTS] (@pUSERID INT,@PSEARCHID INT)
+----DECLARE @pUSERID INT,@PSEARCHID INT
+----SET @pUSERID =1
+----SET @PSEARCHID = 7
+--RETURNS @TBRESULT TABLE (RUN INT, IDB_OBJ_ID BIGINT, ATTR_ID INT,ATTR_TITLE VARCHAR(100), COMMENT VARCHAR(200))
+--AS
+--BEGIN
+-- DECLARE
+-- @GUID BIGINT,@ATTR_ID INT,@LASTATTR_ID INT ,@ATTR_TITLE VARCHAR(100),@RUN TINYINT,@COUNT_ATTRIBUTES TINYINT
+-- ,@RESTRICTIONSYN BIT
+
+-- SET @LASTATTR_ID = 0
+-- DECLARE @TBRESULT_RESTRICTION TABLE (RUN INT, IDB_OBJ_ID BIGINT, ATTR_ID INT,ATTR_TITLE VARCHAR(100), COMMENT VARCHAR(200))
+-- select @COUNT_ATTRIBUTES = COUNT(T.USERID)
+-- from
+-- VWIDB_SEARCH_ATTRIBUTES_USER T
+-- WHERE
+-- T.SEARCH_PROFIL_ID = @PSEARCHID AND T.USERID = @pUSERID
+
+-- SET @RUN = 1
+-- DECLARE cursorSearchAttributes CURSOR FOR
+-- select
+-- T.ATTRIBUTE_ID,T.TITLE
+-- from
+-- VWIDB_SEARCH_ATTRIBUTES_USER T
+-- WHERE
+-- T.SEARCH_PROFIL_ID = @PSEARCHID AND T.USERID = @pUSERID
+
+-- ORDER BY T.SEQUENCE
+-- OPEN cursorSearchAttributes
+-- FETCH NEXT FROM cursorSearchAttributes INTO @ATTR_ID,@ATTR_TITLE
+-- WHILE @@FETCH_STATUS = 0
+-- BEGIN
+-- DECLARE @SEARCH_DEF_ID BIGINT, @TERM_ID BIGINT
+-- DECLARE cursorDetailAttribute CURSOR FOR
+-- select
+-- T.GUID,T.TERM_ID
+-- from
+-- TBIDB_USER_SEARCH_CRITERIA T
+-- WHERE
+-- T.SEARCH_PROFIL_ID = 7 AND T.USERID = 1 AND T.ATTRIBUTE_ID = @ATTR_ID
+-- OPEN cursorDetailAttribute
+-- FETCH NEXT FROM cursorDetailAttribute INTO @SEARCH_DEF_ID,@TERM_ID
+-- WHILE @@FETCH_STATUS = 0
+-- BEGIN
+-- INSERT INTO @TBRESULT_RESTRICTION ( RUN, IDB_OBJ_ID, ATTR_ID, ATTR_TITLE)
+-- SELECT @SEARCH_DEF_ID, IDB_OBJECT_ID, @ATTR_ID, @ATTR_TITLE
+-- FROM
+-- FNIDB_GET_TERM_FOR_ATTRIBUTE_ID (@ATTR_ID,'de-DE',@pUSERID)
+-- WHERE
+-- TERM_ID = @TERM_ID
+-- --SELECT * FROM @TBRESULT_RESTRICTION
+-- FETCH NEXT FROM cursorDetailAttribute INTO @SEARCH_DEF_ID,@TERM_ID
+-- END
+-- CLOSE cursorDetailAttribute
+-- DEALLOCATE cursorDetailAttribute
+-- --PRINT 'FIRST SEARCH ROW'
+-- --PRINT @TBRESULT_RESTRICTION
+-- --PRINT '@COUNT_ATTRIBUTES: ' + CONVERT(VARCHAR(2),@COUNT_ATTRIBUTES)
+-- --PRINT '@RUN: ' + CONVERT(VARCHAR(2),@RUN)
+-- IF @RUN = 1
+-- INSERT INTO @TBRESULT ( RUN, IDB_OBJ_ID, ATTR_ID, ATTR_TITLE, COMMENT)
+-- SELECT * FROM @TBRESULT_RESTRICTION
+-- ELSE
+-- IF @COUNT_ATTRIBUTES = @RUN
+-- BEGIN
+-- -- --#### Now deleting the Results which are not part of the restriction
+-- --PRINT 'DELETE AS THIS IS THE LAST RUN PER ATTRIBUTE'
+-- DELETE FROM @TBRESULT WHERE IDB_OBJ_ID NOT IN (
+-- SELECT IDB_OBJ_ID FROM @TBRESULT_RESTRICTION)
+-- -- UPDATE T
+-- -- SET
+-- -- T.RUN = T1.RUN
+-- -- FROM
+-- -- @TBRESULT T INNER JOIN
+-- -- @TBRESULT_RESTRICTION T1 ON T.IDB_OBJ_ID = T1.IDB_OBJ_ID
+-- END
+-- SET @RUN +=1
+-- SET @LASTATTR_ID = @ATTR_ID
+-- DELETE FROM @TBRESULT_RESTRICTION
+-- FETCH NEXT FROM cursorSearchAttributes INTO @ATTR_ID,@ATTR_TITLE
+-- END
+-- CLOSE cursorSearchAttributes
+-- DEALLOCATE cursorSearchAttributes
+--RETURN
+----select DISTINCT IDB_OBJ_ID from @TBRESULT ORDER BY IDB_OBJ_ID
+--END
+--GO
+/*#########################################
+############## VIEWS ######################
+###########################################*/
+CREATE VIEW VWIDB_OBJECT_STORE
+AS
+SELECT
+ A.GUID,
+ A.OBJECT_TITLE AS Objectstore,
+ A.IS_ARCHIVE Archive
+ ,B.CAT_STRING As REL_PATH
+ ,A.ADDED_WHEN
+ ,A.ADDED_WHO
+ ,A.CHANGED_WHO
+ ,A.CHANGED_WHEN
+FROM
+ TBIDB_OBJECT_STORE A INNER JOIN TBIDB_CATALOG B ON A.CAT_ID = B.GUID
+GO
+CREATE VIEW [dbo].[VWIDB_VALUE_CHANGE_LOG] AS
+select
+ T.GUID AS ChangeID,
+ T1.GUID AS AttributID,
+ T.IDB_OBJ_ID, T1.TITLE as Attribut,
+ T3.TERM_VALUE as [CREATE Wert],
+ T5.TERM_VALUE as [Neuer Wert],
+ T.CHANGED_WHO [Geändert wer],
+ T.CHANGED_WHEN [Geändert wann]
+from TBIDB_OBJECT_METADATA_CHANGE T
+ INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.OLD_TEXT_TERM_LANG_ID = T2.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID
+ INNER JOIN TBIDB_TERM_LANGUAGE T4 ON T.NEW_TEXT_TERM_LANG_ID = T4.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T4.TEXT_TERM_ID = T5.GUID
+GO
+CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_BIT] AS
+SELECT
+ T.GUID AS MetadataID,
+ T.ATTR_ID AS AttributID,
+ T.IDB_OBJ_ID,
+ T1.TITLE as Attribut,
+ (SELECT [dbo].[FNIDB_GET_TERM_BIT] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value',
+ T.ADDED_WHO,
+ T.ADDED_WHEN,
+ T.CHANGED_WHO,
+ T.CHANGED_WHEN
+FROM
+ TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
+WHERE
+ T2.NAME_TYPE = 'BIT'
+GO
+
+CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_DATE] AS
+SELECT
+ T.GUID AS MetadataID,
+ T.ATTR_ID AS AttributID,
+ T.IDB_OBJ_ID,
+ T1.TITLE as Attribut,
+ (SELECT [dbo].[FNIDB_GET_TERM_DATE] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value',
+ T.ADDED_WHO,
+ T.ADDED_WHEN,
+ T.CHANGED_WHO,
+ T.CHANGED_WHEN
+
+FROM
+ TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
+WHERE
+ T2.NAME_TYPE = 'DATE'
+GO
+
+CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_DECIMAL] AS
+SELECT
+ T.GUID AS MetadataID,
+ T.ATTR_ID AS AttributID,
+ T.IDB_OBJ_ID,
+ T1.TITLE as Attribut,
+ (SELECT [dbo].[FNIDB_GET_TERM_DECIMAL] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value',
+ T.ADDED_WHO,
+ T.ADDED_WHEN,
+ T.CHANGED_WHO,
+ T.CHANGED_WHEN
+FROM
+ TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
+WHERE
+ T2.NAME_TYPE = 'DECIMAL'
+GO
+
+CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_FLOAT] AS
+SELECT
+ T.GUID AS MetadataID,
+ T.ATTR_ID AS AttributID,
+ T.IDB_OBJ_ID,
+ T1.TITLE as Attribut,
+ (SELECT [dbo].[FNIDB_GET_TERM_FLOAT] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value',
+ T.ADDED_WHO,
+ T.ADDED_WHEN,
+ T.CHANGED_WHO,
+ T.CHANGED_WHEN
+FROM
+ TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
+WHERE
+ T2.NAME_TYPE = 'FLOAT'
+GO
+
+CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_INTEGER] AS
+SELECT
+ T.GUID AS MetadataID,
+ T.ATTR_ID AS AttributID,
+ T.IDB_OBJ_ID,
+ T1.TITLE as Attribut,
+ (SELECT [dbo].[FNIDB_GET_TERM_INTEGER] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value',
+ T.ADDED_WHO,
+ T.ADDED_WHEN,
+ T.CHANGED_WHO,
+ T.CHANGED_WHEN
+FROM
+ TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
+WHERE
+ T2.NAME_TYPE = 'BIG INTEGER'
+GO
+
+CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_TEXT] AS
+SELECT
+ T.IDB_OBJ_ID
+ ,T.ATTR_ID
+ ,T1.TITLE ATTR_NAME
+ ,(SELECT [dbo].[FNIDB_GET_TERM_TEXT] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value'
+FROM
+ TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
+WHERE
+ T2.NAME_TYPE = 'VARCHAR'
+GO
+
+
+CREATE VIEW [dbo].[VWIDB_VALUE_DELETE_LOG] AS
+select
+ T.GUID AS DeleteID,
+ T1.GUID AS AttributID,
+ T.IDB_OBJ_ID,
+ T1.TITLE as Attribut,
+ T3.TERM_VALUE as [Gelöschter Wert],
+ T.DELETED_WHO [Gelöscht wer],
+ T.DELETED_WHEN [Gelöscht wann]
+from TBIDB_OBJECT_METADATA_DELETE T
+ INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.TEXT_TERM_LANG_ID = T2.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID
+GO
+CREATE VIEW [dbo].[VWIDB_VALUE_TEXT] AS
+select TOP 100 PERCENT
+ T.GUID AS MetadataID,
+ T1.GUID AS AttributID,
+ T.IDB_OBJ_ID,
+ T1.TITLE as Attribut,
+ T3.TERM_VALUE,
+ T4.LANG_CODE,
+ T.ADDED_WHO,
+ T.ADDED_WHEN,
+ T.CHANGED_WHO [Geändert wer],
+ T.CHANGED_WHEN [Geändert wann]
+from TBIDB_OBJECT_METADATA T
+ INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.TEXT_TERM_LANG_ID = T2.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID
+ INNER JOIN TBIDB_LANGUAGE T4 ON T2.LANGUAGE_ID = T4.GUID
+ORDER BY
+ T.IDB_OBJ_ID,T1.TITLE
+GO
+
+CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_TEXT_SORTED] as
+SELECT TOP 100 PERCENT
+ *, [Geändert wann] as LAST_CHANGE
+FROM
+ VWIDB_VALUE_TEXT where [Geändert wann] IS NOT NULL
+UNION
+SELECT TOP 100 PERCENT
+ *, [ADDED_WHEN] as LAST_CHANGE
+FROM
+ VWIDB_VALUE_TEXT where [Geändert wann] IS NULL
+ORDER BY IDB_OBJ_ID DESC,LAST_CHANGE DESC
+GO
+CREATE VIEW VWIDB_OBJECTSTORE AS
+SELECT
+ T.GUID As OST_ID,
+ T.OBJECT_TITLE AS OS_TITLE,
+ T.IS_ARCHIVE AS OS_IS_ARCHIVE,
+ T1.CAT_STRING AS IDB_PRAEFIX
+FROM
+TBIDB_OBJECT_STORE T
+ INNER JOIN TBIDB_CATALOG T1 ON T.CAT_ID = T1.GUID
+GO
+
+CREATE VIEW VWIDB_CONVERSATION AS
+SELECT
+ GUID As CONVERSATION_ID
+ ,IDB_OBJ_ID
+ ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (TITLE_TERM_ID) as TITLE
+ ,[dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (GUID) AS CONVERSATION_STATE
+ ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (ADDED_WHO) as ADDED_WHO
+ ,ADDED_WHEN
+ ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (CHANGED_WHO) as CHANGED_WHO
+ ,CHANGED_WHEN
+FROM TBIDB_CONVERSATION_OBJECT
+GO
+CREATE VIEW VWIDB_CONV_MESSAGES AS
+select
+ T.GUID,
+ T.CONV_ID,
+ (SELECT EMAIL FROM @MY_DD_ECM_DB.dbo.TBDD_USER WHERE GUID = T.TO_USER) TO_USER,
+ [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T1.TITLE_TERM_ID) AS CONV_TITLE
+ ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (T.FROM_USER) as USER_FROM
+ ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.MESSAGE_TERM_ID) as MESSAGE_TEXT
+ ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.ADDED_WHO) as ADDED_WHO
+ ,T.ADDED_WHEN
+from TBIDB_CONVERSATION_MESSAGE T INNER JOIN TBIDB_CONVERSATION_OBJECT T1 ON T.CONV_ID = T1.GUID
+GO
+
+CREATE VIEW VWIDB_CONVERSATION_USER AS
+SELECT
+ T.CONV_ID
+ ,T1.GUID As USER_ID
+ ,T1.USERNAME
+ ,T1.EMAIL
+ ,T1.NAME + ', ' + T1.PRENAME as NAME
+FROM
+ [IDB_TEST].[dbo].[TBIDB_CONVERSATION_USER] T
+ INNER JOIN @MY_DD_ECM_DB.dbo.TBDD_USER T1 ON T.USER_OR_GROUP_ID = T1.GUID
+WHERE IS_USER = 1
+GO
+
+--CREATE VIEW VWIDB_SEARCH_PROFILE_ATTRIBUTES AS
+--SELECT
+-- T.SEARCH_PROFIL_ID,
+-- T.GUID,
+-- T.ATTRIBUTE_ID,
+-- --T.DEPENDING_ATTRIBUTE1,
+-- T1.TITLE AS ATTRIBUTE_TITLE,
+-- T.HEIGHT,
+-- T.WIDTH,
+-- T.MULTISELECT,
+-- T2.NAME_TYPE AS ATTRIBUTE_TYPE
+-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.SOURCE_SQL) AS SOURCE_SQL
+-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO
+-- ,T.ADDED_WHEN
+-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO
+-- ,T.CHANGED_WHEN
+-- ,T.[SEQUENCE]
+--FROM
+-- TBIDB_SEARCH_PROFILE_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
+-- INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
+--GO
+
+--CREATE VIEW VWIDB_SEARCH_ATTRIBUTES_LINKS AS
+--SELECT
+-- T1.SEARCH_PROFIL_ID,
+-- T.GUID,
+-- T.DEP_ATTR_ID,
+-- --T.DEPENDING_ATTRIBUTE1,
+-- T3.TITLE AS DEP_ATTRIBUTE_TITLE,
+-- [dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T1.SOURCE_SQL) DEP_SOURCE_SQL,
+-- T.LINKED_ATTR_ID
+-- --T.DEPENDING_ATTRIBUTE1,
+-- ,T5.TITLE AS LINK_ATTRIBUTE_TITLE
+-- ,T.ADDED_WHEN
+-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO
+-- ,T.CHANGED_WHEN
+--FROM
+-- TBIDB_SEARCH_ATTRIBUTES_LINKS T INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T1 ON T.DEP_ATTR_ID = T1.ATTRIBUTE_ID
+-- --INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T2 ON T.LINKED_ATTR_ID = T2.ATTRIBUTE_ID
+-- INNER JOIN TBIDB_ATTRIBUTE T3 ON T.DEP_ATTR_ID = T3.GUID
+-- INNER JOIN TBIDB_ATTRIBUTE T5 ON T.LINKED_ATTR_ID = T5.GUID
+
+--GO
+
+
+
+
+
+--CREATE VIEW VWIDB_SEARCH_ATTRIBUTES_USER
+--AS
+-- select TOP 100 PERCENT
+-- T.USERID,T.SEARCH_PROFIL_ID, T.ATTRIBUTE_ID,T1.TITLE,T2.SEQUENCE
+-- from
+-- TBIDB_USER_SEARCH_CRITERIA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
+-- INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T2 ON T.SEARCH_PROFIL_ID = T2.SEARCH_PROFIL_ID AND T.ATTRIBUTE_ID = T2.ATTRIBUTE_ID
+-- GROUP BY T.USERID,T.SEARCH_PROFIL_ID, T.ATTRIBUTE_ID,T1.TITLE,T2.SEQUENCE
+-- ORDER BY T.USERID, T.SEARCH_PROFIL_ID, T2.SEQUENCE
+--GO
+CREATE VIEW [dbo].[VWIDB_CHANGE_LOG] AS
+select
+ T.GUID AS ChangeID,
+ T.IDB_OBJ_ID,
+ T1.TITLE as Attribute,
+ T3.TERM_VALUE as [Old value],
+ T5.TERM_VALUE as [New value],
+ T.CHANGED_WHO [Changed who],
+ T.CHANGED_WHEN [Changed when]
+from TBIDB_OBJECT_METADATA_CHANGE T
+ INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.OLD_TEXT_TERM_LANG_ID = T2.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID
+ INNER JOIN TBIDB_TERM_LANGUAGE T4 ON T.NEW_TEXT_TERM_LANG_ID = T4.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T4.TEXT_TERM_ID = T5.GUID
+GO
+--CREATE VIEW [dbo].[VWIDB_CATEGORIES_PER_OBJECT_AND_LANGUAGE] AS
+--select
+-- MD.IDB_OBJ_ID
+-- ,TLANG.LANGUAGE_ID
+-- ,TERM.TERM_VALUE
+-- ,TERM_ATTR.TERM_VALUE AS ATTRIBUTE_TITLE
+-- ,ATTR.GUID AS ATTRIBUTE_ID
+--FROM
+-- TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
+-- INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID
+-- INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID
+-- INNER JOIN TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES CAT_ATTR ON MD.ATTR_ID = CAT_ATTR.ATTRIBUTE_ID
+-- INNER JOIN TBIDB_ATTRIBUTE ATTR ON CAT_ATTR.ATTRIBUTE_ID = ATTR.GUID
+-- INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE ATTR_LANG ON ATTR.GUID = ATTR_LANG.ATTRIBUTE_ID
+-- INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM_ATTR ON ATTR_LANG.TERM_ID = TERM_ATTR.GUID
+--WHERE
+-- CAT_ATTR.ACTIVE = 1
+--GO
+USE DD_ECM
+GO
+
+CREATE VIEW [dbo].[VWGI_DOCTYPE_USER] AS
+SELECT DISTINCT
+ T.GUID AS [USER_ID],
+ T.USERNAME,
+ --T2.NAME AS GROUP_NAME,
+ T3.DOCTYPE_ID,
+ T4.BEZEICHNUNG AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T5.OBJECT_ST_ID,
+ T4.SEQUENCE
+FROM
+ DD_ECM.dbo.TBDD_USER T,
+ DD_ECM.dbo.TBDD_GROUPS_USER T1,
+ DD_ECM.dbo.TBDD_GROUPS T2,
+ DD_ECM.dbo.TBDD_USRGRP_DOKTYPE T3,
+ DD_ECM.dbo.TBDD_DOKUMENTART T4,
+ IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5
+WHERE
+ T4.AKTIV = 1 AND
+ T.GUID = T1.[USER_ID] AND
+ T1.GROUP_ID = T2.GUID AND
+ T2.GUID = T3.GROUP_ID AND
+ T3.DOCTYPE_ID = T4.GUID AND
+ T4.GUID = T5.DOCTYPE_ID AND
+
+ T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
+UNION
+SELECT DISTINCT
+ T.GUID AS [USER_ID],
+ T.USERNAME,
+ --'' AS GROUP_NAME,
+ T4.GUID as DOCTYPE_ID,
+ T4.BEZEICHNUNG AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T5.OBJECT_ST_ID,
+ T4.SEQUENCE
+FROM
+ DD_ECM.dbo.TBDD_USER T,
+ DD_ECM.dbo.TBDD_USER_DOKTYPE T3,
+ DD_ECM.dbo.TBDD_DOKUMENTART T4,
+ IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5
+WHERE
+ T4.AKTIV = 1 AND
+ T.GUID = T3.[USER_ID] AND
+ T3.DOCTYPE_ID = T4.GUID AND
+ T4.GUID = T5.DOCTYPE_ID AND
+ T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
+GO
+CREATE VIEW [dbo].[VWGI_DOCTYPE] AS
+SELECT DISTINCT
+ T4.GUID as DOCTYPE_ID,
+ T4.BEZEICHNUNG AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T5.OBJECT_ST_ID,
+ T4.SEQUENCE
+FROM
+ DD_ECM.dbo.TBDD_DOKUMENTART T4,
+ IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5
+WHERE
+ T4.AKTIV = 1 AND
+ T4.GUID = T5.DOCTYPE_ID AND
+
+ T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
+GO
+
+
+/*###########################################
+############## PROCEDURES ###################
+#############################################*/
+
+
+-- =============================================
+-- Author: DD MS
+-- Changed: 25.11.2021 @TERM_TYPE_ID = 6
+-- Changed: 25.08.2020 @TERM_TYPE_ID = 7 AND UPPER(@TERM)
+-- =============================================
+ALTER PROCEDURE [dbo].[PRIDB_NEW_TERM] @MD_TYPE VARCHAR(100),@TERM VARCHAR(MAX), @WHO VARCHAR(100), @TERM_ID BIGINT OUTPUT
+AS
+BEGIN
+ DECLARE @TERM_TYPE_ID TINYINT
+
+ SELECT @TERM_TYPE_ID = GUID FROM TBIDB_ATTRIBUTE_TYPE WHERE UPPER(NAME_TYPE) = UPPER(@MD_TYPE)
+ IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'TRUE'
+ SET @TERM = 1
+ ELSE IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'FALSE'
+ SET @TERM = 0
+ --PRINT 'PRIDB_NEW_TERM: TERM_TYPE_ID IS: ' + CONVERT(VARCHAR(2),@TERM_TYPE_ID) + ' # TERM: ' + @TERM
+ IF @TERM_TYPE_ID IN (1,8) --VARCHAR
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_VARCHAR (TERM_VALUE,ADDED_WHO) VALUES (@TERM,@WHO);
+ SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_VARCHAR
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM)
+ ELSE IF @TERM_TYPE_ID IN (2,7,9) --BIGINT
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(BIGINT,@TERM),@WHO);
+ SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_INTEGER
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM)
+ ELSE IF @TERM_TYPE_ID = 3 --FLOAT
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_FLOAT (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(FLOAT,@TERM),@WHO);
+ SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_FLOAT
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM)
+ ELSE IF @TERM_TYPE_ID = 4 --DECIMAL
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_DECIMAL (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DECIMAL(19,0),@TERM),@WHO);
+ SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DECIMAL
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM)
+ ELSE IF @TERM_TYPE_ID = 5 --DATE
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_DATE (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATE,@TERM),@WHO);
+ SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DATE
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)
+ ELSE IF @TERM_TYPE_ID = 6 --DATETIME
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATETIME WHERE TERM_VALUE = CONVERT(DATETIME,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_DATETIME (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATETIME,@TERM),@WHO);
+ SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DATETIME
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)
+
+ PRINT '### PRIDB_NEW_TERM: TERM-ID: ' + CONVERT(VARCHAR(10),@TERM_ID) + '###'
+END
+GO
+
+
+CREATE PROCEDURE [dbo].[PRIDB_NEW_IDB_STATE] @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
+AS
+BEGIN
+ DECLARE
+ @LANG_ID INTEGER
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+
+ DECLARE @STATE_TERM_ID BIGINT,@LANG_STATE_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT;
+ DECLARE @ADDED_WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID)
+ INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@STATE_TERM_ID,@pWHO)
+ SELECT @LANG_STATE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID)
+ INSERT INTO TBIDB_STATES (STATE_LTERM_ID,ADDED_WHO) VALUES (@LANG_STATE_TERM_ID,@ADDED_WHO_TERM_ID)
+ IF NOT EXISTS (SELECT GUID FROM TBIDB_STATE_LANG_GROUP WHERE STATE_ID = (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID))
+ INSERT INTO TBIDB_STATE_LANG_GROUP (STATE_ID,LANG_TERM_ID,ADDED_WHO) VALUES (
+ (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID)
+ ,@LANG_STATE_TERM_ID
+ ,@ADDED_WHO_TERM_ID)
+
+ SELECT * FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID
+END
+GO
+EXEC PRIDB_NEW_IDB_STATE 'Started', 'Digital Data','de-DE';
+EXEC PRIDB_NEW_IDB_STATE 'Ended', 'Digital Data','de-DE';
+GO
+
+CREATE PROCEDURE [dbo].[PRIDB_DELETE_ATTRIBUTE_DATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @WHO VARCHAR(100)
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @ATTR_TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @TEXT_TERM_LANG_ID BIGINT,
+ @TERM_ID BIGINT,
+ @USER_DELETE_ID INTEGER,
+ @ERROR as BIT
+ SET @ERROR = 0
+ SELECT @USER_DELETE_ID = COALESCE(MAX(USER_DELETE_ID),0) + 1 FROM TBIDB_OBJECT_METADATA_DELETE WHERE UPPER(DELETED_WHO) = UPPER(@WHO)
+
+ SELECT @ATTR_ID = T.GUID,@ATTR_TYP_ID = T.TYP_ID FROM TBIDB_ATTRIBUTE T WHERE UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
+
+ IF @ATTR_TYP_ID IN (1,8) --VARCHAR
+ BEGIN TRY
+ DECLARE cursor_DeleteLog CURSOR LOCAL FOR
+ SELECT T.IDB_OBJ_ID,T.TEXT_TERM_LANG_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
+ OPEN cursor_DeleteLog
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TEXT_TERM_LANG_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO,USER_DELETE_ID)
+ VALUES (@IDB_OBJ_ID,@ATTR_ID, @TEXT_TERM_LANG_ID, @WHO,@USER_DELETE_ID)
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TEXT_TERM_LANG_ID
+ END
+ CLOSE cursor_DeleteLog
+ DEALLOCATE cursor_DeleteLog
+
+ DELETE T
+ FROM TBIDB_OBJECT_METADATA T
+ INNER JOIN TBIDB_TERM_LANGUAGE T1
+ ON T.TEXT_TERM_LANG_ID=T1.GUID
+ WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
+
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
+ SET @ERROR = 1
+ END CATCH
+
+ ELSE IF @ATTR_TYP_ID IN (2,7,9) --BIGINT
+ BEGIN TRY
+ DECLARE cursor_DeleteLog CURSOR LOCAL FOR
+ SELECT T.IDB_OBJ_ID,T.INT_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
+ OPEN cursor_DeleteLog
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO,USER_DELETE_ID)
+ VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ END
+ CLOSE cursor_DeleteLog
+ DEALLOCATE cursor_DeleteLog
+
+ DELETE T
+ FROM TBIDB_OBJECT_METADATA T
+ WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
+ END TRY
+
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING (INTEGER) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
+ SET @ERROR = 1
+ END CATCH
+ ELSE IF @ATTR_TYP_ID = 3 --FLOAT
+ BEGIN TRY
+ DECLARE cursor_DeleteLog CURSOR LOCAL FOR
+ SELECT T.IDB_OBJ_ID,T.FLOAT_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
+ OPEN cursor_DeleteLog
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO,USER_DELETE_ID)
+ VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ END
+ CLOSE cursor_DeleteLog
+ DEALLOCATE cursor_DeleteLog
+
+ DELETE T
+ FROM TBIDB_OBJECT_METADATA T
+ WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
+ END TRY
+
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING (FLOAT) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
+ SET @ERROR = 1
+ END CATCH
+ ELSE IF @ATTR_TYP_ID = 4 --DECIMAL
+ BEGIN TRY
+ DECLARE cursor_DeleteLog CURSOR LOCAL FOR
+ SELECT T.IDB_OBJ_ID,T.DEC_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
+ OPEN cursor_DeleteLog
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO,USER_DELETE_ID)
+ VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ END
+ CLOSE cursor_DeleteLog
+ DEALLOCATE cursor_DeleteLog
+
+ DELETE T
+ FROM TBIDB_OBJECT_METADATA T
+ WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
+ END TRY
+
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING (DECIMAL) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
+ SET @ERROR = 1
+ END CATCH
+ ELSE IF @ATTR_TYP_ID = 5 --DATE
+ BEGIN TRY
+ DECLARE cursor_DeleteLog CURSOR LOCAL FOR
+ SELECT T.IDB_OBJ_ID,T.DATE_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
+ OPEN cursor_DeleteLog
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO,USER_DELETE_ID)
+ VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ END
+ CLOSE cursor_DeleteLog
+ DEALLOCATE cursor_DeleteLog
+
+ DELETE T
+ FROM TBIDB_OBJECT_METADATA T
+ WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID
+ END TRY
+
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING (DATE) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
+ SET @ERROR = 1
+ END CATCH
+ --IF @ERROR = 0
+ -- BEGIN
+ -- UPDATE TBIDB_ATTRIBUTE SET DELETED = 1, DELETED_WHO = @WHO WHERE GUID = @ATTR_ID;
+ -- END
+END
+GO
+
+CREATE PROCEDURE [dbo].[PRIDB_OBJECT_SET_DELETED] @IDB_OBJECT BIGINT, @WHO VARCHAR(100)
+AS
+BEGIN
+ UPDATE TBIDB_OBJECT SET DELETED = 1,CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJECT
+END
+GO
+
+
+CREATE PROCEDURE [dbo].[PRIDB_CHECK_DOCINFO] @IDB_OBJ_ID BIGINT, @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID_OUT BIGINT OUTPUT
+AS
+BEGIN
+ DECLARE
+ @SHARE_PATH VARCHAR(100),
+ @OBJ_STORE_PATH VARCHAR(250),
+ @NEW_FULL_PATH VARCHAR(512),
+ @FILENAME_EXT VARCHAR(250),
+ @FILENAME_ONLY VARCHAR(250),
+ @RELATIVE_PATH VARCHAR(512),
+ @RELATIVE_PATH_ONLY VARCHAR(512),
+ @EXT VARCHAR(10)
+
+ SELECT
+ @SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH
+ FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID
+ SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH)
+ SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','')
+ SET @RELATIVE_PATH = UPPER(@REL_PATH)
+ PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH
+ PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH
+
+
+ SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH);
+ SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH);
+ SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH));
+ SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'')
+ DECLARE @RELATIVE_PATH_ONLY_TERM BIGINT,@EXTENSION_TERM BIGINT
+ EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELATIVE_PATH_ONLY,@WHO, @TERM_ID = @RELATIVE_PATH_ONLY_TERM OUTPUT
+ EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@EXT,@WHO, @TERM_ID = @EXTENSION_TERM OUTPUT
+ PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY
+ --PRINT '@EXT: ' + @EXT
+
+ IF EXISTS(SELECT GUID FROM TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
+ UPDATE [TBIDB_DOC_INFO] SET [OBJ_ST_ID] = @OBJ_ST_ID, [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY
+ ,EXTENSION_TERM = @EXTENSION_TERM
+ ,[RELATIVE_PATH] = @RELATIVE_PATH
+ ,RELATIVE_PATH_ONLY_TERM = @RELATIVE_PATH_ONLY_TERM
+ ,CHANGED_WHO = @WHO
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID
+ ELSE
+ BEGIN
+ INSERT INTO [dbo].[TBIDB_DOC_INFO]
+ ([IDB_OBJ_ID]
+ ,[OBJ_ST_ID]
+ ,[FILENAME_EXT]
+ ,[FILENAME_ONLY]
+ ,EXTENSION_TERM
+ ,[RELATIVE_PATH]
+ ,RELATIVE_PATH_ONLY_TERM
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@OBJ_ST_ID
+ ,@FILENAME_EXT
+ ,@FILENAME_ONLY
+ ,@EXTENSION_TERM
+ ,@RELATIVE_PATH
+ ,@RELATIVE_PATH_ONLY_TERM
+ ,@WHO)
+ END
+ SET @IDB_OBJ_ID_OUT = @IDB_OBJ_ID
+END
+GO
+CREATE PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX),
+@LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT
+ --PRINT '@FOREIGN_KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY)
+ IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY
+ BEGIN
+ IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY)
+ BEGIN
+ PRINT 'FOUND NO IDB-OBJECT FOR REFERENCE KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY)
+ END
+ ELSE
+ BEGIN
+ SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY
+ --Print 'PRIDB_NEW_OBJ_DATA: Checked the DocID as Reference: ' + Convert(Varchar(10),@IDB_OBJ_ID)
+ END
+
+ END
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE))
+ RAISERROR ('NO VALID ATTRIBUTE',16,1)
+
+ SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
+ WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
+
+ DECLARE @MY_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM_VAL,@WHO,@TERM_ID = @MY_TERM_ID OUTPUT;
+ --PRINT 'PRIDB_NEW_OBJ_DATA: @TYP_ID is: ' + Convert(Varchar(10),@TYP_ID)
+ IF @TYP_ID IN (1,8) --VARCHAR
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID)
+ INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MY_TERM_ID,@WHO)
+
+ SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID
+
+ IF @TYP_ID = 1 --Single Varchar
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
+ INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
+ ([IDB_OBJ_ID]
+ ,[ATTR_ID]
+ ,[TEXT_TERM_LANG_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@ATTR_ID
+ ,@MY_TERM_ID
+ ,@WHO)
+
+ ELSE
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] <> @MY_TERM_ID)
+ UPDATE TBIDB_OBJECT_METADATA SET [TEXT_TERM_LANG_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
+ SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID
+ END
+ ELSE
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID)
+ INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
+ ([IDB_OBJ_ID]
+ ,[ATTR_ID]
+ ,[TEXT_TERM_LANG_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@ATTR_ID
+ ,@MY_TERM_ID
+ ,@WHO)
+ --ELSE
+ --PRINT 'IDB-METADATAOBJECT-VALUE SEEMS TO EXIST: @IDB_OBJ_ID: ' + Convert(Varchar(10),@IDB_OBJ_ID)
+
+ END
+ ELSE IF @TYP_ID IN (2,7,9) --BIGINT
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
+ BEGIN
+ INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
+ ([IDB_OBJ_ID]
+ ,[ATTR_ID]
+ ,[INT_TERM_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@ATTR_ID
+ ,@MY_TERM_ID
+ ,@WHO)
+ END
+ ELSE
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [INT_TERM_ID] <> @MY_TERM_ID)
+ UPDATE TBIDB_OBJECT_METADATA SET [INT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
+ SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
+ END
+ ELSE IF @TYP_ID = 3 --FLOAT
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
+ BEGIN
+ INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
+ ([IDB_OBJ_ID]
+ ,[ATTR_ID]
+ ,[FLOAT_TERM_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@ATTR_ID
+ ,@MY_TERM_ID
+ ,@WHO)
+ END
+ ELSE
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [FLOAT_TERM_ID] <> @MY_TERM_ID)
+ UPDATE TBIDB_OBJECT_METADATA SET [FLOAT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
+ SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
+ END
+ ELSE IF @TYP_ID = 4 --DECIMAL
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
+ BEGIN
+ INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
+ ([IDB_OBJ_ID]
+ ,[ATTR_ID]
+ ,[DEC_TERM_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@ATTR_ID
+ ,@MY_TERM_ID
+ ,@WHO)
+ END
+ ELSE
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID <> @MY_TERM_ID)
+ UPDATE TBIDB_OBJECT_METADATA SET [DEC_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
+ SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
+ END
+ ELSE IF @TYP_ID = 5 --DATE
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
+ BEGIN
+ INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
+ ([IDB_OBJ_ID]
+ ,[ATTR_ID]
+ ,[DATE_TERM_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@ATTR_ID
+ ,@MY_TERM_ID
+ ,@WHO)
+ END
+ ELSE
+ UPDATE TBIDB_OBJECT_METADATA SET [DATE_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
+
+ SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
+ END
+ --PRINT 'PRIDB_NEW_OBJ_DATA - Got the new @OMD_ID: ' + CONVERT(VARCHAR(20),@OMD_ID)
+END
+GO
+CREATE PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5)
+AS
+DECLARE
+ @ATTR_ID INT,
+ @TITLE VARCHAR(100),
+ @TYPID INT,
+ @SQL1 NVARCHAR(MAX),
+ @Date Varchar(20),
+ @Bool4 Varchar(1),
+ @Integer24 Varchar(20),
+ @Float Varchar(20),
+ @RELPATH Varchar(200)
+
+ SET @SQL1 = 'CREATE VIEW VWIDB_DOC_DATA_' + UPPER(LEFT(@pLANGCODE,2)) + ' AS '+ char(10) + 'SELECT ' + char(10) + ' T.IDB_OBJ_ID' + char(10)
+BEGIN
+ DECLARE c_REDO CURSOR FOR
+ SELECT ATTR_ID,ATTR_TITLE,TYPE_ID
+ FROM VWIDB_BE_ATTRIBUTE WHERE VIEW_VISIBLE = 1 AND LANG_CODE = @pLANGCODE ORDER BY VIEW_SEQUENCE
+
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @ATTR_ID,@TITLE,@TYPID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE @FN_COMMAND as VARCHAR(100), @FN_TYP as VARCHAR(50)
+ SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID))'
+ SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@OBJ_ID','T.IDB_OBJ_ID')
+ SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@ATTR_ID',@ATTR_ID)
+ IF @TYPID = 1
+ SET @FN_TYP = 'TEXT'
+ ELSE IF @TYPID = 2
+ SET @FN_TYP = 'INTEGER'
+ ELSE IF @TYPID = 3
+ SET @FN_TYP = 'FLOAT'
+ ELSE IF @TYPID = 4
+ SET @FN_TYP = 'DECIMAL'
+ ELSE IF @TYPID = 5
+ SET @FN_TYP = 'DATE'
+ ELSE IF @TYPID = 7
+ SET @FN_TYP = 'BIT'
+ ELSE IF @TYPID = 8
+ SET @FN_TYP = 'TEXT_VECTOR'
+ ELSE IF @TYPID = 8
+ SET @FN_TYP = 'INTEGER_VECTOR'
+
+ SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@TYPE',@FN_TYP)
+ SET @SQL1 += char(9) + ',' + @FN_COMMAND + char(9) + char(9) + ' AS ''' + @TITLE + '''' + char(10)
+
+ FETCH NEXT FROM c_REDO INTO @ATTR_ID,@TITLE,@TYPID
+ END
+ CLOSE c_REDO
+ DEALLOCATE c_REDO
+ SET @SQL1 += char(9) + ',T5.TERM_VALUE AS DocExtension' + char(10)
+ + char(9) + ',T5.TERM_VALUE AS DocName' + char(10)
+ + char(9) + ',CONCAT(T4.TERM_VALUE,''\'',T5.TERM_VALUE) AS DocRelativePath' + char(10)
+ + char(9) + ',T4.TERM_VALUE AS DocRelativePathOnly' + char(10)
+ + char(9) + ',T2.ADDED_WHEN' + char(10)
+ + char(9) + ',T2.ADDED_WHO' + char(10)
+ + char(9) + ',T2.CHANGED_WHO' + char(10)
+ + char(9) + ',T2.CHANGED_WHEN' + char(10)
+ + 'FROM' + char(10)
+ + char(9) + 'TBIDB_OBJECT T INNER JOIN TBIDB_FILE_OBJECT T2 ON T.IDB_OBJ_ID = T2.IDB_OBJ_ID' + char(10)
+ + char(9) + 'INNER JOIN TBIDB_OBJECT_STORE T3 ON T2.OBJ_ST_ID = T3.GUID' + char(10)
+ + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T4 ON T2.RELPATH_TERM_ID = T4.GUID' + char(10)
+ + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T2.FILENAME_TERM_ID = T5.GUID' + char(10)
+ + 'WHERE KIND_TYPE_ID = 1 AND DELETED = 0 AND ACTIVE = 1'
+ PRINT @SQL1
+ IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'VWIDB_DOC_DATA_' + UPPER(LEFT(@pLANGCODE,2)))
+ BEGIN
+ DECLARE @DELETE NVARCHAR(100)
+ SET @DELETE = 'DROP VIEW [dbo].[VWIDB_DOC_DATA_' + UPPER(LEFT(@pLANGCODE,2)) + ']'
+ EXEC sp_executesql @DELETE
+ END
+ EXEC sp_executesql @SQL1
+END
+GO
+
+CREATE PROCEDURE [dbo].[PRIDB_DELETE_TERM_OBJECT_METADATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @TERM VARCHAR(900), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE',@ID_ISFOREIGN as BIT = False
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT
+ --IF @ID_ISFOREIGN = 1
+ -- BEGIN
+ -- SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @IDB_OBJ_ID
+ -- END
+
+ SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
+ WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
+
+ DECLARE @MY_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM,'',@TERM_ID = @MY_TERM_ID OUTPUT;
+
+ PRINT '@MY_TERM_ID: ' + CONVERT(VARCHAR(10),@MY_TERM_ID)
+
+ IF @TYP_ID IN (1,8) --VARCHAR
+ BEGIN
+ PRINT 'Attribute is varchar...'
+ SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID)
+ BEGIN
+ DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID
+ PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED TEXT ROW!'
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
+ SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID
+ END
+ ELSE
+ PRINT 'TERM SEEMS NOT TO EXIST'
+ END
+ ELSE IF @TYP_ID IN (2,7,9) --BIGINT
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID)
+ BEGIN
+ DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
+ PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED INTEGER ROW!'
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
+ SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
+ END
+ END
+ ELSE IF @TYP_ID = 3 --FLOAT
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID)
+ BEGIN
+ DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
+ PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED FLOAT ROW!'
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
+ SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
+ END
+ END
+ ELSE IF @TYP_ID = 4 --DECIMAL
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID)
+ BEGIN
+ DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
+ PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DECIMAL ROW!'
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
+ SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
+ END
+ END
+ ELSE IF @TYP_ID = 5 --DATE
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID)
+ BEGIN
+ DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
+ PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DATE ROW!'
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
+ SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
+ END
+ END
+
+
+END
+GO
+
+CREATE PROCEDURE [dbo].[PRIDB_DELETE_ATTRIBUTE] @ATTRIBUTE VARCHAR(100), @WHO VARCHAR(100)
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @ATTR_TYP_ID TINYINT,
+ @IDB_OBJ_ID BIGINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @TEXT_TERM_LANG_ID BIGINT,
+ @TERM_ID BIGINT,
+ @USER_DELETE_ID INTEGER,
+ @ERROR as BIT
+ SET @ERROR = 0
+ SELECT @USER_DELETE_ID = COALESCE(MAX(USER_DELETE_ID),0) + 1 FROM TBIDB_OBJECT_METADATA_DELETE WHERE UPPER(DELETED_WHO) = UPPER(@WHO)
+
+ SELECT @ATTR_ID = T.GUID,@ATTR_TYP_ID = T.TYP_ID FROM TBIDB_ATTRIBUTE T WHERE UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
+
+ IF @ATTR_TYP_ID IN (1,8) --VARCHAR
+ BEGIN TRY
+ DECLARE cursor_DeleteLog CURSOR LOCAL FOR
+ SELECT T.IDB_OBJ_ID,T.TEXT_TERM_LANG_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID
+ OPEN cursor_DeleteLog
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TEXT_TERM_LANG_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO,USER_DELETE_ID)
+ VALUES (@IDB_OBJ_ID,@ATTR_ID, @TEXT_TERM_LANG_ID, @WHO,@USER_DELETE_ID)
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TEXT_TERM_LANG_ID
+ END
+ CLOSE cursor_DeleteLog
+ DEALLOCATE cursor_DeleteLog
+
+ DELETE T
+ FROM TBIDB_OBJECT_METADATA T
+ INNER JOIN TBIDB_TERM_LANGUAGE T1
+ ON T.TEXT_TERM_LANG_ID=T1.GUID
+ WHERE T.ATTR_ID = @ATTR_ID
+
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
+ SET @ERROR = 1
+ END CATCH
+
+ ELSE IF @ATTR_TYP_ID IN (2,7,9) --BIGINT
+ BEGIN TRY
+ DECLARE cursor_DeleteLog CURSOR LOCAL FOR
+ SELECT T.IDB_OBJ_ID,T.INT_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID
+ OPEN cursor_DeleteLog
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO,USER_DELETE_ID)
+ VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ END
+ CLOSE cursor_DeleteLog
+ DEALLOCATE cursor_DeleteLog
+
+ DELETE T
+ FROM TBIDB_OBJECT_METADATA T
+ WHERE T.ATTR_ID = @ATTR_ID
+ END TRY
+
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING (INTEGER) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
+ SET @ERROR = 1
+ END CATCH
+ ELSE IF @ATTR_TYP_ID = 3 --FLOAT
+ BEGIN TRY
+ DECLARE cursor_DeleteLog CURSOR LOCAL FOR
+ SELECT T.IDB_OBJ_ID,T.FLOAT_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID
+ OPEN cursor_DeleteLog
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO,USER_DELETE_ID)
+ VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ END
+ CLOSE cursor_DeleteLog
+ DEALLOCATE cursor_DeleteLog
+
+ DELETE T
+ FROM TBIDB_OBJECT_METADATA T
+ WHERE T.ATTR_ID = @ATTR_ID
+ END TRY
+
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING (FLOAT) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
+ SET @ERROR = 1
+ END CATCH
+ ELSE IF @ATTR_TYP_ID = 4 --DECIMAL
+ BEGIN TRY
+ DECLARE cursor_DeleteLog CURSOR LOCAL FOR
+ SELECT T.IDB_OBJ_ID,T.DEC_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID
+ OPEN cursor_DeleteLog
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO,USER_DELETE_ID)
+ VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ END
+ CLOSE cursor_DeleteLog
+ DEALLOCATE cursor_DeleteLog
+
+ DELETE T
+ FROM TBIDB_OBJECT_METADATA T
+ WHERE T.ATTR_ID = @ATTR_ID
+ END TRY
+
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING (DECIMAL) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
+ SET @ERROR = 1
+ END CATCH
+ ELSE IF @ATTR_TYP_ID = 5 --DATE
+ BEGIN TRY
+ DECLARE cursor_DeleteLog CURSOR LOCAL FOR
+ SELECT T.IDB_OBJ_ID,T.DATE_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID
+ OPEN cursor_DeleteLog
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO,USER_DELETE_ID)
+ VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID)
+ FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID
+ END
+ CLOSE cursor_DeleteLog
+ DEALLOCATE cursor_DeleteLog
+
+ DELETE T
+ FROM TBIDB_OBJECT_METADATA T
+ WHERE T.ATTR_ID = @ATTR_ID
+ END TRY
+
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING (DATE) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID
+ SET @ERROR = 1
+ END CATCH
+ IF @ERROR = 0
+ BEGIN
+ UPDATE TBIDB_ATTRIBUTE SET DELETED = 1, DELETED_WHO = @WHO WHERE GUID = @ATTR_ID;
+ END
+END
+
+GO
+--delete from TBIDB_CONVERSATION_OBJECT
+CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION] @pIDB_OBJ_ID BIGINT, @pTITLE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
+AS
+BEGIN
+ DECLARE
+ @LANG_ID INTEGER
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+
+ DECLARE @TITLE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@pWHO,@TERM_ID = @TITLE_TERM_ID OUTPUT;
+ DECLARE @ADDED_WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID)
+ INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@TITLE_TERM_ID,@pWHO)
+ SELECT @LANG_TITLE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND TITLE_TERM_ID = @LANG_TITLE_TERM_ID)
+ INSERT INTO TBIDB_CONVERSATION_OBJECT (TITLE_TERM_ID,IDB_OBJ_ID,ADDED_WHO) VALUES (@LANG_TITLE_TERM_ID,@pIDB_OBJ_ID,@ADDED_WHO_TERM_ID)
+ DECLARE @STARTED_STATE BIGINT
+ SELECT @STARTED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Started'
+
+ DECLARE @CONVERSATION_ID BIGINT
+ SELECT @CONVERSATION_ID = GUID FROM TBIDB_CONVERSATION_OBJECT WHERE TITLE_TERM_ID = @LANG_TITLE_TERM_ID AND IDB_OBJ_ID = @pIDB_OBJ_ID
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @CONVERSATION_ID AND STATE_ID = @STARTED_STATE)
+ INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@CONVERSATION_ID,@STARTED_STATE,@ADDED_WHO_TERM_ID)
+END
+GO
+CREATE PROCEDURE dbo.PRIDB_OBJECT_SET_STATE @pIDB_OBJ_ID BIGINT, @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
+AS
+BEGIN
+ DECLARE
+ @LANG_ID INTEGER
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+
+ DECLARE @STATE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT;
+ DECLARE @ADDED_WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
+
+
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pIDB_OBJ_ID AND STATE_ID = @STATE_TERM_ID)
+ INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@STATE_TERM_ID,@ADDED_WHO_TERM_ID)
+END
+GO
+CREATE PROCEDURE [dbo].[PRIDB_END_CONVERSATION] @pCONVID BIGINT, @pWHO VARCHAR(100), @pLANG_CODE VARCHAR(5) = 'de-DE'
+AS
+BEGIN
+ DECLARE
+ @LANG_ID INTEGER
+ ,@ENDED_STATE BIGINT
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+ SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended'
+
+ DECLARE @WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
+
+
+ IF NOT EXISTS(SELECT MY_OBJECT_ID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pCONVID AND STATE_ID = @ENDED_STATE)
+ INSERT INTO TBIDB_MYOBJECT_STATES (
+ MY_OBJECT_ID
+ ,STATE_ID
+ ,ADDED_WHO) VALUES (
+ @pCONVID
+ ,@ENDED_STATE
+ ,@WHO_TERM_ID)
+END
+GO
+CREATE PROCEDURE [dbo].[PRIDB_ADD_USER_2_CONVERSATION] @pCONV_ID BIGINT, @pUSERID INTEGER,@pWHO VARCHAR(100)
+AS
+BEGIN
+ DECLARE @ADDED_WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_USER WHERE CONV_ID = @pCONV_ID AND USER_OR_GROUP_ID = @pUSERID AND IS_USER = 1)
+ INSERT INTO TBIDB_CONVERSATION_USER (CONV_ID,USER_OR_GROUP_ID,IS_USER,ADDED_WHO) VALUES (@pCONV_ID,@pUSERID,1,@ADDED_WHO_TERM_ID)
+
+END
+GO
+
+CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION_MESSAGE] @pCONV_ID BIGINT, @pMESSAGE VARCHAR(100), @pWHO VARCHAR(100),@pTO_USER INTEGER = 0, @pLANG_CODE VARCHAR(5) = 'de-DE'
+AS
+BEGIN
+ DECLARE
+ @LANG_ID INTEGER
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+
+ DECLARE @MESSAGE_TERM_ID BIGINT,@LANG_MESSAGE_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pMESSAGE,@pWHO,@TERM_ID = @MESSAGE_TERM_ID OUTPUT;
+ DECLARE @ADDED_WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID)
+ INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MESSAGE_TERM_ID,@pWHO)
+ SELECT @LANG_MESSAGE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID
+
+ --IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_MESSAGE WHERE CONV_ID = @pCONV_ID AND FROM_USER = FROM_USER AND MESSAGE_TERM_ID = @LANG_MESSAGE_TERM_ID)
+ INSERT INTO TBIDB_CONVERSATION_MESSAGE (CONV_ID,FROM_USER,TO_USER, MESSAGE_TERM_ID, ADDED_WHO) VALUES (@pCONV_ID,@ADDED_WHO_TERM_ID,@pTO_USER, @LANG_MESSAGE_TERM_ID,@ADDED_WHO_TERM_ID)
+
+END
+GO
+CREATE PROCEDURE PRIDB_GET_VALUE_TYPE @pVALUE VARCHAR(900)--,@oType VARCHAR(10) OUTPUT
+AS
+BEGIN
+ declare @TBTYPE_RESULT table(pTYPE varchar(10))
+ DECLARE @oTYPE as Varchar(10)
+ SET @oType = 'NONE'
+ DECLARE @BIGINT as BIGINT, @FLOAT FLOAT,@DECIMAL DECIMAL(19,2),@DATE DATE
+ BEGIN TRY
+ SET @BIGINT = CONVERT(bigint,@pVALUE)
+ SET @oType = 'BIGINT'
+ INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
+ END TRY
+ BEGIN CATCH
+ PRINT 'NO BIGINT'
+ END CATCH
+ --IF @oType = 'NONE'
+ BEGIN TRY
+ SET @FLOAT = CONVERT(FLOAT,@pVALUE)
+ SET @oType = 'FLOAT'
+ INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
+ END TRY
+ BEGIN CATCH
+ PRINT 'NO FLOAT'
+ END CATCH
+ --IF @oType = 'NONE'
+ BEGIN TRY
+ SET @DECIMAL = CONVERT(DECIMAL(19,2),@pVALUE)
+ SET @oType = 'DECIMAL'
+ INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
+ END TRY
+ BEGIN CATCH
+ PRINT 'NO DECIMAL'
+ END CATCH
+ --IF @oType = 'NONE'
+ BEGIN TRY
+ SET @DATE = CONVERT(DATE,@pVALUE)
+ SET @oType = 'DATE'
+ INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
+ END TRY
+ BEGIN CATCH
+ PRINT 'NO DATE'
+ END CATCH
+ --IF @oType = 'NONE'
+ BEGIN TRY
+ SET @oType = 'VARCHAR'
+ INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
+ END TRY
+ BEGIN CATCH
+ PRINT 'NO VARCHAR'
+ END CATCH
+ PRINT '@TYPE: ' + @oType
+ SELECT * FROM @TBTYPE_RESULT
+END
+GO
+--CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_RESULT_ATTRIBUTE] @pSEARCHID INTEGER,@pATTRIBUTE_ID INTEGER,@pWHO_TERM_ID BIGINT,@pSequence INTEGER = 0
+--AS
+--BEGIN
+-- IF @pSequence = 0
+-- SELECT @pSEQUENCE = COALESCE(MAX([SEQUENCE]),0) + 1 FROM TBIDB_SEARCH_RESULT_ATTRIBUTES
+-- WHERE SEARCH_PROFIL_ID = @pSEARCHID
+-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_RESULT_ATTRIBUTES WHERE ATTRIBUTE_ID = @pATTRIBUTE_ID AND SEARCH_PROFIL_ID = @pSEARCHID)
+-- BEGIN
+-- INSERT INTO TBIDB_SEARCH_RESULT_ATTRIBUTES (SEARCH_PROFIL_ID,ATTRIBUTE_ID,SEQUENCE,ADDED_WHO) VALUES (@pSEARCHID,@pATTRIBUTE_ID,@pSequence, @pWHO_TERM_ID)
+-- EXEC [dbo].[PRIDB_NEW_SEARCH_ATTRIBUTE] @pSEARCHID,@pATTRIBUTE_ID,@pWHO_TERM_ID,0
+-- END
+
+-- ELSE
+-- UPDATE TBIDB_SEARCH_RESULT_ATTRIBUTES SET SEQUENCE = @pSequence
+-- WHERE ATTRIBUTE_ID = @pATTRIBUTE_ID AND SEARCH_PROFIL_ID = @pSEARCHID
+-- --SELECT
+-- -- T.GUID,
+-- -- T.ATTRIBUTE_ID,
+-- -- T1.TITLE
+-- -- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO
+-- -- ,T.ADDED_WHEN
+-- --FROM TBIDB_SEARCH_RESULT_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
+-- --WHERE SEARCH_PROFIL_ID = @pSEARCHID
+--END
+--GO
+
+--CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_PROFILE] @BE_ID INT, @pTITLE VARCHAR(512),@pWHO_TERMID BIGINT,@pCOMMENT VARCHAR(900) = NULL, @pLANG_CODE VARCHAR(5) = 'de-DE'
+--AS
+--BEGIN
+-- DECLARE
+-- @LANG_ID INTEGER, @SQL_RESULT VARCHAR(912),
+-- @SEARCH_ID INTEGER,
+-- @WHO_TERM VARCHAR(100)
+
+-- SELECT @WHO_TERM = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @pWHO_TERMID
+
+
+-- SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+-- DECLARE @MY_TITLE_TERM_ID BIGINT,@MY_LANG_TERM_ID BIGINT,@oLANGUAGE_TERM_METADATA_GUID BIGINT,@MY_RESULT_SQL_TERM_ID BIGINT
+-- EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@WHO_TERM,@TERM_ID = @MY_TITLE_TERM_ID OUTPUT;
+-- EXEC PRIDB_NEW_TERM_LANGUAGE @LANG_ID,@MY_TITLE_TERM_ID,@WHO_TERM,@TERM_LANGUAGE_GUID = @MY_LANG_TERM_ID OUTPUT
+-- EXEC PRIDB_NEW_LANGUAGE_TERM_METADATA_GUID @MY_LANG_TERM_ID,@pWHO_TERMID,@oLANG_TERM_GUID = @oLANGUAGE_TERM_METADATA_GUID OUTPUT
+
+-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE WHERE TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID)
+-- INSERT INTO TBIDB_SEARCH_PROFILE (TITLE_ID,ADDED_WHO,COMMENT) VALUES (@oLANGUAGE_TERM_METADATA_GUID,@pWHO_TERMID,@pCOMMENT)
+-- ELSE
+-- UPDATE TBIDB_SEARCH_PROFILE SET
+-- COMMENT = @pCOMMENT,CHANGED_WHO = @pWHO_TERMID WHERE TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID AND COMMENT <> @pCOMMENT
+
+-- SELECT @SEARCH_ID = MAX(GUID) FROM TBIDB_SEARCH_PROFILE T
+-- WHERE T.TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID
+
+-- SET @SQL_RESULT = 'SELECT T.IDB_OBJ_ID as DocID, [dbo].[FNIDB_GET_FILE_PATH] (T.IDB_OBJ_ID) as FULL_FILENAME, T.DocName as Filename, * FROM VWIDB_DOC_DATA WHERE '
+-- DECLARE @ATTR_ID INT,@SEQUENCE TINYINT
+-- SET @SEQUENCE = 0
+
+-- DECLARE cursorDefaultAttributes CURSOR FOR
+-- SELECT
+-- T1.GUID
+-- FROM TBIDB_ATTRIBUTE T1 INNER JOIN TBIDB_BE_ATTRIBUTE T2 ON T1.GUID = T2.ATTR_ID
+-- WHERE T2.BE_ID = @BE_ID AND DEFAULT_SEARCH_ATTRIBUTE = 1
+-- ORDER BY T1.VIEW_SEQUENCE
+-- OPEN cursorDefaultAttributes
+-- FETCH NEXT FROM cursorDefaultAttributes INTO @ATTR_ID
+-- WHILE @@FETCH_STATUS = 0
+-- BEGIN
+-- IF NOT EXISTS (SELECT GUID FROM TBIDB_SEARCH_RESULT_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND ATTRIBUTE_ID = @ATTR_ID)
+-- EXEC PRIDB_NEW_SEARCH_RESULT_ATTRIBUTE @SEARCH_ID,@ATTR_ID,@pWHO_TERMID,@SEQUENCE
+-- SET @SEQUENCE += 1
+-- FETCH NEXT FROM cursorDefaultAttributes INTO @ATTR_ID
+-- END
+-- CLOSE cursorDefaultAttributes
+-- DEALLOCATE cursorDefaultAttributes
+
+-- SELECT
+-- T.GUID,T.TITLE_ID
+-- ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID ] (T.TITLE_ID,@pLANG_CODE) AS TITLE
+-- --,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.RESULT_SQL) AS RESULT_SQL
+-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO
+-- ,T.ADDED_WHEN
+-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO
+-- ,T.CHANGED_WHEN
+-- FROM TBIDB_SEARCH_PROFILE T
+-- WHERE GUID = @SEARCH_ID
+--END
+--GO
+--CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_SQL_RESULT] @SEARCH_ID INT,@pWHO_TERMID BIGINT
+--AS
+--BEGIN
+-- DECLARE
+-- @LANG_ID TINYINT,
+-- @SQL_RESULT VARCHAR(912),
+-- @WHO_TERM VARCHAR(100),
+-- @MY_RESULT_SQL_TERM_ID BIGINT
+-- SELECT @WHO_TERM = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @pWHO_TERMID
+
+-- DECLARE cursorLang CURSOR FOR
+-- select GUID from TBIDB_LANGUAGE WHERE CREATE_DEFAULT_ENTRY = 1
+-- OPEN cursorLang
+-- FETCH NEXT FROM cursorLang INTO @LANG_ID
+-- WHILE @@FETCH_STATUS = 0
+-- BEGIN
+-- SET @SQL_RESULT = 'SELECT T.IDB_OBJ_ID as DocID, [dbo].[FNIDB_GET_FILE_PATH] (T.IDB_OBJ_ID) as FULL_FILENAME, T.DocName as Filename'
+-- DECLARE @ATTR_TITLE VARCHAR(100)
+-- DECLARE cursorSRA CURSOR FOR
+-- SELECT T3.TERM_VALUE
+-- FROM TBIDB_SEARCH_RESULT_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
+-- INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T2 ON T1.GUID = T2.ATTRIBUTE_ID
+-- INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TERM_ID = T3.GUID
+-- WHERE T.SEARCH_PROFIL_ID = @SEARCH_ID --@SEARCH_ID
+-- AND T2.LANGUAGE_ID = @LANG_ID
+-- ORDER BY T.SEQUENCE
+-- OPEN cursorSRA
+-- FETCH NEXT FROM cursorSRA INTO @ATTR_TITLE
+-- WHILE @@FETCH_STATUS = 0
+-- BEGIN
+-- SET @SQL_RESULT += ', T.[' + @ATTR_TITLE + ']'
+-- FETCH NEXT FROM cursorSRA INTO @ATTR_TITLE
+-- END
+-- CLOSE cursorSRA
+-- DEALLOCATE cursorSRA
+-- SET @SQL_RESULT += ' FROM VWIDB_DOC_DATA T INNER JOIN [dbo].[FNIDB_SEARCH_RESULT_GET_OBJECTS] (@UserID,@SearchID) T1 ON T.IDB_OBJ_ID = T1.IDB_OBJ_ID '
+-- EXEC PRIDB_NEW_TERM 'VARCHAR',@SQL_RESULT,@WHO_TERM,@TERM_ID = @MY_RESULT_SQL_TERM_ID OUTPUT;
+-- PRINT @SQL_RESULT
+-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_LANGUAGE_SQL_RESULT WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND LANGUAGE_ID = @LANG_ID)
+-- INSERT INTO TBIDB_SEARCH_LANGUAGE_SQL_RESULT (SEARCH_PROFIL_ID,LANGUAGE_ID,SEARCH_TERM_ID,ADDED_WHO) VALUES
+-- (@SEARCH_ID,@LANG_ID,@MY_RESULT_SQL_TERM_ID,@pWHO_TERMID)
+-- ELSE
+-- UPDATE TBIDB_SEARCH_LANGUAGE_SQL_RESULT SET SEARCH_TERM_ID = @MY_RESULT_SQL_TERM_ID,CHANGED_WHO = @pWHO_TERMID WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND LANGUAGE_ID = @LANG_ID
+
+-- FETCH NEXT FROM cursorLang INTO @LANG_ID
+-- END
+-- CLOSE cursorLang
+-- DEALLOCATE cursorLang
+
+--END
+--GO
+--CREATE PROCEDURE [dbo].[PRIDB_NEW_RELATION_SEARCH_USER] @pSEARCHID INTEGER,@pUSER_ID INTEGER,@pWHO_TERM_ID BIGINT
+--AS
+--BEGIN
+-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_USER WHERE USER_ID = @pUSER_ID AND SEARCH_PROFIL_ID = @pSEARCHID)
+-- INSERT INTO TBIDB_SEARCH_PROFILE_USER (USER_ID,ADDED_WHO,SEARCH_PROFIL_ID) VALUES (@pUSER_ID,@pWHO_TERM_ID,@pSEARCHID)
+-- SELECT
+-- GUID,USER_ID,SEARCH_PROFIL_ID
+-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (ADDED_WHO) AS ADDED_WHO
+-- ,ADDED_WHEN
+-- FROM TBIDB_SEARCH_PROFILE_USER
+-- WHERE SEARCH_PROFIL_ID = @pSEARCHID
+
+--END
+--GO
+--CREATE PROCEDURE [dbo].[PRIDB_NEW_RELATION_SEARCH_GROUP] @pSEARCHID INTEGER,@pGROUP_ID INTEGER,@pWHO_TERM_ID BIGINT
+--AS
+--BEGIN
+-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_GROUP WHERE GROUP_ID = @pGROUP_ID AND SEARCH_PROFIL_ID = @pSEARCHID)
+-- INSERT INTO TBIDB_SEARCH_PROFILE_GROUP (GROUP_ID,ADDED_WHO,SEARCH_PROFIL_ID) VALUES (@pGROUP_ID,@pWHO_TERM_ID,@pSEARCHID)
+-- SELECT
+-- GUID,GROUP_ID,SEARCH_PROFIL_ID
+-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (ADDED_WHO) AS ADDED_WHO
+-- ,ADDED_WHEN
+-- FROM TBIDB_SEARCH_PROFILE_GROUP
+-- WHERE SEARCH_PROFIL_ID = @pSEARCHID
+
+--END
+--GO
+--CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_ATTRIBUTE] @pSEARCH_PROFIL_ID INTEGER,@pATTRIBUTE_ID INTEGER,@MULTISELECT BIT, @WHO_TERM_ID INTEGER, @pSEQUENCE INTEGER,@pHEIGHT SMALLINT = 0,@pWIDTH SMALLINT = 0
+--AS
+--BEGIN
+-- DECLARE @pWHO_USERNAME VARCHAR(100),@USER_LANGUAGE VARCHAR(5),@USER_LANGUAGE_ID INT, @ATTRTYPE as VARCHAR(20)--,@USER_ID INTEGER
+-- SELECT @pWHO_USERNAME = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @WHO_TERM_ID
+-- SELECT @USER_LANGUAGE = LANGUAGE,@USER_LANGUAGE_ID = T1.GUID FROM @MY_DD_ECM_DB.dbo.TBDD_USER T INNER JOIN IDB_TEST.dbo.TBIDB_LANGUAGE T1 ON T.LANGUAGE = T1.LANG_CODE WHERE UPPER(USERNAME) = UPPER(@pWHO_USERNAME)
+
+-- SELECT @ATTRTYPE = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T INNER JOIN TBIDB_ATTRIBUTE_TYPE T1 ON T.TYP_ID = T1.GUID WHERE T.GUID = @pATTRIBUTE_ID
+
+-- IF @ATTRTYPE IN ('VARCHAR','BIG INTEGER')
+-- BEGIN
+-- IF @pHEIGHT = 0
+-- SET @pHEIGHT = 200
+-- IF @pWIDTH = 0
+-- SET @pWIDTH = 200
+-- END
+-- ELSE IF @ATTRTYPE ='DATE'
+-- BEGIN
+-- IF @pHEIGHT = 0
+-- SET @pHEIGHT = 20
+-- IF @pWIDTH = 0
+-- SET @pWIDTH = 100
+-- END
+-- ELSE IF @ATTRTYPE ='BIT'
+-- BEGIN
+-- IF @pHEIGHT = 0
+-- SET @pHEIGHT = 20
+-- IF @pWIDTH = 0
+-- SET @pWIDTH = 200
+-- END
+
+-- DECLARE @SOURCE_TERM_ID BIGINT,@SOURCE_DEFAULT_SQL VARCHAR(900)
+-- SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE
+-- FROM
+-- TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
+-- INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID
+-- INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID
+-- INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+-- WHERE
+-- MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + ' AND TLANG.LANGUAGE_ID = ' + CONVERT(VARCHAR(3),@USER_LANGUAGE_ID) + '
+-- AND OBJ.DELETED = 0 AND ACTIVE = 1'
+
+-- --IF @pDEPENDING_ATTRIBUTE1 <> 0
+-- -- SET @SOURCE_DEFAULT_SQL = REPLACE(@SOURCE_DEFAULT_SQL,'@pUSER_ID) ','@pUSER_ID) where IDB_OBJECT_ID = @DEPENDING_IDB_OBJECT ')
+-- --ELSE
+-- -- SET @SOURCE_DEFAULT_SQL = REPLACE(@SOURCE_DEFAULT_SQL,'@JOIN ','')
+-- IF @ATTRTYPE = 'DATE'
+-- SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE
+-- FROM
+-- TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.DATE_TERM_ID
+-- INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+-- WHERE
+-- MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + '
+-- AND OBJ.DELETED = 0 AND ACTIVE = 1'
+-- ELSE IF @ATTRTYPE = 'BIG INTEGER'
+-- SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE
+-- FROM
+-- TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
+-- INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+-- WHERE
+-- MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + '
+-- AND OBJ.DELETED = 0 AND ACTIVE = 1'
+-- ELSE IF @ATTRTYPE = 'BIT'
+-- SET @SOURCE_DEFAULT_SQL = 'select DISTINCT CONVERT(BIT,TERM.TERM_VALUE) AS @RESULT_TITLE
+-- FROM
+-- TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
+-- INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+-- WHERE
+-- MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + '
+-- AND OBJ.DELETED = 0 AND ACTIVE = 1'
+-- EXEC PRIDB_NEW_TERM 'VARCHAR',@SOURCE_DEFAULT_SQL,@pWHO_USERNAME,@TERM_ID = @SOURCE_TERM_ID OUTPUT;
+-- IF @pSEQUENCE = 0
+-- SELECT @pSEQUENCE = COALESCE(MAX([SEQUENCE]),0) + 1 FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID
+-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID AND ATTRIBUTE_ID = @pATTRIBUTE_ID)
+-- INSERT INTO TBIDB_SEARCH_PROFILE_ATTRIBUTES (SEARCH_PROFIL_ID,ATTRIBUTE_ID,SOURCE_SQL, [SEQUENCE], ADDED_WHO,HEIGHT,WIDTH,MULTISELECT)
+-- VALUES (@pSEARCH_PROFIL_ID,@pATTRIBUTE_ID,@SOURCE_TERM_ID,@pSEQUENCE, @WHO_TERM_ID,@pHEIGHT,@pWIDTH,@MULTISELECT)
+-- ELSE
+-- BEGIN
+
+-- UPDATE TBIDB_SEARCH_PROFILE_ATTRIBUTES SET
+-- SOURCE_SQL = @SOURCE_TERM_ID
+-- ,[SEQUENCE] = @pSEQUENCE
+-- ,HEIGHT = @pHEIGHT
+-- ,WIDTH = @pWIDTH
+-- ,MULTISELECT = @MULTISELECT
+-- WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID AND ATTRIBUTE_ID = @pATTRIBUTE_ID
+-- END
+-- SELECT
+-- T.SEARCH_PROFIL_ID,
+-- T.GUID,
+-- T.ATTRIBUTE_ID,
+-- T1.TITLE AS ATTRIBUTE_TITLE,
+-- T.MULTISELECT,
+-- T.HEIGHT,
+-- T.WIDTH,
+-- T2.NAME_TYPE AS ATTRIBUTE_TYPE
+-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.SOURCE_SQL) AS SOURCE_SQL
+-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO
+-- ,T.ADDED_WHEN
+-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO
+-- ,T.CHANGED_WHEN
+-- FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
+-- INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
+-- WHERE T.SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID --AND ATTRIBUTE_ID = @pATTRIBUTE_ID
+-- ORDER BY [SEQUENCE]
+--END
+--GO
+-- =============================================
+-- Author: DD MS
+-- Create date 05.11.2020
+-- =============================================
+CREATE PROCEDURE [dbo].[PRIDB_NEW_TERM_FOR_ATTRIBUTE] @ATTRIBUTE VARCHAR(100),@TERM VARCHAR(MAX), @WHO VARCHAR(100), @TERM_ID BIGINT OUTPUT
+AS
+BEGIN
+ DECLARE @TERM_TYPE_ID TINYINT
+
+ SELECT @TERM_TYPE_ID = TYP_ID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE)
+ IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'TRUE'
+ SET @TERM = 1
+ ELSE IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'FALSE'
+ SET @TERM = 0
+ --PRINT 'PRIDB_NEW_TERM: TERM_TYPE_ID IS: ' + CONVERT(VARCHAR(2),@TERM_TYPE_ID) + ' # TERM: ' + @TERM
+ IF @TERM_TYPE_ID IN (1,8) --VARCHAR
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_VARCHAR (TERM_VALUE,ADDED_WHO) VALUES (@TERM,@WHO)
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR where TERM_VALUE = @TERM
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM)
+ ELSE IF @TERM_TYPE_ID IN (2,7,9) --BIGINT
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(BIGINT,@TERM),@WHO)
+ SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_INTEGER where TERM_VALUE = @TERM
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM)
+ ELSE IF @TERM_TYPE_ID = 3 --FLOAT
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_FLOAT (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(FLOAT,@TERM),@WHO)
+ SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_FLOAT where TERM_VALUE = @TERM
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM)
+ ELSE IF @TERM_TYPE_ID = 4 --DECIMAL
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_DECIMAL (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DECIMAL(19,0),@TERM),@WHO)
+ SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_DECIMAL where TERM_VALUE = @TERM
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM)
+ ELSE IF @TERM_TYPE_ID = 5 --DATE
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_DATE (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATE,@TERM),@WHO)
+ SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_DATE where TERM_VALUE = @TERM
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)
+
+ PRINT '### PRIDB_NEW_TERM: TERM-ID: ' + CONVERT(VARCHAR(10),@TERM_ID) + '###'
+END
+GO
+--CREATE PROCEDURE [dbo].[PRIDB_NEW_USER_SEARCH_CRITERIA] @pSEARCHID INTEGER,@pUSER_ID INTEGER,@pATTRIBUTE_ID INTEGER,@pTERM VARCHAR(900), @pWHO VARCHAR(100)
+--AS
+--BEGIN
+-- DECLARE @WHO_TERM_ID BIGINT,@ATTR_TYPE INT, @ATTR_TERM_ID BIGINT,@ATTRIBUTE VARCHAR(100)
+-- SELECT @ATTR_TYPE = TYP_ID,@ATTRIBUTE = TITLE FROM TBIDB_ATTRIBUTE WHERE GUID = @pATTRIBUTE_ID
+-- EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
+-- EXEC PRIDB_NEW_TERM_FOR_ATTRIBUTE @ATTRIBUTE,@pTERM,@pWHO,@TERM_ID = @ATTR_TERM_ID OUTPUT;
+
+---- GUID NAME_TYPE
+
+----3 FLOAT
+----4 DECIMAL
+----5 DATE
+----6 DATETIME
+
+----9 VECTOR INTEGER
+-- INSERT INTO TBIDB_USER_SEARCH_CRITERIA (SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, ADDED_WHO, TERM_TEXT, TERM_ID) VALUES
+-- (@pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, @WHO_TERM_ID, @pTERM, @ATTR_TERM_ID)
+-- /*IF @ATTR_TYPE IN (1,2,7,8)
+-- BEGIN
+-- INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_TEXT, ADDED_WHO,TERM_ID) VALUES
+-- ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, @pTERM, @WHO_TERM_ID,@ATTR_TERM_ID)
+-- END
+-- ELSE IF @ATTR_TYPE = 5
+-- INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_DATE, ADDED_WHO,TERM_ID) VALUES
+-- ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, Convert(Date,@pTERM), @WHO_TERM_ID,@ATTR_TERM_ID)
+-- ELSE IF @ATTR_TYPE = 3
+-- INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_FLOAT, ADDED_WHO,TERM_ID) VALUES
+-- ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, Convert(float,@pTERM), @WHO_TERM_ID,@ATTR_TERM_ID)
+--*/
+--END
+--GO
+--CREATE PROCEDURE [dbo].[PRIDB_SEARCH_CRITERIA_SAVE] @pSEARCHID INTEGER,@pUserID INT, @pWHO VARCHAR(100)
+--AS
+--BEGIN
+-- DECLARE @WHO_TERM_ID BIGINT
+-- EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
+-- DELETE FROM TBIDB_SEARCH_CRITERIA_SAVE WHERE SEARCH_PROFIL_ID = @pSEARCHID
+
+-- INSERT INTO [dbo].[TBIDB_SEARCH_CRITERIA_SAVE]
+-- ([SEARCH_PROFIL_ID]
+-- ,[ATTRIBUTE_ID]
+-- ,[TERM_TEXT]
+-- ,TERM_ID
+-- --,[TERM_DATE]
+-- --,[TERM_FLOAT]
+-- --,[TERM_DEC]
+-- ,[ADDED_WHO])
+-- SELECT [SEARCH_PROFIL_ID]
+-- ,[ATTRIBUTE_ID]
+-- ,[TERM_TEXT]
+-- ,TERM_ID
+-- --,[TERM_DATE]
+-- --,[TERM_FLOAT]
+-- --,[TERM_DEC]
+-- ,@WHO_TERM_ID FROM TBIDB_USER_SEARCH_CRITERIA WHERE USERID = @pUserID AND SEARCH_PROFIL_ID = @pSEARCHID
+--END
+--GO
+-- =============================================
+-- Author: DD MS 15.03.2021
+-- Change date:
+-- =============================================
+CREATE PROCEDURE [dbo].[PRIDB_NEW_OBJECT] @KIND_TYPE VARCHAR(20),@WHO VARCHAR(100),@BE VARCHAR(500) = '',@FOREIGN_REFID Bigint = 0, @IDB_OBJ_ID BIGINT OUTPUT
+AS
+BEGIN
+ DECLARE
+ @KINDTYPE_ID TINYINT,
+ @BE_ID INTEGER
+
+ SELECT @KINDTYPE_ID = GUID FROM TBIDB_OBJECT_KIND WHERE UPPER(KIND_NAME) = UPPER(@KIND_TYPE)
+ IF @BE = ''
+ SELECT @BE_ID = GUID FROM TBIDB_BUSINESS_ENTITY WHERE GUID = 1
+ ELSE
+ SELECT @BE_ID = GUID FROM TBIDB_BUSINESS_ENTITY WHERE UPPER(TITLE) = UPPER(@BE)
+
+ IF @FOREIGN_REFID <> 0
+ IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_REFID)
+ SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_REFID
+ ELSE
+ BEGIN
+ INSERT INTO [dbo].[TBIDB_OBJECT]
+ ([KIND_TYPE_ID],[REFERENCE_KEY],[ADDED_WHO]) VALUES (@KINDTYPE_ID,@FOREIGN_REFID,@WHO)
+ END
+ ELSE
+ BEGIN
+ INSERT INTO [dbo].[TBIDB_OBJECT]
+ ([KIND_TYPE_ID],[ADDED_WHO]) VALUES (@KINDTYPE_ID,@WHO)
+ END
+ SELECT @IDB_OBJ_ID = MAX(IDB_OBJ_ID) FROM TBIDB_OBJECT
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_BE WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND BE_ID = @BE_ID)
+ INSERT INTO TBIDB_OBJECT_BE (IDB_OBJ_ID,BE_ID, ADDED_WHO) VALUES (@IDB_OBJ_ID,@BE_ID, @WHO)
+END
+GO
+-- =============================================
+-- Author: DD MS 15.03.2021
+-- Change: 13.07.2021 Filesize
+-- =============================================
+ALTER PROCEDURE [dbo].[PRIDB_NEW_IDBFO] @REL_PATH VARCHAR(512),@FILE_NAME VARCHAR(200),@FILE_EXT VARCHAR(10), @FILE_SIZE BIGINT, @FILE_HASH VARCHAR(500),
+ @WHO VARCHAR(100), @IDB_OBJ_ID BIGINT,@OBJ_ST_ID INT
+AS
+BEGIN
+ DECLARE
+ @FILENAME_EXT VARCHAR(250),
+ @RELATIVE_PATH VARCHAR(512)
+
+ --PRINT @FILENAME_ONLY
+ --PRINT @REL_PATH
+
+ --PRINT 'PRIDB_NEW_IDBFO - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY
+ DECLARE @RELPATH_TERM_ID BIGINT,@EXTENSION_TERM_ID BIGINT,@FILENAME_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@REL_PATH,@WHO,@TERM_ID = @RELPATH_TERM_ID OUTPUT;
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@FILE_EXT,@WHO,@TERM_ID = @EXTENSION_TERM_ID OUTPUT;
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@FILE_NAME,@WHO,@TERM_ID = @FILENAME_TERM_ID OUTPUT;
+ --SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@REL_PATH);
+ --SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@REL_PATH);
+ --SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH));
+ --PRINT 'PRIDB_NEW_IDBFO: ' + @REL_PATH
+
+ BEGIN
+ IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
+ INSERT INTO [dbo].[TBIDB_FILE_OBJECT]
+ ([IDB_OBJ_ID]
+ ,[OBJ_ST_ID]
+ ,EXTENSION_TERM_ID
+ ,RELPATH_TERM_ID
+ ,FILENAME_TERM_ID
+ ,FILE_SIZE
+ ,FILE_HASH
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@OBJ_ST_ID
+ ,@EXTENSION_TERM_ID
+ ,@RELPATH_TERM_ID
+ ,@FILENAME_TERM_ID
+ ,@FILE_SIZE
+ ,@FILE_HASH
+ ,@WHO)
+ ELSE
+ BEGIN
+ --PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS'
+ UPDATE TBIDB_FILE_OBJECT SET
+ EXTENSION_TERM_ID = @EXTENSION_TERM_ID
+ ,RELPATH_TERM_ID = @RELPATH_TERM_ID
+ ,FILENAME_TERM_ID = @FILENAME_TERM_ID
+ ,FILE_SIZE = @FILE_SIZE
+ ,FILE_HASH = @FILE_HASH
+ ,CHANGED_WHO = @WHO
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID
+ IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1)
+ BEGIN
+ PRINT 'PRIDB_NEW_IDBFO - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!'
+ UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID
+ END
+ END
+ END
+END
+GO
+
+-- =============================================
+-- Author: DD MS
+-- Creation date: 05.07.2021
+-- =============================================
+CREATE PROCEDURE [dbo].[PRIDB_GET_VALUE_DT] @IDB_OBJ_ID BIGINT, @LANG_CODE VARCHAR(5)
+AS
+DECLARE @ATTR_ID INTEGER,@ATTR_TITLE VARCHAR(100), @TYPE_NAME VARCHAR(100)
+DECLARE
+ @TBRESULT TABLE (AttributID INT, AttributTitle VARCHAR(100), AttributType VARCHAR(100),ValueBigInt BIGINT, ValueText Varchar(912), ValueDec Decimal(19,2), ValueDate Date,
+ADDED_WHEN DATETIME, CHANGED_WHEN DATETIME)
+
+DECLARE cursorAttributes CURSOR LOCAL FOR
+ SELECT A.ATTR_ID, B.ATTR_TITLE, B.TYPE_NAME FROM TBIDB_OBJECT_METADATA A INNER JOIN VWIDB_BE_ATTRIBUTE B On A.ATTR_ID = B.ATTR_ID
+ WHERE A.IDB_OBJ_ID = @IDB_OBJ_ID AND B.LANG_CODE = @LANG_CODE
+OPEN cursorAttributes
+FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME
+WHILE @@FETCH_STATUS = 0
+BEGIN
+ PRINT CONVERT(VARCHAR(2),@ATTR_ID) + '#' + @TYPE_NAME + '#' + @ATTR_TITLE
+ IF @TYPE_NAME IN ('VARCHAR','VECTOR STRING')
+ INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueText,ADDED_WHEN,CHANGED_WHEN)
+ select
+ @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_TEXT] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
+ from
+ TBIDB_OBJECT_METADATA T
+ WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
+ ELSE IF @TYPE_NAME IN ('BIT','BIG INTEGER')
+ INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueBigInt,ADDED_WHEN,CHANGED_WHEN)
+ select
+ @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_INTEGER] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
+ from
+ TBIDB_OBJECT_METADATA T
+ WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
+ ELSE IF @TYPE_NAME = 'DATE'
+ INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDate,ADDED_WHEN,CHANGED_WHEN)
+ select
+ @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DATE] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
+ from
+ TBIDB_OBJECT_METADATA T
+ WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
+ ELSE IF @TYPE_NAME = 'DECIMAL'
+ INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDec,ADDED_WHEN,CHANGED_WHEN)
+ select
+ @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DECIMAL] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
+ from
+ TBIDB_OBJECT_METADATA T
+ WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
+ FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME
+END
+CLOSE cursorAttributes
+DEALLOCATE cursorAttributes
+SELECT * FROM @TBRESULT order BY AttributID,ADDED_WHEN
+GO
+-- =============================================
+-- Author: Digital Data, MS
+-- Create date: 12.10.2021
+-- =============================================
+CREATE PROCEDURE [dbo].[PRIDB_GET_ATTRIBUTE_VALUE] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100), @LANG_CODE VARCHAR(5), @VALUE VARCHAR(MAX) OUTPUT
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @LANG_ID INT
+
+ IF NOT EXISTS(SELECT ATTR_ID FROM VWIDB_BE_ATTRIBUTE WHERE ATTR_TITLE = @ATTRIBUTE AND LANG_CODE = @LANG_CODE)
+ RAISERROR ('NO VALID ATTRIBUTE',16,1)
+
+ SELECT @ATTR_ID = ATTR_ID, @TYP_ID = TYPE_ID, @TYP_DESCR = TYPE_NAME,@LANG_ID = LANG_ID
+ FROM VWIDB_BE_ATTRIBUTE
+ WHERE ATTR_TITLE = @ATTRIBUTE AND LANG_CODE = @LANG_CODE
+
+ IF @TYP_ID IN (1,8) --VARCHAR
+ BEGIN
+ select
+ @VALUE = TERM.TERM_VALUE
+ FROM
+ IDB.dbo.TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN IDB.dbo.TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
+ INNER JOIN IDB.dbo.TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
+ INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ OBJ.DELETED = 0 AND
+ MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
+ MD.ATTR_ID = @ATTR_ID AND TLANG.LANGUAGE_ID = @LANG_ID
+ END
+ ELSE IF @TYP_ID IN (2,7,9) --BIGINT
+ BEGIN
+ select
+ @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
+ FROM
+ IDB.dbo.TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
+ INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ OBJ.DELETED = 0 AND
+ MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
+ MD.ATTR_ID = @ATTR_ID
+ END
+ ELSE IF @TYP_ID = 3 --FLOAT
+ BEGIN
+ select
+ @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
+ FROM
+ IDB.dbo.TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
+ INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ OBJ.DELETED = 0 AND
+ MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
+ MD.ATTR_ID = @ATTR_ID
+ END
+ ELSE IF @TYP_ID = 4 --DECIMAL
+ BEGIN
+ select
+ @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
+ FROM
+ IDB.dbo.TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
+ INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ OBJ.DELETED = 0 AND
+ MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
+ MD.ATTR_ID = @ATTR_ID
+ END
+ ELSE IF @TYP_ID = 5 --DATE
+ BEGIN
+ select
+ @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
+ FROM
+ IDB.dbo.TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
+ INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ OBJ.DELETED = 0 AND
+ MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
+ MD.ATTR_ID = @ATTR_ID
+ END
+END
+GO
+CREATE PROCEDURE [dbo].[PRIDB_REPLACE_ATTRIBUTE_DATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @OLD_TERM VARCHAR(900), @NEW_TERM VARCHAR(900),@LANGUAGE VARCHAR(5), @WHO VARCHAR(100)
+AS
+BEGIN
+ DECLARE
+ @UPD_GUID BIGINT,
+ @ATTR_ID INTEGER,
+ @ATTR_TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @TEXT_TERM_LANG_ID BIGINT,
+ @TERM_ID BIGINT,
+ @USER_DELETE_ID INTEGER,
+ @ERROR as BIT,
+ @LANGUAGE_ID TINYINT
+ PRINT 'IN PRIDB_REPLACE_ATTRIBUTE_DATA...'
+ SET @ERROR = 0
+ SELECT @USER_DELETE_ID = COALESCE(MAX(USER_DELETE_ID),0) + 1 FROM TBIDB_OBJECT_METADATA_DELETE WHERE UPPER(DELETED_WHO) = UPPER(@WHO)
+ SELECT @LANGUAGE_ID = GUID FROM TBIDB_LANGUAGE WHERE UPPER(LANG_CODE) = UPPER(@LANGUAGE)
+ SELECT @ATTR_ID = T.GUID, @ATTR_TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
+ WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
+
+ DECLARE @MY_OLD_TERM_ID BIGINT, @MY_OLD_LANG_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM @TYP_DESCR,@OLD_TERM,@WHO,@TERM_ID = @MY_OLD_TERM_ID OUTPUT;
+ DECLARE @MY_NEW_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM @TYP_DESCR,@NEW_TERM,@WHO,@TERM_ID = @MY_NEW_TERM_ID OUTPUT;
+ IF @ATTR_TYP_ID IN (1,8) --VARCHAR
+ BEGIN TRY
+ SELECT @MY_OLD_LANG_TERM_ID = GUID FROM TBIDB_TERM_LANGUAGE WHERE TEXT_TERM_ID = @MY_OLD_TERM_ID AND LANGUAGE_ID = @LANGUAGE_ID
+ Print '@MY_OLD_LANG_TERM_ID: ' + Convert(Varchar(10),@MY_OLD_LANG_TERM_ID)
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE TEXT_TERM_ID = @MY_NEW_TERM_ID AND LANGUAGE_ID = @LANGUAGE_ID)
+ BEGIN
+ INSERT INTO TBIDB_TERM_LANGUAGE(LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANGUAGE_ID,@MY_NEW_TERM_ID,@WHO)
+ END
+ UPDATE TBIDB_OBJECT_METADATA SET TEXT_TERM_LANG_ID = (SELECT MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE TEXT_TERM_ID = @MY_NEW_TERM_ID AND LANGUAGE_ID = @LANGUAGE_ID), CHANGED_WHO = @WHO
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND TEXT_TERM_LANG_ID = @MY_OLD_LANG_TERM_ID AND ATTR_ID = @ATTR_ID
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR WHILE UPDATING FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ SET @ERROR = 1
+ END CATCH
+
+ ELSE IF @ATTR_TYP_ID IN (2,7,9) --BIGINT
+ BEGIN TRY
+ DECLARE cursor_REPLACE CURSOR LOCAL FOR
+ SELECT T.GUID FROM TBIDB_OBJECT_METADATA T WHERE T.INT_TERM_ID = @MY_OLD_TERM_ID
+ OPEN cursor_REPLACE
+ FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ UPDATE TBIDB_OBJECT_METADATA SET INT_TERM_ID = @MY_NEW_TERM_ID WHERE GUID = @UPD_GUID
+
+ FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
+ END
+ CLOSE cursor_REPLACE
+ DEALLOCATE cursor_REPLACE
+
+
+ END TRY
+
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING (INTEGER) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+
+ SET @ERROR = 1
+ END CATCH
+ ELSE IF @ATTR_TYP_ID = 3 --FLOAT
+ BEGIN TRY
+ DECLARE cursor_REPLACE CURSOR LOCAL FOR
+ SELECT T.GUID FROM TBIDB_OBJECT_METADATA T WHERE T.FLOAT_TERM_ID = @MY_OLD_TERM_ID
+ OPEN cursor_REPLACE
+ FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ UPDATE TBIDB_OBJECT_METADATA SET FLOAT_TERM_ID = @MY_NEW_TERM_ID WHERE GUID = @UPD_GUID
+ FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
+ END
+ CLOSE cursor_REPLACE
+ DEALLOCATE cursor_REPLACE
+
+ END TRY
+
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING (FLOAT) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+
+ SET @ERROR = 1
+ END CATCH
+ ELSE IF @ATTR_TYP_ID = 4 --DECIMAL
+ BEGIN TRY
+ DECLARE cursor_REPLACE CURSOR LOCAL FOR
+ SELECT T.GUID FROM TBIDB_OBJECT_METADATA T WHERE T.DEC_TERM_ID = @MY_OLD_TERM_ID
+ OPEN cursor_REPLACE
+ FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ UPDATE TBIDB_OBJECT_METADATA SET DEC_TERM_ID = @MY_NEW_TERM_ID WHERE GUID = @UPD_GUID
+ FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
+ END
+ CLOSE cursor_REPLACE
+ DEALLOCATE cursor_REPLACE
+
+ END TRY
+
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING (DECIMAL) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ SET @ERROR = 1
+ END CATCH
+ ELSE IF @ATTR_TYP_ID = 5 --DATE
+ BEGIN TRY
+ DECLARE cursor_REPLACE CURSOR LOCAL FOR
+ SELECT T.GUID FROM TBIDB_OBJECT_METADATA T WHERE T.DATE_TERM_ID = @MY_OLD_TERM_ID
+ OPEN cursor_REPLACE
+ FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ UPDATE TBIDB_OBJECT_METADATA SET DATE_TERM_ID = @MY_NEW_TERM_ID WHERE GUID = @UPD_GUID
+ FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID
+ END
+ CLOSE cursor_REPLACE
+ DEALLOCATE cursor_REPLACE
+
+ END TRY
+
+ BEGIN CATCH
+ PRINT 'ERROR WHILE DELETING (DATE) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ SET @ERROR = 1
+ END CATCH
+ --IF @ERROR = 0
+ -- BEGIN
+ -- UPDATE TBIDB_ATTRIBUTE SET DELETED = 1, DELETED_WHO = @WHO WHERE GUID = @ATTR_ID;
+ -- END
+END
+GO
+
+-- =============================================
+-- Author: DD MS
+-- Changed: 01.11.2021 MS TERM_COLUMNS
+-- Changed: 10.08.2020 MS Anpassung
+-- =============================================
+CREATE PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT
+AS
+BEGIN
+ DECLARE
+ @SHARE_PATH VARCHAR(100),
+ @OBJ_STORE_PATH VARCHAR(250),
+ @NEW_FULL_PATH VARCHAR(512),
+ @FILENAME_EXT VARCHAR(250),
+ @FILENAME_ONLY VARCHAR(250),
+ @RELATIVE_PATH VARCHAR(512),
+ @RELATIVE_PATH_ONLY VARCHAR(512),
+ @EXT VARCHAR(10)
+
+ SELECT
+ @SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH
+ FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID
+ SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH)
+ SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','')
+ SET @RELATIVE_PATH = UPPER(@REL_PATH)
+ PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH
+ PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH
+
+ --SELECT @RELATIVE_PATH_ONLY = [dbo].[FNGetDirectoryPath] (@NEW_FULL_PATH);
+ --PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY
+
+ SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH);
+ SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH);
+ SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH));
+ SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'')
+ PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY
+ DECLARE @RELATIVE_PATH_ONLY_TERM BIGINT,@EXTENSION_TERM BIGINT
+ EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELATIVE_PATH_ONLY,@WHO, @TERM_ID = @RELATIVE_PATH_ONLY_TERM OUTPUT
+ EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@EXT,@WHO, @TERM_ID = @EXTENSION_TERM OUTPUT
+ --PRINT '@EXT: ' + @EXT
+ --IF NOT EXISTS(SELECT [IDB_OBJ_ID] FROM [TBIDB_DOC_INFO] WHERE [OBJ_ST_ID] = @OBJ_ST_ID AND UPPER([RELATIVE_PATH]) = @RELATIVE_PATH)
+ EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, @IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT;
+ PRINT 'PRIDB_NEW_DOCUMENT - @IDB_OBJ_ID from PRIDB_NEW_OBJECT: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID)
+ BEGIN
+ IF NOT EXISTS(SELECT IDB_OBJ_ID FROM [TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
+ INSERT INTO [dbo].[TBIDB_DOC_INFO]
+ ([IDB_OBJ_ID]
+ ,[OBJ_ST_ID]
+ ,[FILENAME_ONLY]
+ ,RELATIVE_PATH
+ ,RELATIVE_PATH_ONLY_TERM
+ ,EXTENSION_TERM
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@OBJ_ST_ID
+ ,@FILENAME_ONLY
+ ,@RELATIVE_PATH
+ ,@RELATIVE_PATH_ONLY_TERM
+ ,@EXTENSION_TERM
+ ,@WHO)
+ ELSE
+ BEGIN
+ PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS'
+ UPDATE [TBIDB_DOC_INFO] SET [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY
+ ,@EXTENSION_TERM = @EXTENSION_TERM
+ ,[RELATIVE_PATH] = @RELATIVE_PATH
+ ,RELATIVE_PATH_ONLY_TERM = @RELATIVE_PATH_ONLY_TERM
+ ,CHANGED_WHO = @WHO
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID
+ IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1)
+ BEGIN
+ PRINT 'PRIDB_NEW_DOCUMENT - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!'
+ UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID
+ END
+ END
+ END
+END
+GO
+
+INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('Doctype',1,1);
+INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginFileName',1,1);
+INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginCreationDatetime',6,1);
+INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginChangedDatetime',6,1);
+INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('DisplayFileName',1,1);
+INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('DisplayFileName1',1,0);
+INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailMessageID',1,1);
+INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailSubject',1,1);
+INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailFrom',1,1);
+INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailDate',5,1);
+
+INSERT INTO TBIDB_BE_ATTRIBUTE (BE_ID,ATTR_ID,DEFAULT_SEARCH_ATTRIBUTE) SELECT 1,GUID, 1 FROM TBIDB_ATTRIBUTE ;
+
+GO
diff --git a/00_IDB/Update/1.1.1.sql b/00_IDB/Update/1.1.1.sql
new file mode 100644
index 0000000..40c4a07
--- /dev/null
+++ b/00_IDB/Update/1.1.1.sql
@@ -0,0 +1,51 @@
+UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.1' where CONFIG_NAME = 'DB_VERSION'
+GO
+ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS
+SELECT
+ T.[BE_ID]
+ ,T2.TITLE AS BE
+ ,[ATTR_ID]
+ ,T.DEFAULT_SEARCH_ATTRIBUTE
+ ,T6.TERM_VALUE AS ATTR_TITLE
+ ,T1.TYP_ID
+ ,T1.TYP_ID AS [TYPE_ID]
+ ,T3.NAME_TYPE AS [TYPE_NAME]
+ ,T1.VIEW_VISIBLE
+ ,T1.VIEW_SEQUENCE
+ ,T5.GUID AS LANG_ID
+ ,T5.LANG_CODE
+ ,T.ADDED_WHEN
+ ,T.ADDED_WHO
+ ,T.CHANGED_WHEN
+ ,T.CHANGED_WHO
+ FROM
+ [TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID
+ INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID
+ WHERE
+ T1.DELETED = 0
+UNION
+SELECT
+ T.[BE_ID]
+ ,T2.TITLE AS BE
+ ,[ATTR_ID]
+ ,T.DEFAULT_SEARCH_ATTRIBUTE
+ ,T6.TERM_VALUE AS ATTR_TITLE
+ ,T1.TYP_ID
+ ,T1.TYP_ID AS [TYPE_ID]
+ ,T3.NAME_TYPE AS [TYPE_NAME]
+ ,T1.VIEW_VISIBLE
+ ,T1.VIEW_SEQUENCE
+ ,T5.GUID AS LANG_ID
+ ,T5.LANG_CODE
+ ,T.ADDED_WHEN
+ ,T.ADDED_WHO
+ ,T.CHANGED_WHEN
+ ,T.CHANGED_WHO
+ FROM
+GO
+
+
diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.1.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.1.sql
new file mode 100644
index 0000000..2ebee3f
--- /dev/null
+++ b/00_IDB/Update/Added2CreateDBObjects/1.0.1.sql
@@ -0,0 +1,35 @@
+CREATE TABLE TBIDB_BASE
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ CONFIG_NAME VARCHAR(900) NOT NULL,
+ CONFIG_VALUE VARCHAR(MAX) NOT NULL,
+ 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_TBIDB_BASE PRIMARY KEY (GUID),
+ CONSTRAINT UQ1_TBIDB_BASE UNIQUE (CONFIG_NAME)
+)
+GO
+CREATE TRIGGER TBIDB_BASE_AFT_UPD ON TBIDB_BASE
+FOR UPDATE
+AS
+ UPDATE TBIDB_BASE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_BASE.GUID = INSERTED.GUID
+GO
+INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('DB_VERSION','1.0.1')
+GO
+ALTER TABLE TBIDB_OBJECT_STORE ADD IS_ARCHIVE BIT NOT NULL DEFAULT 0
+GO
+CREATE VIEW VWIDB_OBJECTSTORE AS
+SELECT
+ T.GUID As OST_ID,
+ T.OBJECT_TITLE AS OS_TITLE,
+ T.IS_ARCHIVE AS OS_IS_ARCHIVE,
+ T1.CAT_STRING AS IDB_PRAEFIX
+FROM
+TBIDB_OBJECT_STORE T
+ INNER JOIN TBIDB_CATALOG T1 ON T.CAT_ID = T1.GUID
+GO
\ No newline at end of file
diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.2.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.2.sql
new file mode 100644
index 0000000..a406475
--- /dev/null
+++ b/00_IDB/Update/Added2CreateDBObjects/1.0.2.sql
@@ -0,0 +1,4 @@
+UPDATE TBIDB_CATALOG SET CAT_STRING = '1.0.2' where CAT_STRING = 'DB_VERSION'
+INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_TITLE) VALUES ('GHOST_SELECT','
+SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM DD_ECM.dbo.TBDD_USER T ORDER BY USERNAME')
+GO
diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.3.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.3.sql
new file mode 100644
index 0000000..a1856bf
--- /dev/null
+++ b/00_IDB/Update/Added2CreateDBObjects/1.0.3.sql
@@ -0,0 +1,417 @@
+/*
+FNDD_CHECK_USER_MODULE
+#PM.CONV_IDENTIFICATION=Email
+in Working Mode
+*/
+UPDATE TBIDB_CATALOG SET CAT_STRING = '1.0.3' where CAT_TITLE = 'DB_VERSION'
+CREATE TABLE TBIDB_STATES
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ STATE_LTERM_ID BIGINT NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_STATES PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_STATES_STATE_LTERM_ID FOREIGN KEY (STATE_LTERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
+ CONSTRAINT FK_TBIDB_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
+GO
+CREATE TRIGGER TBIDB_STATES_AFT_UPD ON TBIDB_STATES
+FOR UPDATE
+AS
+ UPDATE TBIDB_STATES SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_STATES.GUID = INSERTED.GUID
+GO
+ALTER PROCEDURE [dbo].[PRIDB_NEW_IDB_STATE] @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
+AS
+BEGIN
+ DECLARE
+ @LANG_ID INTEGER
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+
+ DECLARE @STATE_TERM_ID BIGINT,@LANG_STATE_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT;
+ DECLARE @ADDED_WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID)
+ INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@STATE_TERM_ID,@pWHO)
+ SELECT @LANG_STATE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID)
+ INSERT INTO TBIDB_STATES (STATE_LTERM_ID,ADDED_WHO) VALUES (@LANG_STATE_TERM_ID,@ADDED_WHO_TERM_ID)
+ IF NOT EXISTS (SELECT GUID FROM TBIDB_STATE_LANG_GROUP WHERE STATE_ID = (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID))
+ INSERT INTO TBIDB_STATE_LANG_GROUP (STATE_ID,LANG_TERM_ID,ADDED_WHO) VALUES (
+ (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID)
+ ,@LANG_STATE_TERM_ID
+ ,@ADDED_WHO_TERM_ID)
+
+ SELECT * FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID
+END
+GO
+
+CREATE TABLE TBIDB_STATE_LANG_GROUP
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ STATE_ID BIGINT NOT NULL,
+ LANG_TERM_ID BIGINT NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_STATE_LANG_GROUP PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID),
+ CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TTBIDB_STATE_LANG_GROUP_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
+GO
+CREATE TRIGGER TBIDB_STATE_LANG_GROUP_AFT_UPD ON TBIDB_STATE_LANG_GROUP
+FOR UPDATE
+AS
+ UPDATE TBIDB_STATE_LANG_GROUP SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_STATE_LANG_GROUP.GUID = INSERTED.GUID
+GO
+EXEC PRIDB_NEW_IDB_STATE 'Started', 'Digital Data','de-DE'
+EXEC PRIDB_NEW_IDB_STATE 'Ended', 'Digital Data','de-DE'
+--select * from TBIDB_STATE_LANG_GROUP
+--DROP TABLE TBIDB_CONVERSATION_OBJECT
+
+CREATE TABLE TBIDB_CONVERSATION_OBJECT
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ TITLE_TERM_ID BIGINT NOT NULL,
+ IDB_OBJ_ID BIGINT NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_CONVERSATION_OBJECT PRIMARY KEY (GUID),
+ CONSTRAINT FK_TITLE_TERM_ID FOREIGN KEY (TITLE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
+GO
+CREATE TRIGGER TBIDB_CONVERSATION_OBJECT_AFT_UPD ON TBIDB_CONVERSATION_OBJECT
+FOR UPDATE
+AS
+ UPDATE TBIDB_CONVERSATION_OBJECT SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_CONVERSATION_OBJECT.GUID = INSERTED.GUID
+GO
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (@LANG_TERM_ID BIGINT)
+RETURNS VARCHAR(900)
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900)
+ SELECT @RESULT = T1.TERM_VALUE FROM TBIDB_TERM_LANGUAGE T INNER JOIN TBIDB_TERM_VALUE_VARCHAR T1 ON T.TEXT_TERM_ID = T1.GUID WHERE T.GUID = @LANG_TERM_ID
+ RETURN @RESULT
+END
+GO
+-------------------------------------------------------------------
+CREATE FUNCTION [dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (@OBJ_ID BIGINT)
+RETURNS VARCHAR(900)
+AS
+BEGIN
+ DECLARE @MAX_STATE_GUID BIGINT,@STATE_ID INTEGER,@RESULT VARCHAR(900)
+
+ SELECT @STATE_ID = STATE_ID FROM TBIDB_MYOBJECT_STATES WHERE GUID = (
+ SELECT MAX(GUID) FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @OBJ_ID)
+
+ SELECT @RESULT = [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] ((SELECT STATE_LTERM_ID FROM TBIDB_STATES
+ WHERE GUID = @STATE_ID))
+ RETURN @RESULT
+END
+GO
+
+--delete from TBIDB_CONVERSATION_OBJECT
+CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION] @pIDB_OBJ_ID BIGINT, @pTITLE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
+AS
+BEGIN
+ DECLARE
+ @LANG_ID INTEGER
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+
+ DECLARE @TITLE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@pWHO,@TERM_ID = @TITLE_TERM_ID OUTPUT;
+ DECLARE @ADDED_WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID)
+ INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@TITLE_TERM_ID,@pWHO)
+ SELECT @LANG_TITLE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID
+
+ --IF EXISTS(SELECT CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started')
+ -- BEGIN
+ -- DECLARE @ENDED_STATE BIGINT
+ -- SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended'
+ -- INSERT INTO TBIDB_MYOBJECT_STATES (
+ -- MY_OBJECT_ID
+ -- ,STATE_ID
+ -- ,ADDED_WHO) VALUES (
+ -- (SELECT CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started')
+ -- ,@ENDED_STATE
+ -- ,@ADDED_WHO_TERM_ID)
+ -- END
+
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND TITLE_TERM_ID = @LANG_TITLE_TERM_ID)
+ INSERT INTO TBIDB_CONVERSATION_OBJECT (TITLE_TERM_ID,IDB_OBJ_ID,ADDED_WHO) VALUES (@LANG_TITLE_TERM_ID,@pIDB_OBJ_ID,@ADDED_WHO_TERM_ID)
+ DECLARE @STARTED_STATE BIGINT
+ SELECT @STARTED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Started'
+
+ DECLARE @CONVERSATION_ID BIGINT
+ SELECT @CONVERSATION_ID = GUID FROM TBIDB_CONVERSATION_OBJECT WHERE TITLE_TERM_ID = @LANG_TITLE_TERM_ID AND IDB_OBJ_ID = @pIDB_OBJ_ID
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @CONVERSATION_ID AND STATE_ID = @STARTED_STATE)
+ INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@CONVERSATION_ID,@STARTED_STATE,@ADDED_WHO_TERM_ID)
+END
+GO
+CREATE PROCEDURE dbo.PRIDB_OBJECT_SET_STATE @pIDB_OBJ_ID BIGINT, @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE'
+AS
+BEGIN
+ DECLARE
+ @LANG_ID INTEGER
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+
+ DECLARE @STATE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT;
+ DECLARE @ADDED_WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
+
+
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pIDB_OBJ_ID AND STATE_ID = @STATE_TERM_ID)
+ INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@STATE_TERM_ID,@ADDED_WHO_TERM_ID)
+END
+GO
+CREATE PROCEDURE [dbo].[PRIDB_END_CONVERSATION] @pCONVID BIGINT, @pWHO VARCHAR(100), @pLANG_CODE VARCHAR(5) = 'de-DE'
+AS
+BEGIN
+ DECLARE
+ @LANG_ID INTEGER
+ ,@ENDED_STATE BIGINT
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+ SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended'
+
+ DECLARE @WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
+
+
+ IF NOT EXISTS(SELECT MY_OBJECT_ID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pCONVID AND STATE_ID = @ENDED_STATE)
+ INSERT INTO TBIDB_MYOBJECT_STATES (
+ MY_OBJECT_ID
+ ,STATE_ID
+ ,ADDED_WHO) VALUES (
+ @pCONVID
+ ,@ENDED_STATE
+ ,@WHO_TERM_ID)
+END
+GO
+--delete from TBIDB_MYOBJECT_STATES
+CREATE TABLE TBIDB_MYOBJECT_STATES
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ MY_OBJECT_ID BIGINT NOT NULL,
+ STATE_ID BIGINT NOT NULL,
+ COMMENT_ID BIGINT ,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_MYOBJECT_STATES PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_MYOBJECT_STATES_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID),
+ CONSTRAINT FK_TBIDB_MYOBJECT_STATES_COMMENT_ID_T_ID FOREIGN KEY (COMMENT_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
+ CONSTRAINT FK_TBIDB_MYOBJECT_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_MYOBJECT_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
+GO
+CREATE TRIGGER TBIDB_MYOBJECT_STATES_AFT_UPD ON TBIDB_MYOBJECT_STATES
+FOR UPDATE
+AS
+ UPDATE TBIDB_MYOBJECT_STATES SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_MYOBJECT_STATES.GUID = INSERTED.GUID
+GO
+
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (@TERM_ID BIGINT)
+RETURNS VARCHAR(900)
+AS
+BEGIN
+ DECLARE @RESULT VARCHAR(900)
+
+ SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID
+ RETURN @RESULT
+END
+
+CREATE TABLE TBIDB_CONVERSATION_USER
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ CONV_ID BIGINT NOT NULL,
+ USER_OR_GROUP_ID INTEGER NOT NULL,
+ IS_USER BIT NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CONSTRAINT PK_TBIDB_CONVERSATION_USER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_USER_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
+GO
+CREATE PROCEDURE [dbo].[PRIDB_ADD_USER_2_CONVERSATION] @pCONV_ID BIGINT, @pUSERID INTEGER,@pWHO VARCHAR(100)
+AS
+BEGIN
+ DECLARE @ADDED_WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_USER WHERE CONV_ID = @pCONV_ID AND USER_OR_GROUP_ID = @pUSERID AND IS_USER = 1)
+ INSERT INTO TBIDB_CONVERSATION_USER (CONV_ID,USER_OR_GROUP_ID,IS_USER,ADDED_WHO) VALUES (@pCONV_ID,@pUSERID,1,@ADDED_WHO_TERM_ID)
+
+END
+GO
+CREATE TABLE TBIDB_CONVERSATION_MESSAGE
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ CONV_ID BIGINT NOT NULL,
+ TO_USER BIGINT NOT NULL DEFAULT 0,
+ FROM_USER BIGINT NOT NULL,
+ MESSAGE_TERM_ID BIGINT NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CONSTRAINT PK_TBIDB_CONVERSATION_MESSAGE PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_FROM_USER FOREIGN KEY (FROM_USER) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_TERM_ID FOREIGN KEY (MESSAGE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID),
+ CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),)
+GO
+
+CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION_MESSAGE] @pCONV_ID BIGINT, @pMESSAGE VARCHAR(100), @pWHO VARCHAR(100),@pTO_USER INTEGER = 0, @pLANG_CODE VARCHAR(5) = 'de-DE'
+AS
+BEGIN
+ DECLARE
+ @LANG_ID INTEGER
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+
+ DECLARE @MESSAGE_TERM_ID BIGINT,@LANG_MESSAGE_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pMESSAGE,@pWHO,@TERM_ID = @MESSAGE_TERM_ID OUTPUT;
+ DECLARE @ADDED_WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT;
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID)
+ INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MESSAGE_TERM_ID,@pWHO)
+ SELECT @LANG_MESSAGE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID
+
+ --IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_MESSAGE WHERE CONV_ID = @pCONV_ID AND FROM_USER = FROM_USER AND MESSAGE_TERM_ID = @LANG_MESSAGE_TERM_ID)
+ INSERT INTO TBIDB_CONVERSATION_MESSAGE (CONV_ID,FROM_USER,TO_USER, MESSAGE_TERM_ID, ADDED_WHO) VALUES (@pCONV_ID,@ADDED_WHO_TERM_ID,@pTO_USER, @LANG_MESSAGE_TERM_ID,@ADDED_WHO_TERM_ID)
+
+END
+GO
+
+--EXEC PRIDB_NEW_CONVERSATION 10070, 'My First Conversation', 'SchreiberM'
+
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Hallo JJ', 'SchreiberM'
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Hallo Marlon', 'JenneJ'
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Na was machst Du so?', 'JenneJ'
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Ei ich programmiere an der IDB...', 'SchreiberM'
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Und Du wartest auf mich?', 'SchreiberM'
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Jenau ;)', 'JenneJ'
+
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Hallo Herr Schreiber, oh sorry habe ich das wirklich? ', 'j.jenne@digitaldata.works'
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'..warten sie ich prüfe das nochmal! ', 'j.jenne@digitaldata.works'
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Tatsächlich. Ich korrigiere das!', 'j.jenne@digitaldata.works'
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Was''nu schon wieder?', 'JenneJ'
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'2. conversation ist da..', 'SchreiberM'
+
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Hallo JJ, da bin ich wieder', 'SchreiberM'
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Hallo Marlon nicht schon wieder', 'JenneJ'
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Was''nu schon wieder?', 'JenneJ'
+--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'3. conversation ist da..', 'SchreiberM'
+
+CREATE VIEW VWIDB_CONVERSATION AS
+SELECT
+ GUID As CONVERSATION_ID
+ ,IDB_OBJ_ID
+ ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (TITLE_TERM_ID) as TITLE
+ ,[dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (GUID) AS CONVERSATION_STATE
+ ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (ADDED_WHO) as ADDED_WHO
+ ,ADDED_WHEN
+ ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (CHANGED_WHO) as CHANGED_WHO
+ ,CHANGED_WHEN
+FROM TBIDB_CONVERSATION_OBJECT
+GO
+CREATE VIEW VWIDB_CONV_MESSAGES AS
+select
+ T.GUID,
+ T.CONV_ID,
+ (SELECT EMAIL FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID = T.TO_USER) TO_USER,
+ [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T1.TITLE_TERM_ID) AS CONV_TITLE
+ ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (T.FROM_USER) as USER_FROM
+ ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.MESSAGE_TERM_ID) as MESSAGE_TEXT
+ ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.ADDED_WHO) as ADDED_WHO
+ ,T.ADDED_WHEN
+from TBIDB_CONVERSATION_MESSAGE T INNER JOIN TBIDB_CONVERSATION_OBJECT T1 ON T.CONV_ID = T1.GUID
+GO
+CREATE VIEW VWIDB_CONVERSATION_USER AS
+SELECT
+ T.CONV_ID
+ ,T1.GUID As USER_ID
+ ,T1.USERNAME
+ ,T1.EMAIL
+ ,T1.NAME + ', ' + T1.PRENAME as NAME
+FROM
+ [IDB_TEST].[dbo].[TBIDB_CONVERSATION_USER] T
+ INNER JOIN DD_ECM_TEST.dbo.TBDD_USER T1 ON T.USER_OR_GROUP_ID = T1.GUID
+WHERE IS_USER = 1
+GO
+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
+ DECLARE @CONVID BIGINT
+ SELECT @CONVID = CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started'
+ IF @CONVID > 0
+ BEGIN
+ INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ID',@CONVID);
+ END
+
+ IF EXISTS(SELECT CONV_ID FROM VWIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND USER_ID = @pUSERID)
+ BEGIN
+ INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_USER_ACTIVE','True');
+ END
+
+ 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 DD_ECM_TEST.dbo.TBDD_USER WHERE GUID NOT IN (SELECT USER_OR_GROUP_ID FROM
+ TBIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND IS_USER = 1)');
+
+RETURN
+END
+GO
+
+
+
+CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IN_GUID
+ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN])
+INCLUDE ([GUID])
+GO
+
+
+CREATE NONCLUSTERED INDEX IDX_IDBOBJID_CW
+ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID])
+INCLUDE ([CHANGED_WHEN])
+GO
+
+
+
+
+
+
diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.4.1.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.4.1.sql
new file mode 100644
index 0000000..8414793
--- /dev/null
+++ b/00_IDB/Update/Added2CreateDBObjects/1.0.4.1.sql
@@ -0,0 +1,15 @@
+UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.4.1' where CONFIG_NAME = 'DB_VERSION'
+
+CREATE TABLE TBIDB_COMMON_SQL
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ TITLE VARCHAR(200) NOT NULL,
+ SQL_COMMAND NVARCHAR(MAX),
+ ACTIVE BIT NOT NULL DEFAULT 1,
+ ADDED_WHO VARCHAR(100),
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(100),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_COMMON_SQL PRIMARY KEY (GUID)
+ )
+GO
\ No newline at end of file
diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.4.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.4.sql
new file mode 100644
index 0000000..fa95c63
--- /dev/null
+++ b/00_IDB/Update/Added2CreateDBObjects/1.0.4.sql
@@ -0,0 +1,307 @@
+UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.3' where CONFIG_NAME = 'DB_VERSION'
+
+CREATE NONCLUSTERED INDEX IDX_GUID_TEXTTEM_ID
+ON [dbo].[TBIDB_TERM_LANGUAGE] ([LANGUAGE_ID])
+INCLUDE ([GUID],[TEXT_TERM_ID])
+GO
+CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN
+ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN])
+INCLUDE ([GUID])
+GO
+CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IDBOBJID
+ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID])
+INCLUDE ([CHANGED_WHEN])
+GO
+ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX),
+@LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT
+ --PRINT '@FOREIGN_KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY)
+ IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY
+ BEGIN
+ IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY)
+ BEGIN
+ PRINT 'FOUND NO IDB-OBJECT FOR REFERENCE KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY)
+ END
+ ELSE
+ BEGIN
+ SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY
+ --Print 'PRIDB_NEW_OBJ_DATA: Checked the DocID as Reference: ' + Convert(Varchar(10),@IDB_OBJ_ID)
+ END
+
+ END
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE))
+ RAISERROR ('NO VALID ATTRIBUTE',16,1)
+
+ SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
+ WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
+
+ DECLARE @MY_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM_VAL,@WHO,@TERM_ID = @MY_TERM_ID OUTPUT;
+ --PRINT 'PRIDB_NEW_OBJ_DATA: @TYP_ID is: ' + Convert(Varchar(10),@TYP_ID)
+ IF @TYP_ID IN (1,8) --VARCHAR
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID)
+ INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MY_TERM_ID,@WHO)
+
+ SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID
+
+ IF @TYP_ID = 1 --Single Varchar
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
+ INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
+ ([IDB_OBJ_ID]
+ ,[ATTR_ID]
+ ,[TEXT_TERM_LANG_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@ATTR_ID
+ ,@MY_TERM_ID
+ ,@WHO)
+
+ ELSE
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] <> @MY_TERM_ID)
+ UPDATE TBIDB_OBJECT_METADATA SET [TEXT_TERM_LANG_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
+ SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID
+ END
+ ELSE
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID)
+ INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
+ ([IDB_OBJ_ID]
+ ,[ATTR_ID]
+ ,[TEXT_TERM_LANG_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@ATTR_ID
+ ,@MY_TERM_ID
+ ,@WHO)
+ --ELSE
+ --PRINT 'IDB-METADATAOBJECT-VALUE SEEMS TO EXIST: @IDB_OBJ_ID: ' + Convert(Varchar(10),@IDB_OBJ_ID)
+
+ END
+ ELSE IF @TYP_ID IN (2,7,9) --BIGINT
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
+ BEGIN
+ INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
+ ([IDB_OBJ_ID]
+ ,[ATTR_ID]
+ ,[INT_TERM_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@ATTR_ID
+ ,@MY_TERM_ID
+ ,@WHO)
+ END
+ ELSE
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [INT_TERM_ID] <> @MY_TERM_ID)
+ UPDATE TBIDB_OBJECT_METADATA SET [INT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
+ SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
+ END
+ ELSE IF @TYP_ID = 3 --FLOAT
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
+ BEGIN
+ INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
+ ([IDB_OBJ_ID]
+ ,[ATTR_ID]
+ ,[FLOAT_TERM_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@ATTR_ID
+ ,@MY_TERM_ID
+ ,@WHO)
+ END
+ ELSE
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [FLOAT_TERM_ID] <> @MY_TERM_ID)
+ UPDATE TBIDB_OBJECT_METADATA SET [FLOAT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
+ SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
+ END
+ ELSE IF @TYP_ID = 4 --DECIMAL
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
+ BEGIN
+ INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
+ ([IDB_OBJ_ID]
+ ,[ATTR_ID]
+ ,[DEC_TERM_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@ATTR_ID
+ ,@MY_TERM_ID
+ ,@WHO)
+ END
+ ELSE
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID <> @MY_TERM_ID)
+ UPDATE TBIDB_OBJECT_METADATA SET [DEC_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
+ SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
+ END
+ ELSE IF @TYP_ID = 5 --DATE
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID)
+ BEGIN
+ INSERT INTO [dbo].[TBIDB_OBJECT_METADATA]
+ ([IDB_OBJ_ID]
+ ,[ATTR_ID]
+ ,[DATE_TERM_ID]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@ATTR_ID
+ ,@MY_TERM_ID
+ ,@WHO)
+ END
+ ELSE
+ UPDATE TBIDB_OBJECT_METADATA SET [DATE_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID
+
+ SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
+ END
+ --PRINT 'PRIDB_NEW_OBJ_DATA - Got the new @OMD_ID: ' + CONVERT(VARCHAR(20),@OMD_ID)
+END
+GO
+
+-- =============================================
+-- Author: DD MS
+-- Change date: 10.08.2020 MS Anpassung
+-- =============================================
+ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT
+AS
+BEGIN
+ DECLARE
+ @SHARE_PATH VARCHAR(100),
+ @OBJ_STORE_PATH VARCHAR(250),
+ @NEW_FULL_PATH VARCHAR(512),
+ @FILENAME_EXT VARCHAR(250),
+ @FILENAME_ONLY VARCHAR(250),
+ @RELATIVE_PATH VARCHAR(512),
+ @RELATIVE_PATH_ONLY VARCHAR(512),
+ @EXT VARCHAR(10)
+
+ SELECT
+ @SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH
+ FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID
+ SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH)
+ SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','')
+ SET @RELATIVE_PATH = UPPER(@REL_PATH)
+ PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH
+ PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH
+
+ --SELECT @RELATIVE_PATH_ONLY = [dbo].[FNGetDirectoryPath] (@NEW_FULL_PATH);
+ --PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY
+
+ SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH);
+ SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH);
+ SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH));
+ SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'')
+ PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY
+ --PRINT '@EXT: ' + @EXT
+ --IF NOT EXISTS(SELECT [IDB_OBJ_ID] FROM [TBIDB_DOC_INFO] WHERE [OBJ_ST_ID] = @OBJ_ST_ID AND UPPER([RELATIVE_PATH]) = @RELATIVE_PATH)
+ EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, @IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT;
+ PRINT 'PRIDB_NEW_DOCUMENT - @IDB_OBJ_ID from PRIDB_NEW_OBJECT: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID)
+ BEGIN
+ IF NOT EXISTS(SELECT IDB_OBJ_ID FROM [TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
+ INSERT INTO [dbo].[TBIDB_DOC_INFO]
+ ([IDB_OBJ_ID]
+ ,[OBJ_ST_ID]
+ ,[FILENAME_EXT]
+ ,[FILENAME_ONLY]
+ ,EXTENSION
+ ,[RELATIVE_PATH]
+ ,[RELATIVE_PATH_ONLY]
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@OBJ_ST_ID
+ ,@FILENAME_EXT
+ ,@FILENAME_ONLY
+ ,@EXT
+ ,@RELATIVE_PATH
+ ,@RELATIVE_PATH_ONLY
+ ,@WHO)
+ ELSE
+ BEGIN
+ PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS'
+ UPDATE [TBIDB_DOC_INFO] SET [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY
+ ,EXTENSION = @EXT
+ ,[RELATIVE_PATH] = @RELATIVE_PATH
+ ,[RELATIVE_PATH_ONLY] = @RELATIVE_PATH_ONLY
+ ,CHANGED_WHO = @WHO
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID
+ IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1)
+ BEGIN
+ PRINT 'PRIDB_NEW_DOCUMENT - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!'
+ UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID
+ END
+ END
+ END
+END
+GO
+ALTER PROCEDURE PRIDB_GET_VALUE_TYPE @pVALUE VARCHAR(900)--,@oType VARCHAR(10) OUTPUT
+AS
+BEGIN
+ declare @TBTYPE_RESULT table(pTYPE varchar(10))
+ DECLARE @oTYPE as Varchar(10)
+ SET @oType = 'NONE'
+ DECLARE @BIGINT as BIGINT, @FLOAT FLOAT,@DECIMAL DECIMAL(19,2),@DATE DATE
+ BEGIN TRY
+ SET @BIGINT = CONVERT(bigint,@pVALUE)
+ SET @oType = 'BIGINT'
+ INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
+ END TRY
+ BEGIN CATCH
+ PRINT 'NO BIGINT'
+ END CATCH
+ --IF @oType = 'NONE'
+ BEGIN TRY
+ SET @FLOAT = CONVERT(FLOAT,@pVALUE)
+ SET @oType = 'FLOAT'
+ INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
+ END TRY
+ BEGIN CATCH
+ PRINT 'NO FLOAT'
+ END CATCH
+ --IF @oType = 'NONE'
+ BEGIN TRY
+ SET @DECIMAL = CONVERT(DECIMAL(19,2),@pVALUE)
+ SET @oType = 'DECIMAL'
+ INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
+ END TRY
+ BEGIN CATCH
+ PRINT 'NO DECIMAL'
+ END CATCH
+ --IF @oType = 'NONE'
+ BEGIN TRY
+ SET @DATE = CONVERT(DATE,@pVALUE)
+ SET @oType = 'DATE'
+ INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
+ END TRY
+ BEGIN CATCH
+ PRINT 'NO DATE'
+ END CATCH
+ --IF @oType = 'NONE'
+ BEGIN TRY
+ SET @oType = 'VARCHAR'
+ INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType)
+ END TRY
+ BEGIN CATCH
+ PRINT 'NO VARCHAR'
+ END CATCH
+ PRINT '@TYPE: ' + @oType
+ SELECT * FROM @TBTYPE_RESULT
+END
+
+
diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.5.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.5.sql
new file mode 100644
index 0000000..649b6fb
--- /dev/null
+++ b/00_IDB/Update/Added2CreateDBObjects/1.0.5.sql
@@ -0,0 +1,1112 @@
+UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.5' where CONFIG_NAME = 'DB_VERSION'
+GO
+DECLARE @INITIAL_TERM_ID VARCHAR(100)
+EXEC PRIDB_NEW_TERM 'VARCHAR','SchreiberM','DD Initial',@TERM_ID = @INITIAL_TERM_ID OUTPUT;
+SELECT @INITIAL_TERM_ID
+GO
+CREATE FUNCTION [dbo].[FNIDB_GET_FILE_PATH] (@pIDB_OBJ_ID BIGINT)
+RETURNS VARCHAR(500)
+AS
+BEGIN
+ DECLARE @RELPATH VARCHAR(500),@FILEPATH VARCHAR(500),@NAVPATH as VARCHAR(500)
+ SELECT @RELPATH = [CAT_STRING] FROM [TBIDB_CATALOG] where CAT_TITLE = 'FILESTORE_PRAEFIX'
+ SELECT @NAVPATH = RELATIVE_PATH FROM TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @pIDB_OBJ_ID
+
+ RETURN @NAVPATH
+END
+GO
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA4]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[DEC_TERM_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA5]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[DEC_TERM_ID])
+INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+-- =============================================
+-- Author: DD MS
+-- Change date: 25.08.2020 @TERM_TYPE_ID = 7 AND UPPER(@TERM)
+-- =============================================
+ALTER PROCEDURE [dbo].[PRIDB_NEW_TERM] @MD_TYPE VARCHAR(100),@TERM VARCHAR(MAX), @WHO VARCHAR(100), @TERM_ID BIGINT OUTPUT
+AS
+BEGIN
+ DECLARE @TERM_TYPE_ID TINYINT
+
+ SELECT @TERM_TYPE_ID = GUID FROM TBIDB_ATTRIBUTE_TYPE WHERE UPPER(NAME_TYPE) = UPPER(@MD_TYPE)
+ IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'TRUE'
+ SET @TERM = 1
+ ELSE IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'FALSE'
+ SET @TERM = 0
+ --PRINT 'PRIDB_NEW_TERM: TERM_TYPE_ID IS: ' + CONVERT(VARCHAR(2),@TERM_TYPE_ID) + ' # TERM: ' + @TERM
+ IF @TERM_TYPE_ID IN (1,8) --VARCHAR
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_VARCHAR (TERM_VALUE,ADDED_WHO) VALUES (@TERM,@WHO)
+ SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_VARCHAR
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM)
+ ELSE IF @TERM_TYPE_ID IN (2,7,9) --BIGINT
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(BIGINT,@TERM),@WHO)
+ SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_INTEGER
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM)
+ ELSE IF @TERM_TYPE_ID = 3 --FLOAT
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_FLOAT (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(FLOAT,@TERM),@WHO)
+ SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_FLOAT
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM)
+ ELSE IF @TERM_TYPE_ID = 4 --DECIMAL
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_DECIMAL (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DECIMAL(19,0),@TERM),@WHO)
+ SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DECIMAL
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM)
+ ELSE IF @TERM_TYPE_ID = 5 --DATE
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_DATE (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATE,@TERM),@WHO)
+ SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DATE
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)
+
+ PRINT '### PRIDB_NEW_TERM: TERM-ID: ' + CONVERT(VARCHAR(10),@TERM_ID) + '###'
+END
+GO
+
+
+ALTER TABLE TBIDB_TERM_VALUE_VARCHAR ALTER COLUMN ADDED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_TERM_VALUE_VARCHAR ALTER COLUMN CHANGED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_TERM_VALUE_INTEGER ALTER COLUMN ADDED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_TERM_VALUE_INTEGER ALTER COLUMN CHANGED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_TERM_VALUE_FLOAT ALTER COLUMN ADDED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_TERM_VALUE_FLOAT ALTER COLUMN CHANGED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_TERM_VALUE_DECIMAL ALTER COLUMN ADDED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_TERM_VALUE_DECIMAL ALTER COLUMN CHANGED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_TERM_VALUE_DATE ALTER COLUMN ADDED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_TERM_VALUE_DATE ALTER COLUMN CHANGED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_TERM_LANGUAGE ALTER COLUMN ADDED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_TERM_LANGUAGE ALTER COLUMN CHANGED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_OBJECT_METADATA ALTER COLUMN ADDED_WHO VARCHAR (100);
+ALTER TABLE TBIDB_OBJECT_METADATA ALTER COLUMN CHANGED_WHO VARCHAR (100);
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (@pTERMGUID BIGINT)
+RETURNS VARCHAR(900)
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900)
+ SELECT @RESULT = T.TERM_VALUE
+ FROM TBIDB_TERM_VALUE_VARCHAR T WHERE T.GUID = @pTERMGUID
+ RETURN @RESULT
+END
+GO
+-- =============================================
+-- Author: DD MS
+-- Craeation date: 17.08.2020 MS [TBIDB_LANGUAGE_TERM_METADATA]
+-- =============================================
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID] (@pTBIDB_LANGUAGE_TERM_METADATA_GUID BIGINT,@pLANG_CODE VARCHAR(5) = 'de-DE')
+RETURNS VARCHAR(900)
+AS
+BEGIN
+ DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900),@LANG_ID INTEGER
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+ SELECT @RESULT = T3.TERM_VALUE -- @TERM_ID = T1.TEXT_TERM_ID
+ FROM TBIDB_LANGUAGE_TERM_METADATA T2
+ INNER JOIN TBIDB_TERM_LANGUAGE T1 ON T2.LANG_TERM_ID = T1.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T1.TEXT_TERM_ID = T3.GUID
+ WHERE
+ T2.GUID = @pTBIDB_LANGUAGE_TERM_METADATA_GUID
+ AND T1.LANGUAGE_ID = @LANG_ID
+ --SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID
+ RETURN @RESULT
+END
+GO
+-- =============================================
+-- Author: DD MS
+-- Creation date: 17.08.2020
+-- =============================================
+CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (@pATTRIBUTE_ID INTEGER,@pLANG_CODE VARCHAR(10), @pUSERID INTEGER)
+RETURNS @Output TABLE (IDB_OBJECT_ID BIGINT, TERM_VALUE VARCHAR(900),TERM_ID BIGINT,IDB_CREATED_WHEN DATETIME,IDB_CREATED_WHO VARCHAR(100))
+AS
+BEGIN
+ DECLARE
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT,
+ @TERM_RESULT VARCHAR(900),
+ @CREATED_WHEN DATETIME,
+ @CREATED_WHO VARCHAR(100)
+
+
+ BEGIN
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+ SELECT @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
+ WHERE T.TYP_ID = T1.GUID AND T.GUID = @pATTRIBUTE_ID
+ IF @TYP_ID IN (1,8) --VARCHAR
+ BEGIN
+ DECLARE @TL_ID BIGINT
+ INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
+ SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
+ FROM
+ TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
+ INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID
+ INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID
+ WHERE MD.ATTR_ID = @pATTRIBUTE_ID
+ AND TLANG.LANGUAGE_ID = @LANG_ID
+ END
+ ELSE IF @TYP_ID IN (2,7,9) --BIGINT
+ BEGIN
+ INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
+ SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
+ FROM
+ TBIDB_TERM_VALUE_INTEGER TERM, TBIDB_OBJECT_METADATA MD WHERE MD.INT_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @pATTRIBUTE_ID
+ END
+ ELSE IF @TYP_ID = 3 --FLOAT
+ BEGIN
+ INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
+ SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
+ FROM TBIDB_TERM_VALUE_FLOAT TERM, TBIDB_OBJECT_METADATA MD WHERE MD.FLOAT_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @pATTRIBUTE_ID
+ END
+ ELSE IF @TYP_ID = 4
+ BEGIN
+ INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
+ SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE, TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
+ FROM TBIDB_TERM_VALUE_DECIMAL TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DEC_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @pATTRIBUTE_ID
+ END
+ ELSE IF @TYP_ID = 5
+ BEGIN
+ INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO)
+ SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO
+ FROM TBIDB_TERM_VALUE_DATE TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DATE_TERM_ID = TERM.GUID
+ AND MD.ATTR_ID = @pATTRIBUTE_ID
+ END
+ END
+ RETURN
+END
+
+
+CREATE TABLE TBIDB_SEARCH_PROFILE
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ TITLE_ID BIGINT NOT NULL,
+ COMMENT VARCHAR(900),
+ ACTIVE BIT NOT NULL DEFAULT 1,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_SEARCH_PROFILE PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ )
+GO
+CREATE TRIGGER TBIDB_SEARCH_PROFILE_AFT_UPD ON TBIDB_SEARCH_PROFILE
+FOR UPDATE
+AS
+ UPDATE TBIDB_SEARCH_PROFILE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_SEARCH_PROFILE.GUID = INSERTED.GUID
+GO
+
+CREATE TABLE TBIDB_SEARCH_RESULT_ATTRIBUTES
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ SEARCH_PROFIL_ID INTEGER NOT NULL,
+ ATTRIBUTE_ID INTEGER NOT NULL,
+ SEQUENCE INTEGER DEFAULT 0,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CONSTRAINT PK_TBIDB_SEARCH_RESULT_ATTRIBUTES_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_RESULT_ATTRIBUTES_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_RESULT_ATTRIBUTES_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT UQ_TBIDB_SEARCH_RESULT_ATTRIBUTES UNIQUE(SEARCH_PROFIL_ID,ATTRIBUTE_ID)
+)
+GO
+CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_RESULT_ATTRIBUTE] @pSEARCHID INTEGER,@pATTRIBUTE_ID INTEGER,@pWHO_TERM_ID BIGINT,@pSequence INTEGER = 0
+AS
+BEGIN
+ IF @pSequence = 0
+ SELECT @pSEQUENCE = COALESCE(MAX([SEQUENCE]),0) + 1 FROM TBIDB_SEARCH_RESULT_ATTRIBUTES
+ WHERE SEARCH_PROFIL_ID = @pSEARCHID
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_RESULT_ATTRIBUTES WHERE ATTRIBUTE_ID = @pATTRIBUTE_ID AND SEARCH_PROFIL_ID = @pSEARCHID)
+ BEGIN
+ INSERT INTO TBIDB_SEARCH_RESULT_ATTRIBUTES (SEARCH_PROFIL_ID,ATTRIBUTE_ID,SEQUENCE,ADDED_WHO) VALUES (@pSEARCHID,@pATTRIBUTE_ID,@pSequence, @pWHO_TERM_ID)
+ EXEC [dbo].[PRIDB_NEW_SEARCH_ATTRIBUTE] @pSEARCHID,@pATTRIBUTE_ID,@pWHO_TERM_ID,0
+ END
+
+ ELSE
+ UPDATE TBIDB_SEARCH_RESULT_ATTRIBUTES SET SEQUENCE = @pSequence
+ WHERE ATTRIBUTE_ID = @pATTRIBUTE_ID AND SEARCH_PROFIL_ID = @pSEARCHID
+ --SELECT
+ -- T.GUID,
+ -- T.ATTRIBUTE_ID,
+ -- T1.TITLE
+ -- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO
+ -- ,T.ADDED_WHEN
+ --FROM TBIDB_SEARCH_RESULT_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
+ --WHERE SEARCH_PROFIL_ID = @pSEARCHID
+END
+GO
+
+CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_PROFILE] @BE_ID INT, @pTITLE VARCHAR(512),@pWHO_TERMID BIGINT,@pCOMMENT VARCHAR(900) = NULL, @pLANG_CODE VARCHAR(5) = 'de-DE'
+AS
+BEGIN
+ DECLARE
+ @LANG_ID INTEGER, @SQL_RESULT VARCHAR(912),
+ @SEARCH_ID INTEGER,
+ @WHO_TERM VARCHAR(100)
+
+ SELECT @WHO_TERM = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @pWHO_TERMID
+
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE
+ DECLARE @MY_TITLE_TERM_ID BIGINT,@MY_LANG_TERM_ID BIGINT,@oLANGUAGE_TERM_METADATA_GUID BIGINT,@MY_RESULT_SQL_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@WHO_TERM,@TERM_ID = @MY_TITLE_TERM_ID OUTPUT;
+ EXEC PRIDB_NEW_TERM_LANGUAGE @LANG_ID,@MY_TITLE_TERM_ID,@WHO_TERM,@TERM_LANGUAGE_GUID = @MY_LANG_TERM_ID OUTPUT
+ EXEC PRIDB_NEW_LANGUAGE_TERM_METADATA_GUID @MY_LANG_TERM_ID,@pWHO_TERMID,@oLANG_TERM_GUID = @oLANGUAGE_TERM_METADATA_GUID OUTPUT
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE WHERE TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID)
+ INSERT INTO TBIDB_SEARCH_PROFILE (TITLE_ID,ADDED_WHO,COMMENT) VALUES (@oLANGUAGE_TERM_METADATA_GUID,@pWHO_TERMID,@pCOMMENT)
+ ELSE
+ UPDATE TBIDB_SEARCH_PROFILE SET
+ COMMENT = @pCOMMENT,CHANGED_WHO = @pWHO_TERMID WHERE TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID AND COMMENT <> @pCOMMENT
+
+ SELECT @SEARCH_ID = MAX(GUID) FROM TBIDB_SEARCH_PROFILE T
+ WHERE T.TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID
+
+ SET @SQL_RESULT = 'SELECT T.IDB_OBJ_ID as DocID, [dbo].[FNIDB_GET_FILE_PATH] (T.IDB_OBJ_ID) as FULL_FILENAME, T.DocName as Filename, * FROM VWIDB_DOC_DATA WHERE '
+ DECLARE @ATTR_ID INT,@SEQUENCE TINYINT
+ SET @SEQUENCE = 0
+
+ DECLARE cursorDefaultAttributes CURSOR FOR
+ SELECT
+ T1.GUID
+ FROM TBIDB_ATTRIBUTE T1 INNER JOIN TBIDB_BE_ATTRIBUTE T2 ON T1.GUID = T2.ATTR_ID
+ WHERE T2.BE_ID = @BE_ID AND DEFAULT_SEARCH_ATTRIBUTE = 1
+ ORDER BY T1.VIEW_SEQUENCE
+ OPEN cursorDefaultAttributes
+ FETCH NEXT FROM cursorDefaultAttributes INTO @ATTR_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS (SELECT GUID FROM TBIDB_SEARCH_RESULT_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND ATTRIBUTE_ID = @ATTR_ID)
+ EXEC PRIDB_NEW_SEARCH_RESULT_ATTRIBUTE @SEARCH_ID,@ATTR_ID,@pWHO_TERMID,@SEQUENCE
+ SET @SEQUENCE += 1
+ FETCH NEXT FROM cursorDefaultAttributes INTO @ATTR_ID
+ END
+ CLOSE cursorDefaultAttributes
+ DEALLOCATE cursorDefaultAttributes
+
+ SELECT
+ T.GUID,T.TITLE_ID
+ ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID ] (T.TITLE_ID,@pLANG_CODE) AS TITLE
+ --,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.RESULT_SQL) AS RESULT_SQL
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO
+ ,T.ADDED_WHEN
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO
+ ,T.CHANGED_WHEN
+ FROM TBIDB_SEARCH_PROFILE T
+ WHERE GUID = @SEARCH_ID
+END
+GO
+--DROP TABLE TBIDB_SEARCH_LANGUAGE_SQL_RESULT
+CREATE TABLE TBIDB_SEARCH_LANGUAGE_SQL_RESULT
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ SEARCH_PROFIL_ID INTEGER NOT NULL,
+ LANGUAGE_ID TINYINT NOT NULL,
+ SEARCH_TERM_ID BIGINT NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_LID FOREIGN KEY (LANGUAGE_ID) REFERENCES TBIDB_LANGUAGE (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_STID FOREIGN KEY (SEARCH_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES DD_ECM_TEST.dbo.TBDD_USER (GUID),
+ CONSTRAINT UQ_TBIDB_SEARCH_LANGUAGE_SQL_RESULT UNIQUE(SEARCH_PROFIL_ID,LANGUAGE_ID)
+)
+GO
+CREATE TRIGGER TBIDB_SEARCH_LANGUAGE_SQL_RESULT_AFT_UPD ON TBIDB_SEARCH_LANGUAGE_SQL_RESULT
+FOR UPDATE
+AS
+ UPDATE TBIDB_SEARCH_LANGUAGE_SQL_RESULT SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_SEARCH_LANGUAGE_SQL_RESULT .GUID = INSERTED.GUID
+GO
+
+CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_SQL_RESULT] @SEARCH_ID INT,@pWHO_TERMID BIGINT
+AS
+BEGIN
+ DECLARE
+ @LANG_ID TINYINT,
+ @SQL_RESULT VARCHAR(912),
+ @WHO_TERM VARCHAR(100),
+ @MY_RESULT_SQL_TERM_ID BIGINT
+ SELECT @WHO_TERM = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @pWHO_TERMID
+
+ DECLARE cursorLang CURSOR FOR
+ select GUID from TBIDB_LANGUAGE WHERE CREATE_DEFAULT_ENTRY = 1
+ OPEN cursorLang
+ FETCH NEXT FROM cursorLang INTO @LANG_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @SQL_RESULT = 'SELECT T.IDB_OBJ_ID as DocID, [dbo].[FNIDB_GET_FILE_PATH] (T.IDB_OBJ_ID) as FULL_FILENAME, T.DocName as Filename'
+ DECLARE @ATTR_TITLE VARCHAR(100)
+ DECLARE cursorSRA CURSOR FOR
+ SELECT T3.TERM_VALUE
+ FROM TBIDB_SEARCH_RESULT_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T2 ON T1.GUID = T2.ATTRIBUTE_ID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TERM_ID = T3.GUID
+ WHERE T.SEARCH_PROFIL_ID = @SEARCH_ID --@SEARCH_ID
+ AND T2.LANGUAGE_ID = @LANG_ID
+ ORDER BY T.SEQUENCE
+ OPEN cursorSRA
+ FETCH NEXT FROM cursorSRA INTO @ATTR_TITLE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @SQL_RESULT += ', T.[' + @ATTR_TITLE + ']'
+ FETCH NEXT FROM cursorSRA INTO @ATTR_TITLE
+ END
+ CLOSE cursorSRA
+ DEALLOCATE cursorSRA
+ SET @SQL_RESULT += ' FROM VWIDB_DOC_DATA T INNER JOIN [dbo].[FNIDB_SEARCH_RESULT_GET_OBJECTS] (@UserID,@SearchID) T1 ON T.IDB_OBJ_ID = T1.IDB_OBJ_ID '
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@SQL_RESULT,@WHO_TERM,@TERM_ID = @MY_RESULT_SQL_TERM_ID OUTPUT;
+ PRINT @SQL_RESULT
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_LANGUAGE_SQL_RESULT WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND LANGUAGE_ID = @LANG_ID)
+ INSERT INTO TBIDB_SEARCH_LANGUAGE_SQL_RESULT (SEARCH_PROFIL_ID,LANGUAGE_ID,SEARCH_TERM_ID,ADDED_WHO) VALUES
+ (@SEARCH_ID,@LANG_ID,@MY_RESULT_SQL_TERM_ID,@pWHO_TERMID)
+ ELSE
+ UPDATE TBIDB_SEARCH_LANGUAGE_SQL_RESULT SET SEARCH_TERM_ID = @MY_RESULT_SQL_TERM_ID,CHANGED_WHO = @pWHO_TERMID WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND LANGUAGE_ID = @LANG_ID
+
+ FETCH NEXT FROM cursorLang INTO @LANG_ID
+ END
+ CLOSE cursorLang
+ DEALLOCATE cursorLang
+
+END
+GO
+
+CREATE TABLE TBIDB_SEARCH_PROFILE_USER
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ SEARCH_PROFIL_ID INTEGER NOT NULL,
+ USER_ID INTEGER NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CONSTRAINT PK_TBIDB_SEARCH_PROFILE_USER_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES DD_ECM_TEST.dbo.TBDD_USER (GUID),
+ CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_USER UNIQUE(SEARCH_PROFIL_ID,USER_ID)
+)
+GO
+CREATE PROCEDURE [dbo].[PRIDB_NEW_RELATION_SEARCH_USER] @pSEARCHID INTEGER,@pUSER_ID INTEGER,@pWHO_TERM_ID BIGINT
+AS
+BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_USER WHERE USER_ID = @pUSER_ID AND SEARCH_PROFIL_ID = @pSEARCHID)
+ INSERT INTO TBIDB_SEARCH_PROFILE_USER (USER_ID,ADDED_WHO,SEARCH_PROFIL_ID) VALUES (@pUSER_ID,@pWHO_TERM_ID,@pSEARCHID)
+ SELECT
+ GUID,USER_ID,SEARCH_PROFIL_ID
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (ADDED_WHO) AS ADDED_WHO
+ ,ADDED_WHEN
+ FROM TBIDB_SEARCH_PROFILE_USER
+ WHERE SEARCH_PROFIL_ID = @pSEARCHID
+
+END
+GO
+
+CREATE TABLE TBIDB_SEARCH_PROFILE_GROUP
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ SEARCH_PROFIL_ID INTEGER NOT NULL,
+ GROUP_ID INTEGER NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CONSTRAINT PK_TBIDB_SEARCH_PROFILE_GROUP_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES DD_ECM_TEST.dbo.TBDD_USER (GUID),
+ CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_GROUP UNIQUE(SEARCH_PROFIL_ID,GROUP_ID)
+)
+GO
+CREATE PROCEDURE [dbo].[PRIDB_NEW_RELATION_SEARCH_GROUP] @pSEARCHID INTEGER,@pGROUP_ID INTEGER,@pWHO_TERM_ID BIGINT
+AS
+BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_GROUP WHERE GROUP_ID = @pGROUP_ID AND SEARCH_PROFIL_ID = @pSEARCHID)
+ INSERT INTO TBIDB_SEARCH_PROFILE_GROUP (GROUP_ID,ADDED_WHO,SEARCH_PROFIL_ID) VALUES (@pGROUP_ID,@pWHO_TERM_ID,@pSEARCHID)
+ SELECT
+ GUID,GROUP_ID,SEARCH_PROFIL_ID
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (ADDED_WHO) AS ADDED_WHO
+ ,ADDED_WHEN
+ FROM TBIDB_SEARCH_PROFILE_GROUP
+ WHERE SEARCH_PROFIL_ID = @pSEARCHID
+
+END
+GO
+--DROP TABLE TBIDB_SEARCH_PROFILE_ATTRIBUTES
+CREATE TABLE TBIDB_SEARCH_PROFILE_ATTRIBUTES
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ SEARCH_PROFIL_ID INTEGER NOT NULL,
+ ATTRIBUTE_ID INTEGER NOT NULL,
+ X_LOC FLOAT NOT NULL DEFAULT 0,
+ Y_LOC FLOAT NOT NULL DEFAULT 0,
+ [SEQUENCE] INTEGER NOT NULL DEFAULT 0,
+ HEIGHT SMALLINT NOT NULL DEFAULT 25,
+ WIDTH SMALLINT NOT NULL DEFAULT 200,
+ MULTISELECT BIT NOT NULL DEFAULT 0,
+ SOURCE_SQL BIGINT,
+ ENABLE_SQL BIGINT,
+ ENABLE_CONID SMALLINT,
+ --DEPENDING_ATTRIBUTE1 INTEGER NOT NULL DEFAULT 0,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_SOURCE_SQL FOREIGN KEY (SOURCE_SQL) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_ENABLE_SQL FOREIGN KEY (ENABLE_SQL) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_ATTRIBUTES UNIQUE(SEARCH_PROFIL_ID,ATTRIBUTE_ID)
+)
+GO
+CREATE TRIGGER TBIDB_SEARCH_PROFILE_ATTRIBUTES_AFT_UPD ON TBIDB_SEARCH_PROFILE_ATTRIBUTES
+FOR UPDATE
+AS
+ UPDATE TBIDB_SEARCH_PROFILE_ATTRIBUTES SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBIDB_SEARCH_PROFILE_ATTRIBUTES .GUID = INSERTED.GUID
+GO
+
+CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_ATTRIBUTE] @pSEARCH_PROFIL_ID INTEGER,@pATTRIBUTE_ID INTEGER,@MULTISELECT BIT, @WHO_TERM_ID INTEGER, @pSEQUENCE INTEGER,@pHEIGHT SMALLINT = 0,@pWIDTH SMALLINT = 0
+AS
+BEGIN
+ DECLARE @pWHO_USERNAME VARCHAR(100),@USER_LANGUAGE VARCHAR(5),@USER_LANGUAGE_ID INT, @ATTRTYPE as VARCHAR(20)--,@USER_ID INTEGER
+ SELECT @pWHO_USERNAME = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @WHO_TERM_ID
+ SELECT @USER_LANGUAGE = LANGUAGE,@USER_LANGUAGE_ID = T1.GUID FROM DD_ECM_TEST.dbo.TBDD_USER T INNER JOIN IDB_TEST.dbo.TBIDB_LANGUAGE T1 ON T.LANGUAGE = T1.LANG_CODE WHERE UPPER(USERNAME) = UPPER(@pWHO_USERNAME)
+
+ SELECT @ATTRTYPE = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T INNER JOIN TBIDB_ATTRIBUTE_TYPE T1 ON T.TYP_ID = T1.GUID WHERE T.GUID = @pATTRIBUTE_ID
+
+ IF @ATTRTYPE IN ('VARCHAR','BIG INTEGER')
+ BEGIN
+ IF @pHEIGHT = 0
+ SET @pHEIGHT = 200
+ IF @pWIDTH = 0
+ SET @pWIDTH = 200
+ END
+ ELSE IF @ATTRTYPE ='DATE'
+ BEGIN
+ IF @pHEIGHT = 0
+ SET @pHEIGHT = 20
+ IF @pWIDTH = 0
+ SET @pWIDTH = 100
+ END
+ ELSE IF @ATTRTYPE ='BIT'
+ BEGIN
+ IF @pHEIGHT = 0
+ SET @pHEIGHT = 20
+ IF @pWIDTH = 0
+ SET @pWIDTH = 200
+ END
+
+ DECLARE @SOURCE_TERM_ID BIGINT,@SOURCE_DEFAULT_SQL VARCHAR(900)
+ SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE
+ FROM
+ TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
+ INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID
+ INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + ' AND TLANG.LANGUAGE_ID = ' + CONVERT(VARCHAR(3),@USER_LANGUAGE_ID) + '
+ AND OBJ.DELETED = 0 AND ACTIVE = 1'
+
+ --IF @pDEPENDING_ATTRIBUTE1 <> 0
+ -- SET @SOURCE_DEFAULT_SQL = REPLACE(@SOURCE_DEFAULT_SQL,'@pUSER_ID) ','@pUSER_ID) where IDB_OBJECT_ID = @DEPENDING_IDB_OBJECT ')
+ --ELSE
+ -- SET @SOURCE_DEFAULT_SQL = REPLACE(@SOURCE_DEFAULT_SQL,'@JOIN ','')
+ IF @ATTRTYPE = 'DATE'
+ SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE
+ FROM
+ TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.DATE_TERM_ID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + '
+ AND OBJ.DELETED = 0 AND ACTIVE = 1'
+ ELSE IF @ATTRTYPE = 'BIG INTEGER'
+ SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE
+ FROM
+ TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + '
+ AND OBJ.DELETED = 0 AND ACTIVE = 1'
+ ELSE IF @ATTRTYPE = 'BIT'
+ SET @SOURCE_DEFAULT_SQL = 'select DISTINCT CONVERT(BIT,TERM.TERM_VALUE) AS @RESULT_TITLE
+ FROM
+ TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + '
+ AND OBJ.DELETED = 0 AND ACTIVE = 1'
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@SOURCE_DEFAULT_SQL,@pWHO_USERNAME,@TERM_ID = @SOURCE_TERM_ID OUTPUT;
+ IF @pSEQUENCE = 0
+ SELECT @pSEQUENCE = COALESCE(MAX([SEQUENCE]),0) + 1 FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID AND ATTRIBUTE_ID = @pATTRIBUTE_ID)
+ INSERT INTO TBIDB_SEARCH_PROFILE_ATTRIBUTES (SEARCH_PROFIL_ID,ATTRIBUTE_ID,SOURCE_SQL, [SEQUENCE], ADDED_WHO,HEIGHT,WIDTH,MULTISELECT)
+ VALUES (@pSEARCH_PROFIL_ID,@pATTRIBUTE_ID,@SOURCE_TERM_ID,@pSEQUENCE, @WHO_TERM_ID,@pHEIGHT,@pWIDTH,@MULTISELECT)
+ ELSE
+ BEGIN
+
+ UPDATE TBIDB_SEARCH_PROFILE_ATTRIBUTES SET
+ SOURCE_SQL = @SOURCE_TERM_ID
+ ,[SEQUENCE] = @pSEQUENCE
+ ,HEIGHT = @pHEIGHT
+ ,WIDTH = @pWIDTH
+ ,MULTISELECT = @MULTISELECT
+ WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID AND ATTRIBUTE_ID = @pATTRIBUTE_ID
+ END
+ SELECT
+ T.SEARCH_PROFIL_ID,
+ T.GUID,
+ T.ATTRIBUTE_ID,
+ T1.TITLE AS ATTRIBUTE_TITLE,
+ T.MULTISELECT,
+ T.HEIGHT,
+ T.WIDTH,
+ T2.NAME_TYPE AS ATTRIBUTE_TYPE
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.SOURCE_SQL) AS SOURCE_SQL
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO
+ ,T.ADDED_WHEN
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO
+ ,T.CHANGED_WHEN
+ FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
+ WHERE T.SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID --AND ATTRIBUTE_ID = @pATTRIBUTE_ID
+ ORDER BY [SEQUENCE]
+END
+GO
+--drop table TBIDB_SEARCH_ATTRIBUTES_LINKS;
+CREATE TABLE TBIDB_SEARCH_ATTRIBUTES_LINKS
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ DEP_ATTR_ID INTEGER NOT NULL,
+ LINKED_ATTR_ID INTEGER NOT NULL,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO BIGINT,
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBIDB_SEARCH_ATTRIBUTES_LINKS_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_DA_ID FOREIGN KEY (DEP_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_LA_ID FOREIGN KEY (LINKED_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID)
+)
+GO
+--DROP TABLE TBIDB_SEARCH_RESTRICTIONS_INPUT
+CREATE TABLE TBIDB_SEARCH_RESTRICTIONS_INPUT
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ SEARCH_ID INTEGER NOT NULL,
+ RESTR_ATTR_ID INTEGER NOT NULL,
+ SOURCE_ATTR_ID INTEGER NOT NULL,
+ TERM VARCHAR(900) NOT NULL,
+ USR_ID INTEGER NOT NULL,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+
+ CONSTRAINT PK_TBIDB_SEARCH_RESTRICTIONS_INPUT_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_SID FOREIGN KEY (SEARCH_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_RA_ID FOREIGN KEY (RESTR_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_SA_ID FOREIGN KEY (SOURCE_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
+)
+GO
+CREATE TABLE TBIDB_SEARCH_RESTRICTIONS_OBJECTS
+(
+ GUID INTEGER NOT NULL IDENTITY (1, 1),
+ SEARCH_ID INTEGER NOT NULL,
+ RESTR_ATTR_ID INTEGER NOT NULL,
+ SOURCE_ATTR_ID INTEGER NOT NULL,
+ IDB_OBJ_ID BIGINT NOT NULL,
+ USR_ID INTEGER NOT NULL,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+
+ CONSTRAINT PK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_SID FOREIGN KEY (SEARCH_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_RA_ID FOREIGN KEY (RESTR_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_SA_ID FOREIGN KEY (SOURCE_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_IOBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID)
+)
+GO
+CREATE TRIGGER [dbo].[TBIDB_SEARCH_RESTRICTIONS_INPUT_AFT_INS] ON [dbo].[TBIDB_SEARCH_RESTRICTIONS_INPUT]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @SEARCH_ID INTEGER,
+ @RESTR_ATTR_ID INTEGER,
+ @SOURCE_ATTR_ID INTEGER,
+ @TERM VARCHAR(900),
+ @USR_ID INTEGER,
+ @pLANG_CODE VARCHAR(5)
+
+ SELECT
+ @SEARCH_ID = SEARCH_ID,
+ @RESTR_ATTR_ID = RESTR_ATTR_ID,
+ @SOURCE_ATTR_ID = SOURCE_ATTR_ID,
+ @TERM = TERM,
+ @USR_ID = USR_ID
+
+ FROM INSERTED
+
+ --DELETE FROM TBIDB_SEARCH_RESTRICTIONS_OBJECTS
+ --WHERE
+ -- SEARCH_ID = @SEARCH_ID AND
+ -- RESTR_ATTR_ID = @RESTR_ATTR_ID AND
+ -- SOURCE_ATTR_ID = @SOURCE_ATTR_ID AND
+ -- USR_ID = @USR_ID;
+
+ SELECT @pLANG_CODE = [LANGUAGE] FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID = @USR_ID
+ INSERT INTO TBIDB_SEARCH_RESTRICTIONS_OBJECTS (SEARCH_ID,RESTR_ATTR_ID, SOURCE_ATTR_ID, IDB_OBJ_ID, USR_ID)
+ SELECT @SEARCH_ID,@RESTR_ATTR_ID, @SOURCE_ATTR_ID,T.IDB_OBJECT_ID,@USR_ID
+ FROM [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (@SOURCE_ATTR_ID,@pLANG_CODE,@USR_ID) T LEFT JOIN TBIDB_SEARCH_RESTRICTIONS_OBJECTS T1
+ ON T.IDB_OBJECT_ID = T1.IDB_OBJ_ID
+ where T.TERM_VALUE = @TERM AND T1.IDB_OBJ_ID IS NULL
+ --where TERM_VALUE = @TERM
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID1]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[TEXT_TERM_LANG_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+CREATE NONCLUSTERED INDEX [TBIDB_LANGUAGE_TERM_METADATA_LANG_TERM_ID]
+ON [dbo].[TBIDB_LANGUAGE_TERM_METADATA] ([LANG_TERM_ID])
+GO
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA2]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[INT_TERM_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID_TEXT_TERM_LANG_ID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[TEXT_TERM_LANG_ID])
+INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA3]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[FLOAT_TERM_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID_[FLOAT_TERM_ID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[FLOAT_TERM_ID])
+INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN])
+GO
+CREATE VIEW VWIDB_SEARCH_PROFILE_ATTRIBUTES AS
+SELECT
+ T.SEARCH_PROFIL_ID,
+ T.GUID,
+ T.ATTRIBUTE_ID,
+ --T.DEPENDING_ATTRIBUTE1,
+ T1.TITLE AS ATTRIBUTE_TITLE,
+ T.HEIGHT,
+ T.WIDTH,
+ T.MULTISELECT,
+ T2.NAME_TYPE AS ATTRIBUTE_TYPE
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.SOURCE_SQL) AS SOURCE_SQL
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO
+ ,T.ADDED_WHEN
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO
+ ,T.CHANGED_WHEN
+ ,T.[SEQUENCE]
+FROM
+ TBIDB_SEARCH_PROFILE_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID
+GO
+CREATE VIEW VWIDB_SEARCH_ATTRIBUTES_LINKS AS
+SELECT
+ T1.SEARCH_PROFIL_ID,
+ T.GUID,
+ T.DEP_ATTR_ID,
+ --T.DEPENDING_ATTRIBUTE1,
+ T3.TITLE AS DEP_ATTRIBUTE_TITLE,
+ [dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T1.SOURCE_SQL) DEP_SOURCE_SQL,
+ T.LINKED_ATTR_ID
+ --T.DEPENDING_ATTRIBUTE1,
+ ,T5.TITLE AS LINK_ATTRIBUTE_TITLE
+ ,T.ADDED_WHEN
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO
+ ,T.CHANGED_WHEN
+FROM
+ TBIDB_SEARCH_ATTRIBUTES_LINKS T INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T1 ON T.DEP_ATTR_ID = T1.ATTRIBUTE_ID
+ --INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T2 ON T.LINKED_ATTR_ID = T2.ATTRIBUTE_ID
+ INNER JOIN TBIDB_ATTRIBUTE T3 ON T.DEP_ATTR_ID = T3.GUID
+ INNER JOIN TBIDB_ATTRIBUTE T5 ON T.LINKED_ATTR_ID = T5.GUID
+
+GO
+
+-- =============================================
+-- Author: Digital Data MS
+-- Creation date: 22.10.2020
+-- =============================================
+CREATE FUNCTION [dbo].[FNIDB_GET_SEARCH_PROFILES] (@pUSERID INT, @pLANGCODE VARCHAR(5))
+RETURNS @Output TABLE (SEARCH_PROFILE_ID INTEGER,TITLE VARCHAR(100),RESULT_SQL VARCHAR(915),PSOURCE VARCHAR(50))
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT,
+ @TERM_RESULT VARCHAR(900),
+ @IDB_CREATED_WHEN DATETIME,
+ @IDB_CREATED_WHO VARCHAR(100),
+ @IDB_CHANGED_WHEN DATETIME,
+ @IDB_CHANGED_WHO VARCHAR(100)
+
+ INSERT INTO @Output (SEARCH_PROFILE_ID,TITLE,RESULT_SQL,PSOURCE)
+ SELECT
+ T.GUID
+ ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID ] (T.TITLE_ID,@pLANGCODE) AS TITLE
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T2.SEARCH_TERM_ID) AS RESULT_SQL
+ ,'TBIDB_SEARCH_PROFILE_USER'
+ FROM TBIDB_SEARCH_PROFILE T INNER JOIN TBIDB_SEARCH_PROFILE_USER T1 ON T.GUID = T1.SEARCH_PROFIL_ID
+ INNER JOIN TBIDB_SEARCH_LANGUAGE_SQL_RESULT T2 ON T.GUID = T2.SEARCH_PROFIL_ID
+ INNER JOIN TBIDB_LANGUAGE T3 ON T2.LANGUAGE_ID = T3.GUID
+ WHERE T1.USER_ID = @pUSERID AND UPPER(T3.LANG_CODE) = UPPER(@pLANGCODE)
+
+ INSERT INTO @Output (SEARCH_PROFILE_ID,TITLE,RESULT_SQL,PSOURCE)
+ SELECT
+ T.GUID
+ ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID ] (T.TITLE_ID,@pLANGCODE) AS TITLE
+ ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T4.SEARCH_TERM_ID) AS RESULT_SQL
+ ,'TBIDB_SEARCH_PROFILE_GROUP'
+ FROM TBIDB_SEARCH_PROFILE T INNER JOIN TBIDB_SEARCH_PROFILE_GROUP T1 ON T.GUID = T1.SEARCH_PROFIL_ID
+ INNER JOIN DD_ECM_TEST.dbo.TBDD_GROUPS T2 ON T1.GROUP_ID = T2.GUID
+ INNER JOIN DD_ECM_TEST.dbo.TBDD_GROUPS_USER T3 ON T2.GUID = T3.GROUP_ID
+ INNER JOIN TBIDB_SEARCH_LANGUAGE_SQL_RESULT T4 ON T.GUID = T4.SEARCH_PROFIL_ID
+ INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T3.GUID
+ WHERE T3.USER_ID = @pUSERID AND UPPER(T5.LANG_CODE) = UPPER(@pLANGCODE)
+
+
+ RETURN
+END
+GO
+-- =============================================
+-- Author: DD MS
+-- Create date 05.11.2020
+-- =============================================
+CREATE PROCEDURE [dbo].[PRIDB_NEW_TERM_FOR_ATTRIBUTE] @ATTRIBUTE VARCHAR(100),@TERM VARCHAR(MAX), @WHO VARCHAR(100), @TERM_ID BIGINT OUTPUT
+AS
+BEGIN
+ DECLARE @TERM_TYPE_ID TINYINT
+
+ SELECT @TERM_TYPE_ID = TYP_ID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE)
+ IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'TRUE'
+ SET @TERM = 1
+ ELSE IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'FALSE'
+ SET @TERM = 0
+ --PRINT 'PRIDB_NEW_TERM: TERM_TYPE_ID IS: ' + CONVERT(VARCHAR(2),@TERM_TYPE_ID) + ' # TERM: ' + @TERM
+ IF @TERM_TYPE_ID IN (1,8) --VARCHAR
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_VARCHAR (TERM_VALUE,ADDED_WHO) VALUES (@TERM,@WHO)
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR where TERM_VALUE = @TERM
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM)
+ ELSE IF @TERM_TYPE_ID IN (2,7,9) --BIGINT
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(BIGINT,@TERM),@WHO)
+ SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_INTEGER where TERM_VALUE = @TERM
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM)
+ ELSE IF @TERM_TYPE_ID = 3 --FLOAT
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_FLOAT (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(FLOAT,@TERM),@WHO)
+ SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_FLOAT where TERM_VALUE = @TERM
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM)
+ ELSE IF @TERM_TYPE_ID = 4 --DECIMAL
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_DECIMAL (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DECIMAL(19,0),@TERM),@WHO)
+ SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_DECIMAL where TERM_VALUE = @TERM
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM)
+ ELSE IF @TERM_TYPE_ID = 5 --DATE
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM))
+ BEGIN
+ INSERT INTO TBIDB_TERM_VALUE_DATE (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATE,@TERM),@WHO)
+ SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_DATE where TERM_VALUE = @TERM
+ END
+ ELSE
+ SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)
+
+ PRINT '### PRIDB_NEW_TERM: TERM-ID: ' + CONVERT(VARCHAR(10),@TERM_ID) + '###'
+END
+GO
+
+CREATE TABLE TBIDB_USER_SEARCH_CRITERIA
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ SEARCH_PROFIL_ID INTEGER NOT NULL,
+ USERID INTEGER NOT NULL,
+ ATTRIBUTE_ID INTEGER NOT NULL,
+ TERM_TEXT VARCHAR(900),
+ --TERM_DATE DATE,
+ --TERM_FLOAT FLOAT,
+ --TERM_DEC DECIMAL(19,2),
+ TERM_ID BIGINT,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CONSTRAINT PK_TBIDB_USER_SEARCH_CRITERIA_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_USER_SEARCH_CRITERIA_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+ CONSTRAINT FK_TBIDB_USER_SEARCH_CRITERIA_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID)
+)
+GO
+CREATE PROCEDURE [dbo].[PRIDB_NEW_USER_SEARCH_CRITERIA] @pSEARCHID INTEGER,@pUSER_ID INTEGER,@pATTRIBUTE_ID INTEGER,@pTERM VARCHAR(900), @pWHO VARCHAR(100)
+AS
+BEGIN
+ DECLARE @WHO_TERM_ID BIGINT,@ATTR_TYPE INT, @ATTR_TERM_ID BIGINT,@ATTRIBUTE VARCHAR(100)
+ SELECT @ATTR_TYPE = TYP_ID,@ATTRIBUTE = TITLE FROM TBIDB_ATTRIBUTE WHERE GUID = @pATTRIBUTE_ID
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
+ EXEC PRIDB_NEW_TERM_FOR_ATTRIBUTE @ATTRIBUTE,@pTERM,@pWHO,@TERM_ID = @ATTR_TERM_ID OUTPUT;
+
+-- GUID NAME_TYPE
+
+--3 FLOAT
+--4 DECIMAL
+--5 DATE
+--6 DATETIME
+
+--9 VECTOR INTEGER
+ INSERT INTO TBIDB_USER_SEARCH_CRITERIA (SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, ADDED_WHO, TERM_TEXT, TERM_ID) VALUES
+ (@pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, @WHO_TERM_ID, @pTERM, @ATTR_TERM_ID)
+ /*IF @ATTR_TYPE IN (1,2,7,8)
+ BEGIN
+ INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_TEXT, ADDED_WHO,TERM_ID) VALUES
+ ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, @pTERM, @WHO_TERM_ID,@ATTR_TERM_ID)
+ END
+ ELSE IF @ATTR_TYPE = 5
+ INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_DATE, ADDED_WHO,TERM_ID) VALUES
+ ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, Convert(Date,@pTERM), @WHO_TERM_ID,@ATTR_TERM_ID)
+ ELSE IF @ATTR_TYPE = 3
+ INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_FLOAT, ADDED_WHO,TERM_ID) VALUES
+ ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, Convert(float,@pTERM), @WHO_TERM_ID,@ATTR_TERM_ID)
+*/
+END
+GO
+
+CREATE TABLE TBIDB_SEARCH_CRITERIA_SAVE
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ SEARCH_PROFIL_ID INTEGER NOT NULL,
+ ATTRIBUTE_ID INTEGER NOT NULL,
+ TERM_TEXT VARCHAR(900),
+ --TERM_DATE DATE,
+ --TERM_FLOAT FLOAT,
+ --TERM_DEC DECIMAL(19,2),
+ TERM_ID BIGINT,
+ ADDED_WHO BIGINT,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CONSTRAINT PK_TBIDB_SEARCH_CRITERIA_SAVE_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_CRITERIA_SAVE_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID),
+ CONSTRAINT FK_TBIDB_SEARCH_CRITERIA_SAVE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID)
+)
+GO
+CREATE PROCEDURE [dbo].[PRIDB_SEARCH_CRITERIA_SAVE] @pSEARCHID INTEGER,@pUserID INT, @pWHO VARCHAR(100)
+AS
+BEGIN
+ DECLARE @WHO_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT;
+ DELETE FROM TBIDB_SEARCH_CRITERIA_SAVE WHERE SEARCH_PROFIL_ID = @pSEARCHID
+
+ INSERT INTO [dbo].[TBIDB_SEARCH_CRITERIA_SAVE]
+ ([SEARCH_PROFIL_ID]
+ ,[ATTRIBUTE_ID]
+ ,[TERM_TEXT]
+ ,TERM_ID
+ --,[TERM_DATE]
+ --,[TERM_FLOAT]
+ --,[TERM_DEC]
+ ,[ADDED_WHO])
+ SELECT [SEARCH_PROFIL_ID]
+ ,[ATTRIBUTE_ID]
+ ,[TERM_TEXT]
+ ,TERM_ID
+ --,[TERM_DATE]
+ --,[TERM_FLOAT]
+ --,[TERM_DEC]
+ ,@WHO_TERM_ID FROM TBIDB_USER_SEARCH_CRITERIA WHERE USERID = @pUserID AND SEARCH_PROFIL_ID = @pSEARCHID
+END
+GO
+CREATE VIEW VWIDB_SEARCH_ATTRIBUTES_USER
+AS
+ select TOP 100 PERCENT
+ T.USERID,T.SEARCH_PROFIL_ID, T.ATTRIBUTE_ID,T1.TITLE,T2.SEQUENCE
+ from
+ TBIDB_USER_SEARCH_CRITERIA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID
+ INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T2 ON T.SEARCH_PROFIL_ID = T2.SEARCH_PROFIL_ID AND T.ATTRIBUTE_ID = T2.ATTRIBUTE_ID
+ GROUP BY T.USERID,T.SEARCH_PROFIL_ID, T.ATTRIBUTE_ID,T1.TITLE,T2.SEQUENCE
+ ORDER BY T.USERID, T.SEARCH_PROFIL_ID, T2.SEQUENCE
+GO
+CREATE FUNCTION [dbo].[FNIDB_SEARCH_RESULT_GET_OBJECTS] (@pUSERID INT,@PSEARCHID INT)
+--DECLARE @pUSERID INT,@PSEARCHID INT
+--SET @pUSERID =1
+--SET @PSEARCHID = 7
+RETURNS @TBRESULT TABLE (RUN INT, IDB_OBJ_ID BIGINT, ATTR_ID INT,ATTR_TITLE VARCHAR(100), COMMENT VARCHAR(200))
+AS
+BEGIN
+ DECLARE
+ @GUID BIGINT,@ATTR_ID INT,@LASTATTR_ID INT ,@ATTR_TITLE VARCHAR(100),@RUN TINYINT,@COUNT_ATTRIBUTES TINYINT
+ ,@RESTRICTIONSYN BIT
+
+ SET @LASTATTR_ID = 0
+ DECLARE @TBRESULT_RESTRICTION TABLE (RUN INT, IDB_OBJ_ID BIGINT, ATTR_ID INT,ATTR_TITLE VARCHAR(100), COMMENT VARCHAR(200))
+ select @COUNT_ATTRIBUTES = COUNT(T.USERID)
+ from
+ VWIDB_SEARCH_ATTRIBUTES_USER T
+ WHERE
+ T.SEARCH_PROFIL_ID = @PSEARCHID AND T.USERID = @pUSERID
+
+ SET @RUN = 1
+ DECLARE cursorSearchAttributes CURSOR FOR
+ select
+ T.ATTRIBUTE_ID,T.TITLE
+ from
+ VWIDB_SEARCH_ATTRIBUTES_USER T
+ WHERE
+ T.SEARCH_PROFIL_ID = @PSEARCHID AND T.USERID = @pUSERID
+
+ ORDER BY T.SEQUENCE
+ OPEN cursorSearchAttributes
+ FETCH NEXT FROM cursorSearchAttributes INTO @ATTR_ID,@ATTR_TITLE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE @SEARCH_DEF_ID BIGINT, @TERM_ID BIGINT
+ DECLARE cursorDetailAttribute CURSOR FOR
+ select
+ T.GUID,T.TERM_ID
+ from
+ TBIDB_USER_SEARCH_CRITERIA T
+ WHERE
+ T.SEARCH_PROFIL_ID = 7 AND T.USERID = 1 AND T.ATTRIBUTE_ID = @ATTR_ID
+ OPEN cursorDetailAttribute
+ FETCH NEXT FROM cursorDetailAttribute INTO @SEARCH_DEF_ID,@TERM_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO @TBRESULT_RESTRICTION ( RUN, IDB_OBJ_ID, ATTR_ID, ATTR_TITLE)
+ SELECT @SEARCH_DEF_ID, IDB_OBJECT_ID, @ATTR_ID, @ATTR_TITLE
+ FROM
+ FNIDB_GET_TERM_FOR_ATTRIBUTE_ID (@ATTR_ID,'de-DE',@pUSERID)
+ WHERE
+ TERM_ID = @TERM_ID
+ --SELECT * FROM @TBRESULT_RESTRICTION
+ FETCH NEXT FROM cursorDetailAttribute INTO @SEARCH_DEF_ID,@TERM_ID
+ END
+ CLOSE cursorDetailAttribute
+ DEALLOCATE cursorDetailAttribute
+ --PRINT 'FIRST SEARCH ROW'
+ --PRINT @TBRESULT_RESTRICTION
+ --PRINT '@COUNT_ATTRIBUTES: ' + CONVERT(VARCHAR(2),@COUNT_ATTRIBUTES)
+ --PRINT '@RUN: ' + CONVERT(VARCHAR(2),@RUN)
+ IF @RUN = 1
+ INSERT INTO @TBRESULT ( RUN, IDB_OBJ_ID, ATTR_ID, ATTR_TITLE, COMMENT)
+ SELECT * FROM @TBRESULT_RESTRICTION
+ ELSE
+ IF @COUNT_ATTRIBUTES = @RUN
+ BEGIN
+ -- --#### Now deleting the Results which are not part of the restriction
+ --PRINT 'DELETE AS THIS IS THE LAST RUN PER ATTRIBUTE'
+ DELETE FROM @TBRESULT WHERE IDB_OBJ_ID NOT IN (
+ SELECT IDB_OBJ_ID FROM @TBRESULT_RESTRICTION)
+ -- UPDATE T
+ -- SET
+ -- T.RUN = T1.RUN
+ -- FROM
+ -- @TBRESULT T INNER JOIN
+ -- @TBRESULT_RESTRICTION T1 ON T.IDB_OBJ_ID = T1.IDB_OBJ_ID
+ END
+ SET @RUN +=1
+ SET @LASTATTR_ID = @ATTR_ID
+ DELETE FROM @TBRESULT_RESTRICTION
+ FETCH NEXT FROM cursorSearchAttributes INTO @ATTR_ID,@ATTR_TITLE
+ END
+ CLOSE cursorSearchAttributes
+ DEALLOCATE cursorSearchAttributes
+RETURN
+--select DISTINCT IDB_OBJ_ID from @TBRESULT ORDER BY IDB_OBJ_ID
+END
+GO
+CREATE FUNCTION [dbo].[FNIDB_SEARCH_GET_FILTER_SQL] (@pSEARCH_ID INTEGER, @pUSERID INTEGER, @pLANG_CODE VARCHAR(5))
+RETURNS NVARCHAR(MAX)
+AS
+BEGIN
+ DECLARE @ATTR_ID INTEGER, @ATTR_TITLE AS VARCHAR(100), @RUN TINYINT, @RESULT NVARCHAR(MAX), @RUN_ALIAS VARCHAR(2), @RUN_SELECT VARCHAR(500)
+ ,@RUN_FROM VARCHAR(500), @SELECT_PART NVARCHAR(MAX), @FROM_PART NVARCHAR(MAX),@SEPARATOR VARCHAR(1)
+ SET @RUN = 0
+ SET @RUN_ALIAS = 'T'
+ SET @SELECT_PART = 'SELECT '
+ SET @FROM_PART = ''
+ DECLARE cursAttribute CURSOR LOCAL FOR
+ SELECT ATTRIBUTE_ID,ATTRIBUTE_TITLE
+ FROM VWIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_ID ORDER BY SEQUENCE
+ OPEN cursAttribute
+ FETCH NEXT FROM cursAttribute INTO @ATTR_ID,@ATTR_TITLE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @RUN_SELECT = ''
+ SET @RUN_FROM = ''
+ IF @RUN = 0
+ BEGIN
+ SET @RUN_SELECT = 'T.IDB_OBJECT_ID, T.TERM_VALUE AS [' + @ATTR_TITLE + ']'
+ SET @RUN_FROM = CHAR(10) + 'FROM [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (' + CONVERT(VARCHAR(10),@ATTR_ID) + ',''' + @pLANG_CODE + ''',' + CONVERT(VARCHAR(10),@pUSERID) + ') T'
+ END
+ ELSE
+ BEGIN
+ SET @RUN_SELECT = ', ' + @RUN_ALIAS + CONVERT(VARCHAR(2), @RUN) + '.TERM_VALUE AS [' + @ATTR_TITLE + ']'
+ SET @RUN_FROM = CHAR(10) + 'INNER JOIN [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (' + CONVERT(VARCHAR(10),@ATTR_ID) + ',''' + @pLANG_CODE + ''',' + CONVERT(VARCHAR(10),@pUSERID) + ') ' + @RUN_ALIAS + CONVERT(VARCHAR(2), @RUN)
+ SET @RUN_FROM += ' ON T.IDB_OBJECT_ID = T' + CONVERT(VARCHAR(2), @RUN) + '.IDB_OBJECT_ID'
+ END
+ SET @SELECT_PART += @RUN_SELECT
+ SET @FROM_PART += @RUN_FROM
+
+ SET @RUN += 1
+ FETCH NEXT FROM cursAttribute INTO @ATTR_ID,@ATTR_TITLE
+ END
+ CLOSE cursAttribute
+ DEALLOCATE cursAttribute
+ SET @RESULT = @SELECT_PART + @FROM_PART
+
+
+ RETURN @RESULT
+END
+GO
+
+
diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.6.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.6.sql
new file mode 100644
index 0000000..f4d2c2f
--- /dev/null
+++ b/00_IDB/Update/Added2CreateDBObjects/1.0.6.sql
@@ -0,0 +1,291 @@
+UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.6' where CONFIG_NAME = 'DB_VERSION'
+GO
+/*
+REPLACE @WORKFILESTORE WITH STORAGE-PATH FOR WORK
+*/
+CREATE VIEW [dbo].[VWIDB_CHANGE_LOG] AS
+select
+ T.GUID AS ChangeID,
+ T.IDB_OBJ_ID,
+ T1.TITLE as Attribute,
+ T3.TERM_VALUE as [Old value],
+ T5.TERM_VALUE as [New value],
+ T.CHANGED_WHO [Changed who],
+ T.CHANGED_WHEN [Changed when]
+from TBIDB_OBJECT_METADATA_CHANGE T
+ INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.OLD_TEXT_TERM_LANG_ID = T2.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID
+ INNER JOIN TBIDB_TERM_LANGUAGE T4 ON T.NEW_TEXT_TERM_LANG_ID = T4.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T4.TEXT_TERM_ID = T5.GUID
+GO
+
+ALTER TABLE TBIDB_OBJECT ADD PARENT_OBJ_ID BIGINT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBIDB_OBJECT ADD IS_VERSION BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBIDB_BE_ATTRIBUTE ADD DEFAULT_SEARCH_ATTRIBUTE BIT NOT NULL DEFAULT 0
+GO
+-- =======================================================
+-- Author: Digital Data, DD MS
+-- Create Date: 22.10.2020
+-- Gunction returns all values for parameterized Attribute
+-- =======================================================
+CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_FOR_ALL_OBJECTS] (@ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10))
+RETURNS @Output TABLE (IDB_OBJ_ID BIGINT,TERM_VALUE VARCHAR(900))
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT,
+ @TERM_RESULT VARCHAR(900)
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
+ SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
+ WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE)
+
+ IF @TYP_ID IN (1,8) --VARCHAR
+ BEGIN
+ DECLARE @TL_ID BIGINT
+ INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
+ SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE FROM
+ TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
+ INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = @ATTR_ID
+ AND TLANG.LANGUAGE_ID = @LANG_ID
+ AND OBJ.DELETED = 0
+ ORDER BY OBJ.IDB_OBJ_ID DESC
+ END
+ ELSE IF @TYP_ID IN (2,7,9) --BIGINT
+ BEGIN
+ INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
+ SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
+ FROM
+ TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.INT_TERM_ID = TERM.GUID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = @ATTR_ID
+ AND OBJ.DELETED = 0
+ ORDER BY OBJ.IDB_OBJ_ID DESC
+ END
+ ELSE IF @TYP_ID = 3 --FLOAT
+ BEGIN
+ INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
+ SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
+ FROM
+ TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.FLOAT_TERM_ID = TERM.GUID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = @ATTR_ID
+ AND OBJ.DELETED = 0 ORDER BY OBJ.IDB_OBJ_ID DESC
+ END
+ ELSE IF @TYP_ID = 4
+ BEGIN
+ INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
+ SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
+ FROM
+ TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DEC_TERM_ID = TERM.GUID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = @ATTR_ID
+ AND OBJ.DELETED = 0
+ ORDER BY OBJ.IDB_OBJ_ID DESC
+ END
+ ELSE IF @TYP_ID = 5
+ BEGIN
+ INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE)
+ SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE
+ FROM
+ TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DATE_TERM_ID = TERM.GUID
+ INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ MD.ATTR_ID = @ATTR_ID AND OBJ.DELETED = 0
+ ORDER BY OBJ.IDB_OBJ_ID DESC
+ END
+RETURN
+END
+GO
+
+CREATE NONCLUSTERED INDEX [IDX_ATTR-ID_OBJ-INTTERMID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[INT_TERM_ID])
+GO
+CREATE NONCLUSTERED INDEX IDXATTR_IDINT_TERM_ID_IDB_OBJ_ID
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[INT_TERM_ID])
+INCLUDE ([IDB_OBJ_ID])
+GO
+CREATE NONCLUSTERED INDEX IDX_DELETED_OBJID
+ON [dbo].[TBIDB_OBJECT] ([DELETED])
+INCLUDE ([IDB_OBJ_ID])
+GO
+CREATE NONCLUSTERED INDEX [IDXATTR_ID-IDB_OBJ_ID-FLOAT_TERM_ID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[FLOAT_TERM_ID])
+GO
+CREATE NONCLUSTERED INDEX [ATTR_ID_IDB_OBJ_ID_DEC_TERM_ID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[DEC_TERM_ID])
+GO
+CREATE NONCLUSTERED INDEX [ATTR_ID-IDB_OBJ_ID-DATE_TERM_ID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID])
+INCLUDE ([IDB_OBJ_ID],[DATE_TERM_ID])
+GO
+CREATE NONCLUSTERED INDEX [IDXATTR_ID-DATE_TERM_ID-IDB_OBJ_ID]
+ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[DATE_TERM_ID])
+INCLUDE ([IDB_OBJ_ID])
+GO
+--DROP TABLE TBIDB_ACCESSRIGHT
+CREATE TABLE TBIDB_ACCESSRIGHT
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ IDB_OBJ_ID BIGINT NOT NULL,
+ USR_ID INTEGER NOT NULL,
+ ACCESSRIGHT INTEGER NOT NULL,
+ COMMENT VARCHAR(250),
+ ADDED_WHO BIGINT NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBIDB_ACCESSRIGHT_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_ACCESSRIGHT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
+ CONSTRAINT FK_TBIDB_ACCESSRIGHT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT UQ_TBIDB_ACCESSRIGHT UNIQUE(IDB_OBJ_ID,USR_ID,ACCESSRIGHT)
+)
+GO
+
+INSERT INTO [TBIDB_CATALOG] ([CAT_TITLE],[CAT_STRING]) VALUES ('APPSERV1','172.24.12.39')
+GO
+
+DECLARE
+ @IDB_OBJ_ID BIGINT,
+ @USERNAME VARCHAR(500)
+
+DECLARE cursorDoc CURSOR FOR
+ select IDB_OBJ_ID FROm IDB_TEST.DBO.TBIDB_OBJECT WHERE DELETED = 0
+ OPEN cursorDoc
+ FETCH NEXT FROM cursorDoc INTO @IDB_OBJ_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DELETE FROM TBIDB_ACCESSRIGHT where IDB_OBJ_ID = @IDB_OBJ_ID;
+ INSERT INTO TBIDB_ACCESSRIGHT (IDB_OBJ_ID,USR_ID,ACCESSRIGHT,ADDED_WHO)
+ SELECT @IDB_OBJ_ID,GUID,1,20242 FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID <> 1
+ INSERT INTO TBIDB_ACCESSRIGHT (IDB_OBJ_ID,USR_ID,ACCESSRIGHT,ADDED_WHO)
+ SELECT @IDB_OBJ_ID,GUID,4,20242 FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID = 1
+
+ FETCH NEXT FROM cursorDoc INTO @IDB_OBJ_ID
+ END
+CLOSE cursorDoc
+DEALLOCATE cursorDoc
+
+CREATE TABLE TBIDB_REFRESH_ON_APPSERVER
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ IDB_OBJ_ID BIGINT NOT NULL,
+ USR_ID INTEGER NOT NULL,
+ ACCESSRIGHT INTEGER NOT NULL,
+ ADDED_WHO BIGINT NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PKTBIDB_REFRESH_ON_APPSERVER_GUID PRIMARY KEY (GUID),
+ CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
+ CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),
+ CONSTRAINT UQ_TBIDB_REFRESH_ON_APPSERVER UNIQUE(IDB_OBJ_ID,USR_ID)
+)
+GO
+
+USE [IDB_TEST]
+GO
+CREATE NONCLUSTERED INDEX IDX_TBIDB_ACCESSRIGHT_USRID
+ON [dbo].[TBIDB_ACCESSRIGHT] ([USR_ID])
+INCLUDE ([IDB_OBJ_ID])
+GO
+
+ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS
+SELECT
+ T.[BE_ID]
+ ,T2.TITLE AS BE
+ ,[ATTR_ID]
+ ,T6.TERM_VALUE AS ATTR_TITLE
+ ,T1.TYP_ID
+ ,T1.TYP_ID AS [TYPE_ID]
+ ,T3.NAME_TYPE AS [TYPE_NAME]
+ ,T1.VIEW_VISIBLE
+ ,T1.VIEW_SEQUENCE
+ ,T5.GUID AS LANG_ID
+ ,T5.LANG_CODE
+ ,T.ADDED_WHEN
+ ,T.ADDED_WHO
+ ,T.CHANGED_WHEN
+ ,T.CHANGED_WHO
+ FROM [TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
+ INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID
+ INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID
+ INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID
+ INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID
+ WHERE T1.DELETED = 0
+GO
+--CREATE TABLE TBIDB_FILESTORE_CONFIG
+--(
+-- GUID BIGINT NOT NULL IDENTITY (1, 1),
+-- TITLE VARCHAR(100) NOT NULL,
+-- STORAGE_PATH VARCHAR(1000) NOT NULL,
+-- ACTIVE BIT NOT NULL DEFAULT 0,
+-- ADDED_WHO VARCHAR(100),
+-- ADDED_WHEN DATETIME DEFAULT GETDATE(),
+-- CHANGED_WHO VARCHAR(100),
+-- CHANGED_WHEN DATETIME,
+-- CONSTRAINT PKTBIDB_FILESTORE_CONFIG_GUID PRIMARY KEY (GUID),
+-- CONSTRAINT UQ_TBIDB_FILESTORE_CONFIG_TITLE UNIQUE(TITLE),
+-- CONSTRAINT UQ_TBIDB_FILESTORE_CONFIG_STORAGE_PATH UNIQUE(STORAGE_PATH),
+--)
+--GO
+--CREATE TRIGGER [dbo].[TBIDB_FILESTORE_CONFIG_AFT_UPD] ON [dbo].[TBIDB_FILESTORE_CONFIG]
+--FOR UPDATE
+--AS
+-- UPDATE TBIDB_FILESTORE_CONFIG SET CHANGED_WHEN = GETDATE()
+-- FROM INSERTED
+-- WHERE TBIDB_FILESTORE_CONFIG.GUID = INSERTED.GUID
+--GO
+--INSERT INTO TBIDB_FILESTORE_CONFIG (TITLE,STORAGE_PATH,ACTIVE,ADDED_WHO) VALUES ('WORK','@WORKFILESTORE',1,'Digital Data');
+DROP TABLE TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES
+CREATE TABLE TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES
+(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ ATTRIBUTE_ID INTEGER NOT NULL,
+ ACTIVE BIT NOT NULL DEFAULT 1,
+ ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data (DEF)',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(100),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PKTBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES_GUID PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES UNIQUE(ATTRIBUTE_ID),
+ CONSTRAINT FK_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES FOREIGN KEY (ATTRIBUTE_ID) REFERENCES TBIDB_ATTRIBUTE (GUID),
+)
+GO
+INSERT INTO TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES (ATTRIBUTE_ID) VALUES(1);
+
+ALTER VIEW VWIDB_CATEGORIES_PER_OBJECT_AND_LANGUAGE AS
+select
+ MD.IDB_OBJ_ID
+ ,TLANG.LANGUAGE_ID
+ ,TERM.TERM_VALUE
+ ,ATTR.TITLE AS ATTRIBUTE_TITLE
+ ,ATTR.GUID AS ATTRIBUTE_ID
+FROM
+ TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
+ INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID
+ INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID
+ INNER JOIN TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES CAT_ATTR ON MD.ATTR_ID = CAT_ATTR.ATTRIBUTE_ID
+ INNER JOIN TBIDB_ATTRIBUTE ATTR ON CAT_ATTR.ATTRIBUTE_ID = ATTR.GUID
+WHERE
+ CAT_ATTR.ACTIVE = 1
+
+
+
+
+
+
+
+
diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.7.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.7.sql
new file mode 100644
index 0000000..b6e8784
Binary files /dev/null and b/00_IDB/Update/Added2CreateDBObjects/1.0.7.sql differ
diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.8.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.8.sql
new file mode 100644
index 0000000..cfadcff
--- /dev/null
+++ b/00_IDB/Update/Added2CreateDBObjects/1.0.8.sql
@@ -0,0 +1,127 @@
+
+UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.8' where CONFIG_NAME = 'DB_VERSION'
+GO
+-- =============================================
+-- Author: DD MS
+-- Creation date: 05.07.2021
+-- =============================================
+CREATE PROCEDURE [dbo].[PRIDB_GET_VALUE_DT] @IDB_OBJ_ID BIGINT, @LANG_CODE VARCHAR(5)
+AS
+DECLARE @ATTR_ID INTEGER,@ATTR_TITLE VARCHAR(100), @TYPE_NAME VARCHAR(100)
+DECLARE
+ @TBRESULT TABLE (AttributID INT, AttributTitle VARCHAR(100), AttributType VARCHAR(100),ValueBigInt BIGINT, ValueText Varchar(912), ValueDec Decimal(19,2), ValueDate Date,
+ADDED_WHEN DATETIME, CHANGED_WHEN DATETIME)
+
+DECLARE cursorAttributes CURSOR LOCAL FOR
+ SELECT A.ATTR_ID, B.ATTR_TITLE, B.TYPE_NAME FROM TBIDB_OBJECT_METADATA A INNER JOIN VWIDB_BE_ATTRIBUTE B On A.ATTR_ID = B.ATTR_ID
+ WHERE A.IDB_OBJ_ID = @IDB_OBJ_ID AND B.LANG_CODE = @LANG_CODE
+OPEN cursorAttributes
+FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME
+WHILE @@FETCH_STATUS = 0
+BEGIN
+ PRINT CONVERT(VARCHAR(2),@ATTR_ID) + '#' + @TYPE_NAME + '#' + @ATTR_TITLE
+ IF @TYPE_NAME IN ('VARCHAR','VECTOR STRING')
+ INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueText,ADDED_WHEN,CHANGED_WHEN)
+ select
+ @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_TEXT] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
+ from
+ TBIDB_OBJECT_METADATA T
+ WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
+ ELSE IF @TYPE_NAME IN ('BIT','BIG INTEGER')
+ INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueBigInt,ADDED_WHEN,CHANGED_WHEN)
+ select
+ @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_INTEGER] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
+ from
+ TBIDB_OBJECT_METADATA T
+ WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
+ ELSE IF @TYPE_NAME = 'DATE'
+ INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDate,ADDED_WHEN,CHANGED_WHEN)
+ select
+ @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DATE] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
+ from
+ TBIDB_OBJECT_METADATA T
+ WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
+ ELSE IF @TYPE_NAME = 'DECIMAL'
+ INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDec,ADDED_WHEN,CHANGED_WHEN)
+ select
+ @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DECIMAL] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN
+ from
+ TBIDB_OBJECT_METADATA T
+ WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID
+ FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME
+END
+CLOSE cursorAttributes
+DEALLOCATE cursorAttributes
+
+SELECT * FROM @TBRESULT order BY AttributID,ADDED_WHEN
+GO
+
+ALTER TABLE TBIDB_DOC_INFO ADD FULL_TEXT VARBINARY(MAX)
+GO
+ALTER TABLE TBIDB_DOC_INFO ADD FILE_SIZE INTEGER
+GO
+ALTER TABLE TBIDB_FILE_OBJECT ADD FILE_SIZE BIGINT
+GO
+-- =============================================
+-- Author: DD MS 15.03.2021
+-- Change: 13.07.2021 Filesize
+-- =============================================
+ALTER PROCEDURE [dbo].[PRIDB_NEW_IDBFO] @REL_PATH VARCHAR(512),@FILESIZE BIGINT, @WHO VARCHAR(100), @IDB_OBJ_ID BIGINT,@OBJ_ST_ID INT
+AS
+BEGIN
+ DECLARE
+ @FILENAME_EXT VARCHAR(250),
+ @FILENAME_ONLY VARCHAR(250),
+ @RELATIVE_PATH VARCHAR(512),
+ @RELATIVE_PATH_ONLY VARCHAR(512),
+ @EXT VARCHAR(10)
+
+ SET @FILENAME_ONLY = CONVERT(VARCHAR(20),@IDB_OBJ_ID) + '.ddfo'
+ --PRINT @FILENAME_ONLY
+ --PRINT @REL_PATH
+ SELECT @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,@FILENAME_ONLY,'')
+ --PRINT 'PRIDB_NEW_IDBFO - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY
+ DECLARE @RELPATH_TERM_ID BIGINT,@EXTENSION_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@RELATIVE_PATH_ONLY,@WHO,@TERM_ID = @RELPATH_TERM_ID OUTPUT;
+ SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH));
+ EXEC PRIDB_NEW_TERM 'VARCHAR',@EXT,@WHO,@TERM_ID = @EXTENSION_TERM_ID OUTPUT;
+
+ --SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@REL_PATH);
+ --SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@REL_PATH);
+ --SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH));
+ PRINT 'PRIDB_NEW_IDBFO: ' + @REL_PATH
+
+ BEGIN
+ IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
+ INSERT INTO [dbo].[TBIDB_FILE_OBJECT]
+ ([IDB_OBJ_ID]
+ ,[OBJ_ST_ID]
+ ,EXTENSION_TERM_ID
+ ,RELPATH_TERM_ID
+ ,FILE_SIZE
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@OBJ_ST_ID
+ ,@EXTENSION_TERM_ID
+ ,@RELPATH_TERM_ID
+ ,@FILESIZE
+ ,@WHO)
+ ELSE
+ BEGIN
+ --PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS'
+ UPDATE TBIDB_FILE_OBJECT SET
+ EXTENSION_TERM_ID = @EXTENSION_TERM_ID
+ ,RELPATH_TERM_ID = @RELPATH_TERM_ID
+ ,FILE_SIZE = @FILESIZE
+ ,CHANGED_WHO = @WHO
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID
+ IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1)
+ BEGIN
+ PRINT 'PRIDB_NEW_IDBFO - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!'
+ UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID
+ END
+ END
+ END
+END
+GO
\ No newline at end of file
diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.9.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.9.sql
new file mode 100644
index 0000000..bd37156
--- /dev/null
+++ b/00_IDB/Update/Added2CreateDBObjects/1.0.9.sql
@@ -0,0 +1,212 @@
+
+UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.9' where CONFIG_NAME = 'DB_VERSION'
+GO
+
+CREATE TABLE [dbo].[TBIDB_OBJECT_METADATA_ADD](
+ [GUID] BIGINT IDENTITY(1,1) NOT NULL,
+ [IDB_OBJ_ID] BIGINT NOT NULL,
+ [ATTR_ID] INT NOT NULL,
+ [TEXT_TERM_LANG_ID] BIGINT,
+ [INT_TERM_ID] BIGINT,
+ [DEC_TERM_ID] BIGINT,
+ [FLOAT_TERM_ID] BIGINT,
+ [DATE_TERM_ID] BIGINT,
+ [ADDED_WHO] VARCHAR(100),
+ [ADDED_WHEN] DATETIME NOT NULL,
+ CONSTRAINT PK_TBDD_GROUPS_USER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_ATTRID FOREIGN KEY(ATTR_ID) REFERENCES TBIDB_ATTRIBUTE(GUID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_IDBOBJID FOREIGN KEY(IDB_OBJ_ID) REFERENCES TBIDB_OBJECT(IDB_OBJ_ID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DATETERMID FOREIGN KEY(DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE(GUID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DECTERMID FOREIGN KEY(DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL(GUID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_FLOATTERMID FOREIGN KEY(FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT(GUID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_INTTERMID FOREIGN KEY(INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER(GUID),
+ CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_TEXTTERMLANGID FOREIGN KEY(TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE(GUID),
+ )
+
+GO
+ALTER TABLE TBIDB_OBJECT_METADATA_DELETE
+ADD ADDED_WHEN DATETIME;
+
+USE [IDB]
+GO
+--#######################
+--Change 06.10.2021 ADDED_WHEN METADATA_DELETE
+--#######################
+
+ALTER PROCEDURE [dbo].[PRIDB_DELETE_TERM_OBJECT_METADATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @TERM VARCHAR(900), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE',@ID_ISFOREIGN as BIT = False
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT
+ --IF @ID_ISFOREIGN = 1
+ -- BEGIN
+ -- SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @IDB_OBJ_ID
+ -- END
+
+ SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
+ WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
+
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
+
+ DECLARE @MY_TERM_ID BIGINT
+ EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM,'',@TERM_ID = @MY_TERM_ID OUTPUT;
+
+ PRINT '@MY_TERM_ID: ' + CONVERT(VARCHAR(10),@MY_TERM_ID)
+
+ IF @TYP_ID IN (1,8) --VARCHAR
+ BEGIN
+ PRINT 'Attribute is varchar...'
+ SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID)
+ BEGIN
+ DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID
+ PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED TEXT ROW!'
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
+ SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID
+ END
+ ELSE
+ PRINT 'TERM SEEMS NOT TO EXIST'
+ END
+ ELSE IF @TYP_ID IN (2,7,9) --BIGINT
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID)
+ BEGIN
+ DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
+ PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED INTEGER ROW!'
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
+ SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID
+ END
+ END
+ ELSE IF @TYP_ID = 3 --FLOAT
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID)
+ BEGIN
+ DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
+ PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED FLOAT ROW!'
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
+ SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID
+ END
+ END
+ ELSE IF @TYP_ID = 4 --DECIMAL
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID)
+ BEGIN
+ DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
+ PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DECIMAL ROW!'
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
+ SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID
+ END
+ END
+ ELSE IF @TYP_ID = 5 --DATE
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID)
+ BEGIN
+ DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
+ PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DATE ROW!'
+ INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN)
+ SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID
+ END
+ END
+
+
+END
+GO
+-- =============================================
+-- Author: Digital Data, MS
+-- Create date: 12.10.2021
+-- Description: Löscht User-Zuordnungen wo der USer nicht mehr Teil der Posteingangsgruppe ist
+-- =============================================
+CREATE PROCEDURE [dbo].[PRIDB_GET_ATTRIBUTE_VALUE] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100), @LANG_CODE VARCHAR(5), @VALUE VARCHAR(MAX) OUTPUT
+AS
+BEGIN
+ DECLARE
+ @ATTR_ID INTEGER,
+ @TYP_ID TINYINT,
+ @TYP_DESCR VARCHAR(100),
+ @MULTI BIT,
+ @LANG_ID INT
+
+ IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE))
+ RAISERROR ('NO VALID ATTRIBUTE',16,1)
+
+ SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1
+ WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE)
+
+ IF @LANG_CODE = 'de-DE'
+ SET @LANG_ID = 1
+ ELSE
+ SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE
+
+
+ IF @TYP_ID IN (1,8) --VARCHAR
+ BEGIN
+ select
+ @VALUE = TERM.TERM_VALUE
+ FROM
+ IDB.dbo.TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN IDB.dbo.TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID
+ INNER JOIN IDB.dbo.TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID
+ INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ OBJ.DELETED = 0 AND
+ MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
+ MD.ATTR_ID = @ATTR_ID AND TLANG.LANGUAGE_ID = @LANG_ID
+ END
+ ELSE IF @TYP_ID IN (2,7,9) --BIGINT
+ BEGIN
+ select
+ @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
+ FROM
+ IDB.dbo.TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
+ INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ OBJ.DELETED = 0 AND
+ MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
+ MD.ATTR_ID = @ATTR_ID
+ END
+ ELSE IF @TYP_ID = 3 --FLOAT
+ BEGIN
+ select
+ @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
+ FROM
+ IDB.dbo.TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
+ INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ OBJ.DELETED = 0 AND
+ MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
+ MD.ATTR_ID = @ATTR_ID
+ END
+ ELSE IF @TYP_ID = 4 --DECIMAL
+ BEGIN
+ select
+ @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
+ FROM
+ IDB.dbo.TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
+ INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ OBJ.DELETED = 0 AND
+ MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
+ MD.ATTR_ID = @ATTR_ID
+ END
+ ELSE IF @TYP_ID = 5 --DATE
+ BEGIN
+ select
+ @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE)
+ FROM
+ IDB.dbo.TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID
+ INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
+ WHERE
+ OBJ.DELETED = 0 AND
+ MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd
+ MD.ATTR_ID = @ATTR_ID
+ END
+END
+GO
\ No newline at end of file
diff --git a/00_IDB/Update/Added2CreateDBObjects/1.1.0.sql b/00_IDB/Update/Added2CreateDBObjects/1.1.0.sql
new file mode 100644
index 0000000..f12098f
--- /dev/null
+++ b/00_IDB/Update/Added2CreateDBObjects/1.1.0.sql
@@ -0,0 +1,119 @@
+UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.0' where CONFIG_NAME = 'DB_VERSION'
+GO
+ALTER TABLE TBIDB_DOC_INFO
+ADD RELATIVE_PATH_ONLY_TERM BIGINT;
+ALTER TABLE TBIDB_DOC_INFO
+ADD EXTENSION_TERM BIGINT;
+
+DECLARe @RELPATH VARCHAR(5000),@IDBOBJID BIGINT,@Extens VARCHAR(10)
+DECLARE cursor1 CURSOR FOR
+ Select IDB_OBJ_ID, RELATIVE_PATH_ONLY,EXTENSION from TBIDB_DOC_INFO
+ OPEN cursor1
+ FETCH NEXT FROM cursor1 INTO @IDBOBJID,@RELPATH,@Extens
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE @TERMID BIGINT
+ EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELPATH,'Digital Data', @TERM_ID = @TERMID OUTPUT
+ DECLARE @TERM_EXTENS BIGINT
+ EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@Extens,'Digital Data', @TERM_ID = @TERM_EXTENS OUTPUT
+
+ UPDATE TBIDB_DOC_INFO SET RELATIVE_PATH_ONLY_TERM = @TERMID, EXTENSION_TERM = @TERM_EXTENS, CHANGED_WHO = 'Digital Data' WHERE IDB_OBJ_ID = @IDBOBJID
+ FETCH NEXT FROM cursor1 INTO @IDBOBJID,@RELPATH,@Extens
+ END
+CLOSE cursor1
+DEALLOCATE cursor1
+GO
+ALTER TABLE TBIDB_DOC_INFO ALTER COLUMN RELATIVE_PATH_ONLY_TERM BIGINT NOT NULL;
+ALTER TABLE TBIDB_DOC_INFO ALTER COLUMN EXTENSION_TERM BIGINT NOT NULL;
+ALTER TABLE TBIDB_DOC_INFO
+ADD CONSTRAINT FKTBIDB_DOC_INFO_RELATIVEPATHONLYTERM FOREIGN KEY (RELATIVE_PATH_ONLY_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID);
+ALTER TABLE TBIDB_DOC_INFO
+ADD CONSTRAINT FKTBIDB_DOC_INFO_EXTENSIONTERM FOREIGN KEY (EXTENSION_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID);
+ALTER TABLE TBIDB_DOC_INFO
+DROP COLUMN RELATIVE_PATH_ONLY;
+ALTER TABLE TBIDB_DOC_INFO
+DROP COLUMN EXTENSION;
+USE [IDB_TEST]
+GO
+SET ANSI_NULLS ON
+GO
+SET QUOTED_IDENTIFIER ON
+GO
+-- =============================================
+-- Author: DD MS
+-- Changed: 01.11.2021 MS TERM_COLUMNS
+-- Changed: 10.08.2020 MS Anpassung
+-- =============================================
+ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT
+AS
+BEGIN
+ DECLARE
+ @SHARE_PATH VARCHAR(100),
+ @OBJ_STORE_PATH VARCHAR(250),
+ @NEW_FULL_PATH VARCHAR(512),
+ @FILENAME_EXT VARCHAR(250),
+ @FILENAME_ONLY VARCHAR(250),
+ @RELATIVE_PATH VARCHAR(512),
+ @RELATIVE_PATH_ONLY VARCHAR(512),
+ @EXT VARCHAR(10)
+
+ SELECT
+ @SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH
+ FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID
+ SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH)
+ SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','')
+ SET @RELATIVE_PATH = UPPER(@REL_PATH)
+ PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH
+ PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH
+
+ --SELECT @RELATIVE_PATH_ONLY = [dbo].[FNGetDirectoryPath] (@NEW_FULL_PATH);
+ --PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY
+
+ SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH);
+ SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH);
+ SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH));
+ SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'')
+ PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY
+ DECLARE @RELATIVE_PATH_ONLY_TERM BIGINT,@EXTENSION_TERM BIGINT
+ EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELATIVE_PATH_ONLY,@WHO, @TERM_ID = @RELATIVE_PATH_ONLY_TERM OUTPUT
+ EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@EXT,@WHO, @TERM_ID = @EXTENSION_TERM OUTPUT
+ --PRINT '@EXT: ' + @EXT
+ --IF NOT EXISTS(SELECT [IDB_OBJ_ID] FROM [TBIDB_DOC_INFO] WHERE [OBJ_ST_ID] = @OBJ_ST_ID AND UPPER([RELATIVE_PATH]) = @RELATIVE_PATH)
+ EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, @IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT;
+ PRINT 'PRIDB_NEW_DOCUMENT - @IDB_OBJ_ID from PRIDB_NEW_OBJECT: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID)
+ BEGIN
+ IF NOT EXISTS(SELECT IDB_OBJ_ID FROM [TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID)
+ INSERT INTO [dbo].[TBIDB_DOC_INFO]
+ ([IDB_OBJ_ID]
+ ,[OBJ_ST_ID]
+ ,[FILENAME_ONLY]
+ ,RELATIVE_PATH
+ ,RELATIVE_PATH_ONLY_TERM
+ ,EXTENSION_TERM
+ ,[ADDED_WHO])
+ VALUES
+ (@IDB_OBJ_ID
+ ,@OBJ_ST_ID
+ ,@FILENAME_ONLY
+ ,@RELATIVE_PATH
+ ,@RELATIVE_PATH_ONLY_TERM
+ ,@EXTENSION_TERM
+ ,@WHO)
+ ELSE
+ BEGIN
+ PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS'
+ UPDATE [TBIDB_DOC_INFO] SET [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY
+ ,@EXTENSION_TERM = @EXTENSION_TERM
+ ,[RELATIVE_PATH] = @RELATIVE_PATH
+ ,RELATIVE_PATH_ONLY_TERM = @RELATIVE_PATH_ONLY_TERM
+ ,CHANGED_WHO = @WHO
+ WHERE IDB_OBJ_ID = @IDB_OBJ_ID
+ IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1)
+ BEGIN
+ PRINT 'PRIDB_NEW_DOCUMENT - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!'
+ UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID
+ END
+ END
+ END
+END
+GO
diff --git a/02_GI/CreatDBObjects.sql b/02_GI/CreatDBObjects.sql
new file mode 100644
index 0000000..5085ecf
--- /dev/null
+++ b/02_GI/CreatDBObjects.sql
@@ -0,0 +1,667 @@
+
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.5.2.0' where NAME = 'Global-Indexer'
+GO
+UPDATE TBDD_MODULES SET STRING1 = '\\windream\objects' WHERE SHORT_NAME = 'GLOBIX' AND STRING1 = 'W';
+CREATE TABLE TBGI_CONFIGURATION
+(
+ GUID TINYINT,
+ WD_UNICODE BIT NOT NULL DEFAULT 0,
+ LICENSEKEY VARCHAR(1000) NOT NULL DEFAULT '',
+ IDX_EMAIL_ID VARCHAR(50) NOT NULL DEFAULT '',
+ IDX_EMAIL_FROM VARCHAR(50) NOT NULL DEFAULT '',
+ IDX_EMAIL_TO VARCHAR(50) NOT NULL DEFAULT '',
+ IDX_EMAIL_SUBJECT VARCHAR(50) NOT NULL DEFAULT '',
+ IDX_EMAIL_DATE_IN VARCHAR(50) NOT NULL DEFAULT '',
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBGI_CONFIGURATION_GUID PRIMARY KEY(GUID),
+ CONSTRAINT CH_TBGI_CONFIGURATION_GUID CHECK(GUID = 1)
+)
+GO
+CREATE TRIGGER TBGI_CONFIGURATION_AFT_UPD ON TBGI_CONFIGURATION
+FOR UPDATE
+AS
+ UPDATE TBGI_CONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBGI_CONFIGURATION.GUID = INSERTED.GUID
+GO
+
+INSERT INTO TBGI_CONFIGURATION(GUID,IDX_EMAIL_ID,LICENSEKEY)
+VALUES
+ (1,'','lsHEktEpn3R1UiIxAnvtY7aM5dBRxgb7aYTlEzH52V0=')
+GO
+------------------------------------------------------------------------------
+CREATE TABLE TBGI_FILES_USER
+(
+ GUID INT IDENTITY(1,1),
+ FILENAME2WORK VARCHAR(500) NOT NULL,
+ FILENAME_ONLY VARCHAR(250) NOT NULL DEFAULT '',
+ FILE_HASH VARCHAR(100),
+ USER@WORK VARCHAR(50) NOT NULL,
+ WORKED BIT NOT NULL DEFAULT 0,
+ HANDLE_TYPE VARCHAR(50) NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE() NOT NULL,
+ CONSTRAINT PK_TBGI_FILES_USER PRIMARY KEY(GUID)
+)
+GO
+------------------------------------------------------------------------------
+CREATE TABLE TBGI_FOLDERWATCH_USER
+(
+ GUID INTEGER IDENTITY(0,1),
+ [USER_ID] INT NOT NULL,
+ FOLDER_PATH VARCHAR(800) NOT NULL,
+ FOLDER_TYPE VARCHAR(20) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBGI_FOLDERWATCH_USER PRIMARY KEY (GUID),
+ CONSTRAINT UQ_USER_FOLDERWATCHPATH UNIQUE([USER_ID],FOLDER_PATH),
+ CONSTRAINT FK_TBGI_FOLDERWATCH_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID),
+)
+GO
+CREATE TRIGGER TBGI_FOLDERWATCH_USER_AFT_UPD ON TBGI_FOLDERWATCH_USER
+FOR UPDATE
+AS
+ UPDATE TBGI_FOLDERWATCH_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBGI_FOLDERWATCH_USER.GUID = INSERTED.GUID
+GO
+------------------------------------------------------------------------------
+CREATE TABLE TBGI_FUNCTION_REGEX
+
+(
+ GUID INTEGER IDENTITY(1,1),
+ FUNCTION_NAME VARCHAR(100) NOT NULL,
+ REGEX VARCHAR(2000) NOT NULL,
+ STRING1 VARCHAR(100),
+ STRING2 VARCHAR(100),
+ ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBGI_FUNCTION_REGEX PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBGI_FUNCTION_REGEX_AFT_UPD ON TBGI_FUNCTION_REGEX
+FOR UPDATE
+AS
+ UPDATE TBGI_FUNCTION_REGEX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBGI_FUNCTION_REGEX.GUID = INSERTED.GUID
+GO
+
+
+INSERT INTO TBGI_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES
+('FROM_EMAIL_HEADER','From:(?:\s*[\w\s\d.@&,|+%\)\(\-]*<|\s*=\?[\w\s\d.@&,|+%?=\)\(\-]+\?=\s*<|\s*""[\w\s\d.@&,|+%\)\(\-]+""\s*<|\s*)([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})>?')
+GO
+INSERT INTO TBGI_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES
+('TO_EMAIL_HEADER','To:(?:\s*[\w\s\d.@&,|+%\)\(\-]+<|\s*=\?[\w\s\d.@&,|+%?=\)\(\-]+\?=\s*<|\s*""[\w\s\d.@&,|+%\)\(\-]+""\s*<|\s*)([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})>?')
+GO
+------------------------------------------------------------------------------
+CREATE TABLE TBGI_HISTORY
+(
+ GUID INT IDENTITY(1,1),
+ FILENAME_ORIGINAL VARCHAR(512),
+ FILENAME_NEW VARCHAR(512),
+ INDEX1 VARCHAR(250),
+ INDEX2 VARCHAR(250),
+ INDEX3 VARCHAR(250),
+ INDEX4 VARCHAR(250),
+ INDEX5 VARCHAR(250),
+ INDEX6 VARCHAR(250),
+ INDEX7 VARCHAR(250),
+ INDEX8 VARCHAR(250),
+ INDEX9 VARCHAR(250),
+ INDEX10 VARCHAR(250),
+ MSG_ID VARCHAR(250),
+ ATTACHMENT BIT NOT NULL DEFAULT 0,
+ ADDED_WHO VARCHAR(50),
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ ADDED_WHERE VARCHAR(100),
+ CONSTRAINT PK_TBGI_HISTORY PRIMARY KEY(GUID)
+)
+GO
+------------------------------------------------------------------------------
+CREATE TABLE TBGI_OBJECTTYPE_EMAIL_INDEX
+
+(
+ GUID INTEGER IDENTITY(1,1),
+ OBJECTTYPE VARCHAR(100) NOT NULL,
+ IDX_EMAIL_ID VARCHAR(50) NOT NULL DEFAULT '',
+ IDX_EMAIL_FROM VARCHAR(50) NOT NULL DEFAULT '',
+ IDX_EMAIL_TO VARCHAR(50) NOT NULL DEFAULT '',
+ IDX_EMAIL_SUBJECT VARCHAR(50) NOT NULL DEFAULT '',
+ IDX_EMAIL_DATE_IN VARCHAR(50) NOT NULL DEFAULT '',
+ IDX_CHECK_ATTACHMENT VARCHAR(50) NOT NULL DEFAULT '',
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBGI_OBJECTTYPE_EMAIL_INDEX PRIMARY KEY (GUID)
+)
+GO
+
+CREATE TRIGGER TBGI_OBJECTTYPE_EMAIL_INDEX_AFT_UPD ON TBGI_OBJECTTYPE_EMAIL_INDEX
+FOR UPDATE
+AS
+ UPDATE TBGI_OBJECTTYPE_EMAIL_INDEX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBGI_OBJECTTYPE_EMAIL_INDEX.GUID = INSERTED.GUID
+GO
+------------------------------------------------------------------------------
+CREATE TABLE TBHOTKEY_PROFILE
+(
+ GUID INTEGER IDENTITY(1,1),
+ NAME VARCHAR(50) NOT NULL,
+ OBJECTTYPE VARCHAR(100) NOT NULL,
+ WD_SEARCH VARCHAR(250) NOT NULL,
+ HOTKEY1 VARCHAR(10) NOT NULL,
+ HOTKEY2 VARCHAR(5) NOT NULL,
+ WINDOW_NAME VARCHAR(100) NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBHOTKEY_PROFILE PRIMARY KEY (GUID)
+)
+GO
+
+CREATE TRIGGER TBHOTKEY_PROFILE_UPD ON TBHOTKEY_PROFILE
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBHOTKEY_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_PROFILE.GUID = INSERTED.GUID
+END
+GO
+------------------------------------------------------------------------------
+
+CREATE TABLE TBHOTKEY_PATTERNS
+(
+ GUID INT IDENTITY(1,1),
+ HKPROFILE_ID INT NOT NULL,
+ PATTERN_WDSEARCH VARCHAR(50) NOT NULL,
+ WINDOW_CONTROL VARCHAR(100) NOT NULL,
+ SEQUENCE_NUMBER INTEGER NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PKTBHOTKEY_PATTERNS PRIMARY KEY(GUID),
+ CONSTRAINT FK_TBHOTKEY_PATTERNS_PROFILE_ID FOREIGN KEY(HKPROFILE_ID) REFERENCES TBHOTKEY_PROFILE(GUID)
+)
+GO
+CREATE TRIGGER TBHOTKEY_PATTERNS_AFT_UPD ON TBHOTKEY_PATTERNS
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBHOTKEY_PATTERNS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_PATTERNS.GUID = INSERTED.GUID
+END
+GO
+------------------------------------------------------------------------------
+CREATE TABLE TBHOTKEY_WINDOW_HOOK
+(
+ GUID INT IDENTITY(1,1),
+ HKPROFILE_ID INT NOT NULL,
+ SEQUENCE_NUMBER INTEGER NOT NULL,
+ CONTROL_VALUE VARCHAR(100) NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PKTBHOTKEY_WINDOW_HOOK PRIMARY KEY(GUID),
+ CONSTRAINT FK_TBHOTKEY_WINDOW_HOOK_PROFILE_ID FOREIGN KEY(HKPROFILE_ID) REFERENCES TBHOTKEY_PROFILE(GUID)
+)
+GO
+CREATE TRIGGER TBHOTKEY_WINDOW_HOOK_AFT_UPD ON TBHOTKEY_WINDOW_HOOK
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBHOTKEY_WINDOW_HOOK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_WINDOW_HOOK.GUID = INSERTED.GUID
+END
+GO
+------------------------------------------------------------------------------
+CREATE TABLE TBHOTKEY_PATTERNS_REWORK
+(
+ GUID INT IDENTITY(1,1),
+ HKPATTERN_ID INT NOT NULL,
+ TYPE VARCHAR(30) NOT NULL,
+ FUNCTION1 VARCHAR(250) DEFAULT '',
+ FUNCTION2 VARCHAR(250) DEFAULT '',
+ TEXT1 VARCHAR(100) DEFAULT '',
+ TEXT2 VARCHAR(100) DEFAULT '',
+ SEQUENCE INTEGER NOT NULL DEFAULT 1,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBHOTKEY_PATTERNS_REWORK PRIMARY KEY(GUID),
+ CONSTRAINT FK_TBHOTKEY_PATTERNS_REWORK_HKPATTERN_ID FOREIGN KEY(HKPATTERN_ID) REFERENCES TBHOTKEY_PATTERNS(GUID)
+)
+GO
+CREATE TRIGGER TTBHOTKEY_PATTERNS_REWORK_AFT_UPD ON TBHOTKEY_PATTERNS_REWORK
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBHOTKEY_PATTERNS_REWORK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_PATTERNS_REWORK.GUID = INSERTED.GUID
+END
+GO
+------------------------------------------------------------------------------
+CREATE TABLE TBHOTKEY_USER_PROFILE
+(
+ GUID INT IDENTITY(1,1),
+ HKPROFILE_ID INT NOT NULL,
+ [USER_ID] INT NOT NULL,
+ WD_SEARCH VARCHAR(250) NOT NULL DEFAULT '',
+ HOTKEY1 VARCHAR(10) NOT NULL DEFAULT '',
+ HOTKEY2 VARCHAR(5) NOT NULL DEFAULT '',
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBHOTKEY_USER_PROFILE PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBHOTKEY_USER_PROFILE UNIQUE (HKPROFILE_ID,[USER_ID]),
+ CONSTRAINT FK_TBHOTKEY_USER_PROFILE_PROFILE_ID FOREIGN KEY(HKPROFILE_ID) REFERENCES TBHOTKEY_PROFILE(GUID),
+ CONSTRAINT FK_TBHOTKEY_USER_PROFILE_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID)
+)
+GO
+CREATE TRIGGER TBHOTKEY_USER_PROFILE_AFT_UPD ON TBHOTKEY_USER_PROFILE
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBHOTKEY_USER_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_USER_PROFILE.GUID = INSERTED.GUID
+END
+GO
+------------------------------------------------------------------------------
+CREATE TABLE TBHOTKEYTEMP_USER_HOTKEYS
+(
+ HOTKEY_ID INTEGER NOT NULL,
+ HOTKEY1 VARCHAR(10) NOT NULL,
+ HOTKEY2 VARCHAR(5) NOT NULL,
+ [USER_ID] INTEGER NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBHOTKEYTEMP_USER_HOTKEYS PRIMARY KEY (HOTKEY1,HOTKEY2,[USER_ID])
+)
+GO
+------------------------------------------------------------------------------
+--############# VIEWS #################
+------------------------------------------------------------------------------
+------------------------------------------------------------------------------
+CREATE VIEW VWGI_DOCTYPE_GROUP AS
+SELECT
+ T.GUID,
+ T.DOCTYPE_ID,
+ T2.BEZEICHNUNG AS DOCTYPE,
+ T.GROUP_ID,
+ T1.NAME AS [GROUP],
+ T.ADDED_WHO,
+ T.ADDED_WHEN,
+ T.CHANGED_WHEN
+FROM
+ TBDD_USRGRP_DOKTYPE T,
+ TBDD_GROUPS T1,
+ TBDD_DOKUMENTART T2
+WHERE
+ T.DOCTYPE_ID = T2.GUID AND
+ T.GROUP_ID = T1.GUID
+GO
+------------------------------------------------------------------------------
+CREATE VIEW VWGI_USER_GROUPS_RELATION AS
+SELECT
+ T.GUID,
+ T.USER_ID,
+ T2.USERNAME,
+ T.GROUP_ID,
+ T1.NAME,
+ T.[ADDED_WHO],
+ T.[ADDED_WHEN],
+ T.[CHANGED_WHO],
+ T.[CHANGED_WHEN]
+ FROM
+ TBDD_GROUPS_USER T,
+ TBDD_GROUPS T1,
+ TBDD_USER T2
+WHERE
+ T.GROUP_ID = T1.GUID AND
+ T.USER_ID = T2.GUID AND
+ T1.INTERNAL = 0 AND
+ T1.ACTIVE = 1
+GO
+------------------------------------------------------------------------------
+--############# PROCEDURES #################
+------------------------------------------------------------------------------
+CREATE PROCEDURE [dbo].[PRDD_GLOBIX_DELETE_DOCTYPE](@pDOCID INT)
+AS
+BEGIN TRY
+ IF OBJECT_ID(N'dbo.TBPMO_CLIENT_DOCTYPE', N'U') IS NOT NULL
+ DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID
+ IF OBJECT_ID(N'dbo.TBPMO_TEMPLATE', N'U') IS NOT NULL
+ DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID
+ IF OBJECT_ID(N'dbo.TBPMO_WD_FORMVIEW_DOKTYPES', N'U') IS NOT NULL
+ DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID
+
+ DELETE FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID IN (SELECT GUID FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID)
+ DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_DOKUMENTART_MODULE WHERE DOKART_ID = @pDOCID
+ DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID
+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].[PRDD_COPY_DOKPROFILE](@pDOCTYPE_ID INT,@pMODULE_ID INT)
+AS
+DECLARE @NEWDOCTYPE_ID INT
+
+BEGIN
+ INSERT INTO TBDD_DOKUMENTART (
+ BEZEICHNUNG,EINGANGSART_ID,WINDREAM_DIRECT,KURZNAME,ZIEL_PFAD,BESCHREIBUNG,AKTIV,NAMENKONVENTION,OBJEKTTYP,FOLDER_FOR_INDEX,ERSTELLTWER,DUPLICATE_HANDLING
+ )
+ SELECT
+ 'COPY_' + BEZEICHNUNG ,EINGANGSART_ID,WINDREAM_DIRECT,KURZNAME,ZIEL_PFAD,BESCHREIBUNG,0,NAMENKONVENTION,OBJEKTTYP,FOLDER_FOR_INDEX,'COPY-PROCEDURE',DUPLICATE_HANDLING FROM TBDD_DOKUMENTART WHERE GUID = @pDOCTYPE_ID
+
+ SELECT @NEWDOCTYPE_ID = MAX(GUID) FROM TBDD_DOKUMENTART
+ INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID,ADDED_WHO) VALUES (@NEWDOCTYPE_ID,@pMODULE_ID,'COPY-PROCEDURE')
+
+ INSERT INTO TBDD_INDEX_AUTOM (
+ DOCTYPE_ID,INDEXNAME,VALUE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,ADDED_WHO)
+ SELECT @NEWDOCTYPE_ID,INDEXNAME,VALUE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,'COPY-PROCEDURE' FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCTYPE_ID
+
+ DECLARE
+ @MANINDEX_ID INTEGER,
+ @NEW_ID INTEGER
+ DECLARE c_INDEX CURSOR FOR
+ SELECT GUID FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCTYPE_ID ORDER BY SEQUENCE
+ OPEN c_INDEX
+ FETCH NEXT FROM c_INDEX INTO @MANINDEX_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBDD_INDEX_MAN (
+ DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE , ADDED_WHO ,SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES)
+ SELECT @NEWDOCTYPE_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE ,'COPY-PROCEDURE',SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES FROM TBDD_INDEX_MAN WHERE GUID = @MANINDEX_ID
+
+ SELECT @NEW_ID = MAX(GUID) FROM TBDD_INDEX_MAN WHERE DOK_ID = @NEWDOCTYPE_ID
+
+ --Nachbearbeitungsfunktionen hinzufügen
+ IF EXISTS(SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = @MANINDEX_ID)
+ BEGIN
+ DECLARE
+ @NB_ID INTEGER
+ DECLARE c_NBFUNCTION CURSOR FOR
+ SELECT GUID FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = @MANINDEX_ID ORDER BY SEQUENCE ASC
+ OPEN c_NBFUNCTION
+ FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ PRINT '@NB_ID: ' + CONVERT(VARCHAR(5),@NB_ID)
+ INSERT INTO TBDD_INDEX_MAN_POSTPROCESSING (
+ IDXMAN_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, ADDED_WHO, VARIANT)
+ SELECT @NEW_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, 'COPY-ROUTINE',VARIANT
+ FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE GUID = @NB_ID
+ FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID
+ END
+ CLOSE c_NBFUNCTION
+ DEALLOCATE c_NBFUNCTION
+ END
+
+ FETCH NEXT FROM c_INDEX INTO @MANINDEX_ID
+ END
+ CLOSE c_INDEX
+ DEALLOCATE c_INDEX
+END
+GO
+ALTER TABLE TBGI_HISTORY ALTER COLUMN FILENAME_NEW VARCHAR(500) NOT NULL
+GO
+ALTER TABLE TBGI_HISTORY ALTER COLUMN FILENAME_ORIGINAL VARCHAR(500) NOT NULL
+GO
+
+CREATE VIEW [dbo].[VWGI_DOCTYPE_IDB] AS
+SELECT DISTINCT
+ T4.GUID as DOCTYPE_ID,
+ T4.BEZEICHNUNG AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T6.OBJECT_TITLE AS OBJECT_STORE,
+ T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID,
+ T7.CAT_TITLE AS OBJECT_ST_PATH,
+ T4.ERSTELLTWANN,
+ T4.GEAENDERTWANN,
+ T4.SEQUENCE
+FROM
+ DD_ECM.dbo.TBDD_DOKUMENTART T4 LEFT JOIN IDB.dbo.TBIDB_OBJECT_STORE T6 ON T4.IDB_OBJECT_STORE_ID = T6.GUID
+ LEFT JOIN IDB.dbo.TBIDB_CATALOG T7 On T6.CAT_ID = T7.GUID
+WHERE
+ --T4.AKTIV = 1 AND
+
+ T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
+GO
+CREATE VIEW [dbo].[VWGI_DOCTYPE] AS
+SELECT DISTINCT
+ T4.GUID as DOCTYPE_ID,
+ T4.BEZEICHNUNG AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T4.ERSTELLTWANN,
+ T4.GEAENDERTWANN,
+ T4.SEQUENCE
+FROM
+ DD_ECM.dbo.TBDD_DOKUMENTART T4
+WHERE
+ --T4.AKTIV = 1 AND
+
+ T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
+GO
+
+CREATE VIEW [dbo].[VWGI_USER_GROUPS_RELATION] AS
+SELECT
+ T.GUID,
+ T.USER_ID,
+ T2.USERNAME,
+ T.GROUP_ID,
+ T1.NAME,
+ T.[ADDED_WHO],
+ T.[ADDED_WHEN],
+ T.[CHANGED_WHO],
+ T.[CHANGED_WHEN]
+ FROM
+ TBDD_GROUPS_USER T,
+ TBDD_GROUPS T1,
+ TBDD_USER T2
+WHERE
+ T.GROUP_ID = T1.GUID AND
+ T.USER_ID = T2.GUID AND
+ T1.INTERNAL = 0 AND
+ T1.ACTIVE = 1
+GO
+CREATE VIEW [dbo].[VWGI_DOCTYPE_USER] AS
+SELECT DISTINCT
+ T.GUID AS [USER_ID],
+ T.USERNAME,
+ --T2.NAME AS GROUP_NAME,
+ T3.DOCTYPE_ID,
+ T4.BEZEICHNUNG AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T5.OBJECT_ST_ID,
+ T4.SEQUENCE
+FROM
+ DD_ECM.dbo.TBDD_USER T,
+ DD_ECM.dbo.TBDD_GROUPS_USER T1,
+ DD_ECM.dbo.TBDD_GROUPS T2,
+ DD_ECM.dbo.TBDD_USRGRP_DOKTYPE T3,
+ DD_ECM.dbo.TBDD_DOKUMENTART T4,
+ IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5
+WHERE
+ T4.AKTIV = 1 AND
+ T.GUID = T1.[USER_ID] AND
+ T1.GROUP_ID = T2.GUID AND
+ T2.GUID = T3.GROUP_ID AND
+ T3.DOCTYPE_ID = T4.GUID AND
+ T4.GUID = T5.DOCTYPE_ID AND
+
+ T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
+UNION
+SELECT DISTINCT
+ T.GUID AS [USER_ID],
+ T.USERNAME,
+ --'' AS GROUP_NAME,
+ T4.GUID as DOCTYPE_ID,
+ T4.BEZEICHNUNG AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T5.OBJECT_ST_ID,
+ T4.SEQUENCE
+FROM
+ DD_ECM.dbo.TBDD_USER T,
+ DD_ECM.dbo.TBDD_USER_DOKTYPE T3,
+ DD_ECM.dbo.TBDD_DOKUMENTART T4,
+ IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5
+WHERE
+ T4.AKTIV = 1 AND
+ T.GUID = T3.[USER_ID] AND
+ T3.DOCTYPE_ID = T4.GUID AND
+ T4.GUID = T5.DOCTYPE_ID AND
+ T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
+GO
+
+
+CREATE VIEW [dbo].[VWGI_DOCTYPE_GROUP] AS
+SELECT
+ T.GUID,
+ T.DOCTYPE_ID,
+ T2.BEZEICHNUNG AS DOCTYPE,
+ T.GROUP_ID,
+ T1.NAME AS [GROUP],
+ T.ADDED_WHO,
+ T.ADDED_WHEN,
+ T.CHANGED_WHEN
+FROM
+ TBDD_USRGRP_DOKTYPE T,
+ TBDD_GROUPS T1,
+ TBDD_DOKUMENTART T2
+WHERE
+ T.DOCTYPE_ID = T2.GUID AND
+ T.GROUP_ID = T1.GUID AND
+ T1.ACTIVE = 1 AND
+ T2.AKTIV = 1
+GO
+ALTER VIEW [dbo].[VWGI_DOCTYPE] AS
+SELECT DISTINCT
+ T.GUID AS [USER_ID],
+ T.USERNAME,
+ T2.NAME AS GROUP_NAME,
+ T3.DOCTYPE_ID,
+ T4.BEZEICHNUNG + ' - ' + T2.NAME AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T4.SEQUENCE
+FROM
+ TBDD_USER T,
+ TBDD_GROUPS_USER T1,
+ TBDD_GROUPS T2,
+ TBDD_USRGRP_DOKTYPE T3,
+ TBDD_DOKUMENTART T4
+WHERE
+ T4.AKTIV = 1 AND
+ T.GUID = T1.[USER_ID] AND
+ T1.GROUP_ID = T2.GUID AND
+ T2.GUID = T3.GROUP_ID AND
+ T3.DOCTYPE_ID = T4.GUID AND
+ T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Global-Indexer')))
+GO
+
+ALTER VIEW [dbo].[VWDDINDEX_MAN]
+AS
+SELECT TOP 2000
+ T.GUID,
+ T.NAME INDEXNAME,
+ T.WD_INDEX,
+ T.MULTISELECT,
+ T.COMMENT,
+ T.DATATYPE,
+ T.DOK_ID,
+ T1.BEZEICHNUNG DOKUMENTART,
+ T1.KURZNAME,
+ T.SUGGESTION,
+ T.CONNECTION_ID,
+ T2.BEZEICHNUNG CONNECTION,
+ T2.SQL_PROVIDER,
+ T2.SERVER,
+ T2.DATENBANK,
+ T2.USERNAME,
+ T2.PASSWORD,
+ T.SQL_RESULT,
+ T.SQL_CHECK,
+ T.OPTIONAL,
+ T.SAVE_VALUE
+FROM
+ TBDD_INDEX_MAN T
+ INNER JOIN TBDD_DOKUMENTART T1 ON T.DOK_ID = T1.GUID AND T1.AKTIV = 1
+ LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1
+WHERE
+ T.ACTIVE = 1
+ORDER BY
+ T.DOK_ID,
+ T.GUID
+GO
+CREATE TABLE TBGI_REGEX_DOCTYPE(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ REGEX VARCHAR(500) NOT NULL,
+ DOCTYPE_ID INTEGER,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBGI_REGEX_DOCTYPE PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBGI_REGEX_DOCTYPE_DTID FOREIGN KEY (DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART (GUID)
+)
+GO
+CREATE TRIGGER TBGI_REGEX_DOCTYPE_AFT_UPD ON TBGI_REGEX_DOCTYPE
+FOR UPDATE
+AS
+ UPDATE TBGI_REGEX_DOCTYPE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBGI_REGEX_DOCTYPE.GUID = INSERTED.GUID
+GO
+ALTER TABLE TBGI_HISTORY ADD ADDED_WHERE VARCHAR(100)
+GO
+IF EXISTS (SELECT name from sys.indexes
+ WHERE name = N'UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID')
+ DROP INDEX UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID ON TBGI_REGEX_DOCTYPE;
+GO
+CREATE UNIQUE INDEX UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID
+ ON TBGI_REGEX_DOCTYPE (DOCTYPE_ID);
+GO
+ALTER PROCEDURE [dbo].[PRDD_CHECK_REL_DOCTYPE_MODULE] (@MODULE_SHORT VARCHAR(20),@DOCTYPE_ID INTEGER)
+AS
+DECLARE @MODULEID INTEGER
+SELECT @MODULEID = GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'GLOBIX'
+
+If not exists(select guid from TBDD_DOKUMENTART_MODULE where DOKART_ID = @DOCTYPE_ID and MODULE_ID = @MODULEID)
+ INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID, ADDED_WHO) VALUES (@DOCTYPE_ID,@MODULEID, 'PRDD_CHECK_REL_DOCTYPE_MODULE')
+GO
+
+
+
+
+
+
+
diff --git a/02_GI/Updates/2.4.0.0.sql b/02_GI/Updates/2.4.0.0.sql
new file mode 100644
index 0000000..9f8dd9e
--- /dev/null
+++ b/02_GI/Updates/2.4.0.0.sql
@@ -0,0 +1,3 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.4.0.0' where NAME = 'Global-Indexer'
+GO
+ALTER TABLE TBDD_INDEX_AUTOM ADD [SEQUENCE] TINYINT NOT NULL DEFAULT 0;
\ No newline at end of file
diff --git a/02_GI/Updates/2.5.0.0.sql b/02_GI/Updates/2.5.0.0.sql
new file mode 100644
index 0000000..36876e3
--- /dev/null
+++ b/02_GI/Updates/2.5.0.0.sql
@@ -0,0 +1,18 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.5.0.0' where NAME = 'Global-Indexer'
+GO
+
+ALTER TABLE TBGI_HISTORY ADD FILE_HASH VARCHAR(100) NULL
+ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX1 VARCHAR(250)
+ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX2 VARCHAR(250)
+ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX3 VARCHAR(250)
+ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX4 VARCHAR(250)
+ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX5 VARCHAR(250)
+ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX6 VARCHAR(250)
+ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX7 VARCHAR(250)
+ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX8 VARCHAR(250)
+ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX9 VARCHAR(250)
+ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX10 VARCHAR(250)
+GO
+
+ALTER TABLE TBGI_FILES_USER ADD FILE_HASH VARCHAR(100) NULL
+GO
\ No newline at end of file
diff --git a/02_GI/Updates/2.5.0.1.sql b/02_GI/Updates/2.5.0.1.sql
new file mode 100644
index 0000000..c9b4c26
--- /dev/null
+++ b/02_GI/Updates/2.5.0.1.sql
@@ -0,0 +1,5 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.5.0.1' where NAME = 'Global-Indexer'
+GO
+
+ALTER TABLE TBGI_HISTORY ADD ADDED_WHERE VARCHAR(100) NULL
+GO
\ No newline at end of file
diff --git a/02_GI/Updates/2.5.1.0.sql b/02_GI/Updates/2.5.1.0.sql
new file mode 100644
index 0000000..3a77c04
--- /dev/null
+++ b/02_GI/Updates/2.5.1.0.sql
@@ -0,0 +1,34 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.5.1.0' where NAME = 'Global-Indexer'
+GO
+
+ALTER VIEW [dbo].[VWDDINDEX_AUTOM]
+AS
+SELECT TOP 100 PERCENT
+ T.GUID,
+ T.INDEXNAME,
+ T.COMMENT,
+ T.DOCTYPE_ID,
+ T1.BEZEICHNUNG DOKUMENTART,
+ T1.KURZNAME,
+ T.CONNECTION_ID,
+ T2.BEZEICHNUNG CONNECTION,
+ T2.SQL_PROVIDER,
+ T2.SERVER,
+ T2.DATENBANK,
+ T2.USERNAME,
+ T2.PASSWORD,
+ T.SQL_RESULT,
+ T.SQL_ACTIVE,
+ T.VALUE,
+ T.[SEQUENCE]
+FROM
+ TBDD_INDEX_AUTOM T
+ INNER JOIN TBDD_DOKUMENTART T1 ON T.DOCTYPE_ID = T1.GUID AND T1.AKTIV = 1
+ LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1
+WHERE
+ T.ACTIVE = 1
+ORDER BY
+ T.DOCTYPE_ID,
+ T.GUID
+
+GO
diff --git a/02_GI/Updates/2.5.2.0.sql b/02_GI/Updates/2.5.2.0.sql
new file mode 100644
index 0000000..9cb289b
--- /dev/null
+++ b/02_GI/Updates/2.5.2.0.sql
@@ -0,0 +1,59 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.5.2.0' where NAME = 'Global-Indexer'
+GO
+
+
+ALTER VIEW [dbo].[VWGI_DOCTYPE] AS
+SELECT DISTINCT
+ T.GUID AS [USER_ID],
+ T.USERNAME,
+ --T2.NAME AS GROUP_NAME,
+ T3.DOCTYPE_ID,
+ T4.BEZEICHNUNG AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T4.IDB_FILESTORE_ID,
+ T4.SEQUENCE
+FROM
+ TBDD_USER T,
+ TBDD_GROUPS_USER T1,
+ TBDD_GROUPS T2,
+ TBDD_USRGRP_DOKTYPE T3,
+ TBDD_DOKUMENTART T4
+WHERE
+ T4.AKTIV = 1 AND
+ T.GUID = T1.[USER_ID] AND
+ T1.GROUP_ID = T2.GUID AND
+ T2.GUID = T3.GROUP_ID AND
+ T3.DOCTYPE_ID = T4.GUID AND
+ T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
+UNION
+SELECT DISTINCT
+ T.GUID AS [USER_ID],
+ T.USERNAME,
+ --'' AS GROUP_NAME,
+ T4.GUID as DOCTYPE_ID,
+ T4.BEZEICHNUNG AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T4.IDB_FILESTORE_ID,
+ T4.SEQUENCE
+FROM
+ TBDD_USER T,
+ TBDD_USER_DOKTYPE T3,
+ TBDD_DOKUMENTART T4
+WHERE
+ T4.AKTIV = 1 AND
+ T.GUID = T3.[USER_ID] AND
+ T3.DOCTYPE_ID = T4.GUID AND
+ T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
+GO
+
+
diff --git a/02_GI/Updates/Added2MainScript/1.9.3.1.sql b/02_GI/Updates/Added2MainScript/1.9.3.1.sql
new file mode 100644
index 0000000..88a9fdf
--- /dev/null
+++ b/02_GI/Updates/Added2MainScript/1.9.3.1.sql
@@ -0,0 +1,9 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '1.9.3.1' where NAME = 'Global-Indexer'
+GO
+ALTER TABLE TBGI_HISTORY ALTER COLUMN FILENAME_NEW VARCHAR(500) NOT NULL
+GO
+ALTER TABLE TBGI_HISTORY ALTER COLUMN FILENAME_ORIGINAL VARCHAR(500) NOT NULL
+GO
+
+
+
diff --git a/02_GI/Updates/Added2MainScript/1.9.8.2.sql b/02_GI/Updates/Added2MainScript/1.9.8.2.sql
new file mode 100644
index 0000000..419f226
--- /dev/null
+++ b/02_GI/Updates/Added2MainScript/1.9.8.2.sql
@@ -0,0 +1,37 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '1.9.8.2' where NAME = 'Global-Indexer'
+GO
+
+ALTER VIEW [dbo].[VWGI_DOCTYPE] AS
+SELECT DISTINCT
+ T.GUID AS [USER_ID],
+ T.USERNAME,
+ T2.NAME AS GROUP_NAME,
+ T3.DOCTYPE_ID,
+ T4.BEZEICHNUNG + ' - ' + T2.NAME AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T4.SEQUENCE
+FROM
+ TBDD_USER T,
+ TBDD_GROUPS_USER T1,
+ TBDD_USER_GROUPS T2,
+ TBDD_USRGRP_DOKTYPE T3,
+ TBDD_DOKUMENTART T4
+WHERE
+ T4.AKTIV = 1 AND
+ T.GUID = T1.[USER_ID] AND
+ T1.GROUP_ID = T2.GUID AND
+ T2.GUID = T3.GROUP_ID AND
+ T3.DOCTYPE_ID = T4.GUID AND
+ T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GI')))
+
+
+
+
+GO
+
+
diff --git a/02_GI/Updates/Added2MainScript/1.9.8.3.sql b/02_GI/Updates/Added2MainScript/1.9.8.3.sql
new file mode 100644
index 0000000..2a5cc2b
--- /dev/null
+++ b/02_GI/Updates/Added2MainScript/1.9.8.3.sql
@@ -0,0 +1,6 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '1.9.8.3' where NAME = 'Global-Indexer'
+GO
+
+ALTER TABLE TBDD_DOKUMENTART
+ADD DUPLICATE_HANDLING VARCHAR(30) NOT NULL DEFAULT 'Default'
+GO
\ No newline at end of file
diff --git a/02_GI/Updates/Added2MainScript/1.9.8.4.sql b/02_GI/Updates/Added2MainScript/1.9.8.4.sql
new file mode 100644
index 0000000..eb81dc8
--- /dev/null
+++ b/02_GI/Updates/Added2MainScript/1.9.8.4.sql
@@ -0,0 +1,192 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '1.9.8.4' where NAME = 'Global-Indexer'
+GO
+ALTER VIEW [dbo].[VWGI_USER_GROUPS_RELATION] AS
+SELECT
+ T.GUID,
+ T.USER_ID,
+ T2.USERNAME,
+ T.GROUP_ID,
+ T1.NAME,
+ T.[ADDED_WHO],
+ T.[ADDED_WHEN],
+ T.[CHANGED_WHO],
+ T.[CHANGED_WHEN]
+ FROM
+ TBDD_GROUPS_USER T,
+ TBDD_GROUPS T1,
+ TBDD_USER T2
+WHERE
+ T.GROUP_ID = T1.GUID AND
+ T.USER_ID = T2.GUID AND
+ T1.INTERNAL = 0 AND
+ T1.ACTIVE = 1
+GO
+ALTER VIEW [dbo].[VWGI_DOCTYPE_GROUP] AS
+SELECT
+ T.GUID,
+ T.DOCTYPE_ID,
+ T2.BEZEICHNUNG AS DOCTYPE,
+ T.GROUP_ID,
+ T1.NAME AS [GROUP],
+ T.ADDED_WHO,
+ T.ADDED_WHEN,
+ T.CHANGED_WHEN
+FROM
+ TBDD_USRGRP_DOKTYPE T,
+ TBDD_GROUPS T1,
+ TBDD_DOKUMENTART T2
+WHERE
+ T.DOCTYPE_ID = T2.GUID AND
+ T.GROUP_ID = T1.GUID AND
+ T1.ACTIVE = 1 AND
+ T2.AKTIV = 1
+GO
+ALTER VIEW [dbo].[VWGI_DOCTYPE] AS
+SELECT DISTINCT
+ T.GUID AS [USER_ID],
+ T.USERNAME,
+ T2.NAME AS GROUP_NAME,
+ T3.DOCTYPE_ID,
+ T4.BEZEICHNUNG + ' - ' + T2.NAME AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T4.SEQUENCE
+FROM
+ TBDD_USER T,
+ TBDD_GROUPS_USER T1,
+ TBDD_GROUPS T2,
+ TBDD_USRGRP_DOKTYPE T3,
+ TBDD_DOKUMENTART T4
+WHERE
+ T4.AKTIV = 1 AND
+ T.GUID = T1.[USER_ID] AND
+ T1.GROUP_ID = T2.GUID AND
+ T2.GUID = T3.GROUP_ID AND
+ T3.DOCTYPE_ID = T4.GUID AND
+ T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Global-Indexer')))
+GO
+
+
+
+CREATE 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_RIGHT_FILE_DEL BIT,
+ MODULE_ACCESS BIT,
+ IS_ADMIN BIT,
+ USERCOUNT_LOGGED_IN INTEGER,
+ COMMENT VARCHAR(500))
+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),
+ @IS_IN_MODULE BIT,
+ @IS_ADMIN BIT,
+ @USER_RIGHT_FILE_DEL BIT,
+ @USERCOUNT_LOGGED_IN INTEGER,
+ @MODULE_NAME VARCHAR(100),
+ @MODULE_GUID INTEGER,
+ @USER_GROUPNAME VARCHAR(100),
+ @ADMIN_GROUPNAME VARCHAR(100)
+
+ 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 FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)
+ SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = @pCLIENTID
+ --CHECK USER ÍS IN MODULE_USER_GROUP
+ IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME)
+ BEGIN
+ SET @IS_IN_MODULE = 1
+ SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME + ')'
+ IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
+ BEGIN
+ SET @RESULT = @RESULT + '| User is also configured in User-Modules'
+ select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID
+ END
+ END
+ ELSE
+ BEGIN
+ SET @RESULT = 'User not part of group (' + @USER_GROUPNAME + ')'
+ IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID)
+ BEGIN
+ SET @RESULT = @RESULT + '| BUT User configured in User-Modules'
+ select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 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_RIGHT_FILE_DEL, MODULE_ACCESS,IS_ADMIN,USERCOUNT_LOGGED_IN, COMMENT)
+ VALUES (@USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_RIGHT_FILE_DEL,@IS_IN_MODULE,@IS_ADMIN,@USERCOUNT_LOGGED_IN,@RESULT)
+
+RETURN
+END
+
+GO
+
+
+
diff --git a/02_GI/Updates/Added2MainScript/1.9.8.5.sql b/02_GI/Updates/Added2MainScript/1.9.8.5.sql
new file mode 100644
index 0000000..ff91200
--- /dev/null
+++ b/02_GI/Updates/Added2MainScript/1.9.8.5.sql
@@ -0,0 +1,50 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '1.9.8.5' where NAME = 'Global-Indexer'
+GO
+ALTER TABLE TBDD_INDEX_MAN ADD MULTISELECT BIT NOT NULL DEFAULT 0
+GO
+ALTER VIEW [dbo].[VWDDINDEX_MAN]
+AS
+SELECT TOP 2000
+ T.GUID,
+ T.NAME INDEXNAME,
+ T.WD_INDEX,
+ T.MULTISELECT,
+ T.COMMENT,
+ T.DATATYPE,
+ T.DOK_ID,
+ T1.BEZEICHNUNG DOKUMENTART,
+ T1.KURZNAME,
+ T.SUGGESTION,
+ T.CONNECTION_ID,
+ T2.BEZEICHNUNG CONNECTION,
+ T2.SQL_PROVIDER,
+ T2.SERVER,
+ T2.DATENBANK,
+ T2.USERNAME,
+ T2.PASSWORD,
+ T.SQL_RESULT,
+ T.SQL_CHECK,
+ T.OPTIONAL,
+ T.SAVE_VALUE
+FROM
+ TBDD_INDEX_MAN T
+ INNER JOIN TBDD_DOKUMENTART T1 ON T.DOK_ID = T1.GUID AND T1.AKTIV = 1
+ LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1
+WHERE
+ T.ACTIVE = 1
+ORDER BY
+ T.DOK_ID,
+ T.GUID
+GO
+IF COL_LENGTH('TBDD_INDEX_MAN','VKT_ADD_ITEM') IS NULL
+BEGIN
+ALTER TABLE TBDD_INDEX_MAN
+ ADD [VKT_ADD_ITEM] BIT NOT NULL DEFAULT 0
+END
+GO
+IF COL_LENGTH('TBDD_INDEX_MAN','VKT_PREVENT_MULTIPLE_VALUES') IS NULL
+BEGIN
+ALTER TABLE TBDD_INDEX_MAN
+ ADD [VKT_PREVENT_MULTIPLE_VALUES] BIT NOT NULL DEFAULT 1
+END
+GO
diff --git a/02_GI/Updates/Added2MainScript/1.9.8.6.sql b/02_GI/Updates/Added2MainScript/1.9.8.6.sql
new file mode 100644
index 0000000..a3f100d
--- /dev/null
+++ b/02_GI/Updates/Added2MainScript/1.9.8.6.sql
@@ -0,0 +1,23 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '1.9.8.6' where NAME = 'Global-Indexer'
+GO
+CREATE TABLE TBGI_REGEX_DOCTYPE(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ REGEX VARCHAR(500) NOT NULL,
+ DOCTYPE_ID INTEGER,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBGI_REGEX_DOCTYPE PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBGI_REGEX_DOCTYPE_DTID FOREIGN KEY (DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART (GUID)
+)
+GO
+CREATE TRIGGER TBGI_REGEX_DOCTYPE_AFT_UPD ON TBGI_REGEX_DOCTYPE
+FOR UPDATE
+AS
+ UPDATE TBGI_REGEX_DOCTYPE SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED
+ WHERE TBGI_REGEX_DOCTYPE.GUID = INSERTED.GUID
+GO
+ALTER TABLE TBGI_HISTORY ADD ADDED_WHERE VARCHAR(100)
+GO
\ No newline at end of file
diff --git a/02_GI/Updates/Added2MainScript/2.0.0.0.sql b/02_GI/Updates/Added2MainScript/2.0.0.0.sql
new file mode 100644
index 0000000..f54aca7
--- /dev/null
+++ b/02_GI/Updates/Added2MainScript/2.0.0.0.sql
@@ -0,0 +1,4 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.0' where NAME = 'Global-Indexer'
+GO
+
+
diff --git a/02_GI/Updates/Added2MainScript/2.0.0.1.sql b/02_GI/Updates/Added2MainScript/2.0.0.1.sql
new file mode 100644
index 0000000..3338fc3
--- /dev/null
+++ b/02_GI/Updates/Added2MainScript/2.0.0.1.sql
@@ -0,0 +1,52 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.1' where NAME = 'Global-Indexer'
+GO
+
+ALTER VIEW [dbo].[VWGI_DOCTYPE] AS
+SELECT DISTINCT
+ T.GUID AS [USER_ID],
+ T.USERNAME,
+ T3.DOCTYPE_ID,
+ T4.BEZEICHNUNG AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T4.SEQUENCE
+FROM
+ TBDD_USER T,
+ TBDD_GROUPS_USER T1,
+ TBDD_GROUPS T2,
+ TBDD_USRGRP_DOKTYPE T3,
+ TBDD_DOKUMENTART T4
+WHERE
+ T4.AKTIV = 1 AND
+ T.GUID = T1.[USER_ID] AND
+ T1.GROUP_ID = T2.GUID AND
+ T2.GUID = T3.GROUP_ID AND
+ T3.DOCTYPE_ID = T4.GUID AND
+ T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
+UNION
+SELECT DISTINCT
+ T.GUID AS [USER_ID],
+ T.USERNAME,
+ T4.GUID as DOCTYPE_ID,
+ T4.BEZEICHNUNG AS DOCTYPE,
+ T4.BEZEICHNUNG AS DOCTYPE_ONLY,
+ T4.KURZNAME,
+ T4.ZIEL_PFAD,
+ T4.AKTIV,
+ T4.NAMENKONVENTION,
+ T4.OBJEKTTYP,
+ T4.SEQUENCE
+FROM
+ TBDD_USER T,
+ TBDD_USER_DOKTYPE T3,
+ TBDD_DOKUMENTART T4
+WHERE
+ T4.AKTIV = 1 AND
+ T.GUID = T3.[USER_ID] AND
+ T3.DOCTYPE_ID = T4.GUID AND
+ T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX')))
+GO
diff --git a/02_GI/Updates/Added2MainScript/2.0.0.12.sql b/02_GI/Updates/Added2MainScript/2.0.0.12.sql
new file mode 100644
index 0000000..4ed0f68
--- /dev/null
+++ b/02_GI/Updates/Added2MainScript/2.0.0.12.sql
@@ -0,0 +1,14 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.12' where NAME = 'Global-Indexer'
+GO
+ALTER PROCEDURE [dbo].[PRDD_CHECK_REL_DOCTYPE_MODULE] (@MODULE_SHORT VARCHAR(20),@DOCTYPE_ID INTEGER)
+AS
+BEGIN
+ DECLARE @MODULEID INTEGER
+ SELECT @MODULEID = GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'GLOBIX'
+
+ If not exists(select guid from TBDD_DOKUMENTART_MODULE where DOKART_ID = @DOCTYPE_ID and MODULE_ID = @MODULEID)
+ INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID) VALUES (@DOCTYPE_ID,@MODULEID)
+END
+GO
+
+UPDATE TBDD_MODULES SET STRING1 = '\\windream\objects' WHERE SHORT_NAME = 'GLOBIX' AND STRING1 = 'W'
\ No newline at end of file
diff --git a/02_GI/Updates/Added2MainScript/2.0.0.16.sql b/02_GI/Updates/Added2MainScript/2.0.0.16.sql
new file mode 100644
index 0000000..09597be
--- /dev/null
+++ b/02_GI/Updates/Added2MainScript/2.0.0.16.sql
@@ -0,0 +1,35 @@
+IF COL_LENGTH('TBDD_MODULES','DB_VERSION') IS NULL
+BEGIN
+ALTER TABLE TBDD_MODULES
+ ADD [DB_VERSION] VARCHAR(10) NOT NULL DEFAULT '1.0.0.0'
+
+END
+GO
+UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.16' where NAME = 'Global-Indexer'
+GO
+IF OBJECT_ID('TBDD_USER_DOKTYPE', 'U') IS NULL
+BEGIN
+ CREATE TABLE [dbo].[TBDD_USER_DOKTYPE](
+ [GUID] [int] IDENTITY(1,1) NOT NULL,
+ [DOCTYPE_ID] [int] NOT NULL,
+ [USER_ID] [int] NOT NULL,
+ [ADDED_WHO] [varchar](50) NOT NULL,
+ [ADDED_WHEN] [datetime] NULL,
+ [CHANGED_WHEN] [datetime] NULL,
+ CONSTRAINT [PKTBDD_USER_DOKTYPE] 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];
+ ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] ADD DEFAULT ('Digital Data') FOR [ADDED_WHO];
+ ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] ADD DEFAULT (getdate()) FOR [ADDED_WHEN];
+ ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_DOKTYPE_DOCTYPE_ID] FOREIGN KEY([DOCTYPE_ID])
+ REFERENCES [dbo].[TBDD_DOKUMENTART] ([GUID]);
+ ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] CHECK CONSTRAINT [FK_TBDD_USER_DOKTYPE_DOCTYPE_ID];
+ ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_DOKTYPE_USER_ID] FOREIGN KEY([USER_ID])
+ REFERENCES [dbo].[TBDD_USER] ([GUID]);
+ ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] CHECK CONSTRAINT [FK_TBDD_USER_DOKTYPE_USER_ID];
+END
+
+
+
diff --git a/02_GI/Updates/Added2MainScript/2.0.0.34.sql b/02_GI/Updates/Added2MainScript/2.0.0.34.sql
new file mode 100644
index 0000000..c6ca611
--- /dev/null
+++ b/02_GI/Updates/Added2MainScript/2.0.0.34.sql
@@ -0,0 +1,20 @@
+/*
+ VOR DEM AUSFÜHREN DIESER DATEI MÜSSEN ZUERST DIE EINTRÄGE IN DER TABELLE0 "TBGI_REGEX_DOCTYPE" BEREINIGT WERDEN!
+ ES MÜSSEN DOPPELTE EINTRÄGE FÜR EIN PROFIL ENTFERNT WERDEN!
+*/
+IF COL_LENGTH('TBDD_MODULES','DB_VERSION') IS NULL
+BEGIN
+ALTER TABLE TBDD_MODULES
+ ADD [DB_VERSION] VARCHAR(10) NOT NULL DEFAULT '1.0.0.0'
+END
+GO
+UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.34' where NAME = 'Global-Indexer'
+GO
+
+IF EXISTS (SELECT name from sys.indexes
+ WHERE name = N'UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID')
+ DROP INDEX UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID ON TBGI_REGEX_DOCTYPE;
+GO
+CREATE UNIQUE INDEX UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID
+ ON TBGI_REGEX_DOCTYPE (DOCTYPE_ID);
+GO
\ No newline at end of file
diff --git a/02_GI/Updates/Added2MainScript/2.3.0.0.sql b/02_GI/Updates/Added2MainScript/2.3.0.0.sql
new file mode 100644
index 0000000..82a6594
--- /dev/null
+++ b/02_GI/Updates/Added2MainScript/2.3.0.0.sql
@@ -0,0 +1,74 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.4.0.0' where NAME = 'Global-Indexer'
+GO
+ALTER TABLE TBPM_CONTROL_TABLE ADD DEFAULT_VALUE VARCHAR (MAX) NOT NULL DEFAULT '';
+ALTER TABLE TBPM_CONTROL_TABLE ADD ADVANCED_LOOKUP BIT NOT NULL DEFAULT 0;
+
+ALTER PROCEDURE [dbo].[PRDD_CHECK_REL_DOCTYPE_MODULE] (@MODULE_SHORT VARCHAR(20),@DOCTYPE_ID INTEGER)
+AS
+DECLARE @MODULEID INTEGER
+SELECT @MODULEID = GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'GLOBIX'
+
+If not exists(select guid from TBDD_DOKUMENTART_MODULE where DOKART_ID = @DOCTYPE_ID and MODULE_ID = @MODULEID)
+ INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID, ADDED_WHO) VALUES (@DOCTYPE_ID,@MODULEID, 'PRDD_CHECK_REL_DOCTYPE_MODULE')
+GO
+
+ALTER PROCEDURE [dbo].[PRDD_COPY_DOKPROFILE](@pDOCTYPE_ID INT,@pMODULE_ID INT)
+AS
+DECLARE @NEWDOCTYPE_ID INT
+
+BEGIN
+ INSERT INTO TBDD_DOKUMENTART (
+ BEZEICHNUNG,EINGANGSART_ID,WINDREAM_DIRECT,KURZNAME,ZIEL_PFAD,BESCHREIBUNG,AKTIV,NAMENKONVENTION,OBJEKTTYP,FOLDER_FOR_INDEX,ERSTELLTWER,DUPLICATE_HANDLING
+ )
+ SELECT
+ 'COPY_' + BEZEICHNUNG ,EINGANGSART_ID,WINDREAM_DIRECT,KURZNAME,ZIEL_PFAD,BESCHREIBUNG,0,NAMENKONVENTION,OBJEKTTYP,FOLDER_FOR_INDEX,'COPY-PROCEDURE',DUPLICATE_HANDLING FROM TBDD_DOKUMENTART WHERE GUID = @pDOCTYPE_ID
+
+ SELECT @NEWDOCTYPE_ID = MAX(GUID) FROM TBDD_DOKUMENTART
+ INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID,ADDED_WHO) VALUES (@NEWDOCTYPE_ID,@pMODULE_ID,'COPY-PROCEDURE')
+
+ INSERT INTO TBDD_INDEX_AUTOM (
+ DOCTYPE_ID,INDEXNAME,VALUE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,ADDED_WHO)
+ SELECT @NEWDOCTYPE_ID,INDEXNAME,VALUE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,'COPY-PROCEDURE' FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCTYPE_ID
+
+ DECLARE
+ @MANINDEX_ID INTEGER,
+ @NEW_ID INTEGER
+ DECLARE c_INDEX CURSOR FOR
+ SELECT GUID FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCTYPE_ID ORDER BY SEQUENCE
+ OPEN c_INDEX
+ FETCH NEXT FROM c_INDEX INTO @MANINDEX_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBDD_INDEX_MAN (
+ DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE , ADDED_WHO ,SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES)
+ SELECT @NEWDOCTYPE_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE ,'COPY-PROCEDURE',SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES FROM TBDD_INDEX_MAN WHERE GUID = @MANINDEX_ID
+
+ SELECT @NEW_ID = MAX(GUID) FROM TBDD_INDEX_MAN WHERE DOK_ID = @NEWDOCTYPE_ID
+
+ --Nachbearbeitungsfunktionen hinzufügen
+ IF EXISTS(SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = @MANINDEX_ID)
+ BEGIN
+ DECLARE
+ @NB_ID INTEGER
+ DECLARE c_NBFUNCTION CURSOR FOR
+ SELECT GUID FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = @MANINDEX_ID ORDER BY SEQUENCE ASC
+ OPEN c_NBFUNCTION
+ FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ PRINT '@NB_ID: ' + CONVERT(VARCHAR(5),@NB_ID)
+ INSERT INTO TBDD_INDEX_MAN_POSTPROCESSING (
+ IDXMAN_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, ADDED_WHO, VARIANT)
+ SELECT @NEW_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, 'COPY-ROUTINE',VARIANT
+ FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE GUID = @NB_ID
+ FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID
+ END
+ CLOSE c_NBFUNCTION
+ DEALLOCATE c_NBFUNCTION
+ END
+
+ FETCH NEXT FROM c_INDEX INTO @MANINDEX_ID
+ END
+ CLOSE c_INDEX
+ DEALLOCATE c_INDEX
+END
\ No newline at end of file
diff --git a/05_ToolCollection/CreateDBObjects.sql b/05_ToolCollection/CreateDBObjects.sql
new file mode 100644
index 0000000..7e62e1d
--- /dev/null
+++ b/05_ToolCollection/CreateDBObjects.sql
@@ -0,0 +1,65 @@
+IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'ToolCollection' )
+ INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('ToolCollection','TC','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1)
+UPDATE TBDD_MODULES SET DB_VERSION = '1.0.0.0' where UPPER(NAME) = UPPER('ToolCollection')
+GO
+CREATE TABLE TBTC_MOVE_RENAME
+(
+ GUID INT IDENTITY(1,1),
+ PROFILE_NAME VARCHAR(100) NOT NULL,
+ FOLDER_FOR_INDEX VARCHAR(500) DEFAULT '' NOT NULL,
+ NAMECONVENTION VARCHAR(500) NOT NULL DEFAULT '',
+ ACTIVE BIT DEFAULT 1 NOT NULL,
+ CREATED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ CREATED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBTC_MOVE_RENAME PRIMARY KEY(GUID),
+ CONSTRAINT UNIQUE_TBTC_MOVE_RENAME UNIQUE(PROFILE_NAME)
+)
+GO
+------------------------------------------------------------------------------
+
+CREATE TRIGGER TBTC_MOVE_RENAME_AFT_UPD ON TBTC_MOVE_RENAME
+FOR UPDATE
+AS
+BEGIN TRY
+ UPDATE TBTC_MOVE_RENAME SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBTC_MOVE_RENAME.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 TBTC_DI_REGEX_MATCH
+(
+ GUID INT IDENTITY(1,1),
+ PROFILE_NAME VARCHAR(250) NOT NULL,
+ REGEX VARCHAR(1000) NOT NULL,
+ CREATED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ CREATED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBTC_DI_REGEX_MATCH PRIMARY KEY(GUID),
+ CONSTRAINT UNIQUE_TBTC_DI_REGEX_MATCH UNIQUE(PROFILE_NAME)
+)
+GO
+------------------------------------------------------------------------------
+
+CREATE TRIGGER TBTC_DI_REGEX_MATCH_AFT_UPD ON TBTC_DI_REGEX_MATCH
+FOR UPDATE
+AS
+BEGIN TRY
+ UPDATE TBTC_DI_REGEX_MATCH SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBTC_DI_REGEX_MATCH.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
diff --git a/05_ToolCollection/Updates/1.0.0.1.sql b/05_ToolCollection/Updates/1.0.0.1.sql
new file mode 100644
index 0000000..fc9a67a
--- /dev/null
+++ b/05_ToolCollection/Updates/1.0.0.1.sql
@@ -0,0 +1,8 @@
+
+IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'ToolCollection' )
+ INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('ToolCollection','TC','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1);
+UPDATE TBDD_MODULES SET DB_VERSION = '1.0.0.1' where UPPER(NAME) = UPPER('ToolCollection')
+GO
+ALTER TABLE TBTC_MOVE_RENAME
+ADD VERSION_OFF BIT DEFAULT 0 NOT NULL
+GO
diff --git a/05_ToolCollection/Updates/1.1.0.0.sql b/05_ToolCollection/Updates/1.1.0.0.sql
new file mode 100644
index 0000000..6281951
--- /dev/null
+++ b/05_ToolCollection/Updates/1.1.0.0.sql
@@ -0,0 +1,26 @@
+IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'ToolCollection' )
+ INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('ToolCollection','TC','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1)
+UPDATE TBDD_MODULES SET DB_VERSION = '1.1.0.0' where UPPER(NAME) = UPPER('ToolCollection')
+GO
+CREATE FUNCTION [dbo].[FNCUST_GET_TC_WD_RIGHTS] (
+ @windreamDocID BIGINT
+)
+RETURNS TABLE
+AS
+RETURN
+
+ ----------------------------------------------------------------------------------------------------------------------------------
+
+ SELECT concat([wdGI].[szNTDomain],'\',[wdGI].[szGroupName]) as 'RightGroups'
+ FROM [windream60].[dbo].[BaseAttributes] as [wdBA] (NOLOCK)
+
+ INNER JOIN [windream60].[dbo].[UserInfo] as [wdUI] (NOLOCK) ON UPPER([wdBA].[szText22]) = UPPER([wdUI].[szUserName]) -- Username for UserID
+ INNER JOIN [windream60].[dbo].[UserGroup] as [wdU2G] (NOLOCK) ON [wdUI].[dwUserID] = [wdU2G].[dwUserOrGroupID] -- UserID for GroupsID
+ INNER JOIN [windream60].[dbo].[GroupInfo] as [wdGI] (NOLOCK) ON [wdU2G].[dwGroupID] = [wdGI].[dwGroupID] -- GroupIDs for Groupnames
+
+ INNER JOIN [DD_ECM].[dbo].[TBDD_USER] as [ddUI] (NOLOCK) ON [wdUI].[dwUserID] = [ddUI].[USERID_FK_INT_ECM] -- windream UserID to DD UserID
+ INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS_USER] as [ddU2G] (NOLOCK) ON [ddUI].[GUID] = [ddU2G].[USER_ID] -- UserID for GroupsID
+ INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS] as [ddGI] (NOLOCK) ON [ddU2G].[GROUP_ID] = [ddGI].[GUID] -- GroupIDs for Groupnames
+
+ WHERE UPPER([wdGI].[szGroupName]) = UPPER([ddGI].[NAME])
+ AND [wdBA].[dwDocID] = @windreamDocID
\ No newline at end of file
diff --git a/06_EmailProfiler/01_Create EmailProfiler DBObjects.sql b/06_EmailProfiler/01_Create EmailProfiler DBObjects.sql
new file mode 100644
index 0000000..e07adaf
--- /dev/null
+++ b/06_EmailProfiler/01_Create EmailProfiler DBObjects.sql
@@ -0,0 +1,345 @@
+--DROP TABLE TBEMLP_CONFIG
+--GO
+CREATE TABLE TBEMLP_CONFIG
+(
+ GUID TINYINT,
+ FONT_BODY VARCHAR(50) NOT NULL DEFAULT 'Calibri',
+ LOG_ERRORS_ONLY BIT NOT NULL DEFAULT 1,
+ CHECK_INTERVALL_MINUTES INTEGER NOT NULL DEFAULT 5,
+ LAST_TICK DATETIME,
+ PATH_EMAIL_TEMP VARCHAR(1000) NOT NULL,
+ PATH_EMAIL_ERRORS VARCHAR(1000) NOT NULL,
+ WM_CON_STRING VARCHAR(1000) NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBEMLP_CONFIG_GUID PRIMARY KEY(GUID),
+ CONSTRAINT CH_TBEMLP_CONFIG_GUID CHECK(GUID = 1)
+)
+GO
+CREATE TRIGGER TBEMLP_CONFIG_AFT_UPD ON TBEMLP_CONFIG
+FOR UPDATE
+AS
+ UPDATE TBEMLP_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_CONFIG.GUID = INSERTED.GUID
+GO
+INSERT INTO TBEMLP_CONFIG (GUID, PATH_EMAIL_TEMP,PATH_EMAIL_ERRORS,WM_CON_STRING) VALUES (1,'E:\TEMP\EMAIL_PROFILER\TEMP','E:\TEMP\EMAIL_PROFILER\ERROR','Data Source=172.24.12.41\tests;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd')
+GO
+------------------------------------------------------------------------------
+IF NOT EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'Email-Profiler')
+INSERT INTO TBDD_MODULES(GUID,NAME,SHORT_NAME,LICENSE,STRING1) VALUES
+(6,'Email-Profiler','EMLP','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=','W')
+GO
+UPDATE TBDD_MODULES SET DB_VERSION = '1.3.0.0' where SHORT_NAME = 'EMLP'
+GO
+--DROP TABLE TBEMLP_POLL_PROFILES
+--select * from TBEMLP_POLL_PROFILES
+--GO
+CREATE TABLE TBEMLP_POLL_PROFILES
+(
+ GUID INTEGER IDENTITY(1,1),
+ PROFILE_NAME VARCHAR(100) NOT NULL,
+ POLL_TYPE VARCHAR(100) NOT NULL, --IMAP OR POP
+ EMAIL_CONF_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(500),
+ LAST_TICK DATETIME,
+ ACTIVE BIT DEFAULT 0 NOT NULL, --
+ SEQUENCE INT DEFAULT 1,
+ ADDED_WHO VARCHAR(50) DEFAULT 'Default',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBEMLP_POLL_PROFILES PRIMARY KEY (GUID)
+)
+GO
+INSERT INTO TBEMLP_POLL_PROFILES (PROFILE_NAME,POLL_TYPE,EMAIL_CONF_ID) VALUES ('TEST1','POP',1)
+GO
+------------------------------------------------------------------------------
+CREATE TRIGGER TBEMLP_POLL_PROFILES_AFT_UPD ON TBEMLP_POLL_PROFILES
+FOR UPDATE
+AS
+ UPDATE TBEMLP_POLL_PROFILES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_PROFILES.GUID = INSERTED.GUID
+GO
+--select * from TBEMLP_POLL_PROCESS
+--DROP TABLE TBEMLP_POLL_INDEXING_STEPS
+--GO
+--DROP TABLE TBEMLP_POLL_STEPS
+--go
+--DROP TABLE TBEMLP_POLL_PROCESS
+--go
+CREATE TABLE TBEMLP_POLL_PROCESS
+(
+ GUID INTEGER IDENTITY(1,1),
+ PROCESS_NAME VARCHAR(100) NOT NULL,
+ STEP_NAME VARCHAR(50) NOT NULL, --'Easy Approval' bei ProcessManager,
+ PROFILE_ID INTEGER NOT NULL,
+ COPY_2_HDD BIT NOT NULL DEFAULT 0,
+ WM_IDX_BODY_TEXT VARCHAR(50) NOT NULL DEFAULT '',
+ WM_IDX_BODY_SUBSTR_LENGTH INTEGER NOT NULL DEFAULT 0,
+ WM_IMPORT BIT NOT NULL DEFAULT 0,
+ WM_OBJEKTTYPE VARCHAR(100),
+ WM_VECTOR_LOG VARCHAR(100),
+ WM_PATH VARCHAR(1000),
+ WM_FILE_NAME VARCHAR(100),
+ WM_REFERENCE_INDEX VARCHAR(100),
+ PATH_EMAIL_TEMP VARCHAR(1000) NOT NULL DEFAULT '',
+ PATH_EMAIL_ERRORS VARCHAR(1000) NOT NULL DEFAULT '',
+ PATH_ORIGINAL VARCHAR(1000),
+ DELETE_MAIL BIT NOT NULL DEFAULT 0,
+ USE_FOR_DIRECT_ANSWER BIT NOT NULL DEFAULT 0,
+ COMMENT VARCHAR(500),
+ ACTIVE BIT DEFAULT 1 NOT NULL, --
+ SEQUENCE INT DEFAULT 1,
+ ADDED_WHO VARCHAR(50) DEFAULT 'Default',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBEMLP_POLL_PROCESS PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBEMLP_POLL_PROCESS_PROFILE_ID FOREIGN KEY (PROFILE_ID) REFERENCES TBEMLP_POLL_PROFILES (GUID)
+)
+GO
+INSERT INTO TBEMLP_POLL_PROCESS (PROCESS_NAME,STEP_NAME,PROFILE_ID,PATH_EMAIL_TEMP,PATH_EMAIL_ERRORS,COPY_2_HDD,
+WM_IMPORT,
+WM_OBJEKTTYPE,
+WM_VECTOR_LOG,
+WM_PATH,
+WM_FILE_NAME,
+WM_REFERENCE_INDEX,
+SEQUENCE,DELETE_MAIL) VALUES ('ProcessManager','Easy Approval',1,'E:\TEMP\EMAIL_PROFILER\TEMP','E:\TEMP\EMAIL_PROFILER\ERROR',1,
+0,
+'DIGITAL DATA - Entwicklung',
+'Vektor_Text1',
+'W:\Import_Temp',
+'EA_[%DATE]_',
+'Dokument-ID',
+1,1)
+GO
+CREATE TRIGGER TBEMLP_POLL_PROCESS_AFT_UPD ON TBEMLP_POLL_PROCESS
+FOR UPDATE
+AS
+ UPDATE TBEMLP_POLL_PROCESS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_PROCESS.GUID = INSERTED.GUID
+GO
+------------------------------------------------------------------------------
+--select * from TBEMLP_POLL_STEPS
+--GO
+CREATE TABLE TBEMLP_POLL_STEPS
+(
+ GUID INTEGER IDENTITY(1,1),
+ PROCESS_ID INTEGER NOT NULL,
+ STEP_NAME VARCHAR(50) NOT NULL, --'z.B. Invoice Approved or Invoice Disapproved' bei ProcessManager,
+ KEYWORDS_BODY VARCHAR(1000),
+ COMMENT VARCHAR(500),
+ ACTIVE BIT DEFAULT 1 NOT NULL, --
+ SEQUENCE INT DEFAULT 1,
+ ADDED_WHO VARCHAR(50) DEFAULT 'Default',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBEMLP_POLL_STEPS PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBEMLP_POLL_STEPS_PROCESS_ID FOREIGN KEY (PROCESS_ID) REFERENCES TBEMLP_POLL_PROCESS (GUID)
+)
+GO
+INSERT INTO TBEMLP_POLL_STEPS (PROCESS_ID,STEP_NAME,KEYWORDS_BODY,ACTIVE) VALUES (1,'Invoice Disapproved','Disapproved;Abgelehnt',1)
+GO
+INSERT INTO TBEMLP_POLL_STEPS (PROCESS_ID,STEP_NAME,KEYWORDS_BODY,ACTIVE) VALUES (1,'Invoice Approved','OK;Approved;OK',1)
+GO
+CREATE TRIGGER TBEMLP_POLL_STEPS_AFT_UPD ON TBEMLP_POLL_STEPS
+FOR UPDATE
+AS
+ UPDATE TBEMLP_POLL_STEPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_STEPS.GUID = INSERTED.GUID
+GO
+CREATE TABLE TBEMLP_POLL_INDEXING_STEPS
+(
+ GUID SMALLINT IDENTITY(1,1),
+ STEP_ID INTEGER NOT NULL,
+ INDEXNAME VARCHAR(100) NOT NULL, --'Easy Approval' bei ProcessManager,
+ INDEXVALUE VARCHAR(100) NOT NULL,
+ USE_FOR_DIRECT_ANSWER BIT NOT NULL DEFAULT 0,
+ ACTIVE BIT DEFAULT 1 NOT NULL, --
+ SEQUENCE INT DEFAULT 1,
+ ADDED_WHO VARCHAR(50) DEFAULT 'Default',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBEMLP_POLL_INDEXING_STEPS PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBEMLP_POLL_INDEXING_STEPS_STEP_ID FOREIGN KEY (STEP_ID) REFERENCES TBEMLP_POLL_STEPS (GUID)
+)
+GO
+CREATE TRIGGER TBEMLP_POLL_INDEXING_STEPS_AFT_UPD ON TBEMLP_POLL_INDEXING_STEPS
+FOR UPDATE
+AS
+ UPDATE TBEMLP_POLL_INDEXING_STEPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_INDEXING_STEPS.GUID = INSERTED.GUID
+GO
+INSERT INTO TBEMLP_POLL_INDEXING_STEPS (STEP_ID,INDEXNAME,INDEXVALUE) VALUES (1,'Dokumentart','Email-Approved')
+GO
+INSERT INTO TBEMLP_POLL_INDEXING_STEPS (STEP_ID,INDEXNAME,INDEXVALUE) VALUES (2,'Dokumentart','Email-Disapproved')
+GO
+--select * from TBEMLP_POLL_INDEXING_STEPS
+--GO
+CREATE TABLE TBEMLP_EMAIL_OUT
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ REMINDER_TYPE_ID INTEGER NOT NULL DEFAULT '1',
+ SENDING_PROFILE INTEGER NOT NULL,
+ REFERENCE_ID INTEGER NOT NULL,
+ REFERENCE_STRING VARCHAR(200),
+ ENTITY_ID INTEGER,
+ WF_ID INTEGER NOT NULL,
+ WF_REFERENCE VARCHAR(200),
+ EMAIL_ADRESS VARCHAR(1000) NOT NULL,
+ EMAIL_SUBJ VARCHAR(500) NOT NULL,
+ EMAIL_BODY VARCHAR(500) NOT NULL,
+ EMAIL_ATTMT1 VARCHAR(512),
+ EMAIL_SENT DATETIME,
+ COMMENT VARCHAR(500),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ ERROR_TIMESTAMP DATETIME,
+ ERROR_MSG VARCHAR(900),
+ CONSTRAINT PK_TBEMLP_EMAIL_OUT PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBEMLP_EMAIL_OUT_SENDING_PROFILE FOREIGN KEY (SENDING_PROFILE) REFERENCES TBDD_EMAIL_ACCOUNT (GUID)
+)
+GO
+
+CREATE FUNCTION [dbo].[FNDD_GET_WINDREAM_FILE_PATH] (@pDOCID BIGINT,@WMLAUFWERK as VARCHAR(1))
+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
+
+ SELECT @FSFLAGS = dwFSFlags FROM windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID
+ IF @FSFLAGS = 16
+ BEGIN
+ SET @RESULT = 'THIS IS NOT A FILE!'
+ END
+ ELSE
+ BEGIN
+ SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID
+ WHILE @a > 0
+ BEGIN
+ IF @i = 0
+ BEGIN
+ IF @PARENT_ID = 1
+ BEGIN
+ SET @RESULT = '\'
+ BREAK
+ END
+ ELSE
+ BEGIN
+ SET @DOCID = @PARENT_ID
+ SET @RESULT = '\'
+ END
+ END
+ ELSE
+ BEGIN
+ IF @PARENT_ID = 1
+ BEGIN
+ SET @RESULT = '\' + @PARENTNAME + @RESULT
+ BREAK
+ END
+ ELSE
+ BEGIN
+ SET @DOCID = @PARENT_ID
+ SET @RESULT = '\' + @PARENTNAME + @RESULT
+ END
+ END
+ --select * from windream60.dbo.BaseAttributes
+ SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID
+ SET @i = @i + 1
+ END
+ END
+
+ SET @RESULT = @WMLAUFWERK +':' + @RESULT + @DATEINAME
+ RETURN @RESULT
+END
+GO
+CREATE TABLE TBEMLP_HISTORY
+(
+ GUID INTEGER IDENTITY(1,1),
+ WORK_PROCESS VARCHAR(100),
+ EMAIL_MSGID VARCHAR(500) NOT NULL,
+ EMAIL_FROM VARCHAR(500) NOT NULL DEFAULT 'NONE',
+ EMAIL_SUBJECT VARCHAR(MAX),
+ EMAIL_DATE DATETIME,
+ EMAIL_BODY VARCHAR(MAX),
+ EMAIL_SUBSTRING1 VARCHAR(2000),
+ EMAIL_SUBSTRING2 VARCHAR(2000),
+ DATE_DELETED_INBOX DATETIME,
+ COMMENT VARCHAR(500),
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBEMLP_HISTORY PRIMARY KEY (GUID)
+)
+GO
+CREATE TABLE TBEMLP_HISTORY_STATE
+(
+GUID INTEGER NOT NULL IDENTITY (1, 1),
+MESSAGE_ID VARCHAR(900) NOT NULL,
+STATE_TITLE VARCHAR(900) NOT NULL,
+STATE_TITLE1 VARCHAR(900) ,
+COMMENT VARCHAR(3000),
+ADDED_WHO VARCHAR(30) DEFAULT 'Digital Data',
+ADDED_WHEN DATETIME DEFAULT (GETDATE()),
+CHANGED_WHO VARCHAR(30),
+CHANGED_WHEN DATETIME,
+CONSTRAINT PK_TBEMLP_HISTORY_STATE PRIMARY KEY (GUID)
+)
+GO
+CREATE PROCEDURE PRCUST_ADD_HISTORY_STATE @MessageID VARCHAR(250), @TITLE1 VARCHAR(250), @TITLE2 VARCHAR(250), @COMMENT VARCHAR(3000) = 0
+AS
+BEGIN
+ INSERT INTO TBEMLP_HISTORY_STATE
+ (MESSAGE_ID,STATE_TITLE,STATE_TITLE1,COMMENT) VALUES (@MessageID,@TITLE1,@TITLE2,@COMMENT)
+END
+GO
+-- =============================================
+-- Author: DD MS
+-- Creation date: 07.05.2020
+-- =============================================
+CREATE PROCEDURE PREMAIL_NEW_EMAIL @SENDING_PROFILE TINYINT, @EMAIL_TO VARCHAR(100),@SUBJECT VARCHAR(200),@BODY VARCHAR(MAX),@REF_STRING As VARCHAR(900),@REF_ID BIGINT,@WF_ID INT,@WHO VARCHAR(100) AS
+BEGIN
+ INSERT INTO [dbo].[TBEMLP_EMAIL_OUT]
+ ([SENDING_PROFILE]
+ ,[WF_ID]
+ ,[EMAIL_ADRESS]
+ ,[EMAIL_SUBJ]
+ ,[EMAIL_BODY]
+ ,REFERENCE_STRING
+ ,REFERENCE_ID
+ ,[ADDED_WHO])
+ VALUES (@SENDING_PROFILE,
+ @WF_ID,
+ @EMAIL_TO,
+ @SUBJECT,
+ @BODY,
+ @REF_STRING,
+ @REF_ID,
+ @WHO)
+END
+GO
+ALTER TABLE TBEDMI_ITEM_VALUE ADD SPEC_NAME VARCHAR(250)
+GO
+ALTER TABLE TBEDMI_ITEM_VALUE ADD IS_REQUIRED BIT NOT NULL DEFAULT 0
+GO
+
+CREATE TABLE dbo.TBEDMI_ITEM_VALUE(
+ GUID BIGINT NOT NULL IDENTITY (1, 1),
+ REFERENCE_GUID nvarchar(max) NOT NULL,
+ ITEM_DESCRIPTION nvarchar(max) NOT NULL,
+ ITEM_VALUE nvarchar(max) NULL,
+ CREATEDWHEN datetime NOT NULL DEFAULT GETDATE(),
+ CREATEDWHO nvarchar(max),
+ CHANGEDWHEN datetime,
+ GROUP_COUNTER integer NULL
+) ON PRIMARY TEXTIMAGE_ON PRIMARY
+GO
+
+
diff --git a/06_EmailProfiler/E-Mail Profiler RegEX.txt b/06_EmailProfiler/E-Mail Profiler RegEX.txt
new file mode 100644
index 0000000..bfe1b69
--- /dev/null
+++ b/06_EmailProfiler/E-Mail Profiler RegEX.txt
@@ -0,0 +1,8 @@
+E-Mail Profiler RegExes - Stand 18.05.2020
+
+Regex Remove HTML-Context1:
+\
.{1,}\<\/title\>|<[^<>]{1,}>|&[\w\W]{1,6};|[\d]{2,4};
+
+Regex Remove HTML-Context2:
+<[^<>]{1,}>|&[\w\W]{1,6};|[\d]{2,4};|[a-zA-Z0-9\-_\.]{1,}@[a-zA-Z0-9\-_\.]{1,}|[\s]{0,}Von:[\s]{0,}.{0,}|[\s]{0,}wrote:[\s]{0,}[^##]{0,}|[\s]{0,}Datum:[\s]{0,}.{0,}|[\s]{0,}An:[\s]{0,}.{0,}|[\s]{0,}Betreff:[\s]{0,}.{0,}|Von meinem iPhone gesendet|Outlook for Android herunterladen|[\s]{0,}Am\s[\d]{2}\.[\d]{2}\.[\d]{4}\s.{1,}|[\s]{0,}On\ [a-zA-Z]{2,3}\,\ [a-zA-Z]{2,3}\s[0-9]{2}\,\s[0-9]{4}.{1,}\s|
+>\s##.+|>.+##| \- Answer with \*Disaprove\* or \*Abgelehnt\* to neglect the invoice| - Direct answer will approve the invoice.| \*Please approve attached invoice.\*| \*ID #[0-9]{7}\*|>|##Please answer over this line##|ID #[0-9]{7}|Please approve attached invoice.|- Direct answer will approve the invoice.|- Answer with Disaprove or Abgelehnt to neglect the invoice
\ No newline at end of file
diff --git a/06_EmailProfiler/Updates - Added2Main/1.0.0.1.sql b/06_EmailProfiler/Updates - Added2Main/1.0.0.1.sql
new file mode 100644
index 0000000..c62d6d8
--- /dev/null
+++ b/06_EmailProfiler/Updates - Added2Main/1.0.0.1.sql
@@ -0,0 +1,53 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '1.0.0.1' where SHORT_NAME = 'EMLP'
+GO
+ALTER TABLE TBEMLP_POLL_INDEXING_STEPS ADD USE_FOR_DIRECT_ANSWER BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBEMLP_POLL_PROCESS ADD WM_IDX_BODY_TEXT VARCHAR(50) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBEMLP_POLL_PROCESS ADD WM_IDX_BODY_SUBSTR_LENGTH INTEGER NOT NULL DEFAULT 0
+GO
+ALTER TRIGGER TBEMLP_POLL_PROFILES_AFT_UPD ON TBEMLP_POLL_PROFILES
+FOR UPDATE
+AS
+ UPDATE TBEMLP_POLL_PROFILES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_PROFILES.GUID = INSERTED.GUID
+GO
+ALTER TRIGGER TBEMLP_POLL_PROCESS_AFT_UPD ON TBEMLP_POLL_PROCESS
+FOR UPDATE
+AS
+ UPDATE TBEMLP_POLL_PROCESS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_PROCESS.GUID = INSERTED.GUID
+GO
+ALTER TRIGGER TBEMLP_POLL_STEPS_AFT_UPD ON TBEMLP_POLL_STEPS
+FOR UPDATE
+AS
+ UPDATE TBEMLP_POLL_STEPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_STEPS.GUID = INSERTED.GUID
+GO
+CREATE TRIGGER TBEMLP_POLL_INDEXING_STEPS_AFT_UPD ON TBEMLP_POLL_INDEXING_STEPS
+FOR UPDATE
+AS
+ UPDATE TBEMLP_POLL_INDEXING_STEPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_INDEXING_STEPS.GUID = INSERTED.GUID
+GO
+ALTER TABLE TBEMLP_CONFIG ADD CHECK_INTERVALL_MINUTES INT NOT NULL DEFAULT 5
+GO
+CREATE TABLE TBEMLP_HISTORY
+(
+ GUID INTEGER IDENTITY(1,1),
+ WORK_PROCESS VARCHAR(100),
+ EMAIL_MSGID VARCHAR(500) NOT NULL,
+ EMAIL_SUBJECT VARCHAR(MAX),
+ EMAIL_DATE DATETIME,
+ EMAIL_BODY VARCHAR(MAX),
+ EMAIL_SUBSTRING1 VARCHAR(2000),
+ EMAIL_SUBSTRING2 VARCHAR(2000),
+ COMMENT VARCHAR(500),
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBEMLP_HISTORY PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBEMLP_CONFIG_AFT_UPD ON TBEMLP_CONFIG
+FOR UPDATE
+AS
+ UPDATE TBEMLP_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_CONFIG.GUID = INSERTED.GUID
+GO
+ALTER TABLE TBEMLP_POLL_PROCESS ADD PATH_ORIGINAL VARCHAR(1000)
+GO
+
diff --git a/06_EmailProfiler/Updates - Added2Main/1.1.0.0.sql b/06_EmailProfiler/Updates - Added2Main/1.1.0.0.sql
new file mode 100644
index 0000000..8d730a4
--- /dev/null
+++ b/06_EmailProfiler/Updates - Added2Main/1.1.0.0.sql
@@ -0,0 +1,5 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '1.1.0.0' where SHORT_NAME = 'EMLP'
+GO
+ALTER TABLE TBEMLP_HISTORY ADD EMAIL_FROM VARCHAR(500) NOT NULL DEFAULT 'NONE'
+GO
+
diff --git a/06_EmailProfiler/Updates - Added2Main/1.2.0.0.sql b/06_EmailProfiler/Updates - Added2Main/1.2.0.0.sql
new file mode 100644
index 0000000..50df04c
--- /dev/null
+++ b/06_EmailProfiler/Updates - Added2Main/1.2.0.0.sql
@@ -0,0 +1,23 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '1.2.0.0' where SHORT_NAME = 'EMLP'
+GO
+CREATE TABLE TBEMLP_HISTORY_STATE
+(
+GUID INTEGER NOT NULL IDENTITY (1, 1),
+MESSAGE_ID VARCHAR(900) NOT NULL,
+STATE_TITLE VARCHAR(900) NOT NULL,
+STATE_TITLE1 VARCHAR(900) ,
+COMMENT VARCHAR(3000),
+ADDED_WHO VARCHAR(30) DEFAULT 'Digital Data',
+ADDED_WHEN DATETIME DEFAULT (GETDATE()),
+CHANGED_WHO VARCHAR(30),
+CHANGED_WHEN DATETIME,
+CONSTRAINT PK_TBEMLP_HISTORY_STATE PRIMARY KEY (GUID)
+)
+GO
+CREATE PROCEDURE PRCUST_ADD_HISTORY_STATE @MessageID VARCHAR(250), @TITLE1 VARCHAR(250), @TITLE2 VARCHAR(250), @COMMENT VARCHAR(3000) = 0
+AS
+BEGIN
+ INSERT INTO TBEMLP_HISTORY_STATE
+ (MESSAGE_ID,STATE_TITLE,STATE_TITLE1,COMMENT) VALUES (@MessageID,@TITLE1,@TITLE2,@COMMENT)
+END
+GO
\ No newline at end of file
diff --git a/06_EmailProfiler/Updates - Added2Main/1.2.0.1.sql b/06_EmailProfiler/Updates - Added2Main/1.2.0.1.sql
new file mode 100644
index 0000000..71b46f0
--- /dev/null
+++ b/06_EmailProfiler/Updates - Added2Main/1.2.0.1.sql
@@ -0,0 +1,29 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '1.2.0.1' where SHORT_NAME = 'EMLP'
+GO
+ALTER TABLE TBEMLP_HISTORY ADD DATE_DELETED_INBOX DATETIME
+GO
+-- =============================================
+-- Author: DD MS
+-- Creation date: 07.05.2020
+-- =============================================
+CREATE PROCEDURE PREMAIL_NEW_EMAIL @SENDING_PROFILE TINYINT, @EMAIL_TO VARCHAR(100),@SUBJECT VARCHAR(200),@BODY VARCHAR(MAX),@REF_STRING As VARCHAR(900),@REF_ID BIGINT,@WF_ID INT,@WHO VARCHAR(100) AS
+BEGIN
+ INSERT INTO [dbo].[TBEMLP_EMAIL_OUT]
+ ([SENDING_PROFILE]
+ ,[WF_ID]
+ ,[EMAIL_ADRESS]
+ ,[EMAIL_SUBJ]
+ ,[EMAIL_BODY]
+ ,REFERENCE_STRING
+ ,REFERENCE_ID
+ ,[ADDED_WHO])
+ VALUES (@SENDING_PROFILE,
+ @WF_ID,
+ @EMAIL_TO,
+ @SUBJECT,
+ @BODY,
+ @REF_STRING,
+ @REF_ID,
+ @WHO)
+END
+GO
\ No newline at end of file
diff --git a/06_EmailProfiler/Updates - Added2Main/1.3.0.0.sql b/06_EmailProfiler/Updates - Added2Main/1.3.0.0.sql
new file mode 100644
index 0000000..ce46c74
--- /dev/null
+++ b/06_EmailProfiler/Updates - Added2Main/1.3.0.0.sql
@@ -0,0 +1,6 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '1.3.0.0' where SHORT_NAME = 'EMLP'
+GO
+ALTER TABLE TBEMLP_EMAIL_OUT ADD ERROR_TIMESTAMP DATETIME
+GO
+ALTER TABLE TBEMLP_EMAIL_OUT ADD ERROR_MSG VARCHAR(900)
+GO
\ No newline at end of file
diff --git a/07_UserManager/Added2MainScript/1.1.0.0.sql b/07_UserManager/Added2MainScript/1.1.0.0.sql
new file mode 100644
index 0000000..17b8400
--- /dev/null
+++ b/07_UserManager/Added2MainScript/1.1.0.0.sql
@@ -0,0 +1,22 @@
+
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '1.1.0.0' where SHORT_NAME = 'UM'
+GO
+CREATE TABLE TBUM_AD_COMMAND
+(
+ GUID INTEGER IDENTITY(1,1),
+ AD_CMD_NAME VARCHAR(250),
+ COMMAND_STRING VARCHAR(MAX),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBUM_AD_COMMAND PRIMARY KEY (GUID),
+ CONSTRAINT UC_TBUM_AD_COMMAND UNIQUE (AD_CMD_NAME),
+)
+GO
+CREATE TRIGGER TBUM_AD_COMMAND_AFT_UPD ON TBUM_AD_COMMAND
+FOR UPDATE
+AS
+ UPDATE TBUM_AD_COMMAND SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBUM_AD_COMMAND.GUID = INSERTED.GUID
+GO
diff --git a/07_UserManager/Added2MainScript/1.2.0.0.sql b/07_UserManager/Added2MainScript/1.2.0.0.sql
new file mode 100644
index 0000000..ccbe896
--- /dev/null
+++ b/07_UserManager/Added2MainScript/1.2.0.0.sql
@@ -0,0 +1,27 @@
+
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '1.2.0.0' where SHORT_NAME = 'UM'
+GO
+CREATE OR ALTER PROCEDURE [dbo].[PRDD_DELETE_GROUP](@pGROUP_ID INT)
+AS
+BEGIN TRY
+ -- COMMON
+ IF OBJECT_ID(N'dbo.TBDD_GROUPS_USER', N'U') IS NOT NULL
+ DELETE FROM TBDD_GROUPS_USER WHERE GROUP_ID = @pGROUP_ID
+ IF OBJECT_ID(N'dbo.TBDD_GROUPS_CLIENT', N'U') IS NOT NULL
+ DELETE FROM TBDD_GROUPS_CLIENT WHERE GROUP_ID = @pGROUP_ID
+ IF OBJECT_ID(N'dbo.TBDD_GROUPS_MODULES', N'U') IS NOT NULL
+ DELETE FROM TBDD_GROUPS_MODULES WHERE GROUP_ID = @pGROUP_ID
+
+ -- FINALLY
+ DELETE FROM TBDD_GROUPS WHERE GUID = @pGROUP_ID
+
+ RETURN 0
+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())
+ RETURN -1
+END CATCH
+
+GO
\ No newline at end of file
diff --git a/07_UserManager/CreateDBObjects.sql b/07_UserManager/CreateDBObjects.sql
new file mode 100644
index 0000000..9638a5e
--- /dev/null
+++ b/07_UserManager/CreateDBObjects.sql
@@ -0,0 +1,182 @@
+
+/*##################################
+1. Search for @INSTALL_ADMIN_USER and replace the username You use for adminsitration
+####################################*/
+
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '1.0.0.1' where SHORT_NAME = 'UM'
+GO
+BEGIN
+ IF NOT EXISTS (SELECT 1 FROM TBDD_GROUPS WHERE NAME = 'UM_ADMINS')
+ INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('UM_ADMINS',1);
+END
+DECLARE @MY_INSTALL_ADMIN_USER VARCHAR(50)
+SET @MY_INSTALL_ADMIN_USER = '@INSTALL_ADMIN_USER'
+IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@MY_INSTALL_ADMIN_USER))
+ INSERT INTO TBDD_USER(PRENAME,NAME,USERNAME) VALUES
+ ('DefPrename','DefSurname',@MY_INSTALL_ADMIN_USER)
+GO
+
+ALTER TABLE [dbo].[TBDD_GROUPS_USER] DROP CONSTRAINT [FK_TBDD_GROUPS_USER_GROUP_ID]
+GO
+ALTER TABLE [dbo].[TBDD_GROUPS_USER] WITH CHECK ADD CONSTRAINT [FK_TBDD_GROUPS_USER_GROUP_ID] FOREIGN KEY([GROUP_ID])
+REFERENCES [dbo].[TBDD_GROUPS] ([GUID])
+GO
+
+ALTER TABLE [dbo].[TBDD_GROUPS_USER] CHECK CONSTRAINT [FK_TBDD_GROUPS_USER_GROUP_ID]
+GO
+
+
+
+DECLARE @MY_INSTALL_ADMIN_USER VARCHAR(50)
+SET @MY_INSTALL_ADMIN_USER = '@INSTALL_ADMIN_USER'
+DECLARE @USERID Int
+SELECT @USERID = GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@MY_INSTALL_ADMIN_USER)
+DECLARE @UM_GROUP_ID INT
+SELECT @UM_GROUP_ID = GUID FROM TBDD_GROUPS WHERE NAME = 'UM_ADMINS'
+IF NOT EXISTS(SELECT GUID FROM TBDD_GROUPS_USER WHERE USER_ID = @USERID AND GROUP_ID = @UM_GROUP_ID)
+ INSERT INTO TBDD_GROUPS_USER (GROUP_ID,USER_ID) VALUES (@UM_GROUP_ID,@USERID)
+GO
+--if not exists (select * from sysobjects where name='TBDD_GROUPS_MODULES' and xtype='U')
+--CREATE TABLE TBDD_GROUPS_MODULES
+--(
+-- GUID INTEGER IDENTITY(1,1),
+-- MODULE_ID INT NOT NULL,
+-- GROUP_ID INT NOT NULL,
+-- COMMENT VARCHAR(200),
+-- ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+-- ADDED_WHEN DATETIME DEFAULT GETDATE(),
+-- CHANGED_WHO VARCHAR(50),
+-- CHANGED_WHEN DATETIME,
+-- CONSTRAINT PK_TBDD_GROUPS_MODULES PRIMARY KEY (GUID),
+-- CONSTRAINT UC_MODULE_GROUP UNIQUE (MODULE_ID,GROUP_ID),
+-- CONSTRAINT FK_TBDD_GROUPS_MODULES_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID),
+-- CONSTRAINT FK_TBDD_GROUPS_MODULES_MODULE_ID FOREIGN KEY(MODULE_ID) REFERENCES TBDD_MODULES(GUID),
+--)
+--GO
+--CREATE TABLE TBDD_CLIENT
+--(
+-- GUID INTEGER IDENTITY(1,1),
+-- CLIENT_NAME VARCHAR(50) NOT NULL UNIQUE,
+-- SHORTNAME VARCHAR(30),
+-- LICENSE_PMO VARCHAR(5000) NOT NULL DEFAULT '',
+-- LICENSE_GI VARCHAR(5000) NOT NULL DEFAULT '',
+-- LICENSE_PM VARCHAR(5000) NOT NULL DEFAULT '',
+-- COMMENT VARCHAR(200),
+-- ACTIVE BIT NOT NULL DEFAULT 1,
+-- ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+-- ADDED_WHEN DATETIME DEFAULT GETDATE(),
+-- CHANGED_WHO VARCHAR(50),
+-- CHANGED_WHEN DATETIME,
+-- CONSTRAINT PK_TBDD_CLIENT PRIMARY KEY (GUID)
+--)
+--GO
+--INSERT INTO TBDD_CLIENT(CLIENT_NAME,SHORTNAME) VALUES
+--('DEFAULT','DEF')
+--GO
+
+--CREATE TRIGGER TBDD_CLIENT_AFT_UPD ON TBDD_CLIENT
+--FOR UPDATE
+--AS
+--BEGIN
+-- UPDATE TBDD_CLIENT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_CLIENT.GUID = INSERTED.GUID
+--END
+--GO
+--if not exists (select * from sysobjects where name='TBDD_GROUPS_CLIENT' and xtype='U')
+--CREATE TABLE TBDD_GROUPS_CLIENT
+--(
+-- GUID INTEGER IDENTITY(1,1),
+-- CLIENT_ID INT NOT NULL,
+-- GROUP_ID INT NOT NULL,
+-- COMMENT VARCHAR(200),
+-- ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+-- ADDED_WHEN DATETIME DEFAULT GETDATE(),
+-- CHANGED_WHO VARCHAR(50),
+-- CHANGED_WHEN DATETIME,
+-- CONSTRAINT PK_TBDD_GROUPS_CLIENT PRIMARY KEY (GUID),
+-- CONSTRAINT UC_CLIENT_GROUP UNIQUE (CLIENT_ID,GROUP_ID),
+-- CONSTRAINT FK_TBDD_GROUPS_CLIENT_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID),
+-- CONSTRAINT FK_TBDD_GROUPS_CLIENT_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
+--)
+--GO
+
+
+--if not exists (select * from sysobjects where name='TBDD_GROUPS_USER' and xtype='U')
+--CREATE TABLE TBDD_GROUPS_USER
+--(
+-- GUID INTEGER IDENTITY(1,1),
+-- [USER_ID] INT NOT NULL,
+-- GROUP_ID INT NOT NULL,
+-- COMMENT VARCHAR(200),
+-- ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+-- ADDED_WHEN DATETIME DEFAULT GETDATE(),
+-- CHANGED_WHO VARCHAR(50),
+-- CHANGED_WHEN DATETIME,
+-- CONSTRAINT PK_TBDD_GROUPS_USER PRIMARY KEY (GUID),
+-- CONSTRAINT UC_USER_GROUP UNIQUE (USER_ID,GROUP_ID),
+-- CONSTRAINT FK_TBDD_GROUPS_USER_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID),
+-- CONSTRAINT FK_TBDD_GROUPS_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID),
+--)
+--GO
+--CREATE TRIGGER TBDD_GROUPS_USER_AFT_UPD ON TBDD_GROUPS_USER
+--FOR UPDATE
+--AS
+-- UPDATE TBDD_GROUPS_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED
+-- WHERE TBDD_GROUPS_USER.GUID = INSERTED.GUID
+--GO
+--CREATE TRIGGER [dbo].[TBDD_GROUPS_USER_AFT_DEL] ON [dbo].[TBDD_GROUPS_USER]
+--FOR DELETE
+--AS
+-- DECLARE @USER_ID INTEGER
+-- SELECT @USER_ID = deleted.USER_ID FROM deleted
+-- IF @USER_ID IS NOT NULL
+-- BEGIN
+-- if exists (select * from sysobjects where name='TBPMO_USER_RIGHTS_JOBS' and xtype='U')
+-- INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER DELETED FROM GROUP','TBDD_GROUPS_USER_AFT_DEL')
+-- if exists (select * from sysobjects where name='TBPMO_LOG_ESSENTIALS' and xtype='U')
+-- INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER-ID','USER DELETED FROM USER-GROUP',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID ))
+-- END
+--GO
+
+CREATE TABLE TBUM_AD_COMMAND
+(
+ GUID INTEGER IDENTITY(1,1),
+ AD_CMD_NAME VARCHAR(250),
+ COMMAND_STRING VARCHAR(MAX),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBUM_AD_COMMAND PRIMARY KEY (GUID),
+ CONSTRAINT UC_TBUM_AD_COMMAND UNIQUE (AD_CMD_NAME),
+)
+GO
+CREATE TRIGGER TBUM_AD_COMMAND_AFT_UPD ON TBUM_AD_COMMAND
+FOR UPDATE
+AS
+ UPDATE TBUM_AD_COMMAND SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBUM_AD_COMMAND.GUID = INSERTED.GUID
+GO
+CREATE PROCEDURE [dbo].[PRDD_DELETE_GROUP](@pGROUP_ID INT)
+AS
+BEGIN TRY
+ -- COMMON
+ IF OBJECT_ID(N'dbo.TBDD_GROUPS_USER', N'U') IS NOT NULL
+ DELETE FROM TBDD_GROUPS_USER WHERE GROUP_ID = @pGROUP_ID
+ IF OBJECT_ID(N'dbo.TBDD_GROUPS_CLIENT', N'U') IS NOT NULL
+ DELETE FROM TBDD_GROUPS_CLIENT WHERE GROUP_ID = @pGROUP_ID
+ IF OBJECT_ID(N'dbo.TBDD_GROUPS_MODULES', N'U') IS NOT NULL
+ DELETE FROM TBDD_GROUPS_MODULES WHERE GROUP_ID = @pGROUP_ID
+
+ -- FINALLY
+ DELETE FROM TBDD_GROUPS WHERE GUID = @pGROUP_ID
+
+ RETURN 0
+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())
+ RETURN -1
+END CATCH
+
+GO
\ No newline at end of file
diff --git a/08_ADDI/ChangeLog.txt b/08_ADDI/ChangeLog.txt
new file mode 100644
index 0000000..17ea096
--- /dev/null
+++ b/08_ADDI/ChangeLog.txt
@@ -0,0 +1,172 @@
+# Change Log Record Organizer - All noteable changes to this project will be documented in this file.
+###############################################################################################################################
+[2.5.0.7] - Handling Record/DocLink, Weitere sichten visible = false if not configured
+[2.5.0.6] - Ribbon Design - Icon Changing
+[2.5.0.5] - Internal
+[2.5.0.4] - Internal
+[2.5.0.3] - Internal
+### Changed
+- Switching Connection-functionality
+- Entity Open Check (is open? Maximize)
+- Doctype-Adding (bugfix)
+
+[2.5.0.2] - 06.05
+Internal Release - Optimization
+
+[2.5.0.1] - 16.01.2019
+### Changed
+- OfficeFile handling after editing (Replacing internal DocID)
+- StructureNodes - Handling edit
+
+[2.5.0.0] - 25.10.2018
+### Changed
+- Add Linking doc to records (change between entities)
+- right click file: reorder items, save layout added
+### Changed
+Structure Nodes:
+- Adding nodes manually
+Others:
+- Linking doc to records
+- Checking file existing vs windream client malfunction
+
+## [2.4.9.8] - 16.07.2018
+### Changed
+Structure Nodes:
+- Adding nodes manually
+Others:
+- Linking doc to records
+- Checking file existing vs windream client malfunction
+
+## [2.4.9.7] - 19.01.2018
+### Changed
+- Structure Nodes Navigation - Refreshing
+- Logging
+
+## [2.4.9.5] - 26.10.2017
+### Added
+- DB-Procedures Creating Records and Values
+- Integrity Check - Displayed Data vs. Database Data
+## [2.4.9.4] - 24.10.2017
+### Changed
+- Bugfixing: Updating Multiple Values
+- Checking ECM-Files existing with MasterUser
+
+## [2.4.9.3] - 26.09.2017
+### Changed
+- RecordView: Changing status without adding a comment. (was required so far)
+- DocumentViewer: getting correct DocID, firstrow bugfix
+
+## [2.4.9.2] - 22.09.2017
+### Added
+- Minimum required version for Addi
+### Changed
+- bugfix changing RecordView and Workflow-Automatism on proxyservers
+- checks for replacing files in version-updating
+## [2.4.9.1] - 05.09.2017
+### Changed
+- bugfix changing doc metadata for multiple linked documents
+## [2.4.9.0] - 24.08.2017
+### Changed
+- DateFormat-User specific in docresults
+- Error Multiple rows in docvalues when document is linked multiple times
+- Error PMO-Link Emails: Opening DetailView (Views not loaded)
+- bugfixing
+## [2.4.8.9] - 30.05.2017
+### Changed
+- Saving Constructor-layout per entity (splitter, Datagrid)
+- Adding automated updates for Addons
+## [2.4.8.8] - 27.04.2017
+### Changed
+- Saving Datagrid Records everytime loosing focus
+- Proxyserver-login: Adding Proxyserver
+- Looging: Adding Now (Datetime) as prefix
+## [2.4.8.7] - 25.04.2017
+### Changed
+- Updating-routines Proxy Server changed
+- Positions: Update-Behaviour Proxyserver
+- Currency-formatting changed: no currency symbol
+- Drag Drop File - Automatic saving and controlling fields required
+- internal bugfixing
+## [2.4.8.6] - 30.03.2017
+### Added
+- Functionality Entitytables integrated - SPEED
+- Creating and Adding records to Entitytables - Entity-designer
+### Changed
+- Buttons Administration Level - Names and terms adapted
+- Doc-Metadata: Automatism adding defaultvalues
+- Removed messages for proxysynchronizing
+- internal bugfixing
+
+## [2.4.8.5] - 10.03.2017
+### Added
+- Automatic Version-Checking and Updating
+- Right Manager - Explicit right-checking for records
+
+### Changed
+- Renaming Files: Proxy-Update included
+- Adding positions
+- Bugfix Rightmanagement (all users entity got reading rights)
+- Workflow and Tasks - Redesign
+
+## [2.4.8.4] - 06.02.2017
+### Changed
+- internal bugfixing
+
+## [2.4.8.3] - 24.01.2017
+### Added
+- Functionality for File-Existing when accessing file
+- Right management fully integrated
+### Changed
+- internal bugfixing
+
+## [2.4.8.3]
+### Added
+- Right Management User-Entity - Allow Admins to update and add rights
+- Information in MainForm ProxyUsed or not
+### Changed
+Proxy Server Functionality - Adding Views for faster refreshing
+- General bugfixing
+
+## [2.4.8.2]
+### Added
+- Proxy Server Functionality - Add local ProxyServer for speeding up queries
+- Right click functionality Docs
+ - windream - Change Doctype and manual indices
+- Fulltextsearch: Searching of ADDI-data included
+- Select-Only option for comboboxes
+### Changed
+Bugfixing:
+- General bugfixing
+
+## [2.4.8.1] - 22.12.2016
+### Added
+- Navigation withGeo-Coordinates -
+- Right click functionality Doc
+ - windream - create new version
+ - Change Doctype
+- Entitysearch right click - Entity-navigation
+ - Entitywide Search
+ - Entitysearch below selected node (Only in Node-Navigation)
+- Fulltextsearch - seperate window for selection
+ - only for documents below selected node (Only in Node-Navigation)
+### Changed
+Bugfixing:
+- Doc take in work process. Admin can free the document
+- Right Click Resultfiles: Gather all selected files for operations
+
+## [2.4.8.0] - 28.11.2016
+### Added
+- Personified login for administrators - When hitting ESC during ADDI Splash Screen load
+- Form Global Search (fulltext combined with record-search) - Administrators can add users: Administration - Extra Views User.
+- Display style Doc Results: Results now can be shown on first tab
+ Entity-related configuration - Administration - ConstructorDesigner - Configuration file search
+- Creating variants: Record-functions
+- Right Manager: Functionality "Check or Renew Rights for User" added
+- Showing Release Notes in Information dialog
+
+### Changed
+- Automatically hiding Navigation Strip of Mainform
+- Automatically hide TreeView Navigation in Entityview if Entity is only one
+- Locking DocResults: from standard during navigation the docresults now are locked. No changes (deleting, opening) until switchin win work/edit mode.
+ ==> Entity-related configuration - Administration - ConstructorDesigner - Configuration file search
+- Drag Drop file - Indexing and refreshing added to sql-procedure (before GUI) relevant to speed issues
diff --git a/08_ADDI/MArke.PNG b/08_ADDI/MArke.PNG
new file mode 100644
index 0000000..48d3b25
Binary files /dev/null and b/08_ADDI/MArke.PNG differ
diff --git a/08_ADDI/Marke.jpg b/08_ADDI/Marke.jpg
new file mode 100644
index 0000000..ec62831
Binary files /dev/null and b/08_ADDI/Marke.jpg differ
diff --git a/08_ADDI/SQL/CREATE_DB_OBJECTS_RO.sql b/08_ADDI/SQL/CREATE_DB_OBJECTS_RO.sql
new file mode 100644
index 0000000..5e51d84
--- /dev/null
+++ b/08_ADDI/SQL/CREATE_DB_OBJECTS_RO.sql
@@ -0,0 +1,7835 @@
+/*##################################
+1. Search for @INSTALL_ADMIN_USER and replace the username 'windream' with the username
+ You use for adminsitration
+2. Replace DD_VMP01_APS01_windream60 in code with name of current windream-Database.
+####################################*/
+UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.4' where NAME = 'Record-Organizer'
+GO
+
+INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID,IS_ADMIN) SELECT GUID,(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'ADDI'),1 FROM TBDD_USER where UPPER(USERNAME) = UPPER('@INSTALL_ADMIN_USER')
+GO
+
+if not exists (select * from sysobjects where name='TBPMO_KONFIGURATION' and xtype='U')
+ CREATE TABLE TBPMO_KONFIGURATION
+ (
+ GUID TINYINT,
+ ADMIN_PW VARCHAR(100) NOT NULL DEFAULT 'ZGQ=',
+ ADMIN_SECURITY BIT NOT NULL DEFAULT 0,
+ COUNTER_CONTROL_UPDATE_ID INTEGER NOT NULL DEFAULT '1',
+ 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),
+ ENTITY_TABLENAME VARCHAR(50) DEFAULT 'TBPMO_ENTITY_TABLE' NOT NULL,
+ FILE_DELIMITER VARCHAR(1) NOT NULL DEFAULT '~',
+ FOLLOW_UP_LOG_ERR_ONLY BIT NOT NULL DEFAULT 1,
+ FOLLOW_UP_EMAIL_PROFILE INTEGER,
+ SQL_FULLTEXT VARCHAR(5000) NOT NULL DEFAULT '',
+ VEKTOR_DELIMITER VARCHAR(1) NOT NULL DEFAULT '~',
+ VERSION_DELIMITER VARCHAR(1) NOT NULL DEFAULT '~',
+ WM_LAUFWERKBUCHSTABE VARCHAR(1) NOT NULL DEFAULT 'W',
+ WORKFLOW_FINAL_STATE1 INTEGER NOT NULL DEFAULT 3,
+ WORKFLOW_FINAL_STATE2 INTEGER,
+ WORKFLOW_FINAL_STATE3 INTEGER,
+ WORKFLOW_FINAL_STATE4 INTEGER,
+ WORKFLOW_FINAL_STATE5 INTEGER,
+ WD_UNICODE BIT NOT NULL DEFAULT 1,
+ WIKI_STRING VARCHAR(500) NOT NULL DEFAULT '',
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DIGITAL DATA',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_KONFIGURATION_GUID PRIMARY KEY(GUID),
+ CONSTRAINT CH_TBPMO_KONFIGURATION_GUID CHECK(GUID = 1)
+ )
+ GO
+
+ CREATE TRIGGER TBPMO_KONFIGURATION_AFT_UPD ON TBPMO_KONFIGURATION
+ FOR UPDATE
+ AS
+ UPDATE TBPMO_KONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_KONFIGURATION.GUID = INSERTED.GUID
+ GO
+--#################################################################################################################################################
+
+
+CREATE TABLE [dbo].[TBPMO_INDEX_MAN](
+ GUID int IDENTITY(1,1) NOT NULL,
+ DOCTYPE_ID int NOT NULL,
+ ENTITY_ID int NOT NULL,
+ NAME varchar(50) NOT NULL,
+ COL_VISIBLE bit NOT NULL DEFAULT 1,
+ COLUMN_CAPTION varchar(50) NOT NULL DEFAULT '',
+ ECM_INDEX varchar(50) NOT NULL DEFAULT '',
+ COMMENT varchar(250) NULL,
+ DATATYPE varchar(50) NULL,
+ SUGGESTION bit NOT NULL DEFAULT 0,
+ DEFAULT_VALUE varchar(100) NOT NULL DEFAULT '',
+ CONNECTION_ID smallint NULL DEFAULT 0,
+ SEQUENCE int NOT NULL DEFAULT 1,
+ SQL_RESULT varchar(2000) NOT NULL DEFAULT '',
+ SQL_CHECK varchar(2000) NOT NULL DEFAULT '',
+ OPTIONAL bit NOT NULL DEFAULT 0,
+ SAVE_VALUE bit NOT NULL DEFAULT 0,
+ ACTIVE bit 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 NULL,
+ CONSTRAINT [PK_TBPMO_INDEX_MAN] PRIMARY KEY CLUSTERED
+(
+ [GUID] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
+) ON [PRIMARY]
+
+GO
+ALTER TABLE [dbo].[TBPMO_INDEX_MAN] WITH CHECK ADD CONSTRAINT [FK_TBPMO_INDEX_MAN_CID] FOREIGN KEY([CONNECTION_ID])
+REFERENCES [dbo].[TBDD_CONNECTION] ([GUID])
+GO
+
+ALTER TABLE [dbo].[TBPMO_INDEX_MAN] CHECK CONSTRAINT [FK_TBPMO_INDEX_MAN_CID]
+GO
+
+ALTER TABLE [dbo].[TBPMO_INDEX_MAN] WITH CHECK ADD CONSTRAINT [FK_TBPMO_INDEX_MAN_DOCTYPE_ID] FOREIGN KEY([DOCTYPE_ID])
+REFERENCES [dbo].[TBDD_DOKUMENTART] ([GUID])
+GO
+
+ALTER TABLE [dbo].[TBPMO_INDEX_MAN] CHECK CONSTRAINT [FK_TBPMO_INDEX_MAN_DOCTYPE_ID]
+GO
+
+CREATE TABLE [dbo].[TBPMO_DOC_INDICES](
+ [DocID] [int] NOT NULL,
+ [INDEX_ID] [int] NOT NULL,
+ [VALUE] VARCHAR(max) NOT NULL,
+ [ADDED_WHO] VARCHAR(50) NULL,
+ [ADDED_WHEN] [datetime] NULL,
+ [CHANGED_WHO] VARCHAR(50) NULL,
+ [CHANGED_WHEN] [datetime] NULL,
+ [GUID] [int] IDENTITY(1,1) NOT NULL,
+ CONSTRAINT [PK_TBPMO_DOC_INDICES] PRIMARY KEY CLUSTERED
+(
+ [GUID] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
+) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
+
+GO
+
+ALTER TABLE [dbo].[TBPMO_DOC_INDICES] ADD DEFAULT ('DEFAULT') FOR [ADDED_WHO]
+GO
+
+ALTER TABLE [dbo].[TBPMO_DOC_INDICES] ADD DEFAULT (getdate()) FOR [ADDED_WHEN]
+GO
+
+ALTER TABLE [dbo].[TBPMO_DOC_INDICES] WITH CHECK ADD CONSTRAINT [FK_TBPMO_DOC_INDICES_INDEX_ID] FOREIGN KEY([INDEX_ID])
+REFERENCES [dbo].[TBPMO_INDEX_MAN] ([GUID])
+GO
+
+ALTER TABLE [dbo].[TBPMO_DOC_INDICES] CHECK CONSTRAINT [FK_TBPMO_DOC_INDICES_INDEX_ID]
+GO
+
+
+if not exists (select * from sysobjects where name='TBPMO_FILE_IMPORTER' and xtype='U')
+CREATE TABLE TBPMO_FILE_IMPORTER
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ NAME VARCHAR(100) NOT NULL,
+ RUN_SEQUENCE VARCHAR(50) NOT NULL DEFAULT 'ONCE_DAILY',
+ RUN_DAYS VARCHAR(50) NOT NULL DEFAULT '1111100',
+ RUN_TIME_SPAN VARCHAR(50) NOT NULL DEFAULT '08:00',
+ HOT_FOLDER VARCHAR(2000) NOT NULL DEFAULT '',
+ ARCHIVE_FOLDER VARCHAR(2000) NOT NULL DEFAULT '',
+ ACTIVE 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_FILE_IMPORTER PRIMARY KEY (GUID)
+)
+GO
+
+
+--#################################################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_FOLDERWATCH_USER' and xtype='U')
+CREATE TABLE TBPMO_FOLDERWATCH_USER
+(
+ GUID INTEGER IDENTITY(1,1),
+ [USER_ID] INT NOT NULL,
+ FOLDER_PATH VARCHAR(800) NOT NULL,
+ FOLDER_TYPE VARCHAR(20) DEFAULT 'DEFAULT' NOT NULL,
+ SUBDIRECTORIES BIT NOT NULL DEFAULT 0,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FOLDERWATCH_USER PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBPMO_FOLDERWATCH_USER UNIQUE([USER_ID],FOLDER_PATH),
+ CONSTRAINT FK_TBPMO_FOLDERWATCH_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID),
+)
+GO
+CREATE TRIGGER TBPMO_FOLDERWATCH_USER_AFT_UPD ON TBPMO_FOLDERWATCH_USER
+FOR UPDATE
+AS
+ UPDATE TBPMO_FOLDERWATCH_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_FOLDERWATCH_USER.GUID = INSERTED.GUID
+GO
+--#################################################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_CONTROL_TYPE' and xtype='U')
+CREATE TABLE TBPMO_CONTROL_TYPE
+(
+ GUID INTEGER NOT NULL,
+ [TYPE_NAME] VARCHAR(35) NOT NULL UNIQUE,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONTROL_TYPE PRIMARY KEY (GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_CONTROL_TYPE_AFT_UPD ON TBPMO_CONTROL_TYPE
+FOR UPDATE
+AS
+ UPDATE TBPMO_CONTROL_TYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_TYPE.GUID = INSERTED.GUID
+GO
+
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (1,'Label')
+GO
+
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (2,'Textbox')
+GO
+
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (3,'Combobox')
+GO
+
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (4,'Datepicker')
+GO
+
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (5,'Groupbox')
+GO
+
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (6,'Picturebox')
+GO
+
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (7,'Datagridview')
+GO
+
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (8,'F_AddAppointment')
+GO
+
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (9,'F_AddFormData')
+GO
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (10,'Checkbox')
+GO
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (11,'RadioButton')
+GO
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (12,'CheckedListBox')
+GO
+INSERT INTO TBPMO_CONTROL_TYPE(GUID,TYPE_NAME)
+VALUES
+ (13,'ListBox')
+GO
+INSERT INTO TBPMO_CONTROL_TYPE (GUID,TYPE_NAME) VALUES (14,'DatagridviewCheckable')
+GO
+--#################################################################################################################################################
+
+if not exists (select * from sysobjects where name='TBPMO_SCREEN' and xtype='U')
+CREATE TABLE TBPMO_SCREEN
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ NAME VARCHAR(100) NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_SCREEN PRIMARY KEY (GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_SCREEN_AFT_UPD ON TBPMO_SCREEN
+FOR UPDATE
+AS
+ UPDATE TBPMO_SCREEN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SCREEN.GUID = INSERTED.GUID
+GO
+
+INSERT INTO TBPMO_SCREEN(NAME)
+VALUES
+ ('DEFAULT')
+GO
+--#################################################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_SYSTEM_FORM' and xtype='U')
+CREATE TABLE TBPMO_SYSTEM_FORM
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ NAME VARCHAR(100) NOT NULL UNIQUE,
+ IS_MDI_CHILD BIT 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_SYSTEM_FORM PRIMARY KEY (GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_SYSTEM_FORM_AFT_UPD ON TBPMO_SYSTEM_FORM
+FOR UPDATE
+AS
+ UPDATE TBPMO_SYSTEM_FORM SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SYSTEM_FORM.GUID = INSERTED.GUID
+GO
+
+INSERT INTO TBPMO_SYSTEM_FORM(NAME,IS_MDI_CHILD)
+VALUES
+ ('frmCalendar',0)
+GO
+--#################################################################################################################################################
+
+if not exists (select * from sysobjects where name='TBPMO_FORM_TYPE' and xtype='U')
+CREATE TABLE TBPMO_FORM_TYPE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ FORM_TYPE VARCHAR(50) NOT NULL UNIQUE,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FORM_TYPE PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_FORM_TYPE_AFT_UPD ON TBPMO_FORM_TYPE
+FOR UPDATE
+AS
+ UPDATE TBPMO_FORM_TYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_TYPE.GUID = INSERTED.GUID
+GO
+INSERT INTO TBPMO_FORM_TYPE(FORM_TYPE)
+VALUES
+ ('ENTITY LEVEL 0')
+GO
+INSERT INTO TBPMO_FORM_TYPE(FORM_TYPE)
+VALUES
+ ('ENTITY LEVEL 1')
+GO
+INSERT INTO TBPMO_FORM_TYPE(FORM_TYPE)
+VALUES
+ ('ENTITY LEVEL 2')
+GO
+INSERT INTO TBPMO_FORM_TYPE(FORM_TYPE)
+VALUES
+ ('SINGLE INSTANCING')
+GO
+INSERT INTO TBPMO_FORM_TYPE(FORM_TYPE)
+VALUES
+ ('GROUP ENTITY')
+GO
+--#################################################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_FORM' and xtype='U')
+CREATE TABLE TBPMO_FORM
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ FORM_TYPE_ID INTEGER NOT NULL,
+ PARENT_ID INTEGER NOT NULL DEFAULT 1,
+ POS_ENTITY INTEGER NOT NULL DEFAULT 0,
+ SHOW_FORM_CONSTRUCT BIT NOT NULL DEFAULT 1,
+ NAME VARCHAR(100) NOT NULL,
+ LOCK_CONTROLS_BG_LOAD BIT NOT NULL DEFAULT 1,
+ LOAD_ENT_SEARCH_AT_SU BIT NOT NULL DEFAULT 0,
+ LEVEL VARCHAR(10) NOT NULL,
+ DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT 'dd.MM.YYYY',
+ SINGLE_RECORD BIT NOT NULL DEFAULT 0,
+ REDUNDANT_ENTITY INTEGER 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_FORM PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_FORM_FORM_TYPE_ID FOREIGN KEY (FORM_TYPE_ID) REFERENCES TBPMO_FORM_TYPE (GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_FORM_AFT_UPD ON TBPMO_FORM
+FOR UPDATE
+AS
+ UPDATE TBPMO_FORM SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM.GUID = INSERTED.GUID
+GO
+--###################################################################################################################
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_FORM_VIEW' and xtype='U')
+CREATE TABLE TBPMO_FORM_VIEW
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ SCREEN_ID INTEGER NOT NULL,
+ FORM_ID INTEGER NOT NULL,
+ FORM_TITLE VARCHAR(50) NOT NULL,
+ [DESCRIPTION] VARCHAR(300) NOT NULL,
+ IS_MDI_CHILD BIT NOT NULL DEFAULT 1,
+ DOCUMENT_VIEW BIT NOT NULL DEFAULT 0,
+ WINDREAM_SEARCH VARCHAR(300),
+ SEARCH_PATTERN1 VARCHAR(50),
+ SEARCH_PATTERN2 VARCHAR(50),
+ SEARCH_PATTERN3 VARCHAR(50),
+ SEARCH_PATTERN4 VARCHAR(50),
+ SEARCH_PATTERN5 VARCHAR(50),
+ ALLOW_DROP BIT NOT NULL DEFAULT 0,
+ WIDTH SMALLINT,
+ HEIGHT SMALLINT,
+ DIALOG BIT NOT NULL DEFAULT 0,
+ MAXIMIZABLE BIT NOT NULL DEFAULT 1,
+ MINIMIZABLE BIT NOT NULL DEFAULT 1,
+ MAX_WIDTH SMALLINT,
+ MIN_WIDTH SMALLINT,
+ MAX_HEIGHT SMALLINT,
+ MIN_HEIGHT SMALLINT,
+ X_LOC FLOAT,
+ Y_LOC FLOAT,
+ [LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE',
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FORM_VIEW PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_FORM_VIEW_SCREEN_ID FOREIGN KEY (SCREEN_ID) REFERENCES TBPMO_SCREEN (GUID),
+ CONSTRAINT FK_TBPMO_FORM_VIEW_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID),
+)
+GO
+
+CREATE TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @ENTITY_ID INTEGER,
+ @DOC_VIEW BIT
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @SCREEN_ID = SCREEN_ID,
+ @CHANGED_WHO = CHANGED_WHO,
+ @ENTITY_ID = FORM_ID,
+ @DOC_VIEW = DOCUMENT_VIEW
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO)
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID
+ IF UPDATE (FORM_TITLE)
+ BEGIN
+ IF @LANGUAGE is not null
+ If EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_LANGUAGE_OBJECT WHERE LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID AND PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND CAPTION = @FORM_TITLE)
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+ END
+ IF UPDATE(DOCUMENT_VIEW)
+ IF @DOC_VIEW = 1
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Dateiname' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Filename','Dateiname')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Dokumentart' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Doctype','Dokumentart')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'IN_WORK','in work?',50,2)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_USER','IW_USER',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Erstellt' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'Creation_DateTime','Erstellt',100,4)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Geändert' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'Change_DateTime','Geändert',100,4)
+ --####
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Filename' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Filename','Filename')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Doctype' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Doctype','Doctype')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK','in work?',50,2)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Created' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','Creation_DateTime','Created',100,4)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Changed' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','Change_DateTime','Changed',100,4)
+ END
+ ELSE
+ DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+CREATE TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_INS] ON [dbo].[TBPMO_FORM_VIEW]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @ENTITY_ID INTEGER,
+ @DOC_VIEW BIT
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @SCREEN_ID = SCREEN_ID,
+ @ADDED_WHO = ADDED_WHO,
+ @ENTITY_ID = FORM_ID,
+ @DOC_VIEW = DOCUMENT_VIEW
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO)
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
+
+ IF @DOC_VIEW = 1
+ BEGIN
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Filename','Dateiname')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Doctype','Dokumentart')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'IN_WORK','in work?',50,2)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_USER','IW_USER',0)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'Creation_DateTime','Erstellt',100,3)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'Change_DateTime','Geändert',100,3)
+ --####
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Filename','Filename')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Doctype','Doctype')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK','in work?',50,2)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','Creation_DateTime','Created',100,3)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','Change_DateTime','Changed',100,3)
+ END
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+if not exists (select * from sysobjects where name='TBPMO_RIGHT_GROUP' and xtype='U')
+CREATE TABLE TBPMO_RIGHT_GROUP
+(
+ GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel
+ ENTITY_ID INTEGER NOT NULL,
+ GROUP_ID INTEGER NOT NULL,
+ EDIT_REC BIT NOT NULL DEFAULT 1,
+ ADD_REC BIT NOT NULL DEFAULT 1,
+ DELETE_REC BIT NOT NULL DEFAULT 1,
+ ADD_DOC BIT NOT NULL DEFAULT 1,
+ VIEW_DOC BIT NOT NULL DEFAULT 1,
+ DELETE_DOC BIT NOT NULL DEFAULT 1,
+ READ_ONLY_DOC BIT NOT NULL DEFAULT 0,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_RIGHT_GROUP PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_RIGHT_GROUP_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID),
+ CONSTRAINT FK_TBPMO_RIGHT_GROUP_GROUP_ID FOREIGN KEY (GROUP_ID) REFERENCES TBDD_GROUPS (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_RIGHT_GROUP_AFT_UPD ON TBPMO_RIGHT_GROUP
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBPMO_RIGHT_GROUP SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_RIGHT_GROUP.GUID = INSERTED.GUID
+END
+GO
+if not exists (select * from sysobjects where name='TBPMO_WD_OBJECTTYPE' and xtype='U')
+CREATE TABLE TBPMO_WD_OBJECTTYPE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ OBJECT_TYPE VARCHAR(100) NOT NULL,
+ IDXNAME_ENTITYID VARCHAR(100) NOT NULL DEFAULT 0,
+ IDXNAME_RECORDID VARCHAR(100) NOT NULL DEFAULT '',
+ IDXNAME_DOCTYPE VARCHAR(100) NOT NULL DEFAULT '',
+ IDXNAME_PARENTID VARCHAR(100) NOT NULL DEFAULT 0,
+ IDXNAME_RELATION VARCHAR(100) NOT NULL DEFAULT '',
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_WD_OBJECTTYPE PRIMARY KEY (GUID),
+ CONSTRAINT UQ_OBJECTTYPE_TBPMO_WD_OBJECTTYPE UNIQUE (OBJECT_TYPE)
+)
+GO
+CREATE TRIGGER TBPMO_WD_OBJECTTYPE_AFT_UPD ON TBPMO_WD_OBJECTTYPE
+FOR UPDATE
+AS
+ UPDATE TBPMO_WD_OBJECTTYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_OBJECTTYPE.GUID = INSERTED.GUID
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_WD_FORMVIEW_DOKTYPES' and xtype='U')
+CREATE TABLE TBPMO_WD_FORMVIEW_DOKTYPES
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ FORMVIEW_ID INTEGER NOT NULL,
+ OBJECT_TYPE VARCHAR(100) NOT NULL,
+ DOCTYPE_ID INTEGER NOT NULL,
+ NAME_CONVENTION VARCHAR(500) NOT NULL DEFAULT '',
+ MANUAL_SUBFOLDER 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_WD_FORMVIEW_DOKTYPES PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WD_FORMVIEW_DOKTYPES_FORMVIEW_ID FOREIGN KEY (FORMVIEW_ID) REFERENCES TBPMO_FORM_VIEW (GUID),
+ CONSTRAINT FK_TBPMO_WD_FORMVIEW_DOKTYPES_DOCTYPE_ID FOREIGN KEY (DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_WD_FORMVIEW_DOKTYPES_AFT_UPD ON TBPMO_WD_FORMVIEW_DOKTYPES
+FOR UPDATE
+AS
+ UPDATE TBPMO_WD_FORMVIEW_DOKTYPES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_FORMVIEW_DOKTYPES.GUID = INSERTED.GUID
+GO
+if not exists (select * from sysobjects where name='TBPMO_DOCRESULT_LIST' and xtype='U')
+CREATE TABLE TBPMO_DOCRESULT_LIST
+(
+ [DocID] INTEGER NOT NULL,
+ [DISPLAY_NAME] VARCHAR(250) NOT NULL,
+ [FULL_FILENAME] VARCHAR(5000) NOT NULL,
+ [Filename] VARCHAR(500) NOT NULL,
+ [Doctype] VARCHAR(250) NOT NULL,
+ [Version] SMALLINT NOT NULL DEFAULT 0,
+ [Objecttype] VARCHAR(250) NOT NULL,
+ Creation_DateTime DATETIME NOT NULL,
+ Change_DateTime DATETIME,
+ STRING1 VARCHAR(500),
+ STRING2 VARCHAR(500),
+ STRING3 VARCHAR(500),
+ STRING4 VARCHAR(500),
+ STRING5 VARCHAR(500),
+ STRING6 VARCHAR(500),
+ STRING7 VARCHAR(500),
+ STRING8 VARCHAR(500),
+ STRING9 VARCHAR(500),
+ STRING10 VARCHAR(500),
+ IN_WORK BIT NOT NULL DEFAULT 0,
+ IN_WORK_USER VARCHAR(250),
+ IN_WORK_COMMENT VARCHAR(500),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_DOCRESULT_LIST PRIMARY KEY ([DocID])
+)
+GO
+
+CREATE TRIGGER TBPMO_DOCRESULT_LIST_AFT_UPD ON TBPMO_DOCRESULT_LIST
+FOR UPDATE
+AS
+ UPDATE TBPMO_DOCRESULT_LIST SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID]
+GO
+--#################################################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_DOCSEARCH_RESULTLIST_CONFIG' and xtype='U')
+CREATE TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ COLUMN_VIEW VARCHAR(100) NOT NULL,
+ CONFIG_COLUMNS BIT NOT NULL DEFAULT 0,
+ EDITABLE BIT NOT NULL DEFAULT 0,
+ [ENTITY_ID] INTEGER NOT NULL,
+ HEADER_CAPTION VARCHAR(100) NOT NULL,
+ [LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE',
+ SEQUENCE INTEGER NOT NULL DEFAULT 0,
+ [TYPE_ID] TINYINT NOT NULL DEFAULT 1,
+ VISIBLE BIT NOT NULL DEFAULT 1,
+ WIDTH INTEGER NOT NULL DEFAULT 250,
+ 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 [dbo].[TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS] ON [dbo].[TBPMO_DOCSEARCH_RESULTLIST_CONFIG]
+AFTER INSERT
+AS
+BEGIN
+ DECLARE
+ @CONFIG_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @TYPE_ID INTEGER,
+ @CONFIG_COLUMNS INTEGER,
+ @DOC_ID INT,
+ @REC_ID INT,
+ @VALUE VARCHAR(100)
+ SELECT
+ @CONFIG_ID = GUID,
+ @ENTITY_ID = [ENTITY_ID],
+ @TYPE_ID = [TYPE_ID],
+ @ADDED_WHO = ADDED_WHO,
+ @CONFIG_COLUMNS = CONFIG_COLUMNS
+ FROM INSERTED
+ --Den Defaultvalue eintragen
+ IF @CONFIG_COLUMNS = 1
+ BEGIN
+ DECLARE cursorRecordDocs CURSOR LOCAL FOR
+ SELECT T.RECORD_ID, T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = @ENTITY_ID
+ OPEN cursorRecordDocs
+ FETCH NEXT FROM cursorRecordDocs INTO @REC_ID,@DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) VALUES (
+ @DOC_ID,@REC_ID,@CONFIG_ID,'',@ADDED_WHO)
+ FETCH NEXT FROM cursorRecordDocs INTO @REC_ID,@DOC_ID
+ END
+ CLOSE cursorRecordDocs
+ DEALLOCATE cursorRecordDocs
+ END
+END
+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 TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_DEL ON TBPMO_DOCSEARCH_RESULTLIST_CONFIG
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @CONFIG_ID INTEGER,
+ @LANGUAGE VARCHAR(5)
+
+ SELECT
+ @CONFIG_ID = deleted.GUID,
+ @LANGUAGE = deleted.LANGUAGE
+ FROM deleted
+
+ DELETE FROM TBPMO_DOC_VALUES WHERE CONFIG_ID = @CONFIG_ID
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+if not exists (select * from sysobjects where name='TBPMO_DOC_RECORD_LINK' and xtype='U')
+CREATE TABLE TBPMO_DOC_RECORD_LINK
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ RECORD_ID INTEGER NOT NULL,
+ DOC_ID INTEGER 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_DOC_RECORD_LINK PRIMARY KEY (GUID),
+ CONSTRAINT UQ_RECORD_ID_DOC_ID UNIQUE(RECORD_ID,DOC_ID),
+ --CONSTRAINT FK_TBPMO_DOC_RECORD_LINK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID),
+ CONSTRAINT FK_TBPMO_DOC_RECORD_LINK_DOC_ID FOREIGN KEY (DOC_ID) REFERENCES TBPMO_DOCRESULT_LIST (DocID)
+)
+GO
+CREATE TRIGGER TBPMO_DOC_RECORD_LINK_AFT_UPD ON TBPMO_DOC_RECORD_LINK
+FOR UPDATE
+AS
+ UPDATE TBPMO_DOC_RECORD_LINK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_RECORD_LINK.GUID = INSERTED.GUID
+GO
+CREATE TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_DEL] ON [dbo].[TBPMO_DOC_RECORD_LINK]
+WITH EXECUTE AS CALLER
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER,
+ @ENTITY_ID INTEGER
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @DOC_ID = DOC_ID
+ FROM DELETED
+
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ DELETE FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID
+
+ EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+DECLARE
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @ENTITY_ID INTEGER
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @DOC_ID = DOC_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ --Den Defaultvalue der DropdownListe eintragen
+ IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 3 AND CONFIG_COLUMNS = 1) >= 1
+ BEGIN
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 3 AND T.CONFIG_COLUMNS = 1
+ END
+ IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) >= 1
+ BEGIN
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 3 AND T.CONFIG_COLUMNS = 1
+ END
+
+ EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ --DECLARE
+ -- @ENITTY_ID INTEGER,
+ -- @DOCTYPE VARCHAR(250),
+ -- @SUPPLIER VARCHAR(250)
+ --SELECT @ENITTY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+
+ --IF @ENITTY_ID = 21
+ -- BEGIN
+ -- SELECT @SUPPLIER = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 258
+ -- SELECT @DOCTYPE = T.Doctype FROM TBPMO_DOCRESULT_LIST T, TBPMO_DOC_RECORD_LINK T1 WHERE T.DocID = T1.DOC_ID AND T1.RECORD_ID = @RECORD_ID
+ -- IF @SUPPLIER <> '' and @DOCTYPE <> '' AND @DOCTYPE IN ('55.SA','23B.NDA/CA')
+ -- BEGIN
+ -- INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID,RECORD_ID,ADDED_WHO) SELECT @DOC_ID,[Record-ID],'TBPMO_DOC_RECORD_LINK_AFT_INS' FROM VWTEMP_PMO_FORM19 where UPPER(Supplier_name) = UPPER(@SUPPLIER)
+ -- END
+ -- END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+
+GO
+
+if not exists (select * from sysobjects where name='TBPMO_DOCSEARCH_VARIABLE_CONTROLS' and xtype='U')
+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
+
+--#################################################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_MENU_FORM' and xtype='U')
+CREATE TABLE TBPMO_MENU_FORM
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ MENU_ENTRY VARCHAR(100) NOT NULL,
+ ICON_PATH VARCHAR(1000),
+ SEQUENCE INTEGER 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_MENU_FORM PRIMARY KEY (GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_MENU_FORM_AFT_UPD ON TBPMO_MENU_FORM
+FOR UPDATE
+AS
+ UPDATE TBPMO_MENU_FORM SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_MENU_FORM.GUID = INSERTED.GUID
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_MENU_FORM_ENTRIES' and xtype='U')
+CREATE TABLE TBPMO_MENU_FORM_ENTRIES
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ MENU_FORM_ID INTEGER NOT NULL,
+ FORM_ID INTEGER NOT NULL,
+ ICON_PATH VARCHAR(1000),
+ MENU_ENTRY VARCHAR(50) NOT NULL,
+ SEQUENCE INTEGER 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_MENU_FORM_ENTRIES PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_MENU_FORM_ENTRIES_MENU_FORM_ID FOREIGN KEY (MENU_FORM_ID) REFERENCES TBPMO_MENU_FORM (GUID),
+ CONSTRAINT FK_TBPMO_MENU_FORM_ENTRIES_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID),
+)
+GO
+
+CREATE TRIGGER TBPMO_MENU_FORM_ENTRIES_AFT_UPD ON TBPMO_MENU_FORM_ENTRIES
+FOR UPDATE
+AS
+ UPDATE TBPMO_MENU_FORM_ENTRIES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_MENU_FORM_ENTRIES.GUID = INSERTED.GUID
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_WD_FVIEW_DT_INDEX' and xtype='U')
+CREATE TABLE TBPMO_WD_FVIEW_DT_INDEX
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ FV_DOCTYPE_ID INTEGER NOT NULL,
+ INDEXNAME VARCHAR(100) NOT NULL,
+ INDEX_VALUE VARCHAR(100) NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_WD_FVIEW_DT_INDEX PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WD_FVIEW_DT_INDEX_FW_DOCTYPE_ID FOREIGN KEY (FV_DOCTYPE_ID) REFERENCES TBPMO_WD_FORMVIEW_DOKTYPES (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_WD_FVIEW_DT_INDEX_AFT_UPD ON TBPMO_WD_FVIEW_DT_INDEX
+FOR UPDATE
+AS
+ UPDATE TBPMO_WD_FVIEW_DT_INDEX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_FVIEW_DT_INDEX.GUID = INSERTED.GUID
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_ENTITY_SUPERVISOR' and xtype='U')
+CREATE TABLE TBPMO_ENTITY_SUPERVISOR
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ENTITY_ID INTEGER NOT NULL,
+ USER_ID INTEGER NOT NULL,
+ RIGHT1 VARCHAR(100) NOT NULL DEFAULT '7',
+ RIGHT2 VARCHAR(100),
+ 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_SUPERVISOR PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_ENTITY_SUPERVISOR_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID),
+ CONSTRAINT FK_TBPMO_ENTITY_SUPERVISOR_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_ENTITY_SUPERVISOR_AFT_UPD ON TBPMO_ENTITY_SUPERVISOR
+FOR UPDATE
+AS
+ UPDATE TBPMO_ENTITY_SUPERVISOR SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_SUPERVISOR.GUID = INSERTED.GUID
+GO
+
+if not exists (select * from sysobjects where name='TBPMO_FORM_SQL_CONSTRUCT' and xtype='U')
+CREATE TABLE TBPMO_FORM_SQL_CONSTRUCT
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ SCREEN_ID INTEGER NOT NULL,
+ FORM_ID INTEGER NOT NULL,
+ SQL1 VARCHAR(1000) NOT NULL,
+ SQL2 VARCHAR(1000) NOT NULL,
+ SQL3 VARCHAR(1000) ,
+ SQL4 VARCHAR(1000) ,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FORM_SQL_CONSTRUCT PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_FORM_SQL_CONSTRUCT_SCREEN_ID FOREIGN KEY (SCREEN_ID) REFERENCES TBPMO_SCREEN (GUID),
+ CONSTRAINT FK_TBPMO_FORM_SQL_CONSTRUCT_SQL_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID),
+)
+GO
+
+CREATE TRIGGER TBPMO_FORM_SQL_CONSTRUCT_AFT_UPD ON TBPMO_FORM_SQL_CONSTRUCT
+FOR UPDATE
+AS
+ UPDATE TBPMO_FORM_SQL_CONSTRUCT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_SQL_CONSTRUCT.GUID = INSERTED.GUID
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_RUN_PROCEDURES' and xtype='U')
+CREATE TABLE TBPMO_RUN_PROCEDURES
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ FORM_ID INTEGER NOT NULL,
+ EXECUTE_COMMAND VARCHAR(500) NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_RUN_PROCEDURES PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_RUN_PROCEDURES_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID),
+)
+GO
+
+CREATE TRIGGER TBPMO_RUN_PROCEDURES_AFT_UPD ON TBPMO_RUN_PROCEDURES
+FOR UPDATE
+AS
+ UPDATE TBPMO_RUN_PROCEDURES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RUN_PROCEDURES.GUID = INSERTED.GUID
+GO
+GO
+--####################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_FORM_SQL' and xtype='U')
+CREATE TABLE TBPMO_FORM_SQL
+(
+ GUID INT IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel,
+ FORM_ID INT NOT NULL,
+ SQL_COMMAND VARCHAR(MAX),
+ SQL_COMMAND1 VARCHAR(MAX),
+ SQL_COMMAND2 VARCHAR(MAX),
+ SQL_COMMAND3 VARCHAR(MAX),
+ SQL_COMMAND4 VARCHAR(MAX),
+ AKTIV BIT DEFAULT 1 NOT NULL, -- 1 - Datensatz aktiv, bei 0 - inaktiv.
+ COMMENT VARCHAR(500),
+ OPTIONFIELDBIT BIT DEFAULT 0 NOT NULL,
+ OPTIONFIELDBIT1 BIT DEFAULT 0 NOT NULL,
+ OPTIONFIELDBIT2 BIT DEFAULT 0 NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FORM_SQL PRIMARY KEY(GUID),
+ CONSTRAINT FK_TBPMO_FORM_SQL_FID FOREIGN KEY(FORM_ID) REFERENCES TBPMO_FORM(GUID)
+)
+GO
+------------------------------------------------------------------------------
+CREATE TRIGGER TBPMO_FORM_SQL_AFT_UPD ON TBPMO_FORM_SQL
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBPMO_FORM_SQL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_SQL.GUID = INSERTED.GUID
+END
+GO
+
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_FORM_CONSTRUCTOR' and xtype='U')
+CREATE TABLE TBPMO_FORM_CONSTRUCTOR
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ FORM_TITLE VARCHAR(50),
+ SHORT_TITLE VARCHAR(50),
+ SEQUENCE_MENU INTEGER NOT NULL DEFAULT 1,
+ [LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE',
+ MENU_IMG VARBINARY(MAX),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME
+ CONSTRAINT PK_TBPMO_FORM_CONSTRUCTOR PRIMARY KEY (GUID)
+)
+GO
+
+CREATE TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTRUCTOR]
+FOR UPDATE
+AS
+BEGIN
+ DECLARE @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5), @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @LANGUAGE = [LANGUAGE],
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO)
+
+ SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID)
+ IF @LANGUAGE is not null
+ UPDATE TBPMO_FORM_CONSTRUCTOR SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED WHERE TBPMO_FORM_CONSTRUCTOR.GUID = INSERTED.GUID
+
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1
+ ELSE
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE)
+END
+GO
+CREATE TRIGGER TBPMO_FORM_CONSTRUCTOR_AFT_INS ON [dbo].[TBPMO_FORM_CONSTRUCTOR]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO)
+
+ SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID)
+ IF @LANGUAGE is not null
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
+
+ INSERT INTO TBPMO_CLIENT_CONSTRUCTOR (CLIENT_ID,CONSTRUCT_ID)
+ SELECT T.CLIENT_ID,@GUID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_FORM_CONSTRUCTOR_DETAIL' and xtype='U')
+CREATE TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ACTIVATE_DOC_SEARCH_ON_EDIT BIT NOT NULL DEFAULT 0,
+ CONSTRUCT_ID INTEGER NOT NULL,
+ COLUMN_NAME1 VARCHAR(100) NOT NULL DEFAULT '',
+ COLUMN_NAME2 VARCHAR(100) NOT NULL DEFAULT '',
+ CONTROL_DOCTYPE_MATCH INTEGER NOT NULL DEFAULT '0',
+ DOC_SEARCH_TAB1 BIT NOT NULL DEFAULT 0,
+ FORM_ID INTEGER NOT NULL,
+ LEVEL1_SELECT BIT NOT NULL DEFAULT 0,
+ LOAD_DIRECT BIT NOT NULL DEFAULT 0,
+ PARENT_ID INTEGER NOT NULL DEFAULT 0,
+ SEARCH_PATTERN1 VARCHAR(50),
+ SEARCH_PATTERN2 VARCHAR(50),
+ SEARCH_PATTERN3 VARCHAR(50),
+ SEARCH_PATTERN4 VARCHAR(50),
+ SEARCH_PATTERN5 VARCHAR(50),
+ SEQUENCE INTEGER NOT NULL,
+ SQL_SELECT_EBENE1 VARCHAR(4000) NOT NULL,
+ SQL_SELECT_EBENE2 VARCHAR(4000) NOT NULL,
+ SQL_QUICK_VIEW VARCHAR(MAX) NOT NULL DEFAULT '',
+ SQL_RIGHT_READ_AND_VIEW_ONLY VARCHAR(5000) NOT NULL DEFAULT '',
+ SQL_RIGHT_WINDREAM_VIEW VARCHAR(5000) NOT NULL DEFAULT '',
+ ADD_RECORDS BIT NOT NULL DEFAULT 1,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FORM_CONSTRUCTOR_DETAIL PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_FORM_CONSTRUCTOR_DETAIL_CONSTRUCT_ID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID),
+ CONSTRAINT FK_TBPMO_FORM_CONSTRUCTOR_DETAIL_FORMID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID)
+)
+GO
+
+
+CREATE TRIGGER TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_UPD ON TBPMO_FORM_CONSTRUCTOR_DETAIL
+FOR UPDATE
+AS
+ UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_CONSTRUCTOR_DETAIL.GUID = INSERTED.GUID
+GO
+
+CREATE TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS] ON [dbo].[TBPMO_FORM_CONSTRUCTOR_DETAIL]
+FOR INSERT
+AS
+DECLARE @CONSTRUCT_ID INTEGER,
+ @PARENT_ID INTEGER,
+ @EXISTS as INTEGER
+BEGIN
+ SELECT @CONSTRUCT_ID = CONSTRUCT_ID, @PARENT_ID = PARENT_ID FROM INSERTED
+ IF @PARENT_ID = 0
+ BEGIN
+ SELECT @EXISTS = COUNT(*) FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @CONSTRUCT_ID AND PARENT_ID = @PARENT_ID
+ IF @EXISTS > 1
+ BEGIN
+ ROLLBACK TRANSACTION
+ RAISERROR('ONLY ONE FORM WITH PARENT_ID 0 IS ALLOWED WITHIN CONSTRUCT-ID',16,10)
+ END
+ END
+END
+GO
+if not exists (select * from sysobjects where name='TBPMO_CONSTRUCTOR_USER_SQL' and xtype='U')
+CREATE TABLE TBPMO_CONSTRUCTOR_USER_SQL
+(
+ GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel,
+ CONSTR_DET_ID INTEGER NOT NULL,
+ USER_ID INTEGER NOT NULL,
+ SQL_COMMAND VARCHAR(4000),
+ SQL_COMMAND1 VARCHAR(4000),
+ SQL_COMMAND2 VARCHAR(4000),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER_SQL_USER PRIMARY KEY(GUID),
+ CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_SQL_CONSTR_DET_ID FOREIGN KEY(CONSTR_DET_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL(GUID),
+ CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_SQL_USER_ID FOREIGN KEY(USER_ID) REFERENCES TBDD_USER(GUID)
+)
+GO
+------------------------------------------------------------------------------
+CREATE TRIGGER TBPMO_CONSTRUCTOR_USER_SQL_AFT_UPD ON TBPMO_CONSTRUCTOR_USER_SQL
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBPMO_CONSTRUCTOR_USER_SQL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONSTRUCTOR_USER_SQL.GUID = INSERTED.GUID
+END
+GO
+if not exists (select * from sysobjects where name='TBPMO_CONSTRUCTOR_USER' and xtype='U')
+CREATE TABLE TBPMO_CONSTRUCTOR_USER
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONSTRUCT_ID INTEGER NOT NULL,
+ [USER_ID] INTEGER NOT NULL,
+ HOME_MENUE BIT NOT NULL DEFAULT 1,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_CID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID),
+ CONSTRAINT FK_TTBPMO_CONSTRUCTOR_USER_UID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
+)
+GO
+CREATE TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_DEL] ON [dbo].[TBPMO_CONSTRUCTOR_USER]
+WITH EXECUTE AS CALLER
+FOR DELETE
+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 DELETED
+
+ DECLARE @ENTITY_ID INTEGER
+
+ DECLARE c_USER CURSOR FOR
+ SELECT
+ FORM_ID FROM
+ VWPMO_CONSTRUCTOR_FORMS WHERE DOCUMENT_VIEW = 1
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @ENTITY_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DELETE FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID
+
+ 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 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 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)
+ INSERT INTO TBPMO_RIGHT_USER (USER_ID, ENTITY_ID) VALUES (@USER_ID,@ENTITY_ID)
+
+ 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
+
+
+if not exists (select * from sysobjects where name='TBPMO_SUPERVISOR_CONTROLS' and xtype='U')
+CREATE TABLE TBPMO_SUPERVISOR_CONTROLS
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONTROL_ID INTEGER NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_SUPERVISOR_CONTROLS PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER [dbo].[TBPMO_SUPERVISOR_CONTROLS_AFT_INS] ON [dbo].[TBPMO_SUPERVISOR_CONTROLS]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @USERSTRING VARCHAR(50),
+ @USER_ID INTEGER,
+ @ECM_USER_ID INTEGER,
+ @COUNT_FILES INTEGER
+ SELECT
+ @CONTROL_ID = CONTROL_ID
+ FROM INSERTED
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
+
+ DECLARE c_USER CURSOR FOR
+ SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @USERSTRING
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @USER_ID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@USERSTRING)
+ IF @USER_ID <> 0
+ SELECT @ECM_USER_ID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ IF @ECM_USER_ID > 0
+ BEGIN
+ SELECT @COUNT_FILES = COUNT(DocID) FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @ECM_USER_ID) AND ENTITY_ID = @ENTITY_ID
+ IF @COUNT_FILES > 0
+ IF NOT EXISTS (SELECT GUID FROM TBPMO_USER_RIGHTS_JOBS WHERE COMMENT = 'SUPERVISOR ADDED' AND ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID AND WORKED = 0)
+ INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,ENTITY_ID,COMMENT,ADDED_WHO) VALUES
+ (@USER_ID,@ENTITY_ID,'SUPERVISOR ADDED','TBPMO_SUPERVISOR_CONTROLS_AFT_INS')
+ END
+
+ FETCH NEXT FROM c_USER INTO @USERSTRING
+ 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 TRIGGER [dbo].[TBPMO_SUPERVISOR_CONTROLS_AFT_DEL] ON [dbo].[TBPMO_SUPERVISOR_CONTROLS]
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @USERSTRING VARCHAR(50),
+ @USER_ID INTEGER,
+ @ECM_USER_ID INTEGER,
+ @COUNT_FILES INTEGER
+ SELECT @CONTROL_ID = deleted.CONTROL_ID FROM deleted
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
+
+ DECLARE c_USER CURSOR FOR
+ SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @USERSTRING
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @USER_ID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@USERSTRING)
+
+ IF @USER_ID <> 0
+ SELECT @ECM_USER_ID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ IF @ECM_USER_ID > 0
+ BEGIN
+ SELECT @COUNT_FILES = COUNT(DocID) FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @ECM_USER_ID) AND ENTITY_ID = @ENTITY_ID
+ IF @COUNT_FILES > 0
+ IF NOT EXISTS (SELECT GUID FROM TBPMO_USER_RIGHTS_JOBS WHERE COMMENT = 'SUPERVISOR DELETED' AND ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID AND WORKED = 0)
+ INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,ENTITY_ID,COMMENT,ADDED_WHO) VALUES
+ (@USER_ID,@ENTITY_ID,'SUPERVISOR DELETED','TBPMO_SUPERVISOR_CONTROLS_AFT_DEL')
+ END
+ FETCH NEXT FROM c_USER INTO @USERSTRING
+ 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
+if not exists (select * from sysobjects where name='TBPMO_USER_RIGHTS_JOBS' and xtype='U')
+CREATE TABLE TBPMO_USER_RIGHTS_JOBS
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ USER_ID INTEGER NOT NULL,
+ ENTITY_ID INTEGER NOT NULL DEFAULT 0,
+ [COMMENT] VARCHAR(250) NOT NULL,
+ WORKED 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_USER_RIGHTS_JOBS PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_USER_RIGHTS_JOBS_AFT_UPD ON TBPMO_USER_RIGHTS_JOBS
+FOR UPDATE
+AS
+ UPDATE TBPMO_USER_RIGHTS_JOBS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_RIGHTS_JOBS.GUID = INSERTED.GUID
+GO
+if not exists (select * from sysobjects where name='TBPMO_LOG_ESSENTIALS' and xtype='U')
+CREATE TABLE TBPMO_LOG_ESSENTIALS
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ REFERENCE_KEY INTEGER NOT NULL DEFAULT '0',
+ REFERENCE_STRING VARCHAR(50) NOT NULL DEFAULT '',
+ [ENTITY_ID] INTEGER,
+ COMMENT VARCHAR(500) NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_LOG_ESSENTIALS PRIMARY KEY (GUID)
+)
+GO
+--###################################################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_CREATE_QUICK_SQL](@pCONSTURCT_ID INT)
+AS
+DECLARE @COL_NAME VARCHAR(50),
+ @SQL_BEGIN VARCHAR(1000),
+ @SQL_END VARCHAR(2000),
+ @SQL VARCHAR(5000),
+ @CONTROL_ID INT,
+ @RESULT VARCHAR(8000),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @FORM_ID INT,
+ @SQL_LBL VARCHAR(2000)
+
+DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'['+T.COL_NAME+']' AS 'COL_NAME',T2.GUID FROM TBPMO_CONTROL T, TBPMO_FORM_CONSTR_QUICK_DISPLAY T1, TBPMO_CONTROL_TYPE T2
+ WHERE T1.HEADLINE = 0 AND T1.PICTURE = 0 AND T1.CONSTRUCT_ID = @pCONSTURCT_ID AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID
+ ORDER BY T1.SEQUENCE
+BEGIN
+ SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID],'
+ SET @SQL_END = ' FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID'
+ --SELECT @SQL_BEGIN = SQL_RECORD_SQL1, @SQL_END = SQL_RECORD_SQL2 FROM TBPMO_KONFIGURATION WHERE GUID = 1 --T2.ADDED_WHO,T2.ADDED_WHEN, T2.CHANGED_WHO, T2.CHANGED_WHEN
+ SELECT @FORM_ID = FORM_ID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE GUID = @pCONSTURCT_ID
+ SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@FORM_ID)
+ --PICTURE HOLEN
+ SELECT @CONTROL_ID = T.GUID,@COL_NAME = '['+T.COL_NAME+']' FROM TBPMO_CONTROL T, TBPMO_FORM_CONSTR_QUICK_DISPLAY T1
+ WHERE T1.CONSTRUCT_ID = @pCONSTURCT_ID AND T.GUID = T1.CONTROL_ID AND T1.PICTURE = 1
+ IF @CONTROL_ID > 0
+ 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_BEGIN = @SQL_BEGIN + @SQL + ', '
+ SET @SQL = ''
+ END
+ SET @CONTROL_ID = 0
+ --HEADLINE HOLEN
+ SELECT @CONTROL_ID = T.GUID,@COL_NAME = '['+T.COL_NAME+']' FROM TBPMO_CONTROL T, TBPMO_FORM_CONSTR_QUICK_DISPLAY T1
+ WHERE T1.CONSTRUCT_ID = @pCONSTURCT_ID AND T.GUID = T1.CONTROL_ID AND T1.HEADLINE = 1
+ IF @CONTROL_ID > 0
+ BEGIN
+ BEGIN
+ IF @TYPEID = 10 OR @TYPEID = 11
+ 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
+ --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','T2.GUID')
+ -- SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME
+ -- END
+ ELSE
+ 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
+ END
+ SET @SQL_BEGIN = @SQL_BEGIN + @SQL + ', '
+ SET @SQL = ''
+ END
+
+ OPEN c_SPALTENNAMEN
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF LEN(ISNULL(@SQL,'')) = 0
+ BEGIN
+ IF @TYPEID = 10 OR @TYPEID = 11
+ 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
+ ELSE IF @TYPEID = 6
+ 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
+ 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
+ END
+ ELSE
+ 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
+ END
+ ELSE
+ BEGIN
+ IF (@TYPEID = 10) OR (@TYPEID = 11)
+ 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
+ ELSE IF @TYPEID = 6
+ 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
+ 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','T2.GUID')
+ SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME
+ END
+ ELSE
+ 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
+ END
+
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ END
+
+ CLOSE c_SPALTENNAMEN
+ DEALLOCATE c_SPALTENNAMEN
+
+ SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
+
+ UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET SQL_QUICK_VIEW = @RESULT WHERE GUID = @pCONSTURCT_ID
+END
+GO
+--##########################################################################################################################################
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_CONTROL' and xtype='U')
+CREATE TABLE TBPMO_CONTROL
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+
+ CONTROL_TYPE_ID INTEGER NOT NULL,
+ [COL_NAME] VARCHAR(100) NOT NULL,
+ CONNECTION_ID_1 SMALLINT,
+ CONNECTION_ID_2 SMALLINT,
+ DEFAULT_VALUE VARCHAR(100),
+ FORM_ID INTEGER NOT NULL,
+ FORMAT_TYPE VARCHAR(50) NOT NULL DEFAULT 'String',
+ NAME VARCHAR(100) NOT NULL,
+ SHOW_COLUMN BIT NOT NULL DEFAULT 1,
+ [PARENT_CONTROL_ID] INTEGER NOT NULL DEFAULT 0,
+ [REQUIRED] BIT NOT NULL DEFAULT 0,
+ SELECT_ONLY BIT NOT NULL DEFAULT 0,
+ STATIC_LIST VARCHAR(2000) NOT NULL DEFAULT '',
+ MASTER_DATA_ID INTEGER NOT NULL DEFAULT 0,
+ MULTILINE BIT NOT NULL DEFAULT 0,
+ [READ_ONLY] BIT NOT NULL DEFAULT 0,
+ SQL_COMMAND_1 VARCHAR(2000),
+ SQL_COMMAND_2 VARCHAR(2000),
+ AUTO_SUGGEST BIT NOT NULL DEFAULT 0,
+ TREE_VIEW BIT NOT NULL DEFAULT 0,
+ [VALIDATION] BIT NOT NULL DEFAULT 0,
+ VISIBLE BIT 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_CONTROL PRIMARY KEY (GUID),
+ CONSTRAINT UQK_TBPMO_CONTROL UNIQUE (FORM_ID,NAME),
+ CONSTRAINT FK_TBPMO_CONTROL_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID),
+ CONSTRAINT FK_TBPMO_CONTROL_CONTROL_TYPE_ID FOREIGN KEY (CONTROL_TYPE_ID) REFERENCES TBPMO_CONTROL_TYPE (GUID),
+)
+GO
+
+CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_INS] ON [dbo].[TBPMO_CONTROL]
+FOR INSERT
+AS
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @DEFAULT_VALUE VARCHAR(100),
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @TYP_ID INTEGER,
+ @SQL NVARCHAR(MAX)
+ SELECT
+ @CONTROL_ID = GUID,
+ @ADDED_WHO = ADDED_WHO,
+ @DEFAULT_VALUE = DEFAULT_VALUE,
+ @ENTITY_ID = FORM_ID,
+ @COL_NAME = COL_NAME
+ FROM INSERTED
+ --@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0
+ EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, '' ,@TYP_ID,@DEFAULT_VALUE,0
+GO
+CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_UPD] ON [dbo].[TBPMO_CONTROL]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @TYP_ID INTEGER,
+ @TABLENAME_COL NVARCHAR(100),
+ @NEW_COL_NAME NVARCHAR(100),
+ @SQL NVARCHAR(MAX),
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @COL_NAME_OLD VARCHAR(50),
+ @DEFAULT_VALUE VARCHAR(MAX),
+ @SQL_DEF NVARCHAR(1000),
+ @ENTITY_TABLENAME VARCHAR(50)
+ SELECT
+ @COL_NAME_OLD = COL_NAME
+ FROM DELETED
+ SELECT
+ @CONTROL_ID = GUID,
+ @TYP_ID = CONTROL_TYPE_ID,
+ @ENTITY_ID = FORM_ID,
+ @COL_NAME = COL_NAME,
+ @DEFAULT_VALUE = DEFAULT_VALUE
+ FROM INSERTED
+ UPDATE TBPMO_CONTROL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL.GUID = INSERTED.GUID
+
+ IF @TYP_ID NOT IN (1,5,8,9)
+ BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ IF COL_LENGTH(@ENTITY_TABLENAME, @COL_NAME) IS NOT NULL
+ BEGIN
+ PRINT 'NOW EXECUTING PRPMO_ALTER_ENTITY_TABLE....'
+ EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,1
+ END
+ ELSE
+ PRINT 'NO ALTER COLUMN: COLUMN NOT EXISTING!'
+ END
+END TRY
+BEGIN CATCH
+ PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_DEL] ON [dbo].[TBPMO_CONTROL]
+FOR DELETE
+AS
+DECLARE
+ @CONTROL_ID INTEGER,
+ @TYP_ID INTEGER,
+ @TABLENAME_COL NVARCHAR(100),
+ @NEW_COL_NAME NVARCHAR(100),
+ @SQL NVARCHAR(MAX),
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @COL_NAME_OLD VARCHAR(50),
+ @DEFAULT_VALUE VARCHAR(MAX),
+ @SQL_DEF NVARCHAR(1000)
+ SELECT
+ @CONTROL_ID = GUID,
+ @COL_NAME_OLD = COL_NAME,
+ @TYP_ID = CONTROL_TYPE_ID,
+ @ENTITY_ID = FORM_ID,
+ @COL_NAME = COL_NAME,
+ @DEFAULT_VALUE = DEFAULT_VALUE
+ FROM DELETED
+
+ EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,2
+
+GO
+--##############################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_FORM_CONSTR_QUICK_DISPLAY' and xtype='U')
+CREATE TABLE TBPMO_FORM_CONSTR_QUICK_DISPLAY
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONSTRUCT_ID INTEGER NOT NULL,
+ CONTROL_ID INTEGER NOT NULL,
+ HEADLINE BIT NOT NULL DEFAULT 0,
+ PICTURE BIT NOT NULL DEFAULT 0,
+ SEQUENCE INTEGER 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_FORM_CONSTR_QUICK_DISPLAY PRIMARY KEY (GUID),
+ CONSTRAINT UNIQUE_CONSTRUCTID_CONTROL_ID UNIQUE(CONSTRUCT_ID,CONTROL_ID),
+ CONSTRAINT FK_TBPMO_FORM_CONSTR_QUICK_DISPLAY_CONSTRUCT_ID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL (GUID),
+ CONSTRAINT FK_TBPMO_FORM_CONSTR_QUICK_DISPLAY_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID),
+)
+GO
+
+CREATE TRIGGER [dbo].[TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTR_QUICK_DISPLAY]
+FOR UPDATE
+AS
+ DECLARE
+ @GUID INTEGER,
+ @CONSTRUCT_ID INTEGER,
+ @HEADLINE BIT
+ SELECT
+ @GUID = GUID,
+ @CONSTRUCT_ID = CONSTRUCT_ID,
+ @HEADLINE = HEADLINE
+ FROM INSERTED
+
+ IF @HEADLINE = 1
+ BEGIN
+ UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET HEADLINE = 0 WHERE CONSTRUCT_ID = @CONSTRUCT_ID AND PICTURE = 0 AND GUID <> @GUID
+ EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID
+ END
+
+ UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID
+GO
+CREATE TRIGGER TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_INS ON TBPMO_FORM_CONSTR_QUICK_DISPLAY
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @CONSTRUCT_ID INTEGER,
+ @SEQUENCE INTEGER,
+ @COUNT INT
+
+ SELECT
+ @CONSTRUCT_ID = CONSTRUCT_ID
+ FROM INSERTED
+
+ SELECT
+ @SEQUENCE = MAX(SEQUENCE),
+ @COUNT = COUNT(*)
+ FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE HEADLINE = 0 AND PICTURE = 0 AND CONSTRUCT_ID = @CONSTRUCT_ID
+
+ IF @COUNT = 1
+ UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET HEADLINE = 1 FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID
+
+ IF @COUNT > 1
+ UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET SEQUENCE = @SEQUENCE + 1 FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID
+
+ EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID
+
+END TRY
+BEGIN CATCH
+ PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE TRIGGER TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_DEL ON TBPMO_FORM_CONSTR_QUICK_DISPLAY
+WITH EXECUTE AS CALLER
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @CONSTRUCT_ID INTEGER,
+ @COUNT INT
+
+ SELECT
+ @CONSTRUCT_ID = CONSTRUCT_ID
+ FROM deleted
+ SELECT
+ @COUNT = COUNT(*)
+ FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE CONSTRUCT_ID = @CONSTRUCT_ID
+
+ IF @COUNT >= 2
+ EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID
+ ELSE
+ UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET SQL_QUICK_VIEW = '' WHERE GUID = @CONSTRUCT_ID
+
+END TRY
+BEGIN CATCH
+ PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_WORKFLOW' and xtype='U')
+CREATE TABLE TBPMO_WORKFLOW
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CREATE_ON_FOLL_UP BIT NOT NULL DEFAULT 0,
+ CREATE_ON_REC_CREATE BIT NOT NULL DEFAULT 0,
+ DESCRIPTION VARCHAR(250),
+ TITLE VARCHAR(100) NOT NULL,
+ USER_SELECT VARCHAR(3000) NOT NULL DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1',
+ MANUALLY 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_WORKFLOW PRIMARY KEY (GUID)
+)
+GO
+
+CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @TITLE = TITLE,
+ @SCREEN_ID = 1,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO
+
+ SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_WORKFLOW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW.GUID = INSERTED.GUID
+
+ IF @CHANGED_WHO IS NOT NULL
+ BEGIN
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN Trigger: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+ END
+
+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].[TBPMO_WORKFLOW_AFT_INS] ON [dbo].[TBPMO_WORKFLOW]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @TITLE = TITLE,
+ @SCREEN_ID = 1,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @ADDED_WHO
+ SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_TASK_STATE' and xtype='U')
+CREATE TABLE TBPMO_WORKFLOW_TASK_STATE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ STATE_DESC VARCHAR(50) NOT NULL UNIQUE,
+ COLOR VARCHAR(50),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_WORKFLOW_TASK_STATE PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @STATE_DESC VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @STATE_DESC = STATE_DESC,
+ @SCREEN_ID = 1,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO
+
+ SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_WORKFLOW_TASK_STATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK_STATE.GUID = INSERTED.GUID
+
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @STATE_DESC,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--#############################################
+if not exists (select * from sysobjects where name='TBPMO_LANGUAGE_OBJECT' and xtype='U')
+CREATE TABLE TBPMO_LANGUAGE_OBJECT
+(
+ GUID INT IDENTITY(1,1),
+ LANGUAGE_TYPE VARCHAR(5) NOT NULL,
+ SCREEN_ID INTEGER NOT NULL,
+ PMO_OBJECT_NAME VARCHAR(100) NOT NULL,
+ CAPTION VARCHAR(100) NOT NULL,
+ HINT VARCHAR(500),
+ ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_LANGUAGE_OBJECT PRIMARY KEY(GUID)
+)
+GO
+
+CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @STATE_DESC VARCHAR(50),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @STATE_DESC = STATE_DESC,
+ @SCREEN_ID = 1,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC,@ADDED_WHO)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC,@ADDED_WHO)
+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 TBPMO_WORKFLOW_TASK_STATE_DELETE
+ON TBPMO_WORKFLOW_TASK_STATE
+FOR DELETE
+AS
+ DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE STATE_ID = (
+ SELECT GUID FROM DELETED)
+GO
+INSERT INTO TBPMO_WORKFLOW_TASK_STATE(STATE_DESC)
+VALUES
+ ('Angelegt')
+GO
+INSERT INTO TBPMO_WORKFLOW_TASK_STATE(STATE_DESC)
+VALUES
+ ('in Bearbeitung')
+GO
+INSERT INTO TBPMO_WORKFLOW_TASK_STATE(STATE_DESC)
+VALUES
+ ('Erledigt')
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_RECORD' and xtype='U')
+CREATE TABLE TBPMO_RECORD
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ COLOR VARCHAR(50) NOT NULL DEFAULT '',
+ FORM_ID INTEGER NOT NULL,
+ IN_WORK BIT NOT NULL DEFAULT 0,
+ IN_WORK_WHO VARCHAR(100),
+ IN_WORK_WHEN DATETIME,
+ DELETED BIT NOT NULL DEFAULT 0,
+ NODE_GUID INTEGER,
+ PARENT_RECORD INTEGER NOT NULL DEFAULT 0,
+ RECORD_ENTITY_ID BIGINT NOT NULL DEFAULT 0,
+ [VERSION] INTEGER 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_RECORD PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_RECORD_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM(GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_RECORD_AFT_UPD ON TBPMO_RECORD
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CHANGES BIT,
+ @RECORD_ID INTEGER,
+ @OLD_ENTITY_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @PARENT_RECORD INTEGER,
+ @ENTITY_TABLENAME VARCHAR(50),
+ @SQL NVARCHAR(MAX),
+ @DELETED_OLD BIT,
+ @DELETED BIT,
+ @RECORD_ENTITY_ID BIGINT,
+ @INWORK_OLD BIT,
+ @INWORK BIT,
+ @INWORK_WHO VARCHAR(50),
+ @CHANGED_WHO VARCHAR(50)
+ SELECT
+ @DELETED_OLD = [deleted],
+ @INWORK_OLD = IN_WORK,
+ @OLD_ENTITY_ID = FORM_ID
+ FROM deleted
+ SELECT
+ @RECORD_ID = GUID,
+ @ENTITY_ID = FORM_ID,
+ @DELETED = [deleted],
+ @RECORD_ENTITY_ID = RECORD_ENTITY_ID,
+ @INWORK = IN_WORK ,
+ @INWORK_WHO = ISNULL(IN_WORK_WHO,''),
+ @CHANGED_WHO = ISNULL(CHANGED_WHO,'')
+ FROM inserted
+
+ --PRINT '@RECORD_ENTITY_ID: ' + CONVERT(VARCHAR(100),@RECORD_ENTITY_ID)
+ SET @CHANGES = 0
+ IF UPDATE(IN_WORK)
+ BEGIN
+ IF @INWORK_OLD = 0 and @INWORK = 1
+ BEGIN
+ DECLARE @COMMENT VARCHAR(100)
+ SET @COMMENT = 'RECORD IN_WORK BY: ' + @INWORK_WHO
+ PRINT @COMMENT
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD IN_WORK BY: ' + @INWORK_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ UPDATE TBPMO_RECORD SET IN_WORK_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ END
+ ELSE IF @INWORK_OLD = 1 and @INWORK = 0
+ BEGIN
+ UPDATE TBPMO_RECORD SET IN_WORK_WHEN = NULL FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD UNLOCKED', 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ END
+ END
+ IF UPDATE(VERSION)
+ BEGIN
+ SET @CHANGES = 1
+ END
+ IF UPDATE(FORM_ID)
+ BEGIN
+ --ROLLBACK TRANSACTION
+ --RAISERROR('NOT ALLOWED TEMPORARILY', 16, 1)
+ SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID)
+ --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ EXEC sp_executesql @SQL
+ EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED AND RENEWED ENTITY: ' + CONVERT(VARCHAR(3),@ENTITY_ID), 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ SET @CHANGES = 1
+ END
+ IF UPDATE (PARENT_RECORD)
+ BEGIN
+ SELECT
+ @RECORD_ID = GUID,
+ @PARENT_RECORD = PARENT_RECORD,
+ @ENTITY_ID = FORM_ID
+ FROM INSERTED
+ SET @CHANGES = 1
+ IF @PARENT_RECORD > 0
+ BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ --RAISERROR(@SQL, 16, 1)
+ EXEC sp_executesql @SQL
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED THE PARENT_ID (VARIETY?): ' + @CHANGED_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ END
+ END
+ IF UPDATE([DELETED])
+ BEGIN
+ IF @DELETED_OLD = 0 and @DELETED = 1
+ BEGIN
+ Print '@DELETED_OLD = 0 and @DELETED = 1'
+ SET @RECORD_ENTITY_ID = 9999000000 + @RECORD_ENTITY_ID
+ Print '@RECORD_ENTITY_ID: '+ CONVERT(VARCHAR(100),@RECORD_ENTITY_ID)
+ UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @RECORD_ENTITY_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ END
+ SET @CHANGES = 1
+ END
+
+ IF @CHANGES = 1
+ UPDATE TBPMO_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.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 PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER, @MAN_AUTO BIT = 1)
+AS
+BEGIN
+ DECLARE
+ @WF_ID INTEGER,
+ @TITLE VARCHAR(50),
+ @SEQUENCE INTEGER,
+ @MELDUNG VARCHAR(250),
+ @STATE_ID INTEGER,
+ @SELECT_USER VARCHAR(3000)
+
+ DECLARE c_TASK CURSOR FOR
+ SELECT DISTINCT T.WF_ID FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 WHERE
+ T.WF_ID = T1.GUID AND T.ENTITY_ID = @FORM_ID AND T1.MANUALLY = @MAN_AUTO
+ OPEN c_TASK
+ FETCH NEXT FROM c_TASK INTO @WF_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ --DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ IF EXISTS(SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ UPDATE TBPMO_WORKFLOW_TASK SET ACTIVE = 0,CHANGED_WHO = (SELECT ISNULL(IN_WORK_WHO,'') FROM TBPMO_RECORD WHERE GUID = @RECORD_ID)
+ WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ Print 'All data deleted'
+ SELECT @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID AND GUID = (SELECT MIN(GUID) FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID)
+ SELECT @SELECT_USER = USER_SELECT FROM TBPMO_WORKFLOW WHERE GUID = @WF_ID
+ --IF @STATE_ID IS NOT NULL
+ BEGIN
+ --INSERT DES TASKS
+ INSERT INTO TBPMO_WORKFLOW_TASK(
+ RECORD_ID,
+ WF_ID,
+ ACTIVE,
+ STATE_ID,
+ USER_SELECT)
+ VALUES (
+ @RECORD_ID,
+ @WF_ID,
+ 1,
+ @STATE_ID,
+ @SELECT_USER)
+ END
+
+ FETCH NEXT FROM c_TASK INTO @WF_ID
+ END
+ CLOSE c_TASK
+ DEALLOCATE c_TASK
+ END
+GO
+
+-------------------------------------------------------------------------------
+CREATE 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,
+ @ADDED_WHO VARCHAR(50),
+ @INSERT_SQL NVARCHAR(MAX)
+ SELECT
+ @FORM_ID = FORM_ID,
+ @RECORD_ID = GUID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ IF @FORM_ID = 32
+ BEGIN
+ ROLLBACK TRANSACTION
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@FORM_ID,'FORM-ID','INSERT IN ARCHIVE ENTITY NOT ALLOWED ' + CONVERT(VARCHAR(10),@FORM_ID),@ADDED_WHO)
+ RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1)
+ END
+
+ SELECT @MAX_ID = ISNULL(MAX(RECORD_ENTITY_ID) + 1,0) FROM TBPMO_RECORD
+ WHERE FORM_ID = @FORM_ID AND DELETED = 0 AND GUID <> @RECORD_ID
+ SET @INSERT_SQL = 'INSERT INTO TBPMO_ENTITY_TABLE@ENT_ID ([Record-ID],AddedWho,AddedWhen) SELECT GUID,ADDED_WHO,ADDED_WHEN FROM TBPMO_RECORD WHERE GUID = @RECORD_ID'
+ SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@ENT_ID',CONVERT(VARCHAR(10),@FORM_ID))
+ SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@RECORD_ID',@RECORD_ID)
+
+ PRINT @INSERT_SQL
+ EXEC sp_executesql @INSERT_SQL
+ --RAISERROR(@INSERT_SQL, 16, 1);
+ -- ROLLBACK;
+ UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+
+ DECLARE @CONTROL_ID INTEGER,@VALUE VARCHAR(MAX)
+
+ DECLARE cursInsertDefaultValues CURSOR FOR
+ select GUID, DEFAULT_VALUE FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID AND DEFAULT_VALUE IS NOT NULL AND DEFAULT_VALUE <> ''
+ OPEN cursInsertDefaultValues
+ FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBPMO_CONTROL_VALUE (RECORD_ID,CONTROL_ID,VALUE,ADDED_WHO) VALUES (@RECORD_ID,@CONTROL_ID,@VALUE,@ADDED_WHO)
+ FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE
+ END
+ CLOSE cursInsertDefaultValues
+ DEALLOCATE cursInsertDefaultValues
+
+ ----Überprü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
+ AND T1.CREATE_ON_REC_CREATE = 1
+ )
+ 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()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+--################################################################################################################################################
+GO
+if not exists (select * from sysobjects where name='TBPMO_RECORD_CONNECT' and xtype='U')
+CREATE TABLE TBPMO_RECORD_CONNECT
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ RECORD1_ID INTEGER NOT NULL,
+ RECORD2_ID INTEGER NOT NULL,
+ 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_RECORD_CONNECT PRIMARY KEY (GUID),
+ CONSTRAINT UQ_RECORD_CONNECT UNIQUE (RECORD1_ID, RECORD2_ID),
+ CONSTRAINT FK_TBPMO_RECORD_CONNECT_RECORD1_ID FOREIGN KEY (RECORD1_ID) REFERENCES TBPMO_RECORD (GUID),
+ CONSTRAINT FK_TBPMO_RECORD_CONNECT_RECORD2_ID FOREIGN KEY (RECORD2_ID) REFERENCES TBPMO_RECORD (GUID),
+)
+GO
+CREATE TRIGGER TBPMO_RECORD_CONNECT_AFT_UPD ON TBPMO_RECORD_CONNECT
+FOR UPDATE
+AS
+ UPDATE TBPMO_RECORD_CONNECT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_CONNECT.GUID = INSERTED.GUID
+GO
+--#######################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_CONTROL_SCREEN' and xtype='U')
+CREATE TABLE TBPMO_CONTROL_SCREEN
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONTROL_ID INTEGER NOT NULL,
+ SCREEN_ID INTEGER NOT NULL,
+ CONTROL_TEXT VARCHAR(100) NOT NULL,
+ X_LOC FLOAT NOT NULL,
+ Y_LOC FLOAT NOT NULL,
+ HEIGHT SMALLINT NOT NULL,
+ WIDTH SMALLINT NOT NULL,
+ FONT_FAMILY VARCHAR(50) NOT NULL DEFAULT 'Tahoma',
+ FONT_COLOR BIGINT NOT NULL DEFAULT 0,
+ FONT_SIZE SMALLINT NOT NULL DEFAULT 8,
+ FONT_STYLE SMALLINT NOT NULL DEFAULT 0,
+ BACK_COLOR INTEGER NOT NULL DEFAULT 15790320, -- = SystemColors.Control
+ TAB_INDEX SMALLINT NOT NULL DEFAULT 1,
+ TAB_STOP 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_CONTROL_SCREEN PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CONTROL_SCREEN_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID),
+ CONSTRAINT FK_TBPMO_CONTROL_SCREEN_SCREEN_ID FOREIGN KEY (SCREEN_ID) REFERENCES TBPMO_SCREEN (GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_CONTROL_SCREEN_AFT_UPD ON TBPMO_CONTROL_SCREEN
+FOR UPDATE
+AS
+ UPDATE TBPMO_CONTROL_SCREEN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_SCREEN.GUID = INSERTED.GUID
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_TASK' and xtype='U')
+CREATE TABLE TBPMO_WORKFLOW_TASK
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ RECORD_ID INTEGER NOT NULL,
+ WF_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(500),
+ DUE_DATE DATE,
+ TASK_DATE DATE,
+ STATE_ID INTEGER NOT NULL,
+ ACTIVE BIT NOT NULL DEFAULT 0,
+ STATE_DESCRIPTION VARCHAR(1000) NOT NULL DEFAULT '',
+ FINISHED BIT NOT NULL DEFAULT 0,
+ USER_SELECT VARCHAR(3000) DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1',
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_WORKFLOW_TASK PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_TASK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_TASK_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_TASK_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_WORKFLOW_TASK_AFT_UPD ON TBPMO_WORKFLOW_TASK
+FOR UPDATE
+AS
+BEGIN
+DECLARE
+ @GUID INTEGER,
+ @STATE_ID INTEGER,
+ @WF_ID INTEGER,
+ @STATE VARCHAR(200),
+ @COMMENT VARCHAR(500),
+ @CHANGED_WHO VARCHAR(50),
+ @BUDGET_RESP VARCHAR(50),
+ @RECORD_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @EMAIL VARCHAR(250),
+ @SUBJECT VARCHAR(250),
+ @BODY VARCHAR(500),
+ @USER_ID INTEGER
+ SELECT
+ @GUID = GUID,
+ @WF_ID = WF_ID,
+ @STATE_ID = STATE_ID,
+ @COMMENT = COMMENT,
+ @CHANGED_WHO = CHANGED_WHO,
+ @RECORD_ID = RECORD_ID
+ FROM INSERTED
+
+ UPDATE TBPMO_WORKFLOW_TASK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID
+
+ /*######## KUNDEN INDIVIDUELL ########*/
+ SELECT @STATE = STATE_DESC FROM TBPMO_WORKFLOW_TASK_STATE WHERE GUID = @STATE_ID
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID = @GUID AND STATE_ID = @STATE_ID AND
+ STATE_DESC = @STATE AND COMMENT = COMMENT)
+ INSERT INTO TBPMO_WORKFLOW_TASK_HISTORY (WF_TASK_ID,STATE_ID,STATE_DESC,COMMENT,ADDED_WHO) VALUES
+ (@GUID,@STATE_ID,@STATE,@COMMENT,@CHANGED_WHO)
+
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ /*WORKFLOW PURCHASE CONTRACTS*/
+ IF @WF_ID = 1 AND @STATE_ID = 10
+ BEGIN
+ UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 11
+ END
+ IF @WF_ID = 1 AND @STATE_ID = 11
+ BEGIN
+ UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 10
+ END
+ IF @STATE_ID IN (14,15)
+ BEGIN
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID = @GUID
+ SELECT @BUDGET_RESP = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = 103 AND RECORD_ID = @RECORD_ID
+ SELECT @USER_ID = GUID FROM TBDD_USER WHERE PRENAME + ' ' + NAME = @BUDGET_RESP
+ SELECT @EMAIL = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID
+ INSERT INTO TBPMO_WORKFLOW_TASK_USER (WF_TASK_ID,USER_ID,ADDED_WHO) VALUES (@GUID,@USER_ID,'WORKFOW_ROUTER')
+ END
+ IF @WF_ID = 1 AND @STATE_ID = 14
+ BEGIN
+
+ UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 15
+
+ SET @SUBJECT = 'Workflow - Renewal of Contract'
+ SET @BODY = 'A purchase contract needs approval for renewing!
'
+ INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES
+ (@RECORD_ID,2,@ENTITY_ID,@GUID,@EMAIL,@SUBJECT,@BODY,@CHANGED_WHO)
+ END
+ IF @WF_ID = 1 AND @STATE_ID = 15
+ BEGIN
+ UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 14
+ SET @SUBJECT = 'Workflow - Purchase Contract cancelled'
+ SET @BODY = 'A purchase contract was cancelled - Please add some more information!
'
+ INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES
+ (@RECORD_ID,2,@ENTITY_ID,@GUID,@EMAIL,@SUBJECT,@BODY,@CHANGED_WHO)
+ END
+ IF @WF_ID = 1 AND @STATE_ID = 16
+ BEGIN
+ UPDATE TBPMO_WORKFLOW_TASK SET FINISHED = 1 FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID
+ END
+ /*######## ENDE KUNDEN_INDIVIDUELL ########*/
+END
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_TASK_USER' and xtype='U')
+CREATE TABLE TBPMO_WORKFLOW_TASK_USER
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ WF_TASK_ID INTEGER NOT NULL,
+ [USER_ID] INTEGER NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ CONSTRAINT PK_TBPMO_WF_TASK_USER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WF_TASK_USER_WF_TASK_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID),
+ CONSTRAINT FK_TBPMO_WF_TASK_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
+)
+GO
+CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_USER_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_USER]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @STATE_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @EMAIL VARCHAR(100),
+ @MSG VARCHAR(100),
+ @ADDED_WHO VARCHAR(50),
+ @WF_TASK_ID INTEGER,
+ @USER_ID INTEGER,
+ @SUBJECT VARCHAR(300),
+ @BODY VARCHAR(100)
+ SELECT
+ @WF_TASK_ID = GUID,
+ @USER_ID = USER_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+ /*######## KUNDEN INDIVIDUELL ########*/
+ IF @ADDED_WHO <> 'WORKFOW_ROUTER'
+ BEGIN
+ SELECT @EMAIL = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID
+ SELECT @RECORD_ID = RECORD_ID, @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_TASK WHERE GUID = @WF_TASK_ID
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ SET @MSG = '@ENTITY_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) + ' - STATE-ID: ' + CONVERT(VARCHAR(10),@STATE_ID)
+ IF @ENTITY_ID = 13 AND @STATE_ID = 10
+ BEGIN
+ SET @SUBJECT = 'PURCHASE CONTRACTS RENEWAL PROCESS'
+ SET @BODY = 'Workflow Purchasing Contracts
Please check wether contract needs to be renewed!'
+ END
+ IF @ENTITY_ID = 13 AND @STATE_ID = 11
+ BEGIN
+ SET @SUBJECT = 'PURCHASE CONTRACTS PROJECT NEEDED'
+ SET @BODY = 'Workflow Purchasing Contracts
Please advice system with information about project setup!'
+ END
+
+ IF @ENTITY_ID = 13 AND @STATE_ID in (10,11)
+ BEGIN
+ INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES
+ (@RECORD_ID,2,@ENTITY_ID,@WF_TASK_ID,@EMAIL,@SUBJECT,@BODY,@ADDED_WHO)
+ --RAISERROR ('IF', 16, 1)
+ END
+ --ELSE
+ --RAISERROR (@MSG, 16, 1)
+ END
+ /*######## ENDE ########*/
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_ENTITY_STATE' and xtype='U')
+CREATE TABLE TBPMO_WORKFLOW_ENTITY_STATE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ENTITY_ID INTEGER NOT NULL,
+ WF_ID INTEGER NOT NULL,
+ STATE_ID INTEGER NOT NULL,
+ FINAL BIT NOT NULL DEFAULT 0,
+ COMMENT VARCHAR(1000) NOT NULL DEFAULT '',
+ INACTIVE BIT NOT NULL DEFAULT 0,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_WORKFLOW_ENTITY_STATE PRIMARY KEY (GUID),
+ CONSTRAINT UNIQUE_ENTITY_ID_WF_ID_STATE_ID UNIQUE(ENTITY_ID,WF_ID,STATE_ID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID)
+)
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_REMINDER' and xtype='U')
+CREATE TABLE TBPMO_WORKFLOW_REMINDER
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ REMINDER_TYPE_ID INTEGER NOT NULL DEFAULT '1',
+ RECORD_ID INTEGER NOT NULL,
+ ENTITY_ID INTEGER,
+ WF_ID INTEGER NOT NULL,
+ EMAIL_ADRESS VARCHAR(100) NOT NULL,
+ EMAIL_SUBJ VARCHAR(500) NOT NULL,
+ EMAIL_BODY VARCHAR(500) NOT NULL,
+ EMAIL_SENT DATETIME,
+ 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_WORKFLOW_REMINDER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_REMINDER_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_WORKFLOW_REMINDER_AFT_UPD ON TBPMO_WORKFLOW_REMINDER
+FOR UPDATE
+AS
+ UPDATE TBPMO_WORKFLOW_REMINDER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_REMINDER.GUID = INSERTED.GUID
+GO
+
+if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_TASK_HISTORY' and xtype='U')
+CREATE TABLE TBPMO_WORKFLOW_TASK_HISTORY(
+ GUID INTEGER IDENTITY(1,1) NOT NULL,
+ FINISHED BIT NOT NULL DEFAULT 0,
+ WF_TASK_ID INTEGER NOT NULL,
+ STATE_ID INTEGER,
+ STATE_DESC VARCHAR(500) NOT NULL,
+ COMMENT VARCHAR(1000) NOT NULL,
+ ADDED_WHO VARCHAR(100) NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT (GETDATE()),
+ CONSTRAINT PK_TBPMO_WORKFLOW_TASK_HISTORY PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_TASK_HISTORY_RECORD_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID)
+)
+GO
+--###################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_CONTROL_HINT' and xtype='U')
+CREATE TABLE TBPMO_CONTROL_HINT
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONTROL_ID INTEGER NOT NULL,
+ HINT_COMMENT VARCHAR(500) NOT NULL,
+ LANGUAGE_CODE VARCHAR(10) NOT NULL DEFAULT 'de-DE',
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONTROL_HINT PRIMARY KEY (GUID),
+ CONSTRAINT UNIQUE_CONTROL_ID_LANGUAGE_CODE_CONTROL_ID UNIQUE(CONTROL_ID,LANGUAGE_CODE),
+ CONSTRAINT FK_TBPMO_CONTROL_HINT_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID),
+)
+GO
+
+CREATE TRIGGER TBPMO_CONTROL_HINT_AFT_UPD ON TBPMO_CONTROL_HINT
+FOR UPDATE
+AS
+ UPDATE TBPMO_CONTROL_HINT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_HINT.GUID = INSERTED.GUID
+GO
+
+--#################################################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_CONTROL_LANGUAGE' and xtype='U')
+CREATE TABLE TBPMO_CONTROL_LANGUAGE
+(
+ GUID INT IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel,
+ LANGUAGE_TYPE VARCHAR(5) NOT NULL,
+ CONTROL_SCREEN_ID INTEGER NOT NULL,
+ CAPTION VARCHAR(100) NOT NULL,
+ HINT VARCHAR(500),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONTROL_LANGUAGE PRIMARY KEY(GUID),
+ CONSTRAINT FK_TBPMO_CONTROL_LANGUAGE_CTRLSCR_ID FOREIGN KEY(CONTROL_SCREEN_ID) REFERENCES TBPMO_CONTROL_SCREEN(GUID)
+)
+GO
+------------------------------------------------------------------------------
+
+CREATE TRIGGER TBPMO_CONTROL_LANGUAGE_AFT_UPD ON TBPMO_CONTROL_LANGUAGE
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBPMO_CONTROL_LANGUAGE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_LANGUAGE.GUID = INSERTED.GUID
+END
+GO
+--################################################################################################################################################
+--Insert trigger
+CREATE TRIGGER [dbo].[TBPMO_CONTROL_SCREEN_AFT_INS] ON [dbo].[TBPMO_CONTROL_SCREEN]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @GUID INTEGER,
+ @CONTROL_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @SEQUENCE INTEGER
+ SELECT
+ @GUID = GUID,
+ @CONTROL_ID = CONTROL_ID
+ FROM INSERTED
+
+ SELECT
+ @ENTITY_ID = FORM_ID
+ FROM TBPMO_CONTROL WHERE [GUID] = @CONTROL_ID
+
+ SELECT @SEQUENCE = MAX(TAB_INDEX) FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @ENTITY_ID)
+
+ UPDATE TBPMO_CONTROL_SCREEN SET TAB_INDEX = @SEQUENCE + 1 FROM INSERTED WHERE TBPMO_CONTROL_SCREEN.GUID = INSERTED.GUID
+
+END TRY
+BEGIN CATCH
+ PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--################################################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_WD_IMPORT_PROFILE' and xtype='U')
+CREATE TABLE TBPMO_WD_IMPORT_PROFILE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ NAME VARCHAR(100) NOT NULL,
+ WD_SEARCH VARCHAR(1000) NOT NULL,
+ UNIQUE_DOC_SQL VARCHAR(5000),
+ SQL_DOCTYPE VARCHAR(5000) NOT NULL DEFAULT 'select GUID from TBDD_DOKUMENTART where BEZEICHNUNG = ''@DOKTYPE_STRING''',
+ SQL_PARENT_RECORD VARCHAR(5000) NOT NULL DEFAULT '',
+ NEW_OBJECTTYPE VARCHAR(100) NOT NULL,
+ OLD_OBJECTTYPE VARCHAR(100) NOT NULL,
+ IDX_FILE_WORKED VARCHAR(100) NOT NULL DEFAULT '',
+ ONLY_RECORD_CREATING BIT NOT NULL DEFAULT 0,
+ ENTITY_ID INTEGER NOT NULL,
+ CONNECTION_ID INTEGER,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_WD_IMPORT_PROFILE PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_AFT_UPD ON TBPMO_WD_IMPORT_PROFILE
+FOR UPDATE
+AS
+ UPDATE TBPMO_WD_IMPORT_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_IMPORT_PROFILE.GUID = INSERTED.GUID
+GO
+
+if not exists (select * from sysobjects where name='TBPMO_WD_IMPORT_PROFILE_IDX' and xtype='U')
+CREATE TABLE TBPMO_WD_IMPORT_PROFILE_IDX
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ PROFILE_ID INTEGER NOT NULL,
+ STRING1 VARCHAR(200) NOT NULL,
+ STRING2 VARCHAR(200) NOT NULL,
+ SQL1 VARCHAR(5000),
+ SQL2 VARCHAR(5000),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_WD_IMPORT_PROFILE_IDX PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WD_IMPORT_PROFILE_IDX_1 FOREIGN KEY (PROFILE_ID) REFERENCES TBPMO_WD_IMPORT_PROFILE (GUID),
+)
+GO
+CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_IDX_AFT_UPD ON TBPMO_WD_IMPORT_PROFILE_IDX
+FOR UPDATE
+AS
+ UPDATE TBPMO_WD_IMPORT_PROFILE_IDX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_IMPORT_PROFILE_IDX.GUID = INSERTED.GUID
+GO
+
+CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_AFT_INS ON TBPMO_WD_IMPORT_PROFILE
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @GUID INTEGER,@ADDED_WHO VARCHAR(50)
+ SELECT
+ @GUID = GUID,@ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES
+ (@GUID,'DOCTYPE_ORIGIN','SET INDEXNAME',@ADDED_WHO)
+ INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES
+ (@GUID,'INDEX_DOCTYPE','SET INDEXNAME',@ADDED_WHO)
+ INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES
+ (@GUID,'INDEX_RECORD_ID','SET INDEXNAME',@ADDED_WHO)
+ INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES
+ (@GUID,'INDEX_ENTITY_ID','SET INDEXNAME',@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+if not exists (select * from sysobjects where name='TBPMO_SAP_FUBA' and xtype='U')
+CREATE TABLE TBPMO_SAP_FUBA
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ NAME VARCHAR(100) NOT NULL,
+ COMMENT VARCHAR(500),
+ Method VARCHAR(50) NOT NULL DEFAULT 'TABLE',
+ TableName VARCHAR(100) NOT NULL,
+ Host VARCHAR(100) NOT NULL,
+ SystemNumber VARCHAR(30) NOT NULL,
+ UserName VARCHAR(50) NOT NULL,
+ [Password] VARCHAR(100) NOT NULL,
+ Client VARCHAR(100) NOT NULL,
+ [Language] VARCHAR(20) NOT NULL,
+ TempTableName VARCHAR(100) NOT NULL,
+ FuBa_SplitCharacter VARCHAR(1) NOT NULL DEFAULT ';',
+ WHERE_CLAUSE VARCHAR(500),
+ ACTIVE 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_SAP_FUBA PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_SAP_FUBA_AFT_UPD ON TBPMO_SAP_FUBA
+FOR UPDATE
+AS
+ UPDATE TBPMO_SAP_FUBA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SAP_FUBA.GUID = INSERTED.GUID
+GO
+CREATE 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
+--###################################################################################################################
+CREATE PROCEDURE PRPMO_CREATE_TEMP_VIEWS
+AS
+BEGIN
+ DECLARE
+ @FORM_ID INTEGER,
+ @SQL_COMMAND nvarchar(MAX),
+ @VIEW_NAME nvarchar(30),
+ @DEL_SQL NVARCHAR(100),
+ @CREATE_VIEW NVARCHAR(MAX)
+ DECLARE c_TASK CURSOR FOR
+ SELECT FORM_ID,SQL_COMMAND
+ FROM TBPMO_FORM_SQL where SQL_COMMAND is not null
+ OPEN c_TASK
+ FETCH NEXT FROM c_TASK INTO @FORM_ID,@SQL_COMMAND
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @VIEW_NAME = 'VWTEMP_PMO_FORM' + CONVERT(VARCHAR(3),@FORM_ID)
+ IF EXISTS(select * FROM sys.views where name = @VIEW_NAME)
+ BEGIN
+ SET @DEL_SQL = 'DROP VIEW dbo.' + QUOTENAME(@VIEW_NAME) + ''
+ EXEC sp_executesql @DEL_SQL
+ END
+ SELECT @SQL_COMMAND = SQL_COMMAND FROM TBPMO_FORM_SQL where FORM_ID = @FORM_ID
+ SET @CREATE_VIEW = 'CREATE VIEW ' + @VIEW_NAME + ' AS ' + @SQL_COMMAND
+
+ EXEC sp_executesql @CREATE_VIEW
+
+ FETCH NEXT FROM c_TASK INTO @FORM_ID,@SQL_COMMAND
+ END
+ CLOSE c_TASK
+ DEALLOCATE c_TASK
+ END
+GO
+--###################################################################################################################
+-----INSERT TRIGGER FÜR TBPMO_FORM
+CREATE TRIGGER [dbo].[TBPMO_FORM_AFT_INS] ON [dbo].[TBPMO_FORM]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_ID INTEGER,
+ @FORM_TYPE INTEGER,
+ @ADDED_WHO VARCHAR(50)
+ --@SQL_RECORD1 VARCHAR(500),
+ --@SQL_RECORD2 VARCHAR(500)
+ SELECT
+ @FORM_ID = GUID,
+ @FORM_TYPE = FORM_TYPE_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ IF @FORM_TYPE = 5
+ BEGIN
+ INSERT INTO TBPMO_CONTROL (
+ FORM_ID, CONTROL_TYPE_ID, DEFAULT_VALUE, NAME, [COL_NAME]) VALUES (
+ @FORM_ID,2,'GROUP_RECORD','txtGROUP_RECORD','GROUP_RECORD')
+ DECLARE @CTRL_ID INTEGER
+ SELECT @CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID
+ INSERT INTO TBPMO_CONTROL_SCREEN (
+ CONTROL_ID, SCREEN_ID, CONTROL_TEXT, X_LOC, Y_LOC, HEIGHT, WIDTH, TAB_INDEX) VALUES (
+ @CTRL_ID, 1, 'GROUP_RECORD', 5, 5, 22, 100,1)
+ END
+
+ --EXEC dbo.PRPMO_CREATE_SQL @FORM_ID
+ --EXEC dbo.PRPMO_CREATE_TEMP_VIEWS
+END TRY
+BEGIN CATCH
+ PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+BEGIN TRY
+ INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID)
+ SELECT T.CLIENT_ID,@FORM_ID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR INSERTING TBPMO_CLIENT_ENTITY-ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+--###############################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_RECORD_LOG_CONFIG' and xtype='U')
+CREATE TABLE TBPMO_RECORD_LOG_CONFIG
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONTROL_ID INTEGER NOT NULL,
+ LOG_DELETE BIT NOT NULL DEFAULT 0,
+ LOG_UPDATE BIT NOT NULL DEFAULT 0,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_RECORD_LOG_CONFIG PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_RECORD_LOG_CONFIG_CONTROL_ID FOREIGN KEY(CONTROL_ID) REFERENCES TBPMO_CONTROL(GUID)
+)
+GO
+CREATE TRIGGER TBPMO_RECORD_LOG_CONFIG_AFT_UPD ON TBPMO_RECORD_LOG_CONFIG
+FOR UPDATE
+AS
+ UPDATE TBPMO_RECORD_LOG_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_RECORD_LOG_CONFIG.GUID = INSERTED.GUID
+GO
+--###############################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_RECORD_LOG' and xtype='U')
+CREATE TABLE TBPMO_RECORD_LOG
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ RECORD_ID INTEGER NOT NULL,
+ CONTROL_ID INTEGER NOT NULL,
+ LOG_DESCRIPTION VARCHAR(1000) NOT NULL,
+ ADDED_WHO VARCHAR(100),
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_RECORD_LOG PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_RECORD_LOG_CONTROL_ID FOREIGN KEY(CONTROL_ID) REFERENCES TBPMO_CONTROL(GUID),
+ CONSTRAINT FK_TBPMO_RECORD_LOG_RECORD_ID FOREIGN KEY(RECORD_ID) REFERENCES TBPMO_RECORD(GUID)
+)
+GO
+CREATE TABLE dbo.TBPMO_CONTROL_VALUE_HISTORY(
+ GUID INT NOT NULL IDENTITY(1,1),
+ CONTROL_ID INT,
+ RECORD_ID INT,
+ VALUE VARCHAR(max) ,
+ ADDED_WHO VARCHAR(50),
+ ADDED_WHEN DATETIME,
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CHANGE_STEP INT,
+ COMMENT VARCHAR(MAX),
+ REDO BIT,
+ CONSTRAINT PK_TBPMO_CONTROL_VALUE_HISTORY PRIMARY KEY (GUID)
+ )
+GO
+SET IDENTITY_INSERT dbo.TBPMO_CONTROL_VALUE_HISTORY ON;
+GO
+CREATE NONCLUSTERED INDEX [IDX_TBPMO_CONTROL_VALUE_HISTORY]
+ON [dbo].[TBPMO_CONTROL_VALUE_HISTORY] ([RECORD_ID])
+INCLUDE ([VALUE])
+GO
+--###############################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_CONTROL_VALUE' and xtype='U')
+CREATE TABLE TBPMO_CONTROL_VALUE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONTROL_ID INTEGER NOT NULL,
+ RECORD_ID INTEGER NOT NULL,
+ VALUE VARCHAR(MAX),
+ CHANGE_STEP INTEGER NOT NULL DEFAULT 0,
+ REDO 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_CONTROL_VALUE PRIMARY KEY (GUID),
+ --CONSTRAINT UQ_CONTROLID_RECORDID UNIQUE (CONTROL_ID, RECORD_ID),
+ CONSTRAINT FK_TBPMO_CONTROL_VALUE_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID),
+ CONSTRAINT FK_TBPMO_CONTROL_VALUE_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID),
+
+)
+GO
+CREATE NONCLUSTERED INDEX [IDX_TBPMO_CONTROL_VALUE_RECID_VALUE]
+ON [dbo].[TBPMO_CONTROL_VALUE] ([RECORD_ID])
+INCLUDE ([VALUE])
+GO
+
+
+CREATE TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR UPDATE
+AS
+/*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @RECORD_ID INTEGER,
+ @VALUE_NEW VARCHAR(MAX),
+ @VALUE_OLD VARCHAR(MAX),
+ @CHANGED_WHO VARCHAR(50),
+ @CHANGE_STEP INTEGER,
+ @REDO BIT,
+ @CHANGE_ID INTEGER,
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @USER_ID_ECM INTEGER,
+ @RIGHT INTEGER,
+ @COUNTER_CONTROL_UPDATE_ID INTEGER,
+ @UPDATE_SQL NVARCHAR(MAX),
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @MSG_TRIGGER VARCHAR(500)
+ IF UPDATE (VALUE)
+ BEGIN
+ SELECT
+ @CONTROL_ID = DELETED.CONTROL_ID,
+ @RECORD_ID = DELETED.RECORD_ID,
+ @VALUE_OLD = DELETED.VALUE,
+ @ENTITY_ID = T.FORM_ID,
+ @COL_NAME = T1.COL_NAME
+ FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1
+ WHERE DELETED.RECORD_ID = T.GUID AND
+ DELETED.CONTROL_ID = T1.GUID
+
+ SELECT
+ @CHANGE_STEP = CHANGE_STEP,
+ @CHANGED_WHO = CHANGED_WHO,
+ @VALUE_NEW = VALUE,
+ @REDO = REDO
+ FROM INSERTED
+
+ INSERT INTO TBPMO_CONTROL_VALUE_HISTORY (GUID,CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN, COMMENT)
+ SELECT I.GUID,I.CONTROL_ID, I.RECORD_ID, I.VALUE,I.ADDED_WHO, I.ADDED_WHEN,I.CHANGED_WHO,GETDATE(), 'LOG-UPDATE' FROM INSERTED I, TBPMO_CONTROL_VALUE T where T.GUID = I.GUID
+
+ IF @CONTROL_ID in (29,14,272,346)
+ BEGIN
+ PRINT 'CHANGE OF RIGHT RELEVANT CONTROL'
+ SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ END
+ --RAISERROR (@VALUE , 16, 1)
+
+ --PRINT 'OLD VALUE: ' + @VALUE_OLD
+ --PRINT 'NEW VALUE: ' + @VALUE_NEW
+ IF @CHANGED_WHO IS NULL
+ BEGIN
+ SELECT @CHANGED_WHO = IN_WORK_WHO FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ IF @CHANGED_WHO IS NULL
+ SET @CHANGED_WHO = 'TRIGGER DEFAULT'
+ END
+
+ SELECT @CHANGE_ID = ISNULL(MAX(GUID),0) FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD
+ IF @CHANGE_ID = 0
+ INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ ELSE
+ UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET CHANGED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID
+ --IF @REDO = 0
+ -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP)
+ -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ --Update des Logs für loggen von Datensatzänderungen
+ IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
+ If @VALUE_OLD <> @VALUE_NEW
+ BEGIN
+ DECLARE @LOG VARCHAR(1000)
+ SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW
+ INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO)
+ END
+ ELSE
+ PRINT 'VALUES NOT DIFFERENT'
+ BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME))
+ EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@CHANGED_WHO,@VALUE_NEW
+ END
+ END
+ /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/
+ --Generelle Updates (Datum und Record-Änderungen)
+ UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID
+ UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID
+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].[TBPMO_CONTROL_VALUE_AFT_DEL] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @GUID INTEGER,
+ @RECORD_ID INTEGER,
+ @CONTROL_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @ADDED_WHEN DATETIME,
+ @CHANGED_WHO VARCHAR(50),
+ @CHANGED_WHEN DATETIME,
+ @VALUE_DEL VARCHAR(MAX),
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @USER_ID_ECM INTEGER,
+ @RIGHT INTEGER,
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @COUNTER_CONTROL_UPDATE_ID INTEGER
+ SELECT
+ @GUID = DELETED.GUID,
+ @RECORD_ID = DELETED.RECORD_ID,
+ @CONTROL_ID = DELETED.CONTROL_ID,
+ @VALUE_DEL = DELETED.VALUE,
+ @ENTITY_ID = T1.FORM_ID,
+ @COL_NAME = T1.COL_NAME ,
+ @ADDED_WHO = DELETED.ADDED_WHO,
+ @ADDED_WHEN = DELETED.ADDED_WHEN,
+ @CHANGED_WHO = DELETED.CHANGED_WHO,
+ @CHANGED_WHEN = DELETED.CHANGED_WHEN
+ FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1
+ WHERE DELETED.RECORD_ID = T.GUID AND
+ DELETED.CONTROL_ID = T1.GUID
+
+ IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID)
+ DELETE FROM TBPMO_APPOINTMENTS WHERE [CustomField1] = @RECORD_ID AND [CustomField2] = @CONTROL_ID
+ EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,''
+
+ INSERT INTO TBPMO_CONTROL_VALUE_HISTORY(GUID,CONTROL_ID,RECORD_ID,VALUE,CHANGE_STEP,REDO,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN)
+ SELECT GUID,CONTROL_ID,RECORD_ID,VALUE,CHANGE_STEP,REDO,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM DELETED
+
+
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ --IF @CONTROL_ID in (29,14,346)
+ -- BEGIN
+ -- SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ -- UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ -- END
+ --IF @CONTROL_ID = 346
+ -- BEGIN
+ -- DECLARE cursor_DOCS CURSOR FOR
+ -- select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ -- TRL.RECORD_ID = @RECORD_ID
+ -- --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_GROUPS WHERE NAME = @VALUE_NEW)
+ -- OPEN cursor_DOCS
+ -- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ -- WHILE @@FETCH_STATUS = 0
+ -- BEGIN
+ -- BEGIN
+ -- DECLARE cursor_User CURSOR FOR
+ -- SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_GROUPS WHERE NAME = @VALUE_DEL)
+ -- OPEN cursor_User
+ -- FETCH NEXT FROM cursor_User INTO @USER_ID
+ -- WHILE @@FETCH_STATUS = 0
+ -- BEGIN
+ -- SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ -- EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'DELETE RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_DEL_346', @COUNTER_CONTROL_UPDATE_ID
+ -- FETCH NEXT FROM cursor_User INTO @USER_ID
+ -- END
+ -- CLOSE cursor_User
+ -- DEALLOCATE cursor_User
+ -- END
+ -- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ -- END
+ -- CLOSE cursor_DOCS
+ -- DEALLOCATE cursor_DOCS
+ -- END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+END TRY
+BEGIN CATCH
+ PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+
+GO
+
+if not exists (select * from sysobjects where name='TBPMO_CONTROL_VALUE_CHANGE_HISTORY' and xtype='U')
+CREATE TABLE TBPMO_CONTROL_VALUE_CHANGE_HISTORY
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ RECORD_ID INTEGER,
+ CONTROL_ID INTEGER,
+ VALUE VARCHAR(MAX),
+ CHANGE_STEP INTEGER,
+ ADDED_WHO VARCHAR(50) NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONTROL_VALUE_CHANGE_HISTORY_CHANGE_HISTORY PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_CONTROL_VALUE_CHANGE_HISTORY_CHANGE_HISTORY_UPD ON TBPMO_CONTROL_VALUE_CHANGE_HISTORY
+FOR UPDATE
+AS
+ UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE_CHANGE_HISTORY.GUID = INSERTED.GUID
+GO
+CREATE TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+ /*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/
+ DECLARE
+ @COUNT_GUID INTEGER,
+ @RECORD_ID INTEGER,
+ @CONTROL_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @VALUE_NEW VARCHAR(MAX),
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @USER_ID_ECM INTEGER,
+ @RIGHT INTEGER,
+ @COUNTER_CONTROL_UPDATE_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @CONTROL_TYPE INTEGER
+ SELECT
+ @RECORD_ID = INSERTED.RECORD_ID,
+ @CONTROL_ID = INSERTED.CONTROL_ID,
+ @ADDED_WHO = INSERTED.ADDED_WHO,
+ @VALUE_NEW = INSERTED.VALUE,
+ @ENTITY_ID = T.FORM_ID,
+ @COL_NAME = T1.COL_NAME,
+ @CONTROL_TYPE = T1.CONTROL_TYPE_ID
+ FROM INSERTED, TBPMO_RECORD T,TBPMO_CONTROL T1
+ WHERE INSERTED.RECORD_ID = T.GUID AND
+ INSERTED.CONTROL_ID = T1.GUID
+
+ SELECT @COUNT_GUID = COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_NEW
+ IF @COUNT_GUID > 1
+ BEGIN
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','UNIQUE VIOLATION - VALUE ' + @VALUE_NEW,@ADDED_WHO)
+ RAISERROR ('UNIQUE VIOLATION: THE VALUE ALREADY EXISTS - MULTIPLE VALUES PER CONTROL NOT ALLOWED!',16,1)
+ ROLLBACK TRANSACTION
+ END
+
+ IF @CONTROL_TYPE = 4
+ IF ISDATE(@VALUE_NEW) = 0
+ BEGIN
+ declare @msg varchar(200)
+ SET @msg = 'INVALID INPUT: ' + @VALUE_NEW + ' - A DATE VALUE IS REQUIRED'
+ RAISERROR (@msg,16,1)
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','INVALID DATE-VALUE: ' + @VALUE_NEW,@ADDED_WHO)
+ ROLLBACK TRANSACTION
+ END
+
+ -- Änderung Vladi ------
+ --SET @VALUE_NEW = REPLACE(@VALUE_NEW,'''','''''')
+ ------------------------
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME))
+ EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@ADDED_WHO,@VALUE_NEW
+
+ IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID)
+ BEGIN
+ DECLARE @SUBJECT VARCHAR(100),
+ @LOCATION VARCHAR(100),
+ @DESCRIPTION VARCHAR(100)
+ SELECT @SUBJECT = APPT_SUBJECT, @LOCATION = APPT_LOCATION,@DESCRIPTION = APPT_DESCRIPTION FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID
+
+ INSERT INTO TBPMO_APPOINTMENTS (Type,[StartDate],[EndDate],[AllDay],[Subject],[Location],[Description],Status,Label,[CustomField1],[CustomField2]) VALUES
+ (0,CONVERT(DATE,@VALUE_NEW),CONVERT(DATE,@VALUE_NEW),1,@SUBJECT,@LOCATION,@DESCRIPTION,0,2,@RECORD_ID,@CONTROL_ID)
+ END
+
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ --IF @CONTROL_ID = 346
+ -- BEGIN
+ -- SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ -- UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ -- DECLARE cursor_DOCS CURSOR FOR
+ -- select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ -- TRL.RECORD_ID = @RECORD_ID
+ -- --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_GROUPS WHERE NAME = @VALUE_NEW)
+ -- OPEN cursor_DOCS
+ -- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ -- WHILE @@FETCH_STATUS = 0
+ -- BEGIN
+ -- BEGIN
+ -- DECLARE cursor_User CURSOR FOR
+ -- SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_GROUPS WHERE NAME = @VALUE_NEW)
+ -- --select DocID from VWPMO_DOC_SEARCH where RECORD_ID = @RECORD_ID
+ -- OPEN cursor_User
+ -- FETCH NEXT FROM cursor_User INTO @USER_ID
+ -- WHILE @@FETCH_STATUS = 0
+ -- BEGIN
+ -- SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ -- EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'ADD RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS_346', @COUNTER_CONTROL_UPDATE_ID
+ -- FETCH NEXT FROM cursor_User INTO @USER_ID
+ -- END
+ -- CLOSE cursor_User
+ -- DEALLOCATE cursor_User
+ -- END
+ -- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ -- END
+ -- CLOSE cursor_DOCS
+ -- DEALLOCATE cursor_DOCS
+ -- END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+GO
+--#############################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_CONTROL_IMAGE' and xtype='U')
+CREATE TABLE TBPMO_CONTROL_IMAGE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONTROL_ID INTEGER NOT NULL,
+ RECORD_ID INTEGER NOT NULL,
+ IMG VARBINARY(max) NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONTROL_IMAGE PRIMARY KEY (GUID),
+ CONSTRAINT UQ_CONTROLID_RECORDID_IMG UNIQUE (CONTROL_ID, RECORD_ID),
+ CONSTRAINT FK_TBPMO_CONTROL_IMAGE_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID),
+ CONSTRAINT FK_TBPMO_CONTROL_IMAGE_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID),
+
+)
+GO
+
+CREATE TRIGGER TBPMO_CONTROL_IMAGE_AFT_UPD ON TBPMO_CONTROL_IMAGE
+FOR UPDATE
+AS
+BEGIN
+ DECLARE @RECORD_ID INTEGER, @CHANGED_WHO VARCHAR(50)
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ UPDATE TBPMO_CONTROL_IMAGE
+ SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_CONTROL_IMAGE.GUID = INSERTED.GUID
+
+ UPDATE TBPMO_RECORD SET
+ CHANGED_WHO = @CHANGED_WHO
+ WHERE TBPMO_RECORD.GUID = @RECORD_ID
+END
+GO
+--###############################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_APPOINTMENTS' and xtype='U')
+CREATE TABLE TBPMO_APPOINTMENTS (
+ [UniqueID] [int] IDENTITY (1, 1) NOT NULL ,
+ [Type] [int] NULL ,
+ [StartDate] [smalldatetime] NULL ,
+ [EndDate] [smalldatetime] NULL ,
+ [AllDay] [bit] NULL ,
+ [Subject] [nvarchar] (150) NULL ,
+ [Location] [nvarchar] (50) NULL ,
+ [Description] [nvarchar](max) NULL ,
+ [Status] [int] NULL ,
+ [Label] [int] NULL ,
+ [ResourceID] [int] NULL ,
+ [ResourceIDs] [nvarchar](max) NULL ,
+ [ReminderInfo] [nvarchar](max) NULL ,
+ [RecurrenceInfo] [nvarchar](max) NULL ,
+ [CustomField1] [nvarchar](max) NULL ,
+ [CustomField2] [nvarchar](max) NULL
+CONSTRAINT [PK_Appointments] PRIMARY KEY CLUSTERED
+(
+ [UniqueID] ASC
+)
+) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
+
+GO
+if not exists (select * from sysobjects where name='TBPMO_APPOINTMENT_CONTROLS' and xtype='U')
+CREATE TABLE TBPMO_APPOINTMENT_CONTROLS(
+ CONTROL_ID INT NOT NULL,
+ APPT_SUBJECT VARCHAR(100) DEFAULT 'NO APPONTMENT-SUBJECT DEFINED',
+ APPT_LOCATION VARCHAR(100) DEFAULT '',
+ APPT_DESCRIPTION VARCHAR(100) DEFAULT '',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+CONSTRAINT [PK_TBPMO_APPOINTMENT_CONTROLS] PRIMARY KEY(CONTROL_ID))
+GO
+------------------------------------------------------------------------------
+-- TBPMO RESOURCES
+------------------------------------------------------------------------------
+if not exists (select * from sysobjects where name='TBPMO_RESOURCES' and xtype='U')
+CREATE TABLE TBPMO_RESOURCES (
+ [UniqueID] [int] IDENTITY (1, 1) NOT NULL ,
+ [ResourceID] [int] NOT NULL ,
+ [ResourceName] [nvarchar] (50) NULL ,
+ [Color] [int] NULL ,
+ [Image] [image] NULL ,
+ [CustomField1] [nvarchar](max) NULL
+CONSTRAINT [PK_Resources] PRIMARY KEY CLUSTERED
+(
+ [UniqueID] ASC
+)
+) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
+
+GO
+--SET IDENTITY_INSERT [dbo].[TBPMO_RESOURCES] ON
+INSERT [TBPMO_RESOURCES] ([ResourceID], [ResourceName], [Color], [Image], [CustomField1]) VALUES (1, N'Resource One', NULL, NULL, NULL)
+INSERT [TBPMO_RESOURCES] ([ResourceID], [ResourceName], [Color], [Image], [CustomField1]) VALUES (2, N'Resource Two', NULL, NULL, NULL)
+INSERT [TBPMO_RESOURCES] ([ResourceID], [ResourceName], [Color], [Image], [CustomField1]) VALUES (3, N'Resource Three', NULL, NULL, NULL)
+
+GO
+--##########################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_FUNCTION_GENERAL' and xtype='U')
+CREATE TABLE TBPMO_FUNCTION_GENERAL
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONTROL_ID INTEGER NOT NULL,
+ METHOD VARCHAR(20) NOT NULL,
+ STRING1 VARCHAR(250),
+ STRING2 VARCHAR(250),
+ STRING3 VARCHAR(250),
+ STRING4 VARCHAR(250),
+ STRING5 VARCHAR(250),
+ STRING6 VARCHAR(250),
+ STRING7 VARCHAR(250),
+ STRING8 VARCHAR(250),
+ STRING9 VARCHAR(250),
+ STRING10 VARCHAR(250),
+ INTEGER1 INTEGER,
+ INTEGER2 INTEGER,
+ INTEGER3 INTEGER,
+ INTEGER4 INTEGER,
+ INTEGER5 INTEGER,
+ INTEGER6 INTEGER,
+ INTEGER7 INTEGER,
+ INTEGER8 INTEGER,
+ INTEGER9 INTEGER,
+ INTEGER10 INTEGER,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FUNCTION_GENERAL PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_FUNCTION_GENERAL_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_FUNCTION_GENERAL_AFT_UPD ON TBPMO_FUNCTION_GENERAL
+FOR UPDATE
+AS
+ UPDATE TBPMO_FUNCTION_GENERAL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FUNCTION_GENERAL.GUID = INSERTED.GUID
+GO
+--####################################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_FOLLOW_UP_EMAIL' and xtype='U')
+CREATE TABLE TBPMO_FOLLOW_UP_EMAIL
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ NAME VARCHAR(100) NOT NULL DEFAULT 'DESCRIPTION FOLLOW UP',
+ FOLLOW_UP_SEQUENCE VARCHAR(50) NOT NULL DEFAULT 'ONCE_WEEKLY',
+ FOLLOW_UP_DAYS VARCHAR(50) NOT NULL DEFAULT '1',
+ FOLLOW_UP_TIME_SPAN VARCHAR(50) NOT NULL DEFAULT '08:00',
+ DEPENDENT_DATE_CTRL_ID INTEGER NOT NULL,
+ DEPENDENT_DONE_CTRL_ID INTEGER NOT NULL,
+ CTRL_USER_DIRECT INTEGER NOT NULL DEFAULT 0,
+ CTRL_GROUP_DIRECT INTEGER NOT NULL DEFAULT 0,
+ CONSTRUCTOR_ID INTEGER NOT NULL,
+ PARENT_ID INTEGER NOT NULL,
+ TIME_UNITY VARCHAR(50) NOT NULL,
+ TIME_SPAN INTEGER NOT NULL,
+ TIME_DIST VARCHAR(30) NOT NULL DEFAULT 'BEFORE',
+ EMAIL_SUBJECT VARCHAR(250) NOT NULL DEFAULT 'WIEDERVORLAGE',
+ EMAIL_BODY VARCHAR(2000) NOT NULL,
+ PROCESS_SELECT1 VARCHAR(2000) NOT NULL DEFAULT '',
+ PROCESS_SELECT2 VARCHAR(2000) NOT NULL DEFAULT '',
+ PROCESS_SELECT3 VARCHAR(2000) NOT NULL DEFAULT '',
+ PROCESS_SELECT4 VARCHAR(2000) NOT NULL DEFAULT '',
+ PROCESS_SELECT5 VARCHAR(2000) NOT NULL DEFAULT '',
+ PROCESS_SELECT6 VARCHAR(2000) NOT NULL DEFAULT '',
+ PROCESS_SELECT7 VARCHAR(2000) NOT NULL DEFAULT '',
+ PROCESS_SELECT8 VARCHAR(2000) NOT NULL DEFAULT '',
+ PROCESS_SELECT9 VARCHAR(2000) NOT NULL DEFAULT '',
+ PROCESS_SELECT10 VARCHAR(2000) NOT NULL DEFAULT '',
+ ACTIVE 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_FOLLOW_UP_EMAIL PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_FOLLOW_UP_EMAIL_DATE_CTRL_ID FOREIGN KEY (DEPENDENT_DATE_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID),
+ CONSTRAINT FK_TBPMO_FOLLOW_UP_EMAIL_DONE_CTRL_ID FOREIGN KEY (DEPENDENT_DONE_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID),
+ CONSTRAINT FK_TBPMO_FOLLOW_UP_EMAIL_CONSTR_ID FOREIGN KEY (CONSTRUCTOR_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_FOLLOW_UP_EMAIL_AFT_UPD ON TBPMO_FOLLOW_UP_EMAIL
+FOR UPDATE
+AS
+ UPDATE TBPMO_FOLLOW_UP_EMAIL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FOLLOW_UP_EMAIL.GUID = INSERTED.GUID
+GO
+
+--###############################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_FOLLOW_UP_HISTORY' and xtype='U')
+CREATE TABLE TBPMO_FOLLOW_UP_HISTORY
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ FOLLOW_UP_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(500),
+ TIME_STAMP DATETIME DEFAULT GETDATE()
+)
+GO
+--###############################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_FOLLUPEMAIL_USER' and xtype='U')
+CREATE TABLE TBPMO_FOLLUPEMAIL_USER
+(
+ GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel
+ [USER_ID] INT NOT NULL,
+ FOLLOW_UP_ID INT NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FOLLUPEMAIL_USER PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_FOLLUPEMAIL_USER_AFT_UPD ON TBPMO_FOLLUPEMAIL_USER
+FOR UPDATE
+AS
+ UPDATE TBPMO_FOLLUPEMAIL_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_FOLLUPEMAIL_USER.GUID = INSERTED.GUID
+GO
+--###############################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_FOLLUPEMAIL_RECORD' and xtype='U')
+CREATE TABLE TBPMO_FOLLUPEMAIL_RECORD
+(
+ GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel
+ FOLLOW_UP_ID INTEGER NOT NULL,
+ [USER_ID] INTEGER NOT NULL,
+ RECORD_ID INTEGER NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FOLLUPEMAIL_RECORD PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID),
+ CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_FOLLOW_UP_ID FOREIGN KEY(FOLLOW_UP_ID) REFERENCES TBPMO_FOLLOW_UP_EMAIL(GUID),
+ CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_RECORD_ID FOREIGN KEY(RECORD_ID) REFERENCES TBPMO_RECORD(GUID)
+)
+GO
+CREATE TRIGGER TBPMO_FOLLUPEMAIL_RECORD_AFT_UPD ON TBPMO_FOLLUPEMAIL_RECORD
+FOR UPDATE
+AS
+ UPDATE TBPMO_FOLLUPEMAIL_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_FOLLUPEMAIL_RECORD.GUID = INSERTED.GUID
+GO
+--##########################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_TEMPLATE' and xtype='U')
+CREATE TABLE TBPMO_TEMPLATE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ NAME VARCHAR(100) NOT NULL UNIQUE,
+ TEMPLATE_PATH VARCHAR(1000) NOT NULL,
+ DOCTYPE_ID INTEGER NOT NULL,
+ ACTIVE BIT NOT NULL DEFAULT 1,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_TEMPLATE PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_TEMPLATE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_TEMPLATE_AFT_UPD ON TBPMO_TEMPLATE
+FOR UPDATE
+AS
+ UPDATE TBPMO_TEMPLATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE.GUID = INSERTED.GUID
+GO
+--##########################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_TEMPLATE_ENTITY' and xtype='U')
+CREATE TABLE TBPMO_TEMPLATE_ENTITY
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ TEMPLATE_ID INTEGER NOT NULL,
+ ENTITY_ID INTEGER NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_TEMPLATE_ENTITY PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_TEMPLATE_ENTITY_TEMPLATE_ID FOREIGN KEY(TEMPLATE_ID) REFERENCES TBPMO_TEMPLATE(GUID),
+ CONSTRAINT FK_TBPMO_TEMPLATE_ENTITY_ENTITY_ID FOREIGN KEY(ENTITY_ID) REFERENCES TBPMO_FORM(GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_TEMPLATE_ENTITY_AFT_UPD ON TBPMO_TEMPLATE_ENTITY
+FOR UPDATE
+AS
+ UPDATE TBPMO_TEMPLATE_ENTITY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE_ENTITY.GUID = INSERTED.GUID
+GO
+--##########################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_TEMPLATE_PATTERN' and xtype='U')
+CREATE TABLE TBPMO_TEMPLATE_PATTERN
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ TEMPLATE_ENT_ID INTEGER NOT NULL,
+ NAME_PATTERN VARCHAR(100) NOT NULL,
+ FIXED_VALUE VARCHAR(100),
+ CONNECTION_ID INTEGER,
+ SQL_COMMAND VARCHAR(2000),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_TEMPLATE_PATTERN PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_TEMPLATE_PATTERN_TEMPLATE_ENT_ID FOREIGN KEY(TEMPLATE_ENT_ID) REFERENCES TBPMO_TEMPLATE_ENTITY(GUID),
+ CONSTRAINT UQ_TBPMO_TEMPLATE_PATTERN UNIQUE (TEMPLATE_ENT_ID, NAME_PATTERN)
+)
+GO
+
+CREATE TRIGGER TBPMO_TEMPLATE_PATTERN_AFT_UPD ON TBPMO_TEMPLATE_PATTERN
+FOR UPDATE
+AS
+ UPDATE TBPMO_TEMPLATE_PATTERN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE_PATTERN.GUID = INSERTED.GUID
+GO
+--##########################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_USER_CONSTR_VIEW_TYPE' and xtype='U')
+CREATE TABLE TBPMO_USER_CONSTR_VIEW_TYPE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ [USER_ID] INTEGER NOT NULL,
+ CONSTRUCTOR_DETAIL_ID INTEGER NOT NULL,
+ [ENTITY_ID] INTEGER NOT NULL,
+ VIEW_ID INTEGER NOT NULL DEFAULT 1, --1=TileView,2=Carousel,3=GridView
+ 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_USER_CONSTR_VIEW_TYPE PRIMARY KEY (GUID),
+ CONSTRAINT UNIQUE_CONSTRUCTOR_ID_VIEW_ID UNIQUE(CONSTRUCTOR_DETAIL_ID,VIEW_ID,[USER_ID]),
+ CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID),
+ CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_CONSTRUCTOR_ID FOREIGN KEY (CONSTRUCTOR_DETAIL_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL (GUID),
+ CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_ENTITY_ID FOREIGN KEY ([ENTITY_ID]) REFERENCES TBPMO_FORM (GUID),
+)
+GO
+
+CREATE TRIGGER TBPMO_USER_CONSTR_VIEW_TYPE_AFT_UPD ON TBPMO_USER_CONSTR_VIEW_TYPE
+FOR UPDATE
+AS
+ UPDATE TBPMO_USER_CONSTR_VIEW_TYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_CONSTR_VIEW_TYPE.GUID = INSERTED.GUID
+GO
+--##########################################################################################################################
+if not exists (select * from sysobjects where name='TBPMO_USER_WINDREAM_RESULTLIST_CONFIG' and xtype='U')
+CREATE TABLE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ [USER_ID] INTEGER NOT NULL,
+ CONSTRUCTOR_DETAIL_ID INTEGER NOT NULL,
+ COLUMN1 VARCHAR(50) NOT NULL,
+ COLUMN1_WIDTH INTEGER NOT NULL,
+ COLUMN2 VARCHAR(50) NOT NULL,
+ COLUMN2_WIDTH INTEGER NOT NULL,
+ COLUMN3 VARCHAR(50) NOT NULL,
+ COLUMN3_WIDTH INTEGER NOT NULL,
+ COLUMN4 VARCHAR(50),
+ COLUMN4_WIDTH INTEGER,
+ COLUMN5 VARCHAR(50),
+ COLUMN5_WIDTH INTEGER,
+ COLUMN6 VARCHAR(50),
+ COLUMN6_WIDTH INTEGER,
+ COLUMN7 VARCHAR(50),
+ COLUMN7_WIDTH INTEGER,
+ COMMENT VARCHAR(300),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_USER_WINDREAM_RESULTLIST_CONFIG PRIMARY KEY (GUID),
+)
+GO
+
+CREATE TRIGGER TBPMO_USER_WINDREAM_RESULTLIST_CONFIG_AFT_UPD ON TBPMO_USER_WINDREAM_RESULTLIST_CONFIG
+FOR UPDATE
+AS
+ UPDATE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.GUID = INSERTED.GUID
+GO
+--########################################################################################################################################
+CREATE NONCLUSTERED INDEX [IDXTBPMO_CONTROL_VALUE_RECID_VALUE]
+ON [dbo].[TBPMO_CONTROL_VALUE] ([CONTROL_ID])
+INCLUDE ([RECORD_ID],[VALUE])
+GO
+
+if not exists (select * from sysobjects where name='TBPMO_CLIENT_ENTITY' and xtype='U')
+CREATE TABLE TBPMO_CLIENT_ENTITY
+(
+ GUID INTEGER IDENTITY(1,1),
+ CLIENT_ID INTEGER NOT NULL,
+ ENTITY_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(200),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_CLIENT_ENTITY PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_ENTITY_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_ENTITY_ENTITY_ID FOREIGN KEY([ENTITY_ID]) REFERENCES TBPMO_FORM(GUID)
+)
+GO
+if not exists (select * from sysobjects where name='TBPMO_CLIENT_CONSTRUCTOR' and xtype='U')
+CREATE TABLE TBPMO_CLIENT_CONSTRUCTOR
+(
+ GUID INTEGER IDENTITY(1,1),
+ CLIENT_ID INTEGER NOT NULL,
+ CONSTRUCT_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(200),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_CLIENT_CONSTRUCTOR PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CONSTRUCT_ID FOREIGN KEY(CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR(GUID)
+)
+GO
+if not exists (select * from sysobjects where name='TBPMO_CLIENT_DOCTYPE' and xtype='U')
+CREATE TABLE TBPMO_CLIENT_DOCTYPE
+(
+ GUID INTEGER IDENTITY(1,1),
+ CLIENT_ID INTEGER NOT NULL,
+ DOCTYPE_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(200),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_CLIENT_DOCTYPE PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID)
+)
+GO
+if not exists (select * from sysobjects where name='TBPMO_WD_NAMECONVENTION_FORMAT' and xtype='U')
+CREATE TABLE TBPMO_WD_NAMECONVENTION_FORMAT
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ID INTEGER NOT NULL,
+ PATTERN VARCHAR(50) NOT NULL,
+ FORMAT_RULE VARCHAR(100) NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_WD_NAMECONVENTION_FORMAT PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_WD_NAMECONVENTION_FORMAT_UPD ON TBPMO_WD_NAMECONVENTION_FORMAT
+FOR UPDATE
+AS
+ UPDATE TBPMO_WD_NAMECONVENTION_FORMAT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_NAMECONVENTION_FORMAT.GUID = INSERTED.GUID
+GO
+
+if not exists (select * from sysobjects where name='TBPMO_STRUCTURE_NODES_CONFIGURATION' and xtype='U')
+CREATE TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ PARENT_NODE INTEGER NOT NULL DEFAULT 0,
+ CONTROL_ID INTEGER NOT NULL,
+ 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,
+ FONT_FAMILY VARCHAR(50) NOT NULL DEFAULT 'Tahoma',
+ FONT_COLOR BIGINT NOT NULL DEFAULT 0,
+ FONT_SIZE SMALLINT NOT NULL DEFAULT 10,
+ FONT_STYLE SMALLINT NOT NULL DEFAULT 0,
+ BACK_COLOR BIGINT NOT NULL DEFAULT 15790320,
+ EXPAND 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_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (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
+if not exists (select * from sysobjects where name='TBPMO_STRUCTURE_NODES' and xtype='U')
+CREATE TABLE TBPMO_STRUCTURE_NODES
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ RECORD_ID INTEGER,
+ NODE_CONFIG_ID INTEGER NOT NULL,
+ NODE_CAPTION VARCHAR(250) NOT NULL,
+ ID1 VARCHAR(100),
+ ID2 VARCHAR(100),
+ ID3 VARCHAR(100),
+ 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_NODES_NODE_CONFIG_ID FOREIGN KEY (NODE_CONFIG_ID) REFERENCES TBPMO_STRUCTURE_NODES_CONFIGURATION (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
+if not exists (select * from sysobjects where name='TBPMO_STRUCTURE_NODES_USER_TEMP' and xtype='U')
+CREATE TABLE TBPMO_STRUCTURE_NODES_USER_TEMP(
+ USER_ID int NOT NULL,
+ RECORD_ID int NOT NULL,
+ ADDED_WHEN datetime DEFAULT getdate(),
+CONSTRAINT [PK_TBPMO_STRUCTURE_NODES_USER_TEMP] PRIMARY KEY(USER_ID,RECORD_ID))
+GO
+
+if not exists (select * from sysobjects where name='TBPMO_RIGHTS_WORK_SERVICE' and xtype='U')
+CREATE TABLE TBPMO_RIGHTS_WORK_SERVICE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ COUNTER_CONTROL_UPDATE_ID INTEGER NOT NULL DEFAULT '0',
+ DOC_ID INTEGER NOT NULL,
+ FILE_RIGHT VARCHAR(100) NOT NULL,
+ USER_ID INTEGER NOT NULL,
+ REASON VARCHAR(100) NOT NULL,
+ RIGHT_MODIFY VARCHAR(30) NOT NULL,
+ WORKED BIT NOT NULL DEFAULT 0,
+ WORKING BIT NOT NULL DEFAULT 0,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'SERVICE',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME
+ CONSTRAINT PK_TBPMO_RIGHTS_WORK_SERVICE PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_RIGHTS_WORK_SERVICE_AFT_UPD ON TBPMO_RIGHTS_WORK_SERVICE
+FOR UPDATE
+AS
+ UPDATE TBPMO_RIGHTS_WORK_SERVICE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHTS_WORK_SERVICE.GUID = INSERTED.GUID
+GO
+--DROP TABLE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT
+if not exists (select * from sysobjects where name='TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT' and xtype='U')
+CREATE TABLE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ DOC_ID INTEGER NOT NULL,
+ DOC_PATH VARCHAR(1000) NOT NULL,
+ USER_STRING VARCHAR(500) NOT NULL,
+ FILE_RIGHT INTEGER NOT NULL,
+ RIGHT_TYPE VARCHAR(100) NOT NULL,
+ [SERVICE] BIT NOT NULL DEFAULT 0,
+ WORKED BIT NOT NULL DEFAULT 0,
+ COMMENT VARCHAR(500),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'SERVICE',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME
+ CONSTRAINT PK_TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT_AFT_UPD ON TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT
+FOR UPDATE
+AS
+ UPDATE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT.GUID = INSERTED.GUID
+GO
+--DROP TABLE TBPMO_ENTITY_RIGHT_CONTROLS
+if not exists (select * from sysobjects where name='TBPMO_ENTITY_RIGHT_CONTROLS' and xtype='U')
+CREATE TABLE TBPMO_ENTITY_RIGHT_CONTROLS
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ENTITY_ID INTEGER NOT NULL,
+ CONTROL_ID INTEGER NOT NULL,
+ USED_FOR VARCHAR(50) NOT NULL DEFAULT '',
+ USER_GROUP VARCHAR(10) NOT NULL DEFAULT 'USER',
+ 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_ENTITY_RIGHT_CONTROLS PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_ENTITY_RIGHT_CONTROLS_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID),
+ CONSTRAINT FK_TBPMO_ENTITY_RIGHT_CONTROLS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_ENTITY_RIGHT_CONTROLS_AFT_UPD ON TBPMO_ENTITY_RIGHT_CONTROLS
+FOR UPDATE
+AS
+ UPDATE TBPMO_ENTITY_RIGHT_CONTROLS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_RIGHT_CONTROLS.GUID = INSERTED.GUID
+GO
+if not exists (select * from sysobjects where name='TBPMO_SERVICE_RIGHT_CONFIG' and xtype='U')
+CREATE TABLE TBPMO_SERVICE_RIGHT_CONFIG
+(
+ GUID TINYINT
+ ,LOG_ERR_ONLY BIT NOT NULL DEFAULT 1
+ ,HOUR_BEGIN INTEGER NOT NULL DEFAULT 6
+ ,HOUR_END INTEGER NOT NULL DEFAULT 18
+ ,AD_DOMAIN VARCHAR(250) NOT NULL DEFAULT ''
+ ,AD_USER VARCHAR(250) NOT NULL DEFAULT ''
+ ,AD_USER_PW VARCHAR(500) NOT NULL DEFAULT ''
+ ,AD_SERVER VARCHAR(250) NOT NULL DEFAULT ''
+ ,WD_RIGHT INTEGER NOT NULL DEFAULT '141'
+ ,RUN_SERVICE BIT NOT NULL DEFAULT 0
+ ,SERVICE_RUN DATETIME
+ ,SERVICE_FINISHED DATETIME
+ ,CHANGED_WHO VARCHAR(50)
+ ,CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_SERVICE_RIGHT_CONFIG_GUID PRIMARY KEY(GUID),
+ CONSTRAINT CH_TBPMO_SERVICE_RIGHT_CONFIG_GUID CHECK(GUID = 1)
+)
+GO
+INSERT INTO TBPMO_SERVICE_RIGHT_CONFIG (GUID,LOG_ERR_ONLY) VALUES (1,1)
+GO
+CREATE TRIGGER TBPMO_SERVICE_RIGHT_CONFIG_AFT_UPD ON TBPMO_SERVICE_RIGHT_CONFIG
+FOR UPDATE
+AS
+ UPDATE TBPMO_SERVICE_RIGHT_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_SERVICE_RIGHT_CONFIG.GUID = INSERTED.GUID
+GO
+if not exists (select * from sysobjects where name='TBPMO_ENTITY_USERRIGHT_ADDING' and xtype='U')
+CREATE TABLE TBPMO_ENTITY_USERRIGHT_ADDING
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1)
+ ,ENTITY_ID INTEGER
+ ,AD_DOMAIN VARCHAR(250) NOT NULL DEFAULT ''
+ ,AD_USER VARCHAR(250) NOT NULL DEFAULT ''
+ ,AD_USER_PW VARCHAR(500) NOT NULL DEFAULT ''
+ ,AD_SERVER VARCHAR(250) NOT NULL DEFAULT ''
+ ,WD_RIGHT INTEGER NOT NULL DEFAULT '141'
+ ,ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT'
+ ,ADDED_WHEN DATETIME DEFAULT GETDATE()
+ ,CHANGED_WHO VARCHAR(50)
+ ,CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_ENTITY_USERRIGHT_ADDING_GUID PRIMARY KEY(GUID),
+ CONSTRAINT UQ_TBPMO_ENTITY_USERRIGHT_ADDING_GUID UNIQUE(ENTITY_ID)
+)
+GO
+CREATE TRIGGER TBPMO_ENTITY_USERRIGHT_ADDING_AFT_UPD ON TBPMO_ENTITY_USERRIGHT_ADDING
+FOR UPDATE
+AS
+ UPDATE TBPMO_ENTITY_USERRIGHT_ADDING SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_ENTITY_USERRIGHT_ADDING.GUID = INSERTED.GUID
+GO
+if not exists (select * from sysobjects where name='TBPMO_SELECTION_DATA' and xtype='U')
+CREATE TABLE TBPMO_SELECTION_DATA
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1)
+ ,VALUE VARCHAR(250) NOT NULL
+ ,COMMENT VARCHAR(250)
+ ,ID_TYPE INTEGER 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_TBPMO_SELECTION_DATA PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_SELECTION_DATA_AFT_UPD ON TBPMO_SELECTION_DATA
+FOR UPDATE
+AS
+ UPDATE TBPMO_SELECTION_DATA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SELECTION_DATA.GUID = INSERTED.GUID
+GO
+INSERT INTO TBPMO_SELECTION_DATA (VALUE,COMMENT,ID_TYPE,SEQUENCE) VALUES
+('NONE', 'GENERAL-VIEWER',1,0)
+GO
+INSERT INTO TBPMO_SELECTION_DATA (VALUE,COMMENT,ID_TYPE,SEQUENCE) VALUES
+('DOC-VIEW', 'GENERAL-VIEWER',1,1)
+GO
+CREATE TABLE dbo.TBPMO_DOC_USER_VIEW(
+ GUID INT IDENTITY(1,1) NOT NULL,
+ [USER_ID] INT NOT NULL,
+ FILE_EXTENSION VARCHAR(10) NOT NULL,
+ VIEWER VARCHAR(100) NOT NULL DEFAULT 'DOC_VIEW',
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50) NULL,
+ CHANGED_WHEN DATETIME NULL,
+ CONSTRAINT PK_TBPMO_DOC_USER_VIEW PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_DOC_USER_VIEW_USER_ID FOREIGN KEY ([USER_ID]) REFERENCES TBDD_USER (GUID),
+)
+GO
+
+if not exists (select * from sysobjects where name='TBPMO_DOCRESULT_DROPDOWN_ITEMS' and xtype='U')
+CREATE TABLE TBPMO_DOCRESULT_DROPDOWN_ITEMS
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1)
+ ,CONFIG_ID INTEGER NOT NULL
+ ,VALUE VARCHAR(100) NOT NULL
+ ,SEQUENCE TINYINT NOT NULL DEFAULT 0
+ ,[DEFAULT] BIT NOT NULL DEFAULT 0
+ ,COLOR VARCHAR(50) NOT NULL DEFAULT ''
+ ,ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT'
+ ,ADDED_WHEN DATETIME DEFAULT GETDATE()
+ ,CHANGED_WHO VARCHAR(50)
+ ,CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_DOCRESULT_DROPDOWN_ITEMS PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_DOCRESULT_DROPDOWN_ITEMSCONFIG_ID FOREIGN KEY (CONFIG_ID) REFERENCES TBPMO_DOCSEARCH_RESULTLIST_CONFIG (GUID),
+ CONSTRAINT UQ_TBPMO_DOCRESULT_DROPDOWN_ITEMS UNIQUE (CONFIG_ID,VALUE),
+ CONSTRAINT UQ2_TBPMO_DOCRESULT_DROPDOWN_ITEMS UNIQUE (CONFIG_ID,[DEFAULT]),
+)
+GO
+CREATE TRIGGER TBPMO_DOCRESULT_DROPDOWN_ITEMS_AFT_UPD ON TBPMO_DOCRESULT_DROPDOWN_ITEMS
+FOR UPDATE
+AS
+ UPDATE TBPMO_DOCRESULT_DROPDOWN_ITEMS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_DROPDOWN_ITEMS.GUID = INSERTED.GUID
+GO
+if not exists (select * from sysobjects where name='TBPMO_DOC_VALUES' and xtype='U')
+CREATE TABLE TBPMO_DOC_VALUES
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONFIG_ID INTEGER NOT NULL,
+ DocID INTEGER NOT NULL,
+ RECORD_ID INTEGER NOT NULL CONSTRAINT DF_TBPMO_DOC_VALUES_RECORD_ID DEFAULT 0,
+ [VALUE] VARCHAR(MAX) NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_DOC_VALUES PRIMARY KEY (GUID)
+)
+GO
+
+CREATE 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
+if not exists (select * from sysobjects where name='TBPMO_RIGHT_USER' and xtype='U')
+CREATE TABLE TBPMO_RIGHT_USER(
+ GUID int IDENTITY(1,1) NOT NULL,
+ USER_ID int NOT NULL,
+ ENTITY_ID int NOT NULL,
+ EDIT_REC bit NOT NULL DEFAULT 1,
+ ADD_REC bit NOT NULL DEFAULT 1,
+ DELETE_REC bit NOT NULL DEFAULT 1,
+ ADD_DOC bit NOT NULL DEFAULT 1,
+ READ_ONLY_DOC bit NOT NULL DEFAULT 1,
+ DELETE_DOC bit NOT NULL DEFAULT 1,
+ FILES_VISIBLE bit NOT NULL DEFAULT 1,
+ ADDED_WHEN datetime DEFAULT getdate(),
+ CHANGED_WHEN datetime,
+CONSTRAINT [PK_TBPMO_RIGHT_USER] PRIMARY KEY(GUID))
+GO
+CREATE TRIGGER TBPMO_RIGHT_USER_AFT_UPD ON TBPMO_RIGHT_USER
+FOR UPDATE
+AS
+ UPDATE TBPMO_RIGHT_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHT_USER.GUID = INSERTED.GUID
+GO
+GO
+if not exists (select * from sysobjects where name='TBPMO_CONTROL_ENTITY_LINK' and xtype='U')
+CREATE TABLE TBPMO_CONTROL_ENTITY_LINK
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ORIGIN_CTRL_ID INTEGER NOT NULL,
+ LINKED_CTRL_ID INTEGER NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONTROL_ENTITY_LINK PRIMARY KEY (GUID),
+ CONSTRAINT UNIQUE_ORIGIN_CTRL_ID_LINKED_CONTROL_ID UNIQUE(ORIGIN_CTRL_ID,LINKED_CTRL_ID),
+ CONSTRAINT FK_TBPMO_CONTROL_ENTITY_LINK_ORIGIN_CTRL_ID FOREIGN KEY (ORIGIN_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID),
+ CONSTRAINT FK_TBPMO_CONTROL_ENTITY_LINKED_CONTROL_ID FOREIGN KEY (LINKED_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID),
+)
+GO
+CREATE TRIGGER TBPMO_CONTROL_ENTITY_LINK_AFT_UPD ON TBPMO_CONTROL_ENTITY_LINK
+FOR UPDATE
+AS
+ UPDATE TBPMO_CONTROL_ENTITY_LINK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_ENTITY_LINK.GUID = INSERTED.GUID
+GO
+if not exists (select * from sysobjects where name='TBPMO_CHART_ENTITY' and xtype='U')
+CREATE TABLE TBPMO_CHART_ENTITY
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ENTITY_ID INTEGER NOT NULL,
+ GROUP_ID VARCHAR(50) NOT NULL DEFAULT '',
+ SQL_COMMAND VARCHAR(MAX) NOT NULL,
+ TYPE_CHART VARCHAR(30) NOT NULL,
+ ARGUMENT VARCHAR(30) NOT NULL,
+ VALUE VARCHAR(30) NOT NULL,
+ TITLE VARCHAR(30) NOT NULL DEFAULT '',
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CHART_ENTITY PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CHART_ENTITY_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID),
+)
+GO
+CREATE TRIGGER TBPMO_CHART_ENTITY_AFT_UPD ON TBPMO_CHART_ENTITY
+FOR UPDATE
+AS
+ UPDATE TBPMO_CHART_ENTITY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CHART_ENTITY.GUID = INSERTED.GUID
+GO
+if not exists (select * from sysobjects where name='TBPMO_RECORD_VARIANT' and xtype='U')
+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
+if not exists (select * from sysobjects where name='TBPMO_ENTITY_VARIANT_REASONS' and xtype='U')
+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
+if not exists (select * from sysobjects where name='TBPMO_USER_GLOBAL_SEARCH' and xtype='U')
+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
+if not exists (select * from sysobjects where name='TBPMO_ENTITY_USER_RIGHTS' and xtype='U')
+CREATE TABLE dbo.TBPMO_ENTITY_USER_RIGHTS(
+ GUID int IDENTITY(1,1) NOT NULL,
+ USER_ID int NOT NULL,
+ ENTITY_ID int NOT NULL,
+ READ_ONLY bit NOT NULL DEFAULT 0,
+ FILES_VISIBLE bit NOT NULL DEFAULT 1,
+ ADDED_WHEN datetime DEFAULT getdate(),
+ CHANGED_WHEN datetime,
+ CONSTRAINT PK_TBPMO_ENTITY_USER_RIGHTS PRIMARY KEY(GUID))
+
+GO
+CREATE TRIGGER [dbo].[TBPMO_ENTITY_USER_RIGHTS_AFT_UPD] ON [dbo].[TBPMO_ENTITY_USER_RIGHTS]
+FOR UPDATE
+AS
+ UPDATE TBPMO_ENTITY_USER_RIGHTS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_USER_RIGHTS.GUID = INSERTED.GUID
+GO
+if not exists (select * from sysobjects where name='TBPMO_RECORD_GEODATA' and xtype='U')
+CREATE TABLE TBPMO_RECORD_GEODATA(
+ [GUID] INT IDENTITY(1,1) NOT NULL,
+ RECORD_ID INT NOT NULL,
+ LATITUDE Decimal(9,6),
+ LONGITUDE Decimal(9,6),
+ LOCATION VARCHAR(2000),
+ 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_GEODATA] PRIMARY KEY(RECORD_ID),
+CONSTRAINT FK_TBPMO_RECORD_GEODATA_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID))
+GO
+CREATE TRIGGER TBPMO_RECORD_GEODATA_AFT_UPD ON TBPMO_RECORD_GEODATA
+FOR UPDATE
+AS
+ UPDATE TBPMO_RECORD_GEODATA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_GEODATA.GUID = INSERTED.GUID
+GO
+if not exists (select * from sysobjects where name='TBPMO_AD_GROUP_EXCLUSIVE' and xtype='U')
+CREATE TABLE TBPMO_AD_GROUP_EXCLUSIVE(
+ [GUID] INT IDENTITY(1,1) NOT NULL,
+ GROUP_NAME VARCHAR(200) NOT NULL,
+ COMMENT VARCHAR(500),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'),
+ ADDED_WHEN DATETIME DEFAULT (GETDATE()),
+CONSTRAINT [PK_TBPMO_AD_GROUP_EXCLUSIVE] PRIMARY KEY(GUID))
+GO
+
+------------------------------------------------------------------------------
+CREATE TRIGGER TBPMO_LANGUAGE_OBJECT_AFT_UPD ON TBPMO_LANGUAGE_OBJECT
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_LANGUAGE_OBJECT.GUID = INSERTED.GUID
+END
+GO
+CREATE TABLE [dbo].[TBPMO_FILES_USER](
+ [GUID] [int] IDENTITY(1,1) NOT NULL,
+ [FILENAME2WORK] [varchar](500) NOT NULL,
+ [FILENAME_ONLY] [varchar](250) NOT NULL DEFAULT (''),
+ [USER_WORK] [varchar](50) NOT NULL,
+ [WORKED] [bit] NOT NULL DEFAULT ((0)),
+ [HANDLE_TYPE] [varchar](50) NOT NULL,
+ [ADDED_WHEN] [datetime] NOT NULL DEFAULT (getdate()),
+ CONSTRAINT [PK_TBPMO_FILES_USER] 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
+
+SET ANSI_PADDING OFF
+GO
+
+
+--END CREATE TABLES
+/*
+###############################################################################
+####################### PROCEDURES ######################
+###############################################################################
+*/
+CREATE PROCEDURE PRPMO_CREATE_RECORD(@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL)
+--ALTER PROCEDURE [dbo].[PRPMO_CREATE_RECORD](@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL)
+AS
+DECLARE @RECORD_ENTITY_ID BIGINT,
+ @RECORD_ID INT,
+ @FEHLER VARCHAR(4000),
+ @LINE VARCHAR(10)
+
+DECLARE @OUTPUTDATA TABLE(RECORD_ID INT)
+
+BEGIN TRY
+--RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1)
+ IF @pFORM_ID = 32
+ BEGIN
+ SET @pRESULT = 0
+
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pFORM_ID,'FORM-ID','INSERT IN ARCHIVE ENTITY NOT ALLOWED ' + CONVERT(VARCHAR(10),@pFORM_ID),LTRIM(RTRIM(@pADDED_WHO)))
+ RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1)
+ END
+ ELSE
+ BEGIN
+ SELECT @RECORD_ENTITY_ID = ISNULL(MAX(RECORD_ENTITY_ID),0) + 1 FROM TBPMO_RECORD WHERE FORM_ID = @pFORM_ID AND DELETED = 0
+
+ INSERT INTO TBPMO_RECORD(FORM_ID,RECORD_ENTITY_ID,ADDED_WHO,IN_WORK,IN_WORK_WHO)
+ OUTPUT INSERTED.GUID INTO @OUTPUTDATA
+ VALUES (@pFORM_ID,@RECORD_ENTITY_ID,LTRIM(RTRIM(@pADDED_WHO)),1,LTRIM(RTRIM(@pADDED_WHO)))
+
+ SELECT @pRESULT = RECORD_ID FROM @OUTPUTDATA
+ END
+ RETURN
+END TRY
+BEGIN CATCH --Fehlerbehandlung
+ SET @pRESULT = 0
+
+ SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE())
+ SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pFORM_ID,'FORM-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO)))
+ RAISERROR(@FEHLER,16,1)
+
+ RETURN
+END CATCH
+GO
+--####################################################################################################################
+
+CREATE PROCEDURE [dbo].[PRPMO_RECORD_CHECK_INTEGRITY] (@pRECORD_ID INT, @WHO VARCHAR(30),@ISINSERT BIT, @COMMENT VARCHAR(100) = '')
+AS
+ DECLARE @COUNT_REQUIRED INT,@ENTITY_ID INT
+ DECLARE @reas As VARCHAR(250)
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ SET @reas = 'PRPMO_RECORD_CHECK_INTEGRITY'
+ IF @COMMENT <> ''
+ BEGIN
+ SET @reas = @reas + ' - ' + @COMMENT
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@reas,@WHO)
+ END
+
+
+ SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID
+ IF @COUNT_REQUIRED > (SELECT COUNT(*) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID)
+ IF @ISINSERT = 1
+ EXEC PRPMO_DELETE_RECORD @pRECORD_ID,@WHO,'PRPMO_RECORD_CHECK_INTEGRITY-LESS REQUIRED VALUES'
+ ELSE
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','LESS REQUIRED CONTROLS',@WHO)
+
+GO
+--####################################################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_CREATE_CONTROL_VALUE](@pRESULT BIT OUTPUT,@pCONTROL_ID INT,@pRECORD_ID INT,@pVALUE VARCHAR(MAX),@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL)
+--ALTER PROCEDURE PRPMO_CREATE_CONTROL_VALUE(@pRESULT BIT OUTPUT,@pCONTROL_ID INT,@pRECORD_ID INT,@pVALUE VARCHAR(MAX),@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL)
+AS
+DECLARE @FEHLER VARCHAR(4000),
+ @LINE VARCHAR(10)
+
+BEGIN TRY
+ -- DatensatzExistenz überprüfen
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID AND CONTROL_ID = @pCONTROL_ID AND UPPER(LTRIM(RTRIM(VALUE))) = UPPER(LTRIM(RTRIM(@pVALUE))))
+ BEGIN
+ INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES(@pCONTROL_ID,@pRECORD_ID,LTRIM(RTRIM(@pVALUE)),LTRIM(RTRIM(@pADDED_WHO)))
+ SET @pRESULT = 1
+ END
+ ELSE
+ BEGIN
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pRECORD_ID,'RECORD-ID','UNIQUE VIOLATION - VALUE ' + LTRIM(RTRIM(@pVALUE)),LTRIM(RTRIM(@pADDED_WHO)))
+ SET @pRESULT = 0
+ DECLARE @CONTROL_CAPT VARCHAR(100), @ERROR_MSG VARCHAR(500)
+ SELECT @CONTROL_CAPT = [COL_NAME] FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_ID
+ SET @ERROR_MSG = 'UNIQUE VIOLATION FOR CONTROL: ' + @CONTROL_CAPT + CHAR(13) + 'THE VALUE ALREADY EXISTS - MULTIPLE VALUES PER CONTROL NOT ALLOWED!'
+ RAISERROR(@ERROR_MSG,16,1)
+ END
+ RETURN
+END TRY
+BEGIN CATCH --Fehlerbehandlung
+ SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE())
+ SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pRECORD_ID,'RECORD-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO)))
+ RAISERROR(@FEHLER,16,1)
+END CATCH
+GO
+--####################################################################################################################
+CREATE PROCEDURE PRPMO_AFTER_UPDATE_VALUES(@pFORM_ID INT,@pRECORD_ID INT)
+AS
+DECLARE @VALUE VARCHAR(100),
+ @NEW_RECORD_ID INTEGER
+
+DECLARE CURSOR_TODO1 CURSOR FOR SELECT [VALUE] FROM [VWPMO_VALUES] WHERE
+ FORM_ID = @pFORM_ID AND CONTROL_ID = 220 AND RECORD_ID = @pRECORD_ID
+
+
+BEGIN TRY
+ OPEN CURSOR_TODO1
+ FETCH NEXT FROM CURSOR_TODO1 INTO @VALUE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE @ANZAHL INT,@VORHANDEN INT
+ SELECT @VORHANDEN = COUNT(T.[Record-ID]) FROM VWTEMP_PMO_FORM20 T,TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @pRECORD_ID
+ PRINT @VORHANDEN
+ PRINT ''
+ SET @ANZAHL = @VORHANDEN + 1
+ WHILE (@ANZAHL <=cast(@VALUE AS INT))
+ BEGIN
+ PRINT @ANZAHL
+ --Record Inserten
+ INSERT INTO TBPMO_RECORD(ADDED_WHO, FORM_ID) VALUES ('INS_AUTOM_FOLGEN', @pFORM_ID)
+ SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD WHERE ADDED_WHO = 'INS_AUTOM_FOLGEN'
+ INSERT INTO TBPMO_RECORD_CONNECT (RECORD1_ID,RECORD2_ID,COMMENT) VALUES (@pRECORD_ID,@NEW_RECORD_ID,'INS_AUTOM_FOLGEN')
+ --FOLGENBEZEICHNUNG
+ DECLARE @VALUE_NEW AS VARCHAR(100)
+ SET @VALUE_NEW = 'FOLGE ' + cast(@ANZAHL AS VARCHAR(2))
+ INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID,RECORD_ID,VALUE) VALUES (183,@NEW_RECORD_ID,@VALUE_NEW)
+ SET @ANZAHL = @ANZAHL + 1
+ END
+
+ FETCH NEXT FROM CURSOR_TODO1 INTO @VALUE
+ END
+
+ CLOSE CURSOR_TODO1
+ DEALLOCATE CURSOR_TODO1
+
+END TRY
+BEGIN CATCH
+ PRINT 'FEHLER IN: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--####################################################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_COPY_ENTITY](@pFORM_ID INT, @pADDEDWHO VARCHAR(50))
+AS
+DECLARE
+ @NEW_FORM_ID INT,
+ @PARENT_ID INT,
+ @NAME VARCHAR(100),
+ @LEVEL VARCHAR(10),
+ @SHOW_FORM_CONSTR BIT,
+ @FORM_TYPE_ID INT,
+ @CONTROL_GUID INTEGER,
+ @CONTROL_TYPE_ID INT,
+ @CONTROL_NAME VARCHAR(100)
+ ,@COL_NAME VARCHAR(100)
+ ,@REQUIRED BIT
+ ,@DEFAULT_VALUE VARCHAR(100)
+ ,@SQL_COMMAND_1 VARCHAR(2000)
+ ,@SQL_COMMAND_2 VARCHAR(2000)
+ ,@CONNECTION_ID_1 SMALLINT
+ ,@CONNECTION_ID_2 SMALLINT
+ ,@READ_ONLY BIT
+ ,@VALIDATION BIT
+ ,@MULTILINE BIT
+ ,@PARENT_CONTROL_ID INT
+ ,@MASTER_DATA_ID INT
+ ,@FORMAT_TYPE VARCHAR(50)
+ ,@SHOW_COLUMN BIT
+ ,@STATIC_LIST VARCHAR(2000)
+
+ SELECT @PARENT_ID = PARENT_ID, @NAME = 'COPY_' + NAME,@LEVEL = [LEVEL],@SHOW_FORM_CONSTR = SHOW_FORM_CONSTRUCT, @FORM_TYPE_ID = FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = @pFORM_ID
+
+ INSERT INTO TBPMO_FORM (
+ PARENT_ID,NAME,LEVEL,ADDED_WHO,SHOW_FORM_CONSTRUCT,FORM_TYPE_ID) VALUES (
+ @PARENT_ID,@NAME,@LEVEL,@pADDEDWHO,@SHOW_FORM_CONSTR,@FORM_TYPE_ID)
+
+ SELECT @NEW_FORM_ID = MAX(GUID) FROM TBPMO_FORM
+ INSERT INTO TBPMO_FORM_VIEW (FORM_ID, SCREEN_ID, FORM_TITLE, DESCRIPTION, ADDED_WHO) VALUES
+ (@NEW_FORM_ID, 1, 'UNDEFINED_FORMTITLE', '', @pADDEDWHO)
+
+DECLARE c_CONTROL CURSOR FOR SELECT GUID,[CONTROL_TYPE_ID]
+ ,'COPY_' + [NAME]
+ ,[COL_NAME]
+ ,[REQUIRED]
+ ,[DEFAULT_VALUE]
+ ,[SQL_COMMAND_1]
+ ,[SQL_COMMAND_2]
+ ,[CONNECTION_ID_1]
+ ,[CONNECTION_ID_2]
+ ,[READ_ONLY]
+ ,[VALIDATION]
+ ,[MULTILINE]
+ ,[PARENT_CONTROL_ID]
+ ,[MASTER_DATA_ID]
+ ,[FORMAT_TYPE]
+ ,[SHOW_COLUMN],STATIC_LIST FROM TBPMO_CONTROL WHERE FORM_ID = @pFORM_ID ORDER BY PARENT_CONTROL_ID
+
+
+BEGIN
+ OPEN c_CONTROL
+ FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID,
+ @CONTROL_NAME
+ ,@COL_NAME
+ ,@REQUIRED
+ ,@DEFAULT_VALUE
+ ,@SQL_COMMAND_1
+ ,@SQL_COMMAND_2
+ ,@CONNECTION_ID_1
+ ,@CONNECTION_ID_2
+ ,@READ_ONLY
+ ,@VALIDATION
+ ,@MULTILINE
+ ,@PARENT_CONTROL_ID
+ ,@MASTER_DATA_ID
+ ,@FORMAT_TYPE
+ ,@SHOW_COLUMN
+ ,@STATIC_LIST
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @PARENT_CONTROL_ID > 0
+ BEGIN
+ DECLARE @CTRLNAME VARCHAR(100)
+ SELECT @CTRLNAME = 'COPY_' + [NAME] FROM TBPMO_CONTROL WHERE GUID = @PARENT_CONTROL_ID
+ PRINT 'PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID)
+ PRINT '@CTRLNAME = ' + @CTRLNAME
+ SELECT @PARENT_CONTROL_ID = GUID FROM TBPMO_CONTROL WHERE NAME = @CTRLNAME AND FORM_ID = @NEW_FORM_ID
+ PRINT 'NEW PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID)
+ END
+
+ INSERT INTO TBPMO_CONTROL (
+ FORM_ID
+ ,[CONTROL_TYPE_ID]
+ ,[NAME]
+ ,[COL_NAME]
+ ,[REQUIRED]
+ ,[DEFAULT_VALUE]
+ ,[SQL_COMMAND_1]
+ ,[SQL_COMMAND_2]
+ ,[CONNECTION_ID_1]
+ ,[CONNECTION_ID_2]
+ ,[READ_ONLY]
+ ,[VALIDATION]
+ ,[MULTILINE]
+ ,[PARENT_CONTROL_ID]
+ ,[MASTER_DATA_ID]
+ ,[FORMAT_TYPE]
+ ,[SHOW_COLUMN]
+ ,[STATIC_LIST]
+ ,ADDED_WHO
+ ) VALUES (
+ @NEW_FORM_ID
+ ,@CONTROL_TYPE_ID
+ ,@CONTROL_NAME
+ ,@COL_NAME
+ ,@REQUIRED
+ ,@DEFAULT_VALUE
+ ,@SQL_COMMAND_1
+ ,@SQL_COMMAND_2
+ ,@CONNECTION_ID_1
+ ,@CONNECTION_ID_2
+ ,@READ_ONLY
+ ,@VALIDATION
+ ,@MULTILINE
+ ,@PARENT_CONTROL_ID
+ ,@MASTER_DATA_ID
+ ,@FORMAT_TYPE
+ ,@SHOW_COLUMN
+ ,@STATIC_LIST
+ ,@pADDEDWHO
+ )
+ DECLARE @NEW_CONTROLID INTEGER
+ SELECT @NEW_CONTROLID = MAX(GUID) FROM TBPMO_CONTROL
+
+ DECLARE
+ @SCREEN_ID INTEGER
+ ,@CONTROL_TEXT VARCHAR(100)
+ ,@X_LOC FLOAT
+ ,@Y_LOC FLOAT
+ ,@HEIGHT INTEGER
+ ,@WIDTH INTEGER
+ ,@FONT_FAMILY VARCHAR(50)
+ ,@FONT_COLOR INTEGER
+ ,@FONT_SIZE INTEGER
+ ,@FONT_STYLE INTEGER
+ ,@TAB_INDEX INTEGER
+ ,@TAB_STOP BIT
+ ,@BACK_COLOR INTEGER
+
+ SELECT @SCREEN_ID = [SCREEN_ID], @CONTROL_TEXT = [CONTROL_TEXT],@X_LOC = [X_LOC],
+ @Y_LOC = [Y_LOC],@HEIGHT = [HEIGHT], @WIDTH = [WIDTH],@FONT_FAMILY = [FONT_FAMILY],
+ @FONT_COLOR = [FONT_COLOR], @FONT_SIZE = [FONT_SIZE],@FONT_STYLE = [FONT_STYLE],
+ @TAB_INDEX = [TAB_INDEX], @TAB_STOP = [TAB_STOP], @BACK_COLOR = [BACK_COLOR] FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @CONTROL_GUID
+ INSERT INTO TBPMO_CONTROL_SCREEN (
+ CONTROL_ID,
+ SCREEN_ID
+ ,CONTROL_TEXT
+ ,X_LOC
+ ,Y_LOC
+ ,HEIGHT
+ ,WIDTH
+ ,FONT_FAMILY
+ ,FONT_COLOR
+ ,FONT_SIZE
+ ,FONT_STYLE
+ ,TAB_INDEX
+ ,TAB_STOP
+ ,BACK_COLOR
+ ,ADDED_WHO)
+ VALUES(
+ @NEW_CONTROLID
+ ,@SCREEN_ID
+ ,@CONTROL_TEXT
+ ,@X_LOC
+ ,@Y_LOC
+ ,@HEIGHT
+ ,@WIDTH
+ ,@FONT_FAMILY
+ ,@FONT_COLOR
+ ,@FONT_SIZE
+ ,@FONT_STYLE
+ ,@TAB_INDEX
+ ,@TAB_STOP
+ ,@BACK_COLOR
+ ,@pADDEDWHO
+ )
+ DECLARE @NEW_ID INT
+ SELECT @NEW_ID = MAX(GUID) FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_TEXT = @CONTROL_TEXT
+
+ INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES (
+ 'de-DE',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO)
+ INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES (
+ 'en-US',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO)
+
+ FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID,
+ @CONTROL_NAME
+ ,@COL_NAME
+ ,@REQUIRED
+ ,@DEFAULT_VALUE
+ ,@SQL_COMMAND_1
+ ,@SQL_COMMAND_2
+ ,@CONNECTION_ID_1
+ ,@CONNECTION_ID_2
+ ,@READ_ONLY
+ ,@VALIDATION
+ ,@MULTILINE
+ ,@PARENT_CONTROL_ID
+ ,@MASTER_DATA_ID
+ ,@FORMAT_TYPE
+ ,@SHOW_COLUMN
+ ,@STATIC_LIST
+ END
+
+ CLOSE c_CONTROL
+ DEALLOCATE c_CONTROL
+END
+GO
+--###########################################################################################################################
+
+CREATE PROCEDURE PRDD_COPY_RECORD(@pRECORD_ID INT,@WHO VARCHAR(50)) --,@pMODULE_ID INT)
+AS
+DECLARE @NEW_RECORD_ID INT
+
+BEGIN TRY
+ INSERT INTO TBPMO_RECORD (
+ FORM_ID,ADDED_WHO)
+ SELECT FORM_ID,@WHO FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+
+ SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD
+
+ INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID,COMMENT) SELECT
+ RECORD1_ID,@NEW_RECORD_ID,COMMENT FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = @pRECORD_ID
+
+ INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) SELECT
+ CONTROL_ID,@NEW_RECORD_ID,VALUE,@WHO FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+
+ INSERT INTO TBPMO_CONTROL_IMAGE(CONTROL_ID,RECORD_ID,IMG,ADDED_WHO) SELECT
+ CONTROL_ID,@NEW_RECORD_ID,IMG,@WHO FROM TBPMO_CONTROL_IMAGE WHERE RECORD_ID = @pRECORD_ID
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--###########################################################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT)
+AS
+BEGIN TRY
+ IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL
+ DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL
+ DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_USER_GLOBAL_SEARCH WHERE USER_ID = @pUSER_ID
+
+ DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID
+END TRY
+BEGIN CATCH
+ PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--###########################################################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_DOCTYPE](@pDOCID INT)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID IN (SELECT GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID)
+ DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_DOKUMENTART_MODULE WHERE DOKART_ID = @pDOCID
+ DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID
+END TRY
+BEGIN CATCH
+ PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30),@COMMENT VARCHAR(100) = '')
+AS
+ DECLARE @DELETE_SQL NVARCHAR(MAX),
+ @ENTITY_ID INT, @COUNT_REQUIRED INT
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID'
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID)
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID)
+ EXEC sp_executesql @DELETE_SQL
+ --DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID
+ DECLARE @reas As VARCHAR(250)
+ SET @reas = 'RECORD DELETED BY USER'
+ IF @COMMENT <> ''
+ BEGIN
+ SET @reas = @reas + ' - ' + @COMMENT
+ END
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@ENTITY_ID, @reas, @WHO)
+
+ SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID
+ IF @COUNT_REQUIRED > (SELECT COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID)
+ BEGIN
+ PRINT 'EXEC PRPMO_DELETE_RECORD_FINALLY - PRE INSERT - LESS REQUIRED VALUES'
+ EXEC PRPMO_DELETE_RECORD_FINALLY @pRECORD_ID,'PRE INSERT - LESS REQUIRED VALUES'
+ END
+
+GO
+
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD_FINALLY](@pRECORD_ID INT, @WHO VARCHAR(30))
+AS
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID
+
+ DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID'
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID)
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID)
+ EXEC sp_executesql @DELETE_SQL
+ DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ --UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID
+
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD FINALLY DELETED BY USER',@WHO)
+
+GO
+
+--#################################################################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE]
+AS
+BEGIN TRY
+DECLARE @DocID INTEGER,
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+DECLARE c_Values CURSOR LOCAL FOR
+ select DocID, [Filename], FULL_FILENAME,
+ Doctype, [Version] as [Version], Objecttype,
+ Creation_DateTime, Change_DateTime from VWPMO_DOC_SYNC
+ --WHERE
+ --CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR
+ --CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())
+ OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Doctype,@Version,@Objecttype,
+ @Creation_DateTime,@Change_DateTime
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
+ BEGIN
+ PRINT 'INSERT NECESSARY'
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @DocID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime
+ )
+ END
+ ELSE
+ UPDATE TBPMO_DOCRESULT_LIST SET
+ [FULL_FILENAME] = @FULL_FILENAME,
+ [Filename] = @Filename,
+ [Doctype] = @Doctype,
+ [Version] = @Version,
+ [Objecttype] = @Objecttype,
+ Change_DateTime = @Change_DateTime
+ WHERE DocID = @DocID
+
+ --#####
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
+ END
+CLOSE c_Values
+DEALLOCATE c_Values
+
+DECLARE @DocID1 INTEGER
+DECLARE c_2_Delete CURSOR LOCAL FOR
+ select DocID from TBPMO_DOCRESULT_LIST where DocID not in (SELECT DocID from VWPMO_DOC_SYNC)
+ OPEN c_2_Delete
+ FETCH NEXT FROM c_2_Delete INTO @DocID1
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_DELETE_RESULTFILE @DocID1, 0, 1
+
+ --#####
+ FETCH NEXT FROM c_2_Delete INTO @DocID1
+ END
+CLOSE c_2_Delete
+DEALLOCATE c_2_Delete
+
+DECLARE @RECID INTEGER
+DECLARE cursor_RELINK CURSOR LOCAL FOR
+ select T.DocID,T1.dwValue from TBPMO_DOCRESULT_LIST T, DD_VMP01_APS01_windream60.dbo.Vector T1
+ WHERE T.DocID = T1.dwDocID AND T1.dwAttrID = 20005 AND T1.dwValue NOT IN (SELECT RECORD_ID from TBPMO_DOC_RECORD_LINK) ORDER BY T.DocID
+OPEN cursor_RELINK
+FETCH NEXT FROM cursor_RELINK INTO @DocID,@RECID
+WHILE @@FETCH_STATUS = 0
+BEGIN
+ IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE GUID = @RECID)
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @RECID AND DOC_ID = @DocID)
+ INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,ADDED_WHO) VALUES
+ (@RECID,@DocID,'PRPMO_DOCRESULT_CHANGE')
+ END
+
+ FETCH NEXT FROM cursor_RELINK INTO @DocID,@RECID
+END
+CLOSE cursor_RELINK
+DEALLOCATE cursor_RELINK
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--#################################################################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_DOCSYNC_5MIN]
+AS
+BEGIN TRY
+DECLARE @DocID INTEGER,
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+DECLARE c_Values CURSOR LOCAL FOR
+ select DocID, [Filename], FULL_FILENAME,
+ Doctype, [Version] as [Version], Objecttype,
+ Creation_DateTime, Change_DateTime from VWPMO_DOC_SYNC
+ WHERE
+ Change_DateTime >= DATEADD(MINUTE , -5, GetDate())
+ OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Doctype,@Version,@Objecttype,
+ @Creation_DateTime,@Change_DateTime
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
+ BEGIN
+ PRINT 'INSERT NECESSARY'
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @DocID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime
+ )
+ END
+ ELSE
+ UPDATE TBPMO_DOCRESULT_LIST SET
+ [FULL_FILENAME] = @FULL_FILENAME,
+ [Filename] = @Filename,
+ [Doctype] = @Doctype,
+ [Version] = @Version,
+ [Objecttype] = @Objecttype,
+ Change_DateTime = @Change_DateTime
+ WHERE DocID = @DocID
+
+ --#####
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
+ END
+CLOSE c_Values
+DEALLOCATE c_Values
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - 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) = 'DD-Admin')
+AS
+BEGIN TRY
+ DECLARE @CONSTR_DET_ID INT,
+ @ENTITY_ID INT,
+ @RECORD_ID INT,
+ @RECORD_SELECT NVARCHAR(MAX),
+ @RECORD_WHERE NVARCHAR(MAX),
+ @CREATE_VIEW NVARCHAR(MAX),
+ @USER_ID_ECM INT,
+ @WD_RIGHT INT,
+ @CONFIG INT,
+ @DOC_ID INT,
+ @DEL_SQL NVARCHAR(30)
+
+ DECLARE Cursor_constructors CURSOR FOR SELECT T1.GUID, T1.FORM_ID FROM TBPMO_CONSTRUCTOR_USER T,TBPMO_FORM_CONSTRUCTOR_DETAIL T1,(SELECT DISTINCT TR.FORM_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD TR WHERE T.RECORD_ID = TR.GUID) T2
+ WHERE T.CONSTRUCT_ID = T1.CONSTRUCT_ID AND T1.FORM_ID = T2.FORM_ID AND T.USER_ID = @pUSER_ID
+
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @pUSER_ID
+
+ DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE USER_ID = @pUSER_ID
+
+ OPEN Cursor_constructors
+ FETCH NEXT FROM Cursor_constructors INTO @CONSTR_DET_ID,@ENTITY_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(select * FROM sys.views where name = 'VWTEMP_REC_USER')
+ DROP VIEW VWTEMP_REC_USER
+
+ 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
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID)
+ BEGIN
+ 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
+ END
+
+ IF EXISTS(SELECT GUID FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID)
+ BEGIN
+ SELECT @RECORD_WHERE = ISNULL(SQL_COMMAND1,'') FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID
+ IF LEN(@RECORD_WHERE) > 0
+ BEGIN
+ SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@USER_ID',CONVERT(NVARCHAR(10),@pUSER_ID))
+ SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@NUMBER',CONVERT(NVARCHAR(3),@ENTITY_ID))
+ SET @RECORD_SELECT = @RECORD_WHERE
+ END
+ ELSE
+ BEGIN
+ SET @RECORD_SELECT = N'SELECT [Record-ID] FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID)
+ END
+ END
+ ELSE
+ BEGIN
+ SET @RECORD_SELECT = N'SELECT [Record-ID] FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID)
+ END
+
+ SET @CREATE_VIEW = N'CREATE VIEW VWTEMP_REC_USER AS ' + @RECORD_SELECT
+ EXEC (@CREATE_VIEW)
+
+ DECLARE Cursor_Records CURSOR FOR SELECT [Record-ID] FROM VWTEMP_REC_USER
+
+ OPEN Cursor_Records
+ FETCH NEXT FROM Cursor_Records INTO @RECORD_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE Cursor_Docs CURSOR FOR SELECT T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T,TBPMO_RECORD TR,(SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE [dwUserOrGroupID] = @USER_ID_ECM) T1
+ WHERE T.RECORD_ID = TR.GUID AND T.DOC_ID = T1.dwObjectID AND T.RECORD_ID = @RECORD_ID AND TR.FORM_ID = @ENTITY_ID
+
+ 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
+
+ SET @DEL_SQL = CONVERT(NVARCHAR(30),N'DROP VIEW VWTEMP_REC_USER')
+ EXEC sp_executesql @DEL_SQL
+
+ FETCH NEXT FROM Cursor_constructors INTO @CONSTR_DET_ID,@ENTITY_ID
+ END
+ CLOSE Cursor_constructors
+ DEALLOCATE Cursor_constructors
+END TRY
+BEGIN CATCH
+ PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+
+GO
+--##############################################################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_DOC_CREATE_NEW_DOC](@pDOC_ID INTEGER,@pREC_ID INTEGER,@WHO VARCHAR(50))
+AS
+BEGIN TRY
+
+ DECLARE
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+
+ SELECT @FULL_FILENAME = FULL_FILENAME
+ ,@DISPLAY_NAME = [Filename]
+ ,@Filename = [Filename]
+ ,@Doctype = Doctype
+ ,@Version = [Version]
+ ,@Creation_DateTime = [Creation_DateTime]
+ ,@Change_DateTime = [Change_DateTime]
+ ,@Objecttype = OBJECTTYPE
+ FROM
+ VWPMO_DOC_SYNC
+ WHERE
+ DocID = @pDOC_ID
+ IF NOT EXISTS(SELECT DocID FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOC_ID)
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @pDOC_ID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime)
+ ELSE
+ UPDATE TBPMO_DOCRESULT_LIST SET
+ [DISPLAY_NAME] = @Filename,
+ [FULL_FILENAME] = @FULL_FILENAME,
+ [Filename] = @Filename,
+ [Doctype] = @Doctype,
+ [Version] = @Version,
+ [Objecttype] = @Objecttype,
+ Creation_DateTime = @Creation_DateTime,
+ Change_DateTime = @Change_DateTime WHERE [DocID] = @pDOC_ID
+
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOC_ID AND RECORD_ID = @pREC_ID)
+ INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID,ADDED_WHO) VALUES (@pDOC_ID,@pREC_ID,@WHO)
+
+END TRY
+BEGIN CATCH
+ PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--##############################################################################################################################
+CREATE PROCEDURE PRPMO_CREATE_VARIANT(@pREC_ID INTEGER,@WHO VARCHAR(50), @REASON VARCHAR(50),@COMMENT VARCHAR(500),@LINKFILES BIT)
+AS
+BEGIN TRY
+ DECLARE @return_value int
+ EXEC @return_value = [dbo].[PRDD_COPY_RECORD] @pREC_ID,@WHO
+ IF @return_value = 0
+ BEGIN
+ DECLARE @NEW_RECORD_ID INTEGER
+ SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD WHERE UPPER(ADDED_WHO) = UPPER(@WHO)
+ UPDATE TBPMO_RECORD SET
+ PARENT_RECORD = @NEW_RECORD_ID
+ ,CHANGED_WHO = @WHO WHERE GUID = @pREC_ID
+ INSERT INTO TBPMO_RECORD_VARIANT (RECORD_ID,REASON_CODE,COMMENT,ADDED_WHO) VALUES
+ (@pREC_ID,@REASON,@COMMENT,@WHO)
+ UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID =
+ (SELECT RECORD_ENTITY_ID FROM TBPMO_RECORD WHERE GUID = @pREC_ID)
+ ,CHANGED_WHO = @WHO WHERE GUID = @NEW_RECORD_ID
+ IF @LINKFILES = 1
+ INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID, COMMENT, ADDED_WHO)
+ SELECT @NEW_RECORD_ID, DOC_ID, 'NEW VARIANT LINK', @WHO FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pREC_ID
+ END
+ ELSE
+ RAISERROR ('ERROR WHILE COPYING RECORD',
+ 10, -- Severity.
+ 1, -- State.
+ '99', -- First substitution argument.
+ 'PRDD_COPY_RECORD'); -- Second substitution argument.
+END TRY
+BEGIN CATCH
+ PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--##############################################################################################################################
+CREATE PROCEDURE PRPMO_NODES_GET_CHILD_RECORDS (@USER_ID INTEGER, @NODE_ID INTEGER)
+AS
+BEGIN
+ DELETE FROM TBPMO_STRUCTURE_NODES_USER_TEMP WHERE USER_ID = @USER_ID;
+ WITH tblChild AS
+ (
+ SELECT GUID,RECORD_ID FROM
+ TBPMO_STRUCTURE_NODES WHERE GUID = @NODE_ID
+ UNION ALL
+ SELECT TBPMO_STRUCTURE_NODES.GUID,TBPMO_STRUCTURE_NODES.RECORD_ID FROM TBPMO_STRUCTURE_NODES JOIN tblChild ON TBPMO_STRUCTURE_NODES.PARENT_GUID = tblChild.GUID
+ )
+ INSERT INTO TBPMO_STRUCTURE_NODES_USER_TEMP (USER_ID,RECORD_ID)
+ SELECT @USER_ID,RECORD_ID FROM tblChild where RECORD_ID is not null
+ OPTION(MAXRECURSION 32767)
+END
+GO
+--##############################################################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_CHECK_INSERT_WORK_RECORD](@pDOC_ID INT, @pUSER_ID INTEGER, @pUSER_ECM_ID INTEGER,@pWD_RIGHT INT, @pMETHOD VARCHAR(50),@pREASON VARCHAR(100),@pCHECK_WHO VARCHAR(50))
+AS
+BEGIN TRY
+ IF NOT EXISTS(select dwObjectID from VWPMO_WD_OBJECT_RIGHTS where dwObjectID = @pDOC_ID and dwUserOrGroupID = @pUSER_ECM_ID)
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID)
+ --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
+ (@pDOC_ID,@pUSER_ID,@pMETHOD, @pWD_RIGHT, @pREASON, @pCHECK_WHO)
+ ELSE
+ BEGIN
+ DECLARE @EX_RIGHT INT
+ SELECT @EX_RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID
+ IF @EX_RIGHT < @pWD_RIGHT
+ UPDATE TBPMO_RIGHTS_WORK_SERVICE SET FILE_RIGHT = @pWD_RIGHT WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @RIGHT_IN_WD INT
+ SELECT @RIGHT_IN_WD = dwAccessRight FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwObjectID = @pDOC_ID AND dwUserOrGroupID = @pUSER_ID
+ IF @RIGHT_IN_WD < @pWD_RIGHT
+ BEGIN
+ PRINT 'RIGHT IN WINDREAM LOWER THAN ADDI-RIGHT'
+ UPDATE DD_VMP01_APS01_windream60.dbo.AccessRight set dwAccessRight = @pWD_RIGHT where dwObjectID = @pDOC_ID and dwUserOrGroupID = @pUSER_ECM_ID
+ END
+ --ELSE
+ -- BEGIN
+ -- PRINT 'RIGHT IN WINDREAM GREATE THAN ADDI-RIGHT'
+ -- UPDATE windream.dbo.AccessRight set dwAccessRight = @WD_RIGHT where dwObjectID = @DOC_ID and dwUserOrGroupID = @USER_ID_ECM
+ -- END
+ END
+
+END TRY
+BEGIN CATCH
+ PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--##########################################################################################
+CREATE 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
+--##########################################################################################
+CREATE PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT)
+--ALTER PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT)
+AS
+DECLARE @SQL_BEGIN NVARCHAR(MAX),
+ @SQL_END NVARCHAR(MAX),
+ @SQL NVARCHAR(MAX),
+ @SQL_DEF_CONSTR NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @RESULT NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @ZAEHLER INT = 1,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+
+ --select Top 10 * from VWTEMP_PMO_FORM1
+DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID AS CONTROL_ID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE 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 = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ --UNION
+ --SELECT T.GUID AS CONTROL_ID,'[' + T3.CAPTION + ']' AS 'COL_NAME',T2.GUID as TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2, TBPMO_CONTROL_LANGUAGE T3
+ --WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T1.GUID = T3.CONTROL_SCREEN_ID AND T.FORM_ID = 13 AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0
+ ORDER BY TAB_INDEX
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+ SET @SQL = 'IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ''@TABLE@ENT'')
+ drop table @TABLE@ENT' + CHAR(13)
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ EXEC sp_executesql @SQL
+ SET @SQL_BEGIN = 'CREATE TABLE @TABLE@ENT(' + CHAR(13) +
+ '[Record-ID] INT NOT NULL,' + CHAR(13) +
+ 'ROW_COLOR VARCHAR(50) NOT NULL DEFAULT '''',' + CHAR(13)
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@TABLE',@ENTITY_TABLENAME)
+
+ --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 = '[file_exists] BIT NOT NULL DEFAULT 0,' + CHAR(13) + '[file_count] INT NOT NULL DEFAULT 0,' + CHAR(13) + 'AddedWho VARCHAR(50)' + CHAR(13) + ',AddedWhen DATETIME' + CHAR(13) + ', ChangedWho VARCHAR(50)' + CHAR(13) + ',ChangedWhen DATETIME,' + CHAR(13) + 'CONSTRAINT PK_@TABLE@ENT PRIMARY KEY([Record-ID]))' + CHAR(13)
+ SET @SQL_END = REPLACE(@SQL_END,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME)
+
+ OPEN c_SPALTENNAMEN
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @ZAEHLER = @ZAEHLER + 1
+
+ BEGIN
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ IF @DEFAULT = 'False'
+ SET @DEFAULT = '0'
+ ELSE
+ SET @DEFAULT = '1'
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' BIT NOT NULL DEFAULT ' + @DEFAULT + ',' + CHAR(13)
+ END
+ ELSE IF @TYPEID = 6 --Picturebox
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARBINARY(MAX),' + CHAR(13)
+ ENd
+ ELSE IF @TYPEID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13)
+ END
+ ELSE IF @TYPEID = 1 --Label
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13)
+ END
+ ELSE IF @TYPEID = 4 --DatePicker
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(10),' + CHAR(13)
+ END
+ ELSE
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13)
+ IF LEN(ISNULL(@DEFAULT,'')) > 0
+ BEGIN
+ DECLARE @TEMP_COL_NAME VARCHAR(50)
+ SET @TEMP_COL_NAME = REPLACE(@COL_NAME,' ','')
+ SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,'[','')
+ SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,']','')
+ IF LEN(@SQL_DEF_CONSTR) > 0
+ SET @SQL_DEF_CONSTR = @SQL_DEF_CONSTR + CHAR(13) + 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';'
+ ELSE
+ SET @SQL_DEF_CONSTR = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';'
+ BEGIN
+ SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@DEFAULT_VALUE',@DEFAULT)
+ SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@COL_NAME',@TEMP_COL_NAME)
+ SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@TABLE',@ENTITY_TABLENAME)
+ END
+ END
+
+ END
+ END
+
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT
+ END
+
+ CLOSE c_SPALTENNAMEN
+ DEALLOCATE c_SPALTENNAMEN
+
+ SET @RESULT = @SQL + @SQL_BEGIN + @SQL_END
+ --PRINT @RESULT
+ EXEC sp_executesql @RESULT
+
+ IF LEN(@SQL_DEF_CONSTR) > 0
+ BEGIN
+ --PRINT @SQL_DEF_CONSTR
+ EXEC sp_executesql @SQL_DEF_CONSTR
+ END
+END
+GO
+-----------------------------------------------------------------------------------------
+--##########################################################################################
+CREATE PROCEDURE PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE (@pRECID INT)
+--ALTER PROCEDURE PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE (@pRECID INT)
+AS
+DECLARE @SQL NVARCHAR(MAX),
+ @COUNT_DOCS INT,
+ @DOC_EXISTS TINYINT,
+ @ENT_ID INT,
+ @ENTITY_TABLENAME VARCHAR(50)
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+ SELECT @ENT_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECID
+ SELECT @COUNT_DOCS = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECID
+ IF @COUNT_DOCS > 0
+ SET @DOC_EXISTS = 1
+ ELSE
+ SET @DOC_EXISTS = 0
+
+ SET @SQL = 'UPDATE @TABLE@ENT_ID SET [file_exists] = @DOC_EXISTS, [file_count] = @COUNT_DOCS WHERE [Record-ID] = @pRECID'
+ SET @SQL = REPLACE(@SQL,'@pRECID',CONVERT(VARCHAR(10),@pRECID))
+ SET @SQL = REPLACE(@SQL,'@DOC_EXISTS',CONVERT(VARCHAR(1),@DOC_EXISTS))
+ SET @SQL = REPLACE(@SQL,'@COUNT_DOCS',CONVERT(VARCHAR(10),@COUNT_DOCS))
+ SET @SQL = REPLACE(@SQL,'@ENT_ID',CONVERT(VARCHAR(3),@ENT_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+
+ EXEC sp_executesql @SQL
+END
+GO
+-----------------------------------------------------------------------------------------
+--##########################################################################################
+CREATE PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT)
+--ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT)
+AS
+DECLARE @REC_ID INT,
+ @SQL_INSERT_REC NVARCHAR(MAX),
+ @SQL_DELETE NVARCHAR(MAX),
+ @SQL_UPDATE NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @INSERT_COMAMND NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + ''''
+DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+
+ SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT'
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+ EXEC sp_executesql @SQL_DELETE
+
+ OPEN cursor_Records
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID'
+
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ --PRINT @SQL_INSERT_REC
+ EXEC sp_executesql @SQL_INSERT_REC
+ EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID
+
+ DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
+ WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ ORDER BY TAB_INDEX
+
+ BEGIN
+ OPEN cursor_Columns
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID'
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
+ --
+ IF @TYPEID = 6 --Picturebox
+ BEGIN
+ DECLARE @VALUE_VBM VARBINARY(MAX)
+
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ EXEC sp_executesql @SQL_UPDATE
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @VALUE VARCHAR(MAX)
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN TRY
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE IF @TYPEID IN(7,12,14)
+ BEGIN
+ SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ --PRINT @SQL_UPDATE
+ EXEC sp_executesql @SQL_UPDATE
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ END CATCH
+ END
+
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ END
+ CLOSE cursor_Columns
+ DEALLOCATE cursor_Columns
+ END
+
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ END
+ CLOSE cursor_Records
+ DEALLOCATE cursor_Records
+END
+GO
+--##########################################################################################
+CREATE PROCEDURE PRPMO_ENTITY_TABLE_UPDATE_COLUMN(@ENTITY_ID INT,@RECORD_ID INT, @CONTROL_ID INTEGER, @COL_NAME VARCHAR(50), @CHANGED_WHO VARCHAR(50),@VALUE_NEW VARCHAR(MAX) = NULL)
+--ALTER PROCEDURE PRPMO_ENTITY_TABLE_UPDATE_COLUMN(@ENTITY_ID INT,@RECORD_ID INT, @COL_NAME VARCHAR(50),@CHANGED_WHO VARCHAR(50),@VALUE_NEW VARCHAR(MAX) = NULL)
+AS
+ DECLARE @SQL_UPDATE NVARCHAR(MAX),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @TYPE_ID INT
+
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SELECT @TYPE_ID = CONTROL_TYPE_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
+ IF @TYPE_ID IN(7,12,14) --DGV,CheckedListBox,ListBox
+ SELECT @VALUE_NEW = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID,@RECORD_ID)
+
+ IF @VALUE_NEW IS NULL
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT_ID SET [@COL_NAME] = NULL,ChangedWho = ''@CHANGED_WHO'',ChangedWhen = ''@CHANGED_WHEN'' WHERE [Record-ID] = @RECORD_ID'
+ ELSE
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT_ID SET [@COL_NAME] = ''@VALUE_NEW'',ChangedWho = ''@CHANGED_WHO'',ChangedWhen = ''@CHANGED_WHEN'' WHERE [Record-ID] = @RECORD_ID'
+
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT_ID',CONVERT(VARCHAR(3),@ENTITY_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE_NEW',@VALUE_NEW)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@RECORD_ID',CONVERT(VARCHAR(10),@RECORD_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CHANGED_WHEN',CONVERT(VARCHAR(25),GETDATE()))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CHANGED_WHO',@CHANGED_WHO)
+
+ EXEC sp_executesql @SQL_UPDATE
+END
+GO
+--##########################################################################################
+CREATE PROCEDURE PRPMO_ALTER_ENTITY_TABLE(@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0)
+AS
+DECLARE @SQL NVARCHAR(MAX),
+ @DEFAULT_VALUE VARCHAR(100),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @TEMP_COL_NAME VARCHAR(50),
+ @SQL_DEF NVARCHAR(MAX),
+ @DFNAME VARCHAR(50),
+ @DROP NVARCHAR(500)
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @DEFAULT_VALUE = @pDEFAULT_VALUE
+
+ IF @pACTION = 0 -- Für Insert
+ BEGIN
+ SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + 'ADD [@COL_NAME]'
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME)
+
+ IF @pTYP_ID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ IF @DEFAULT_VALUE = 'False'
+ SET @DEFAULT_VALUE = '0'
+ ELSE
+ SET @DEFAULT_VALUE = '1'
+
+ SET @SQL = @SQL +' BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE + CHAR(13)
+ END
+ ELSE IF @pTYP_ID = 6 --Picturebox
+ SET @SQL = @SQL +' VARBINARY(MAX)' + CHAR(13)
+ ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
+ SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13)
+ ELSE IF @pTYP_ID = 4 --DatePicker
+ SET @SQL = @SQL + ' VARCHAR(10)' + CHAR(13)
+ ELSE
+ BEGIN
+ IF LEN(ISNULL(@DEFAULT_VALUE,'')) > 0
+ BEGIN
+ SET @SQL = @SQL + ' VARCHAR(MAX) DEFAULT ''@DEFAULT''' + CHAR(13)
+ SET @SQL = REPLACE(@SQL,'@DEFAULT',@DEFAULT_VALUE)
+ END
+ ELSE
+ SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13)
+ END
+ --PRINT @SQL
+
+ EXEC sp_executesql @SQL
+ PRINT 'COLUMN FOR ENTITY-TABLE WAS ADDED'
+ END
+ ELSE IF @pACTION = 1 -- Für Update
+ BEGIN
+ IF LEN(ISNULL(@pCOL_NAME_OLD,'')) > 0
+ BEGIN
+ SET @SQL = '@TABLE@ENT.[@OLDNAME]'
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@OLDNAME',@pCOL_NAME_OLD)
+
+ --PRINT @COL_NAME
+ --PRINT @TABLENAME_COL
+
+ --Update des Columnnames
+ EXEC sp_RENAME @SQL, @pCOL_NAME, 'COLUMN'
+ PRINT 'COLUMN WAS UPDATED'
+
+ SET @SQL = 'ALTER TABLE @TABLE@ENT ALTER COLUMN '
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = @SQL + '[' + @pCOL_NAME + '] '
+
+ IF @pTYP_ID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ IF @DEFAULT_VALUE = 'False'
+ SET @DEFAULT_VALUE = '0'
+ ELSE
+ SET @DEFAULT_VALUE = '1'
+ SET @SQL = @SQL +'BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE
+ END
+ ELSE IF @pTYP_ID = 6 --Picturebox
+ SET @SQL = @SQL +'VARBINARY(MAX)'
+ ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
+ SET @SQL = @SQL + 'VARCHAR(MAX)'
+ ELSE IF @pTYP_ID = 4 --DatePicker
+ SET @SQL = @SQL + 'VARCHAR(10)'
+ ELSE
+ BEGIN
+ SET @SQL = @SQL + 'VARCHAR(MAX)'
+ IF @DEFAULT_VALUE IS NOT NULL
+ BEGIN
+ SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,' ','')
+ SET @SQL_DEF = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR [' + @pCOL_NAME + ']'
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@DEFAULT_VALUE',@DEFAULT_VALUE)
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@COL_NAME',@TEMP_COL_NAME)
+ END
+ END
+
+ --PRINT '@ALTER SQL-COMMAND: ' + @SQL
+ EXEC sp_executesql @SQL
+ PRINT 'ALTER TABLE was executed'
+ SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME'
+ SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME)
+ SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT '@DFNAME: ' + @DFNAME
+ IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME)
+ BEGIN
+ --PRINT 'DEFAULT KEY EXISTS'
+ SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME'
+ SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME)
+ SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT @DROP
+ EXEC sp_executesql @DROP
+ END
+ IF LEN(@SQL_DEF) > 0 AND LEN(@DEFAULT_VALUE) > 0
+ BEGIN
+ --PRINT '@SQL DEFAULT CONSTRAINT: ' + @SQL_DEF
+ EXEC sp_executesql @SQL_DEF
+ END
+
+ END
+ END
+ ELSE IF @pACTION = 2 -- Für Delete
+ BEGIN
+ SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME'
+ SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME)
+ SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT '@DFNAME: ' + @DFNAME
+ IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME)
+ BEGIN
+ --PRINT 'DEFAULT KEY EXISTS'
+ SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME'
+ SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME)
+ SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT @DROP
+ EXEC sp_executesql @DROP
+ END
+ SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + ' DROP COLUMN [@COL_NAME]'
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME)
+ EXEC sp_executesql @DROP
+ END
+ EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @pENTITY_ID
+END
+GO
+--##########################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE_VIEW](@pENTITY_ID INT)
+AS
+DECLARE @COL_NAME VARCHAR(50),
+ @SQL_BEGIN NVARCHAR(4000),
+ @SQL_END NVARCHAR(4000),
+ @SQL NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @RESULT NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @SQL_LBL VARCHAR(4000),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @VWPMO_ENTITY_TABLE VARCHAR(100)
+
+SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+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 = @pENTITY_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, T.SQL_COMMAND_1 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 = @pENTITY_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0
+ ORDER BY TAB_INDEX
+BEGIN
+ SET @VWPMO_ENTITY_TABLE = 'VWPMO_ENTITY_TABLE@pENTITY_ID'
+ SET @SQL_BEGIN = 'CREATE VIEW @VIEW AS SELECT T.[Record-ID]' + CHAR(13) + ',T.ROW_COLOR' + CHAR(13) + ',@pENTITY_ID AS [Form-ID]' + CHAR(13) + ','
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@VIEW',@VWPMO_ENTITY_TABLE)
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
+
+
+ SET @VWPMO_ENTITY_TABLE = REPLACE(@VWPMO_ENTITY_TABLE,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
+
+ SET @SQL_END = 'T.file_exists as [files?],' + CHAR(13) + 'T.file_count as [file count],' + CHAR(13) + 'T.AddedWho,' + CHAR(13) + 'T.AddedWhen,' + CHAR(13) + 'T.ChangedWho,' + CHAR(13) + 'T.ChangedWhen FROM @TABLE@pENTITY_ID T'
+ SET @SQL_END = REPLACE(@SQL_END,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = ''
+ OPEN c_SPALTENNAMEN
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @COL_NAME = REPLACE(@COL_NAME,'lbl','')
+ --PRINT @COL_NAME
+ IF @TYPEID IN(10,11) -- CheckBox,RadioBox
+ SET @SQL = @SQL + 'CONVERT(BIT,T.@COL_NAME) AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE IF @TYPEID = 6 --PictureBox
+ SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE IF @TYPEID = 1 --Label mit SQL
+ BEGIN
+ SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.[Record-ID]')
+ SET @SQL = @SQL + '(' + @SQL_LBL + ') AS ' + @COL_NAME + ',' + CHAR(13)
+ END
+ --ELSE IF @TYPEID IN(7,12,14) --DGV,CheckedListBox,ListBox
+ -- SET @SQL = @SQL + 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.[Record-ID]) AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE IF @TYPEID = 4 --Datepicker
+ SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE
+ SET @SQL = @SQL + 'ISNULL(T.@COL_NAME,'''') AS ' + @COL_NAME + ',' + CHAR(13)
+
+ SET @SQL = REPLACE(@SQL,'@COL_NAME',@COL_NAME)
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL
+ END
+
+ CLOSE c_SPALTENNAMEN
+ DEALLOCATE c_SPALTENNAMEN
+ SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
+ PRINT @RESULT
+
+ IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @VWPMO_ENTITY_TABLE)
+ BEGIN
+ SET @SQL = 'DROP VIEW [dbo].[@VIEW]'
+ SET @SQL = REPLACE(@SQL,'@VIEW',@VWPMO_ENTITY_TABLE)
+ PRINT @SQL
+ EXEC sp_executesql @SQL
+ END
+ EXEC sp_executesql @RESULT
+ UPDATE TBPMO_FORM_SQL SET SQL_COMMAND1 = @RESULT WHERE FORM_ID = @pENTITY_ID
+END
+GO
+--##########################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_COPY_RECORD](@pRECORD_ID INT,@WHO VARCHAR(50))
+AS
+DECLARE @NEW_RECORD_ID INT
+
+BEGIN TRY
+ INSERT INTO TBPMO_RECORD (
+ FORM_ID,ADDED_WHO,RECORD_ENTITY_ID)
+ SELECT FORM_ID,@WHO,4711 FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+
+ SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD
+
+ INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID,COMMENT) SELECT
+ RECORD1_ID,@NEW_RECORD_ID,COMMENT FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = @pRECORD_ID
+
+ DECLARE @CONTROL_ID INT,
+ @REC_ID INT,
+ @VALUE VARCHAR(MAX),
+ @ADDED_WHO VARCHAR(50)
+
+ DECLARE cursorControlValues CURSOR LOCAL FOR
+ SELECT CONTROL_ID,@NEW_RECORD_ID,VALUE,@WHO FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+ OPEN cursorControlValues
+ FETCH NEXT FROM cursorControlValues INTO @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES (
+ @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO)
+
+ FETCH NEXT FROM cursorControlValues INTO @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO
+ END
+ CLOSE cursorControlValues
+ DEALLOCATE cursorControlValues
+
+ INSERT INTO TBPMO_CONTROL_IMAGE(CONTROL_ID,RECORD_ID,IMG,ADDED_WHO) SELECT
+ CONTROL_ID,@NEW_RECORD_ID,IMG,@WHO FROM TBPMO_CONTROL_IMAGE WHERE RECORD_ID = @pRECORD_ID
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--##########################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_CONTROL](@pCONTROL_ID INT)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID)
+ DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_FUNCTION_GENERAL WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_ENTITY_RIGHT_CONTROLS WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_ID
+END TRY
+BEGIN CATCH
+ PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--##########################################################################################
+CREATE 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_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID))
+ DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL 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_VIEW WHERE FORM_ID = @pENTITY_ID
+ DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_ID
+END TRY
+BEGIN CATCH
+ PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--##########################################################################################
+CREATE 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 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--##########################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_RECORD_CREATE_WORKFLOWTASKS](@RECORD_ID INTEGER)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID
+ INSERT INTO TBPMO_WORKFLOW_TASK (RECORD_ID,WF_ID,STATE_ID,ACTIVE)
+ SELECT @RECORD_ID, T.WF_ID,1,1 FROM TBPMO_WORKFLOW_FORM T, TBPMO_RECORD T1 WHERE T.FORM_ID = T1.FORM_ID AND T1.GUID = @RECORD_ID
+END TRY
+BEGIN CATCH
+ PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--##########################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_ADD_RECORD](@pDOC_ID INT, @pDOC_PATH VARCHAR(1000), @pUSERSTRING VARCHAR(250), @pRIGHT INT, @pTYPE VARCHAR(100),@FROM_SERVICE INT)
+AS
+BEGIN TRY
+ DECLARE @GUID INTEGER,
+ @RIGHT INTEGER
+ SELECT @GUID = ISNULL(MAX(GUID),0) FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE
+ DOC_ID = @pDOC_ID
+ AND UPPER(DOC_PATH) = UPPER(@pDOC_PATH)
+ AND UPPER(USER_STRING) = UPPER(@pUSERSTRING)
+ IF @GUID = 0
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT (DOC_ID,DOC_PATH,USER_STRING,FILE_RIGHT,RIGHT_TYPE,ADDED_WHO,[SERVICE])
+ VALUES (@pDOC_ID,UPPER(@pDOC_PATH),UPPER(@pUSERSTRING),@pRIGHT,@pTYPE,'PRPMO_RIGHT_INSERT',@FROM_SERVICE)
+ ELSE
+ BEGIN
+ SELECT @RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE GUID = @GUID
+ IF @RIGHT <> @pRIGHT
+ IF @RIGHT < @pRIGHT
+ UPDATE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT SET FILE_RIGHT = @pRIGHT,RIGHT_TYPE = @pTYPE WHERE GUID = @GUID
+ END
+END TRY
+BEGIN CATCH
+ PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MSG: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+--###############################################################################################
+
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_RESULTFILE](@pDOCID INT, @pRECORDID INT, @DELETE_FILE INT)
+AS
+BEGIN TRY
+ DECLARE @COUNT INT
+ SELECT @COUNT = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOCID
+ IF @COUNT = 1 OR (@DELETE_FILE = 1 AND @COUNT > 1)
+ BEGIN
+ DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID
+ DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID
+ END
+ ELSE IF @COUNT > 1 and @DELETE_FILE = 0
+ BEGIN
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID AND RECORD_ID = @pRECORDID
+ END
+ ELSE IF @DELETE_FILE = 1
+ BEGIN
+ DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID
+ DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID
+ END
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE PROCEDURE [dbo].[PRPMO_DOC_VALUE_UPD_INS](@pDOCID INT, @pREC_ID INT, @pCONFIGID INT,@pVALUE VARCHAR(MAX),@pUSER VARCHAR(30))
+AS
+BEGIN TRY
+ IF EXISTS(SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @pCONFIGID AND RECORD_ID = @pREC_ID)
+ UPDATE TBPMO_DOC_VALUES SET VALUE = @pVALUE,CHANGED_WHO = @pUSER WHERE GUID = (
+ SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND RECORD_ID = @pREC_ID AND CONFIG_ID = @pCONFIGID)
+ ELSE
+ INSERT INTO TBPMO_DOC_VALUES (DocID, RECORD_ID, CONFIG_ID, VALUE, ADDED_WHO) VALUES (@pDOCID, @pREC_ID, @pCONFIGID, @pVALUE, @pUSER)
+END TRY
+--##########################################################################################
+BEGIN CATCH
+ PRINT 'ERROR IN [PRPMO_DOC_VALUE_UPD_INS] - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_LANGUAGE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_LANGUAGE]
+FOR UPDATE
+AS
+BEGIN
+ DECLARE @CONTR_SCREEN_ID INTEGER,
+ @GUID INTEGER,
+ @CAPTION VARCHAR(100)
+ SELECT @CONTR_SCREEN_ID = CONTROL_SCREEN_ID,
+ @GUID = GUID,
+ @CAPTION = CAPTION
+ FROM inserted
+ UPDATE TBPMO_CONTROL_LANGUAGE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_LANGUAGE.GUID = INSERTED.GUID
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = @CONTR_SCREEN_ID AND LANGUAGE_TYPE = 'de-DE')
+ INSERT INTO TBPMO_CONTROL_LANGUAGE (LANGUAGE_TYPE,CONTROL_SCREEN_ID,CAPTION) VALUES ('de-DE',@CONTR_SCREEN_ID,@CAPTION)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = @CONTR_SCREEN_ID AND LANGUAGE_TYPE = 'en-US')
+ INSERT INTO TBPMO_CONTROL_LANGUAGE (LANGUAGE_TYPE,CONTROL_SCREEN_ID,CAPTION) VALUES ('en-US',@CONTR_SCREEN_ID,@CAPTION)
+END
+GO
+--##########################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_RENEW_RECORD](@pENTITY_ID INT,@pRECORD_ID INT)
+AS
+DECLARE @REC_ID INT,
+ @SQL_INSERT_REC NVARCHAR(MAX),
+ @SQL_DELETE NVARCHAR(MAX),
+ @SQL_UPDATE NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @INSERT_COMAMND NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+PRINT 'WORKING ON RECORD ''' + CONVERT(VARCHAR(10),@pRECORD_ID) + ''''
+DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+
+ SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@RECORD_ID',CONVERT(VARCHAR(10),@pRECORD_ID))
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+ PRINT @SQL_DELETE
+ EXEC sp_executesql @SQL_DELETE
+
+ OPEN cursor_Records
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID'
+
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ PRINT @SQL_INSERT_REC
+ EXEC sp_executesql @SQL_INSERT_REC
+ EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID
+
+ DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
+ WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ ORDER BY TAB_INDEX
+
+ BEGIN
+ OPEN cursor_Columns
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID'
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
+ --
+ IF @TYPEID = 6 --Picturebox
+ BEGIN
+ DECLARE @VALUE_VBM VARBINARY(MAX)
+
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ EXEC sp_executesql @SQL_UPDATE
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @VALUE VARCHAR(MAX)
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN TRY
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE IF @TYPEID IN(7,12,14)
+ BEGIN
+ SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ --PRINT @SQL_UPDATE
+ EXEC sp_executesql @SQL_UPDATE
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ END CATCH
+ END
+
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ END
+ CLOSE cursor_Columns
+ DEALLOCATE cursor_Columns
+ END
+
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ END
+ CLOSE cursor_Records
+ DEALLOCATE cursor_Records
+END
+GO
+--##########################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD_PMO_TABLE] (@ENTITY_ID INT, @RECORD_ID INT)
+-- =============================================
+-- Author: Digital Data - Schreiber, Marlon
+-- Create date: 22.11.2017
+-- Description: Deletes a record from the temptable
+-- =============================================
+-- PROXY-RELEVANT
+AS
+BEGIN
+ --DECLARE @ENTITY_ID INT, @RECORD_ID INT
+ --SET @ENTITY_ID = 1
+ --SET @RECORD_ID = 7801
+ DECLARE @ENTITY_TABLENAME VARCHAR(100),@SQL VARCHAR(MAX)
+
+ SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID)
+ --PRINT @ENTITY_TABLENAME
+ --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ PRINT @SQL
+ EXEC (@SQL)
+ --DELETE FROM TBPMO_ENTITY_TABLE1 WHERE [Record-ID] = 7801
+END
+GO
+--##########################################################################################
+CREATE PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_REFRESH_RECORDS](@pENTITY_ID INT)
+--ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT)
+AS
+DECLARE @REC_ID INT,
+ @SQL_INSERT_REC NVARCHAR(MAX),
+ @SQL_DELETE NVARCHAR(MAX),
+ @SQL_UPDATE NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @INSERT_COMAMND NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + ''''
+--DELETE ALL RECORDS WHICH ARE NOT ANY MORE PART OF ENTITY
+SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] NOT IN (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @ENT)'
+SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+EXEC sp_executesql @SQL_DELETE
+--DELETE RECORDS WHICH HAVE BEEN MODIFIED IN THE LAST 5 DAYS
+SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] IN (select GUID from TBPMO_RECORD where CONVERT(DATE,CHANGED_WHEN) >= dateadd(dd,-5, cast(GETDATE() as date)) AND FORM_ID = @ENT)'
+SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+EXEC sp_executesql @SQL_DELETE
+
+DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0 AND CONVERT(DATE,CHANGED_WHEN) >= dateadd(dd,-5, cast(GETDATE() as date))
+BEGIN
+ OPEN cursor_Records
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID'
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ --PRINT @SQL_INSERT_REC
+ EXEC sp_executesql @SQL_INSERT_REC
+ EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID
+
+ DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
+ WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ ORDER BY TAB_INDEX
+
+ BEGIN
+ OPEN cursor_Columns
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID'
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
+ --
+ IF @TYPEID = 6 --Picturebox
+ BEGIN
+ DECLARE @VALUE_VBM VARBINARY(MAX)
+
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ EXEC sp_executesql @SQL_UPDATE
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @VALUE VARCHAR(MAX)
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN TRY
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE IF @TYPEID IN(7,12,14)
+ BEGIN
+ SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ --PRINT @SQL_UPDATE
+ EXEC sp_executesql @SQL_UPDATE
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ END CATCH
+ END
+
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ END
+ CLOSE cursor_Columns
+ DEALLOCATE cursor_Columns
+ END
+
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ END
+ CLOSE cursor_Records
+ DEALLOCATE cursor_Records
+END
+GO
+--###############################################
+CREATE PROCEDURE [dbo].[PRPMO_DAILY_JOB_5MIN]
+AS
+BEGIN
+ EXEC PRPMO_DOCSYNC_5min
+END
+GO
+
+CREATE PROCEDURE [dbo].[PRPMO_DAILY_JOB_06_12_18]
+AS
+BEGIN
+ --PROCEDURE1
+ PRINT 'EXECUTING PRPMO_DAILY_JOB_06_12_18'
+ --EXEC PRPMO_ZSG_IN_COMOS_SAP;
+
+END
+GO
+
+--###############################################
+--###########FUNCTIONS###########################
+--###############################################
+CREATE FUNCTION [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@pENTITY_ID INT)
+-- =============================================
+-- Author: Digital Data - Schreiber, Marlon
+-- Create date: 22.11.2017
+-- Description: Gets the temptablename for the entity
+-- =============================================
+-- PROXY-RELEVANT
+RETURNS VARCHAR(100)
+AS
+BEGIN
+ DECLARE @RESULT AS VARCHAR(100)
+ DECLARE @ENTITY_TABLENAME AS VARCHAR(100)
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@pENTITY_ID)
+
+ RETURN @ENTITY_TABLENAME
+END
+GO
+
+CREATE FUNCTION [dbo].[FNPMO_CUST_ALLOW_ENTITY_RELINK](@RECORD_ID INTEGER, @USER_ID INTEGER)
+--PROXYRELEVANT COPY ON PROXY
+-- =============================================
+-- Author: Digital Data - Schreiber, Marlon
+-- Create date: 22.11.2017
+-- Description:
+-- =============================================
+RETURNS BIT
+AS
+BEGIN
+ DECLARE @RESULT BIT, @ENTITY_ID INTEGER
+ SET @RESULT = 1
+ DECLARE @STATUS VARCHAR(50)
+ --##### RENOLIT INDIVIDUELL
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ IF @ENTITY_ID = 1
+ BEGIN
+ SELECT @STATUS = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 745
+ IF @STATUS <> 'Vertrag beendet'
+ SET @RESULT = 0
+ ELSE
+ SET @RESULT = 1
+ END
+ --#### ENDE
+
+ RETURN @RESULT
+END
+GO
+--#################################################################################################################################
+CREATE FUNCTION [dbo].[FNPMO_GET_DATEDIFF] (@pTIMESPAN VARCHAR(10),@pVALUE DATE)
+RETURNS INTEGER
+AS
+BEGIN
+ DECLARE @RESULT AS INTEGER
+ If @pTIMESPAN = 'Day'
+ SELECT @RESULT = DATEDIFF(DAY, CONVERT(DATE,getdate()),@pVALUE)
+ ELSE IF @pTIMESPAN = 'Month'
+ SELECT @RESULT = DATEDIFF(MONTH, getdate(),@pVALUE)
+ ELSE IF @pTIMESPAN = 'Week'
+ SELECT @RESULT = DATEDIFF(WEEK, getdate(),@pVALUE)
+ --PRINT 'RESULT: W:\' + @RESULT + '\'
+ RETURN @RESULT
+END
+GO
+CREATE FUNCTION [dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] (@pCONTROL_ID INTEGER,@pDOC_ID INTEGER, @pENTITY_ID INTEGER)
+RETURNS VARCHAR(1000)
+AS
+BEGIN
+ DECLARE
+ @RESULT VARCHAR(MAX),
+ @TEMP_VALUE VARCHAR(MAX)
+
+
+ DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID in (SELECT RECORD_ID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOC_ID
+ AND RECORD_ID IN (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID))
+
+
+ BEGIN
+ OPEN c_RESULT
+ FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF LEN(@RESULT) > 0
+ SET @RESULT = @RESULT + ';' + @TEMP_VALUE
+ ELSE
+ SET @RESULT = @TEMP_VALUE
+ FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
+ END
+
+ CLOSE c_RESULT
+ DEALLOCATE c_RESULT
+
+ RETURN(@RESULT)
+ END
+END
+GO
+--#################################################################################################################################
+CREATE FUNCTION [dbo].[FNPMO_GET_CONTROL_CAPTION](@pLANG_TYPE VARCHAR(5), @pSCREEN_ID INTEGER,@pCONTROL_ID INTEGER )
+RETURNS VARCHAR(100)
+AS
+BEGIN
+ DECLARE @CAPTION VARCHAR(100),
+ @CTRL_SCREEN_ID INTEGER
+
+ SELECT @CTRL_SCREEN_ID = GUID FROM TBPMO_CONTROL_SCREEN WHERE
+ CONTROL_ID = @pCONTROL_ID AND SCREEN_ID = @pSCREEN_ID
+
+ SELECT @CAPTION = CAPTION FROM TBPMO_CONTROL_LANGUAGE WHERE LANGUAGE_TYPE = @pLANG_TYPE AND
+ CONTROL_SCREEN_ID = @CTRL_SCREEN_ID
+
+ RETURN(ISNULL(@CAPTION,''))
+END
+GO
+--#################################################################################################################################
+CREATE FUNCTION [dbo].[FNPMO_GETOBJECTCAPTION](@pLANG_TYPE VARCHAR(5), @pOBJ_NAME VARCHAR(100), @pSCREEN_ID INT)
+RETURNS VARCHAR(100)
+AS
+BEGIN
+ DECLARE @PMOOBJ_CAPTION VARCHAR(100)
+
+ SELECT @PMOOBJ_CAPTION = CAPTION FROM
+ TBPMO_LANGUAGE_OBJECT AS T
+ WHERE
+ T.LANGUAGE_TYPE = @pLANG_TYPE AND
+ T.SCREEN_ID = @pSCREEN_ID AND
+ T.PMO_OBJECT_NAME = @pOBJ_NAME
+
+ RETURN(ISNULL(@PMOOBJ_CAPTION,''))
+END
+GO
+--#################################################################################################################################
+CREATE FUNCTION FNPMO_GET_CONTROL_VALUES (@pCONTROL_ID INTEGER, @pRECORD_ID INTEGER)
+RETURNS VARCHAR(1000)
+AS
+BEGIN
+ DECLARE
+ @RESULT VARCHAR(MAX),
+ @TEMP_VALUE VARCHAR(MAX)
+
+
+ DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID = @pRECORD_ID
+
+
+ BEGIN
+ OPEN c_RESULT
+ FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF LEN(@RESULT) > 0
+ SET @RESULT = @RESULT + ';' + @TEMP_VALUE
+ ELSE
+ SET @RESULT = @TEMP_VALUE
+ FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
+ END
+
+ CLOSE c_RESULT
+ DEALLOCATE c_RESULT
+
+ RETURN(@RESULT)
+ END
+END
+GO
+--#################################################################################################################################
+CREATE FUNCTION [dbo].[FNPMO_GET_ENTITY_COLUMN_CONTENT](@pRECORD_ID INTEGER)
+RETURNS VARCHAR(2500)
+AS
+BEGIN
+ DECLARE
+ @COLUMN1 VARCHAR(100),
+ @ENTITY INTEGER, @CONTROL_ID INTEGER, @RESULT VARCHAR(2500)
+
+ SELECT @ENTITY = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+
+ SELECT @COLUMN1 = COLUMN_NAME1 FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @ENTITY
+ SELECT @CONTROL_ID = GUID FROm TBPMO_CONTROL WHERE COL_NAME = @COLUMN1
+ SELECT @RESULT = VALUE FROM VWPMO_VALUES WHERE RECORD_ID = @pRECORD_ID AND CONTROL_ID = @CONTROL_ID
+ RETURN(@RESULT)
+END
+GO
+--#################################################################################################################################
+CREATE FUNCTION [dbo].[FN_SPLIT_STRING]
+(
+ @Input NVARCHAR(MAX),
+ @Character CHAR(1)
+)
+RETURNS @Output TABLE (
+ Item NVARCHAR(1000)
+)
+AS
+BEGIN
+ DECLARE @StartIndex INT, @EndIndex INT
+
+ SET @StartIndex = 1
+ IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character
+ BEGIN
+ SET @Input = @Input + @Character
+ END
+
+ WHILE CHARINDEX(@Character, @Input) > 0
+ BEGIN
+ SET @EndIndex = CHARINDEX(@Character, @Input)
+
+ INSERT INTO @Output(Item)
+ SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1)
+
+ SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input))
+ END
+
+ RETURN
+END
+GO
+--#################################################################################################################################
+CREATE FUNCTION FNPMO_GET_WINDREAM_FOLDER_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
+
+ IF EXISTS(SELECT dwDocID FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID)
+ BEGIN
+ SELECT @FSFLAGS = dwFSFlags FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID
+ IF @FSFLAGS <> 16
+ BEGIN
+ SET @RESULT = 'THIS IS NOT A FOLDER (dwFSFlags <> 16)!'
+ SET @DATEINAME = ''
+ END
+ ELSE
+ BEGIN
+ SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM DD_VMP01_APS01_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 DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID
+ SET @i = @i + 1
+ END
+ END
+ END
+ ELSE
+ BEGIN
+ SET @RESULT = 'THIS DOC-ID DOES NOT EXIST!'
+ SET @DATEINAME = ''
+ END
+
+ SET @RESULT = @WM_LAUFWERKBUCHSTABE +':' + @RESULT + @DATEINAME
+ --PRINT @RESULT
+ RETURN @RESULT
+END
+GO
+--#################################################################################################################################
+CREATE 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 DD_VMP01_APS01_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 DD_VMP01_APS01_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 DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID
+ SET @i = @i + 1
+ END
+ END
+
+ SET @RESULT = @WM_LAUFWERKBUCHSTABE +':' + @RESULT + @DATEINAME
+ RETURN @RESULT
+END
+GO
+--#################################################################################################################################
+CREATE FUNCTION [dbo].[FNPMO_GET_USERID_FORSTRING](@USERSTRING VARCHAR(50))
+RETURNS INTEGER
+AS
+BEGIN
+ DECLARE @USER_ID AS INTEGER
+ SELECT @USER_ID = GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@USERSTRING)
+ IF @USER_ID IS NULL
+ SELECT @USER_ID = GUID FROM TBDD_USER WHERE UPPER(PRENAME + NAME) = REPLACE(UPPER(@USERSTRING),' ','')
+ IF @USER_ID IS NULL
+ SELECT @USER_ID = GUID FROM TBDD_USER WHERE REPLACE(UPPER(NAME + ',' + PRENAME),' ','') = REPLACE(UPPER(@USERSTRING),' ','')
+ RETURN(ISNULL(@USER_ID,0))
+END
+GO
+--#################################################################################################################################
+CREATE FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER)
+RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50),USER_OR_GROUP VARCHAR(20))
+AS
+BEGIN
+ DECLARE
+ @RECID INTEGER,
+ @ENT_ID INTEGER,
+ @GUID INTEGER,
+ @RIGHT_USER VARCHAR(50),
+ @RIGHT_USER_INT INTEGER,
+ @RIGHT_USER_ECM_ID INTEGER,
+ @AD_DOMAIN VARCHAR(250)
+ SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME
+
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER','USER')
+ --INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES (1,'Digital Data - windream-Benutzer',2,1,'WM-GRUPPE','GROUP')
+ DECLARE cursorRecords CURSOR FOR
+ select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID
+ OPEN cursorRecords
+ FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID)
+ /*CURSOR 1 RECORDS BEGIN*/
+ -- ENTITY-SUPERVISOR INSERTEN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID
+ AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME
+ -- SUPERVISOR RECORD INSERTEN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND
+ T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME
+
+ /*CURSOR 2 RIGHT-CONTROLS END*/
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_GROUP WHERE ENTITY_ID = @ENT_ID)
+ BEGIN
+ DECLARE
+ @WD_RIGHT INTEGER
+
+ DECLARE c_REDO CURSOR FOR
+ SELECT T.GROUP_ID ,T1.ECM_FK_ID, T1.NAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_GROUP T, TBDD_GROUPS T1 WHERE
+ T.ENTITY_ID = @ENT_ID AND T.GROUP_ID = T1.GUID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT)
+ BEGIN
+ DECLARE @TEMP_RIGHT INT
+ SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT
+ IF @TEMP_RIGHT < @WD_RIGHT
+ UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT,USER_OR_GROUP = 'GROUP' WHERE USR_ID = @RIGHT_USER_INT
+ END
+ ELSE
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES (
+ @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM TBPMO_RIGHT_GROUP','GROUP')
+
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ END
+ CLOSE c_REDO
+ DEALLOCATE c_REDO
+ END
+
+ DECLARE
+ @VALUE VARCHAR(100),
+ @RIGHT INT,
+ @TYPE_VALUE VARCHAR(50),
+ @CONTR_TYPE_ID INT,
+ @CONTROL_ID INT
+
+ DECLARE cursorRecordRightControls CURSOR FOR
+ SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID
+ FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND
+ T.CONTROL_ID = T2.CONTROL_ID AND
+ T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID
+ OPEN cursorRecordRightControls
+ FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @TYPE_VALUE = 'USER'
+ BEGIN
+ DECLARE @TEMP_USRID INT
+ SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE)
+ IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID)
+ BEGIN
+ --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @GROUP_USER_ID INTEGER
+ DECLARE cursorUserGroup CURSOR FOR
+ SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE)
+ AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS)
+ OPEN cursorUserGroup
+ FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID)
+ BEGIN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID
+ END
+ --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID
+ FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID
+ END
+ CLOSE cursorUserGroup
+ DEALLOCATE cursorUserGroup
+ END
+ FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID
+ END
+ CLOSE cursorRecordRightControls
+ DEALLOCATE cursorRecordRightControls
+ /*CURSOR 2 RIGHT-CONTROLS END*/
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID)
+ BEGIN
+
+ DECLARE c_REDO CURSOR FOR
+ SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_USER T, TBDD_USER T1 WHERE
+ T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT)
+ BEGIN
+ SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT
+ IF @TEMP_RIGHT < @WD_RIGHT
+ UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT
+ END
+ ELSE
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (
+ @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT')
+
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ END
+ CLOSE c_REDO
+ DEALLOCATE c_REDO
+ END
+
+ FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID
+ /*CURSOR 1 RECORDS END*/
+ END
+CLOSE cursorRecords
+DEALLOCATE cursorRecords
+
+RETURN
+END
+
+GO
+--#################################################################################################################################
+
+CREATE FUNCTION [dbo].[FNPMO_DOC_GET_IDX](@pDOCID INTEGER, @pENTITY INTEGER, @DOCIDX VARCHAR(20))
+RETURNS VARCHAR(250)
+AS
+BEGIN
+ DECLARE @HEADER_CAPTION VARCHAR(30), @VALUE VARCHAR(250), @RESULT VARCHAR(250), @REDUNDANT_ID INTEGER
+ SELECT @HEADER_CAPTION = HEADER_CAPTION FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOCIDX
+ IF @HEADER_CAPTION IS NULL
+ BEGIN
+ SELECT @REDUNDANT_ID = REDUNDANT_ENTITY FROM TBPMO_FORM WHERE GUID = @pENTITY
+ IF @REDUNDANT_ID <> 0
+ SELECT @RESULT = dbo.FNPMO_DOC_GET_IDX(@pDOCID,@REDUNDANT_ID,@DOCIDX)
+ ELSE
+ SET @RESULT = 'NO CONFIGURATION'
+ END
+ ELSE
+ BEGIN
+ SELECT @VALUE = VALUE FROM VWPMO_DOC_INDICES WHERE DocID = @pDOCID AND COLUMN_CAPTION = @HEADER_CAPTION
+ IF @VALUE IS NOT NULL
+ SET @RESULT = @VALUE
+ ELSE
+ SET @RESULT = ''
+ END
+ RETURN @RESULT
+END
+GO
+--#################################################################################################################################
+CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5))
+RETURNS VARCHAR(250)
+AS
+BEGIN
+ DECLARE @HEADER_CAPTION VARCHAR(30),
+ @CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250)
+ SELECT
+ @HEADER_CAPTION = HEADER_CAPTION,
+ @CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE
+ ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE
+
+ IF @HEADER_CAPTION IS NULL
+ SET @RESULT = 'NO DROP-DOWN CONFIGURATION'
+ ELSE
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID
+ IF @VALUE IS NOT NULL
+ SET @RESULT = @VALUE
+ ELSE
+ SET @RESULT = ''
+ END
+ RETURN @RESULT
+END
+GO
+--#################################################################################################################################
+CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5), @REC_ID INTEGER)
+RETURNS VARCHAR(250)
+AS
+BEGIN
+ DECLARE @HEADER_CAPTION VARCHAR(30),
+ @CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250)
+ SELECT
+ @HEADER_CAPTION = HEADER_CAPTION,
+ @CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE
+ ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE
+
+ IF @HEADER_CAPTION IS NULL
+ SET @RESULT = 'NO DROP-DOWN CONFIGURATION'
+ ELSE
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID AND RECORD_ID = @REC_ID
+
+ IF @VALUE IS NOT NULL
+ SET @RESULT = @VALUE
+ ELSE
+ SET @RESULT = ''
+ END
+ RETURN @RESULT
+END
+GO
+--#######################################################################################################################
+
+--###################################################################################################################
+--####################### VIEWS ######################
+--###################################################################################################################
+CREATE VIEW VWPMO_VALUES AS
+SELECT TOP 100 PERCENT
+ T2.GUID RECORD_ID,
+ T.GUID CONTROL_ID,
+ T.NAME CONTROL_NAME,
+ T.COL_NAME CONTROL_COLUMN,
+ T.CONTROL_TYPE_ID,
+ T1.VALUE,
+ T3.GUID FORM_ID,
+ T3.NAME FORM_NAME,
+ T4.GUID SCREEN_ID,
+ T4.NAME SCREEN_NAME
+FROM
+ TBPMO_CONTROL T,
+ TBPMO_CONTROL_VALUE T1,
+ TBPMO_RECORD T2,
+ TBPMO_FORM T3,
+ TBPMO_SCREEN T4,
+ TBPMO_CONTROL_SCREEN T5
+WHERE
+ T.GUID = T1.CONTROL_ID AND
+ T.FORM_ID = T3.GUID AND
+ T1.RECORD_ID = T2.GUID AND
+ T.GUID = T5.CONTROL_ID AND
+ T5.SCREEN_ID = T4.GUID
+ORDER BY
+ T5.TAB_INDEX
+GO
+CREATE 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,
+ T2.ADD_RECORDS,
+ 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
+--###############################################################################################
+CREATE VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
+SELECT TOP 100 PERCENT
+ T.GUID CONTROL_ID,
+ T.FORM_ID CONTROL_ENTITY_ID,
+ T.NAME CONTROL_NAME,
+ T.REQUIRED CONTROL_REQUIRED,
+ T.DEFAULT_VALUE CONTROL_DEF_VALUE,
+ T.READ_ONLY CONTROL_READ_ONLY,
+ T.SELECT_ONLY CONTROL_SELECT_ONLY,
+ T.MULTILINE CONTROL_MULTILINE,
+ T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
+ T.COL_NAME CONTROL_COL_NAME,
+ T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
+ T.CONNECTION_ID_1 CONTROL_CONNID_1,
+ T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
+ T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2,
+ T.VISIBLE CONTROL_VISIBLE,
+ T.TREE_VIEW CONTROL_TREE_VIEW,
+ T.STATIC_LIST CONTROL_STATIC_LIST,
+ T.AUTO_SUGGEST CONTROL_AUTO_SUGGEST,
+ T4.GUID CTRLTYPE_ID,
+ T4.TYPE_NAME CTRLTYPE_NAME,
+ T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
+ T.FORM_ID,
+ T3.NAME FORM_NAME,
+ T3.LEVEL FORM_LEVEL,
+ T1.SCREEN_ID SCREEN_ID,
+ T2.NAME SCREEN_NAME,
+ T1.GUID CTRLSCR_ID,
+ T1.CONTROL_TEXT CTRLSCR_CAPTION,
+ T1.X_LOC CTRLSCR_X_LOC,
+ T1.Y_LOC CTRLSCR_Y_LOC,
+ T1.HEIGHT CTRLSCR_HEIGHT,
+ T1.WIDTH CTRLSCR_WIDTH,
+ T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
+ T1.FONT_COLOR CTRLSCR_FONT_COLOR,
+ T1.FONT_SIZE CTRLSCR_FONT_SIZE,
+ T1.FONT_STYLE CTRLSCR_FONT_STYLE,
+ T1.TAB_INDEX CTRLSCR_TAB_INDEX,
+ T1.TAB_STOP CTRLSCR_TAB_STOP,
+ T1.BACK_COLOR CTRLSCR_BACK_COLOR,
+ T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
+FROM
+ TBPMO_CONTROL T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_SCREEN T2,
+ TBPMO_FORM T3,
+ TBPMO_CONTROL_TYPE T4
+WHERE
+ T.FORM_ID = T3.GUID AND
+ T.GUID = T1.CONTROL_ID AND
+ T1.SCREEN_ID = T2.GUID AND
+ T.CONTROL_TYPE_ID = T4.GUID
+ORDER BY
+ T1.SCREEN_ID,
+ T.FORM_ID,
+ T1.TAB_STOP
+GO
+--###############################################################################################
+CREATE VIEW VWPMO_DOKUMENTTYPES
+AS
+SELECT TOP 2000
+ T2.FORMVIEW_ID,
+ T3.FORM_ID,
+ T3.FORM_TITLE,
+ T.GUID DOKUMENTTYPE_ID,
+ T.BEZEICHNUNG DOKUMENTTYPE,
+ T.ZIEL_PFAD [PATH],
+ T.KURZNAME SHORTNAME,
+ T2.GUID FW_DOCTYPE_ID,
+ T2.OBJECT_TYPE,
+ T.SEQUENCE
+FROM
+ TBDD_DOKUMENTART T,
+ TBDD_EINGANGSARTEN T1,
+ TBPMO_WD_FORMVIEW_DOKTYPES T2,
+ TBPMO_FORM_VIEW T3
+WHERE
+ T.AKTIV = 1 AND
+ T.EINGANGSART_ID = T1.GUID AND
+ T.GUID = T2.DOCTYPE_ID AND
+ T2.FORMVIEW_ID = T3.GUID
+ORDER BY
+ T2.FORMVIEW_ID
+GO
+--###############################################################################################
+CREATE VIEW VWPMO_FOLLOW_UP_EMAIL AS
+SELECT
+ T1.GUID FOLLOW_UP_ID,
+ T1.NAME,
+ T1.FOLLOW_UP_SEQUENCE,
+ T1.FOLLOW_UP_DAYS,
+ T1.FOLLOW_UP_TIME_SPAN,
+ CONVERT(CHAR(5),GETDATE(),108) NOW_TIME,
+ T.RECORD_ID,
+ CONVERT(DATE,T.VALUE) VALUE,
+ T1.EMAIL_SUBJECT,
+ T1.EMAIL_BODY,
+ T1.PROCESS_SELECT1,
+ T1.PROCESS_SELECT2,
+ T1.PROCESS_SELECT3,
+ T1.PROCESS_SELECT4,
+ T1.PROCESS_SELECT5,
+ T1.PROCESS_SELECT6,
+ T1.PROCESS_SELECT7,
+ T1.PROCESS_SELECT8,
+ T1.PROCESS_SELECT9,
+ T1.PROCESS_SELECT10,
+ T1.TIME_UNITY,
+ T1.TIME_DIST,
+ CONVERT(INT,T1.TIME_SPAN) TIME_SPAN
+ ,CONVERT(INT,[dbo].[FNPMO_GET_DATEDIFF] (T1.TIME_UNITY ,T.VALUE)) TODAY_TIME_SPAN
+ ,T.VALUE DATE_VALUE,
+ T1.DEPENDENT_DATE_CTRL_ID,
+ T1.DEPENDENT_DONE_CTRL_ID,
+ (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) DONE_VALUE,
+ T2.GUID AS CONSTRUCTOR_ID,
+ T2.FORM_TITLE AS CONSTRUCTOR_TITLE,
+ T1.CTRL_USER_DIRECT,
+ T1.CTRL_GROUP_DIRECT
+FROM
+ VWPMO_VALUES T,
+ TBPMO_FOLLOW_UP_EMAIL T1,
+ TBPMO_FORM_CONSTRUCTOR T2
+WHERE
+ T1.ACTIVE = 1 AND
+ (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) = 'False' And
+ T.CONTROL_ID = T1.DEPENDENT_DATE_CTRL_ID AND
+ T1.CONSTRUCTOR_ID = T2.GUID
+GO
+
+--###############################################################################################
+CREATE VIEW VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD AS
+SELECT
+ T.GUID FOLLOW_UP_ID,
+ T1.RECORD_ID,
+ T2.GUID AS ENTITY_ID,
+ T.NAME,
+ T.FOLLOW_UP_SEQUENCE,
+ T.FOLLOW_UP_DAYS,
+ T.FOLLOW_UP_TIME_SPAN,
+ CONVERT(DATE,T1.VALUE) RECORD_VALUE,
+ T.EMAIL_SUBJECT,
+ T.EMAIL_BODY,
+ T.DEPENDENT_DATE_CTRL_ID,
+ T.DEPENDENT_DONE_CTRL_ID,
+ T3.GUID AS CONSTRUCTOR_ID,
+ T3.FORM_TITLE AS CONSTRUCTOR_TITLE
+FROM
+ TBPMO_FOLLOW_UP_EMAIL T,
+ VWPMO_VALUES T1,
+ TBPMO_FORM T2,
+ TBPMO_FORM_CONSTRUCTOR T3
+WHERE
+ T.ACTIVE = 1 AND
+ T.DEPENDENT_DATE_CTRL_ID = T1.CONTROL_ID AND
+ T1.FORM_ID = T2.GUID AND
+ T.CONSTRUCTOR_ID = T3.GUID
+
+GO
+--###############################################################################################
+CREATE VIEW VWPMO_FORM_VIEW AS
+SELECT TOP 100 PERCENT
+ T.GUID FORM_ID,
+ T.PARENT_ID FORM_PARENT_ID,
+ T.LEVEL FORM_LEVEL,
+ T.NAME FORM_NAME,
+ T1.FORM_TITLE FORM_TITLE,
+ T1.DESCRIPTION FORM_DESCRIPTION
+FROM
+ TBPMO_FORM T,
+ TBPMO_FORM_VIEW T1
+WHERE
+ T.GUID = T1.FORM_ID
+GO
+--###############################################################################################
+CREATE VIEW [dbo].[VWPMO_GUI_ENTITY] AS
+SELECT TOP 100 PERCENT
+ TBPMO_FORM.GUID AS ID,
+ TBPMO_FORM.PARENT_ID,
+ TBPMO_FORM.LEVEL,
+ TBPMO_FORM.FORM_TYPE_ID,
+ TBPMO_FORM.NAME AS Name,
+ TBPMO_FORM_VIEW.GUID As FormViewID,
+ TBPMO_FORM_VIEW.FORM_TITLE AS Title
+FROM
+ TBPMO_FORM INNER JOIN
+ TBPMO_FORM_VIEW ON TBPMO_FORM.GUID = TBPMO_FORM_VIEW.FORM_ID
+WHERE
+ (TBPMO_FORM.FORM_TYPE_ID IN (1, 2, 3, 5))
+ORDER BY
+ TBPMO_FORM.PARENT_ID, Title
+GO
+--###############################################################################################
+CREATE VIEW VWPMO_INTERNAL_RECORD_ENTITY AS
+SELECT
+ RECORD_ID,
+ FORM_ID AS [ENTITY_ID]
+FROM VWPMO_VALUES
+GROUP BY
+ RECORD_ID,
+ FORM_ID
+GO
+--###############################################################################################
+CREATE VIEW VWPMO_RECORD_CHANGES AS
+SELECT
+ T.GUID,
+ T.RECORD_ID,
+ T1.NAME,
+ T.LOG_DESCRIPTION,
+ T.ADDED_WHO,
+ T.ADDED_WHEN
+FROM
+ TBPMO_RECORD_LOG T,
+ TBPMO_CONTROL T1
+WHERE
+ T.CONTROL_ID = T1.GUID
+
+GO
+--###############################################################################################
+CREATE VIEW VWPMO_TEMPLATE_ENTITY AS
+SELECT
+ T.GUID AS TEMPLATE_ID,
+ T.NAME AS TEMPLATE_NAME,
+ T.TEMPLATE_PATH AS TEMPLATE_PATH,
+ T1.GUID AS TEMPLATE_ENTITY_ID,
+ T2.GUID AS ENTITY_ID,
+ T2.NAME
+FROM
+ TBPMO_TEMPLATE T,
+ TBPMO_TEMPLATE_ENTITY T1,
+ TBPMO_FORM T2
+WHERE
+ T.ACTIVE = 1 AND
+ T.GUID = T1.TEMPLATE_ID AND
+ T1.ENTITY_ID = T2.GUID
+GO
+--###############################################################################################
+CREATE VIEW VWPMO_USERS_GROUPS
+AS
+SELECT
+ dbo.TBDD_GROUPS_USER.GUID,
+ dbo.TBDD_GROUPS_USER.USER_ID,
+ dbo.TBDD_GROUPS_USER.GROUP_ID,
+ dbo.TBDD_USER.USERNAME,
+ dbo.TBDD_USER.NAME,
+ dbo.TBDD_USER.PRENAME,
+ dbo.TBDD_GROUPS.NAME AS GROUP_NAME
+FROM
+ dbo.TBDD_GROUPS_USER INNER JOIN
+ dbo.TBDD_USER ON dbo.TBDD_GROUPS_USER.USER_ID = dbo.TBDD_USER.GUID INNER JOIN
+ dbo.TBDD_GROUPS ON dbo.TBDD_GROUPS_USER.GROUP_ID = dbo.TBDD_GROUPS.GUID
+GO
+--###############################################################################################
+CREATE VIEW [dbo].[VWPMO_WF_ACTIVE] AS
+SELECT TOP 100 PERCENT
+ W_T.GUID AS WF_TASK_ID
+ ,R.GUID AS WF_ID
+ ,W_T.RECORD_ID
+ ,T.STATE_ID
+ ,T4.GUID FORM_VIEW_ID
+ ,R.DESCRIPTION
+ ,R.MANUALLY
+ ,R.CREATE_ON_REC_CREATE
+ ,R.CREATE_ON_FOLL_UP
+ ,W_T.COMMENT
+ ,W_T.DUE_DATE
+ ,W_T.ADDED_WHEN
+ ,W_T.CHANGED_WHO
+ ,W_T.CHANGED_WHEN
+ ,W_T.TASK_DATE
+ ,T.FINAL
+ ,T.ENTITY_ID
+ ,T5.COLOR
+ ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(W_T.RECORD_ID) AS RECORD_DESCRIPTION
+ ,FINISHED
+FROM
+ TBPMO_WORKFLOW_ENTITY_STATE T,
+ TBPMO_WORKFLOW_TASK W_T
+ ,TBPMO_WORKFLOW R
+ ,TBPMO_FORM T3
+ ,TBPMO_FORM_VIEW T4
+ ,TBPMO_WORKFLOW_TASK_STATE T5
+ ,TBPMO_RECORD REC
+WHERE
+ --W_T.RECORD_ID = 95 AND
+ --TBPMO_WORKFLOW_ENTITY_STATE
+ T.WF_ID = R.GUID AND
+ T.ENTITY_ID = T3.GUID AND
+ T.STATE_ID = T5.GUID AND
+ W_T.RECORD_ID = REC.GUID AND
+ T.ENTITY_ID = REC.FORM_ID AND
+ W_T.WF_ID = R.GUID AND
+ R.GUID = R.GUID AND
+ T3.GUID = T4.FORM_ID AND
+ W_T.STATE_ID = T5.GUID AND
+ T4.SCREEN_ID = 1 AND
+ ((T.FINAL = 1 AND W_T.DUE_DATE IS NULL) OR T.FINAL = 0) AND
+ W_T.ACTIVE = 1 --AND
+ --T.INACTIVE = 0
+ORDER BY W_T.RECORD_ID,W_T.GUID
+GO
+
+
+
+
+GO
+--###############################################################################################
+CREATE VIEW VWPMO_WF_OVERVIEW_AUTHORITY AS
+SELECT
+ T.GUID as WF_ID,
+ T.RECORD_ID,
+ TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC AS STATE,
+ TBPMO_WORKFLOW_TASK_STATE.GUID AS STATE_ID,
+ TBPMO_WORKFLOW_TASK_STATE.COLOR,
+ (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1
+ FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN
+ TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID
+ WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) AS Authority,
+ CASE WHEN (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1
+ FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN
+ TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID
+ WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) IS NULL
+ THEN TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC
+ ELSE
+ TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC + ' - ' +
+ (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1
+ FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN
+ TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID
+ WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID))
+ END AS String,
+ T.CHANGED_WHO,
+ T.CHANGED_WHEN
+FROM TBPMO_WORKFLOW_TASK T INNER JOIN
+ TBPMO_WORKFLOW ON T.WF_ID = TBPMO_WORKFLOW.GUID INNER JOIN
+ TBPMO_WORKFLOW_TASK_STATE ON T.STATE_ID = TBPMO_WORKFLOW_TASK_STATE.GUID
+WHERE (T.ACTIVE = 1)
+GO
+--###############################################################################################
+CREATE VIEW VWPMO_WF_USER AS
+SELECT
+ T.GUID,
+ T.WF_TASK_ID,
+ T.USER_ID,
+ T2.STATE_ID,
+ T3.TITLE,
+ T1.USERNAME
+FROM
+ TBPMO_WORKFLOW_TASK_USER T,
+ TBDD_USER T1 ,
+ TBPMO_WORKFLOW_TASK T2,
+ TBPMO_WORKFLOW T3
+WHERE
+ T.USER_ID = T1.GUID AND
+ T.WF_TASK_ID = T2.GUID AND
+ T2.WF_ID = T3.GUID
+
+GO
+--##################################################################################################
+CREATE VIEW VWPMO_WF_USER_EXCLUSIV AS
+SELECT
+ T.GUID,
+ T.USER_ID,
+ T1.USERNAME,
+ T4.VALUE AS JOB,
+ T2.GUID as WF_TASK_ID,
+ T3.TITLE,
+ T2.RECORD_ID,
+ T2.STATE_ID
+FROM
+ TBPMO_WORKFLOW_TASK_USER T,
+ TBDD_USER T1 ,
+ TBPMO_WORKFLOW_TASK T2,
+ TBPMO_WORKFLOW T3,
+ VWPMO_VALUES T4
+WHERE
+ T.USER_ID = T1.GUID AND
+ T.WF_TASK_ID = T2.GUID AND
+ T2.WF_ID = T3.GUID AND
+ T2.RECORD_ID = T4.RECORD_ID AND
+ T4.CONTROL_ID = 10
+GO
+--##################################################################################################
+
+CREATE VIEW VWPMO_WORKFLOW_ENTITY_STATE AS
+SELECT
+ T.GUID,
+ T.ENTITY_ID,
+ T3.GUID as FV_ID,
+ T3.FORM_TITLE,
+ T.WF_ID,
+ T4.TITLE AS WF_TITLE,
+ T2.GUID AS STATE_ID,
+ T2.STATE_DESC,
+ T.FINAL
+FROM
+ TBPMO_WORKFLOW_ENTITY_STATE T,
+ TBPMO_FORM T1,
+ TBPMO_WORKFLOW_TASK_STATE T2,
+ TBPMO_FORM_VIEW T3,
+ TBPMO_WORKFLOW T4
+WHERE
+ T.ENTITY_ID = T1.GUID AND
+ T.STATE_ID = T2.GUID AND
+ T1.GUID = T3.FORM_ID AND
+ T.WF_ID = T4.GUID AND
+ T3.SCREEN_ID = 1
+GO
+--##################################################################################################
+CREATE VIEW VWPMO_CONTROL_HINT AS
+SELECT
+ T2.FORM_ID,
+ T1.CONTROL_ID,
+ T.HINT
+FROM
+ TBPMO_CONTROL_LANGUAGE T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_CONTROL T2
+WHERE
+ T.CONTROL_SCREEN_ID = T1.GUID
+ AND T1.CONTROL_ID = T2.GUID
+ AND T1.SCREEN_ID = 1
+ AND (HINT IS NOT NULL AND HINT <> '')
+GO
+
+
+CREATE VIEW VWPMO_SUPERVISOR_CONTROL AS
+select
+ T1.RECORD_ID,
+ T.CONTROL_ID,
+ T2.[FORM_ID],
+ dbo.[FNPMO_GET_USERID_FORSTRING] (T1.VALUE) as [USER_ID]
+FROM
+ TBPMO_SUPERVISOR_CONTROLS T,
+ TBPMO_CONTROL_VALUE T1,
+ TBPMO_CONTROL T2
+WHERE
+ T.CONTROL_ID = T1.CONTROL_ID
+ AND T.CONTROL_ID = T2.GUID
+GO
+CREATE VIEW VWPMO_RIGHTS_2B_WORKED AS
+SELECT
+ T.GUID
+ ,T.DOC_ID
+ ,T.USER_ID
+ ,T1.USERNAME
+ ,T.RIGHT_MODIFY
+ ,T.FILE_RIGHT FILE_RIGHT_ID
+ ,CASE T.FILE_RIGHT
+ WHEN 3 THEN 'READ/WRITE'
+ WHEN 1 THEN 'READ'
+ ELSE T.FILE_RIGHT END AS FILE_RIGHT
+ ,T.WORKING
+ ,T.ADDED_WHO
+ ,T.ADDED_WHEN
+FROM
+ TBPMO_RIGHTS_WORK_SERVICE T,
+ TBDD_USER T1
+WHERE
+ T.WORKED = 0
+ AND T.USER_ID = T1.GUID
+GO
+CREATE VIEW VWPMO_DOC_SEARCH AS
+SELECT
+ CONVERT(INTEGER,T.DocID) AS DocID
+ ,T.FULL_FILENAME AS FULL_FILENAME
+ ,T.[Filename]
+ ,T.Doctype
+ ,T.[Version]
+ ,T.Creation_DateTime
+ ,T.Change_DateTime
+ ,T.OBJECTTYPE
+ ,T.DISPLAY_NAME
+ ,T.IN_WORK
+ ,T.IN_WORK_USER
+ ,T.IN_WORK_COMMENT
+FROM
+ TBPMO_DOCRESULT_LIST T
+GO
+CREATE VIEW [dbo].[VWPMO_DOC_SYNC] AS
+SELECT TOP 100 PERCENT
+ T.dwDocID as DocID
+ ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) AS FULL_FILENAME
+ ,szLongName AS [Filename]
+ ,ISNULL(T.szText39,'NO DOCTYPE') AS Doctype
+ ,ISNULL(T.dwVersionNumber,'1') AS [Version]
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime]
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime
+ ,T1.szDocTypeName AS OBJECTTYPE
+ ,T.dwObjectTypeID
+FROM
+ DD_VMP01_APS01_windream60.dbo.BaseAttributes T
+ ,DD_VMP01_APS01_windream60.dbo.ObjectType T1
+WHERE
+ T.dwObjectTypeID = T1.dwObjectTypeID
+ AND T.szText36 = 'ADDI-RELATION'
+ORDER BY [Creation_DateTime]
+GO
+CREATE VIEW VWPMO_STRUCTURE_NODES AS
+select
+ T.*,
+ T1.CONTROL_ID,
+ T1.CREATE_RECORD,
+ T1.ENTITY_ID,
+ T1.NAME,
+ T1.TYPE_NODE,
+ T1.FONT_FAMILY,
+ T1.FONT_COLOR,
+ T1.EXPAND AS EXPAND_NODE,
+T1.FONT_SIZE,
+T1.FONT_STYLE,
+T1.BACK_COLOR
+ from TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1
+WHERE T.NODE_CONFIG_ID = T1.GUID
+GO
+
+CREATE VIEW VWPMO_WM_ACCESS_RIGHTS_USER AS
+SELECT AR.dwObjectID,
+ AR.dwUserOrGROUPID,
+ AR.dwAccessRight,
+ AR.dwObjectDBID
+FROM DD_VMP01_APS01_windream60.dbo.AccessRight AR LEFT JOIN DD_VMP01_APS01_windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID
+ INNER JOIN TBPMO_DOC_RECORD_LINK RL ON AR.dwObjectID = RL.DOC_ID
+ INNER JOIN TBPMO_DOCRESULT_LIST DR ON AR.dwObjectID = DR.DocID
+ INNER JOIN TBDD_USER TU ON AR.dwUserOrGroupID = TU.USERID_FK_INT_ECM
+WHERE UG.dwUserOrGroupID IS NULL
+GO
+
+CREATE VIEW VWPMO_WM_ACCESS_RIGHTS_GROUP AS
+SELECT AR.dwObjectID,
+ UG.dwUserOrGROUPID,
+ AR.dwAccessRight,
+ AR.dwObjectDBID
+FROM DD_VMP01_APS01_windream60.dbo.AccessRight AR LEFT JOIN DD_VMP01_APS01_windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID
+ INNER JOIN TBPMO_DOC_RECORD_LINK RL ON AR.dwObjectID = RL.DOC_ID
+ INNER JOIN TBPMO_DOCRESULT_LIST DR ON AR.dwObjectID = DR.DocID
+ INNER JOIN TBDD_USER TU ON UG.dwUserOrGroupID = TU.USERID_FK_INT_ECM
+WHERE UG.dwUserOrGroupID IS NOT NULL
+GO
+CREATE VIEW VWPMO_WM_ACCESS_RIGHTS AS
+SELECT ARU.dwObjectID,
+ ARU.dwUserOrGROUPID,
+ ARU.dwAccessRight,
+ ARU.dwObjectDBID
+FROM VWPMO_WM_ACCESS_RIGHTS_USER ARU UNION
+SELECT ARG.dwObjectID,
+ ARG.dwUserOrGROUPID,
+ ARG.dwAccessRight,
+ ARG.dwObjectDBID
+FROM VWPMO_WM_ACCESS_RIGHTS_GROUP ARG
+GO
+
+CREATE VIEW VWPMO_WD_OBJECT_RIGHTS
+AS
+SELECT dwObjectID,
+ dwUserOrGROUPID,
+ MAX(dwAccessRight) AS dwAccessRight,
+ dwObjectDBID
+FROM VWPMO_WM_ACCESS_RIGHTS
+GROUP BY
+ dwObjectID,
+ dwUserOrGROUPID,
+ dwObjectDBID
+
+GO
+CREATE VIEW VWPMO_DOC_USER_RELATION AS
+SELECT DISTINCT
+ T1.DOC_ID,
+ T3.dwUserOrGroupID,
+ T2.FORM_ID AS ENTITY_ID
+FROM TBPMO_DOC_RECORD_LINK T1, TBPMO_RECORD T2,VWPMO_WD_OBJECT_RIGHTS T3
+WHERE T1.RECORD_ID = T2.GUID
+GO
+CREATE VIEW VWPMO_DOC_CHANGES_5MIN
+AS
+SELECT DocID, [Filename], FULL_FILENAME,
+ Doctype, [Version] as [Version], Objecttype,
+ Creation_DateTime, Change_DateTime,'CHANGE GENERAL' as CHANGE_TYPE
+FROM VWPMO_DOC_SYNC
+WHERE
+ Change_DateTime >= DATEADD(MINUTE , -5, GetDate())
+UNION
+SELECT T.DocID, T.[Filename], T.FULL_FILENAME,
+ T.Doctype, T.[Version] as [Version], T.Objecttype,
+ T.Creation_DateTime, T.Change_DateTime,'CHANGE PATHorFILE' as CHANGE_TYPE
+FROM VWPMO_DOC_SYNC T, TBPMO_DOCRESULT_LIST T1
+WHERE
+ T.DocID = T1.DocID AND
+ T.Change_DateTime >= DATEADD(MINUTE , -5, GetDate())
+ AND UPPER(T.FULL_FILENAME) <> UPPER(T1.FULL_FILENAME)
+GO
+--END CREATE VIEWS
+
+--HIER NUN DIE RECHTE ZUR AUSFÜHRUNG AN DEN APPLICATION-USER geben
+GRANT EXECUTE ON [dbo].[PRDD_COPY_RECORD] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_AFTER_UPDATE_VALUES] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_COPY_ENTITY] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_CREATE_CONSTRUCTOR] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_CREATE_QUICK_SQL] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_CREATE_SQL] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_CREATE_TEMP_VIEWS] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_DELETE_CONTROL] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_RECORD_CREATE_WORKFLOWTASKS] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[FNPMO_GET_CONTROL_VALUES] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[FNPMO_GET_ENTITY_COLUMN_CONTENT] TO [dd_ecm]
+GO
+GRANT EXECUTE ON [dbo].[FNPMO_GET_CONTROL_CAPTION] TO [dd_ecm]
+GO
+GRANT EXECUTE ON [dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] TO [dd_ecm]
+GO
+GRANT EXECUTE ON [dbo].[FNPMO_DOC_GET_IDX] TO [dd_ecm]
+GO
+
+
+/*###########################################################################################
+JOBS FOR REFRESHING ACTIONS
+#############################################################################################*/
+USE [msdb]
+GO
+
+/****** Object: Job [DD_ADDI_5MIN_JOB] Script Date: 20.06.2018 10:18:32 ******/
+BEGIN TRANSACTION
+DECLARE @ReturnCode INT
+SELECT @ReturnCode = 0
+/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 20.06.2018 10:18:32 ******/
+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'DD_ADDI_5MIN_JOB',
+ @enabled=1,
+ @notify_level_eventlog=0,
+ @notify_level_email=0,
+ @notify_level_netsend=0,
+ @notify_level_page=0,
+ @delete_level=0,
+ @description=N'Runs 5min Procedure - Logical processes are placed in this procedure.',
+ @category_name=N'[Uncategorized (Local)]',
+ @owner_login_name=N'LZELLSDL\windream', @job_id = @jobId OUTPUT
+IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
+/****** Object: Step [PRPMO_DAILY_JOB_5MIN] Script Date: 20.06.2018 10:18:32 ******/
+EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'PRPMO_DAILY_JOB_5MIN',
+ @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 PRPMO_DAILY_JOB_5MIN',
+ @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'5Min',
+ @enabled=1,
+ @freq_type=8,
+ @freq_interval=63,
+ @freq_subday_type=4,
+ @freq_subday_interval=5,
+ @freq_relative_interval=0,
+ @freq_recurrence_factor=1,
+ @active_start_date=20180619,
+ @active_end_date=99991231,
+ @active_start_time=70000,
+ @active_end_time=180000,
+ @schedule_uid=N'8bc044e9-081b-4d93-9b9a-19458b94bc3f'
+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
+
+USE [msdb]
+GO
+
+/****** Object: Job [DD_ADDI_DAILY_JOB] Script Date: 20.06.2018 10:19:37 ******/
+BEGIN TRANSACTION
+DECLARE @ReturnCode INT
+SELECT @ReturnCode = 0
+/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 20.06.2018 10:19:37 ******/
+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'DD_ADDI_DAILY_JOB',
+ @enabled=1,
+ @notify_level_eventlog=0,
+ @notify_level_email=0,
+ @notify_level_netsend=0,
+ @notify_level_page=0,
+ @delete_level=0,
+ @description=N'Runs 6hour procedure - Logical processes are placed in this procedure.',
+ @category_name=N'[Uncategorized (Local)]',
+ @owner_login_name=N'LZELLSDL\windream', @job_id = @jobId OUTPUT
+IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
+/****** Object: Step [STEP1] Script Date: 20.06.2018 10:19:37 ******/
+EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'STEP1',
+ @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 PRPMO_DAILY_JOB_06_12_18',
+ @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'Daily06_12_18',
+ @enabled=1,
+ @freq_type=8,
+ @freq_interval=63,
+ @freq_subday_type=8,
+ @freq_subday_interval=6,
+ @freq_relative_interval=0,
+ @freq_recurrence_factor=1,
+ @active_start_date=20180620,
+ @active_end_date=99991231,
+ @active_start_time=600,
+ @active_end_time=180000,
+ @schedule_uid=N'f632a663-97e6-42e7-84cb-ab6a2fa1ef3d'
+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
+
+
+
+
+
+
+
+
diff --git a/08_ADDI/SQL/Copy/Controls.sql b/08_ADDI/SQL/Copy/Controls.sql
new file mode 100644
index 0000000..ebbcfae
Binary files /dev/null and b/08_ADDI/SQL/Copy/Controls.sql differ
diff --git a/08_ADDI/SQL/Entwurf/Search_all.sql b/08_ADDI/SQL/Entwurf/Search_all.sql
new file mode 100644
index 0000000..a48ddfe
--- /dev/null
+++ b/08_ADDI/SQL/Entwurf/Search_all.sql
@@ -0,0 +1,5 @@
+select T.VALUE,
+ T.RECORD_ID, T.CONTROL_ID,T.CONTROL_COLUMN,T1.FORM_TITLE
+from VWPMO_VALUES T, TBPMO_FORM_VIEW T1 where
+T.FORM_ID = T1.FORM_ID AND
+T.VALUE LIKE '%den R%' ORDER BY T.VALUE
\ No newline at end of file
diff --git a/08_ADDI/SQL/Hilfe/Split;durchführen.sql b/08_ADDI/SQL/Hilfe/Split;durchführen.sql
new file mode 100644
index 0000000..7a72429
--- /dev/null
+++ b/08_ADDI/SQL/Hilfe/Split;durchführen.sql
@@ -0,0 +1,43 @@
+
+BEGIN
+ DECLARE
+ @GUID INTEGER,
+ @CONTROL_ID INTEGER,
+ @RECORD_ID INTEGER,
+ @VALUE VARCHAR(MAX),
+ @NEW_VALUE VARCHAR(MAX),
+ @INDEX INTEGER,
+ @ADDED_WHO VARCHAR(50)
+
+ DECLARE c_Values CURSOR FOR
+ SELECT GUID,CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO FROM TBPMO_CONTROL_VALUE WHERE VALUE LIKE '%;%' AND CONTROL_ID NOT IN (SELECT GUID FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID = 2) ORDER BY RECORD_ID,CONTROL_ID
+ OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @GUID,@CONTROL_ID,@RECORD_ID,@VALUE,@ADDED_WHO
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @INDEX = 0
+ --#####
+ DECLARE c_NEWVALUES CURSOR FOR
+ SELECT Item FROM dbo.FN_SPLIT_STRING(@VALUE, ';')
+ OPEN c_NEWVALUES
+ FETCH NEXT FROM c_NEWVALUES INTO @NEW_VALUE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @NEW_VALUE = LTRIM(@NEW_VALUE)
+ IF @INDEX = 0
+ UPDATE TBPMO_CONTROL_VALUE SET VALUE = @NEW_VALUE WHERE GUID = @GUID
+ ELSE
+ INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES
+ (@CONTROL_ID,@RECORD_ID,@NEW_VALUE,@ADDED_WHO)
+ PRINT CONVERT(VARCHAR(5),@CONTROL_ID) + '#' + CONVERT(VARCHAR(5),@INDEX) + '-' + @NEW_VALUE
+ SET @INDEX = @INDEX + 1
+ FETCH NEXT FROM c_NEWVALUES INTO @NEW_VALUE
+ END
+ CLOSE c_NEWVALUES
+ DEALLOCATE c_NEWVALUES
+ --#####
+ FETCH NEXT FROM c_Values INTO @GUID,@CONTROL_ID,@RECORD_ID,@VALUE,@ADDED_WHO
+ END
+ CLOSE c_Values
+ DEALLOCATE c_Values
+ END
\ No newline at end of file
diff --git a/08_ADDI/SQL/Hilfe/Split;wiederAufheben.sql b/08_ADDI/SQL/Hilfe/Split;wiederAufheben.sql
new file mode 100644
index 0000000..70ce3e2
--- /dev/null
+++ b/08_ADDI/SQL/Hilfe/Split;wiederAufheben.sql
@@ -0,0 +1,43 @@
+BEGIN
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @RECORD_ID INTEGER,
+ @ACT_RECORD_ID INTEGER,
+ @VALUE VARCHAR(MAX),
+ @NEW_VALUE VARCHAR(MAX),
+ @INDEX INTEGER
+
+ DECLARE c_Control_Values CURSOR FOR
+ select CONTROL_ID,RECORD_ID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID = 2) GROUP BY CONTROL_ID,RECORD_ID HAVING COUNT(GUID) > 1 ORDER BY RECORD_ID
+ OPEN c_Control_Values
+ FETCH NEXT FROM c_Control_Values INTO @CONTROL_ID, @RECORD_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ PRINT 'RECORD: ' + CONVERT(VARCHAR(10),@RECORD_ID)
+ SET @NEW_VALUE = ''
+ SET @INDEX = 0
+ DECLARE c_ROWVALUES CURSOR FOR
+ SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @RECORD_ID
+ OPEN c_ROWVALUES
+ FETCH NEXT FROM c_ROWVALUES INTO @VALUE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @INDEX = 0
+ SET @NEW_VALUE = @VALUE
+ ELSE
+ SET @NEW_VALUE += ';' + @VALUE
+ SET @INDEX += 1
+ FETCH NEXT FROM c_ROWVALUES INTO @VALUE
+ END
+ PRINT 'JETZT DAS UPDATE UND DELETE FÜR RECORD: ' + CONVERT(VARCHAR(10),@RECORD_ID)
+ PRINT '@NEW_VALUE: ' + CONVERT(VARCHAR(500),@NEW_VALUE)
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID
+ INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID,RECORD_ID,VALUE) VALUES (@CONTROL_ID,@RECORD_ID,@NEW_VALUE)
+ CLOSE c_ROWVALUES
+ DEALLOCATE c_ROWVALUES
+
+ FETCH NEXT FROM c_Control_Values INTO @CONTROL_ID, @RECORD_ID
+ END
+ CLOSE c_Control_Values
+ DEALLOCATE c_Control_Values
+ END
\ No newline at end of file
diff --git a/08_ADDI/SQL/Kunden/Renolit/PRPMO_CLIENT_AFTER_RECORD_INSERT.sql b/08_ADDI/SQL/Kunden/Renolit/PRPMO_CLIENT_AFTER_RECORD_INSERT.sql
new file mode 100644
index 0000000..e2652bc
Binary files /dev/null and b/08_ADDI/SQL/Kunden/Renolit/PRPMO_CLIENT_AFTER_RECORD_INSERT.sql differ
diff --git a/08_ADDI/SQL/SQL Skripte - Help/DATABASE_RELEVANT.sql b/08_ADDI/SQL/SQL Skripte - Help/DATABASE_RELEVANT.sql
new file mode 100644
index 0000000..5204796
--- /dev/null
+++ b/08_ADDI/SQL/SQL Skripte - Help/DATABASE_RELEVANT.sql
@@ -0,0 +1,12 @@
+Use master
+Go
+
+Alter Database DD_ECM Set Single_User With RollBack Immediate
+
+
+ALTER DATABASE DD_ECM -- put your database name here
+ COLLATE Latin1_General_CI_AS
+
+ ALTER DATABASE DD_ECM
+SET MULTI_USER;
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/SQL Skripte - Help/ENTITY_REFRESH.sql b/08_ADDI/SQL/SQL Skripte - Help/ENTITY_REFRESH.sql
new file mode 100644
index 0000000..9027bbf
--- /dev/null
+++ b/08_ADDI/SQL/SQL Skripte - Help/ENTITY_REFRESH.sql
@@ -0,0 +1,111 @@
+DECLARE
+ @ENTITY_ID INTEGER,
+ @CONTROL_ID INTEGER,
+ @GUID INTEGER,
+ @VALUE VARCHAR(MAX)
+
+DECLARE c_REDO CURSOR FOR
+ SELECT FORM_ID FROM TBPMO_FORM_VIEW WHERE DOCUMENT_VIEW = 1
+OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @ENTITY_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Dateiname')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Filename','Dateiname')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Dokumentart')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Doctype','Dokumentart')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
+ (@ENTITY_ID,'IN_WORK','in work?',50)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_USER','IW_USER',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Erstellt')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
+ (@ENTITY_ID,'Creation_DateTime','Erstellt',100)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Geändert')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
+ (@ENTITY_ID,'Change_DateTime','Geändert',100)
+
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Filename')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Filename','Filename')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Doctype')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Doctype','Doctype')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK','in work?',50)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Created')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
+ (@ENTITY_ID,'en-US','Creation_DateTime','Created',100)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Changed')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
+ (@ENTITY_ID,'en-US','Change_DateTime','Changed',100)
+ FETCH NEXT FROM c_REDO INTO @ENTITY_ID
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+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
+
+EXECUTE [dbo].[PRPMO_CREATE_TEMP_VIEWS]
+
+DECLARE
+ @ENTITY_ID INTEGER
+
+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_ENTITY_TABLE @ENTITY_ID
+ EXEC [dbo].PRPMO_ENTITY_TABLE_IMPORT_RECORDS @ENTITY_ID
+ EXEC [dbo].PRPMO_CREATE_ENTITY_TABLE_VIEW @ENTITY_ID
+ FETCH NEXT FROM c_REDO INTO @ENTITY_ID
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
diff --git a/08_ADDI/SQL/SQL Skripte - Help/EXPORT_VIEW_CONTROL_STRUCTURE.sql b/08_ADDI/SQL/SQL Skripte - Help/EXPORT_VIEW_CONTROL_STRUCTURE.sql
new file mode 100644
index 0000000..b4ae08d
--- /dev/null
+++ b/08_ADDI/SQL/SQL Skripte - Help/EXPORT_VIEW_CONTROL_STRUCTURE.sql
@@ -0,0 +1,41 @@
+CREATE VIEW VWEXPORT_CONTRACT AS
+SELECT T.[GUID] AS CONTROL_GUID
+ ,T.[FORM_ID] AS CONTROL_FORM_ID
+ ,T.[CONTROL_TYPE_ID] AS CONTROL_TYPE_ID
+ ,T.[NAME] AS CONTROL_NAME
+ ,T.[FORMAT_TYPE] AS CONTROL_FORMAT_TYPE
+ ,T.[SHOW_COLUMN] AS CONTROL_SHOW_COLUMN
+ ,T.[COL_NAME] AS CONTROL_COL_NAME
+ ,T.[REQUIRED] AS CONTROL_REQUIRED
+ ,T.[PARENT_CONTROL_ID] AS CONTROL_PARENT_CONTROL_ID
+ ,T.[MASTER_DATA_ID] AS CONTROL_MASTER_DATA_ID
+ ,T.[MULTILINE] AS CONTROL_MULTILINE
+ ,T.[STATIC_LIST] AS CONTROL_STATIC_LIST
+ ,T.[DEFAULT_VALUE] AS CONTROL_DEFAULT_VALUE
+ ,T.[SQL_COMMAND_1] AS CONTROL_SQL_COMMAND_1
+ ,T.[CONNECTION_ID_1] AS CONTROL_CONNECTION_ID_1
+ ,T.[READ_ONLY] AS CONTROL_READ_ONLY
+ ,T.[VALIDATION] AS CONTROL_VALIDATION
+ ,T.[ADDED_WHO] AS CONTROL_ADDED_WHO
+ ,T.[VISIBLE] AS CONTROL_VISIBLE
+ ,T.[TREE_VIEW] AS CONTROL_TREE_VIEW
+ ,T.[SELECT_ONLY] AS CONTROL_SELECT_ONLY
+ ,T1.[GUID] AS CS_GUID
+ ,T1.[CONTROL_ID] AS CS_CONTROL_ID
+ ,T1.[SCREEN_ID] AS CS_SCREEN_ID
+ ,T1.[CONTROL_TEXT] AS CS_CONTROL_TEXT
+ ,T1.[X_LOC] AS CS_X_LOC
+ ,T1.[Y_LOC] AS CS_Y_LOC
+ ,T1.[HEIGHT] AS CS_HEIGHT
+ ,T1.[WIDTH] AS CS_WIDTH
+ ,T1.[FONT_FAMILY] AS CS_FONT_FAMILY
+ ,T1.[FONT_COLOR] AS CS_FONT_COLOR
+ ,T1.[FONT_SIZE] AS CS_FONT_SIZE
+ ,T1.[FONT_STYLE] AS CS_FONT_STYLE
+ ,T1.[BACK_COLOR] AS CS_BACK_COLOR
+ ,T1.[TAB_INDEX] AS CS_TAB_INDEX
+ ,T1.[TAB_STOP] AS CS_TAB_STOP
+ FROM [dbo].[TBPMO_CONTROL] T, TBPMO_CONTROL_SCREEN T1 WHERE T.GUID = T1.CONTROL_ID AND T1.SCREEN_ID = 1 AND FORM_ID = 1
+GO
+
+
diff --git a/08_ADDI/SQL/SQL Skripte - Help/Fulltext.sql b/08_ADDI/SQL/SQL Skripte - Help/Fulltext.sql
new file mode 100644
index 0000000..5c0ac7f
--- /dev/null
+++ b/08_ADDI/SQL/SQL Skripte - Help/Fulltext.sql
@@ -0,0 +1,52 @@
+SELECT * FROM sys.fulltext_catalogs
+
+
+CREATE DATABASE TestDB
+GO
+
+USE TestDB
+GO
+
+CREATE TABLE [SupportTicketsSummaries] (
+ ID INT NOT NULL
+ ,[ShortSummary] VARCHAR(200)
+ ,[Description] VARCHAR(200)
+ ,[Problem] VARCHAR(200)
+ ,[Solution] VARCHAR(200)
+ ,[Notes] VARCHAR(200)
+ ,CONSTRAINT PK_SupportTicketsSummaries PRIMARY KEY (ID)
+ )
+GO
+
+IF NOT EXISTS (
+ SELECT 1
+ FROM sys.fulltext_catalogs
+ WHERE [name] = 'SupportTicketsSummariesFT'
+ )
+BEGIN
+ PRINT 'Creating full-text catalogue SupportTicketsSummariesFT'
+
+ CREATE FULLTEXT CATALOG [SupportTicketsSummariesFT]
+ WITH accent_sensitivity = OFF AUTHORIZATION [dbo]
+
+ PRINT 'Adding columns to the full-text catalogue'
+
+ CREATE FULLTEXT INDEX ON [dbo].[SupportTicketsSummaries] (
+ [ShortSummary] LANGUAGE 1033
+ ,[Description] LANGUAGE 1033
+ ,[Problem] LANGUAGE 1033
+ ,[Solution] LANGUAGE 1033
+ ) KEY INDEX PK_SupportTicketsSummaries
+ ON [SupportTicketsSummariesFT] --catalog
+ WITH STOPLIST = SYSTEM;
+
+ --you can alter the full text index after creating
+ ALTER FULLTEXT INDEX ON [dbo].[SupportTicketsSummaries] ADD ([Notes] LANGUAGE 1033)
+END
+GO
+
+USE MASTER
+
+--DROP DATABASE TESTDB
+ SELECT *
+ FROM [dbo].[FullText] T WHERE CONTAINS([Text], '*29.04.2010*') AND CONTAINS([Text], '*Ladeliste*')
\ No newline at end of file
diff --git a/08_ADDI/SQL/SQL Skripte - Help/Get_Object_Changes.sql b/08_ADDI/SQL/SQL Skripte - Help/Get_Object_Changes.sql
new file mode 100644
index 0000000..ab8b262
--- /dev/null
+++ b/08_ADDI/SQL/SQL Skripte - Help/Get_Object_Changes.sql
@@ -0,0 +1,4 @@
+select *
+from sys.objects
+where (type = 'TR' or type = 'P')
+ and modify_date > dateadd(m, -1, getdate()) order by modify_date desc
\ No newline at end of file
diff --git a/08_ADDI/SQL/SQL Skripte - Help/Template Import.sql b/08_ADDI/SQL/SQL Skripte - Help/Template Import.sql
new file mode 100644
index 0000000..324f0b4
--- /dev/null
+++ b/08_ADDI/SQL/SQL Skripte - Help/Template Import.sql
@@ -0,0 +1,120 @@
+DECLARE @OLD_CONTROLID INTEGER,
+@NEW_CONTROLID INTEGER,
+@OLD_CONTROL_SCREEN_ID INTEGER,
+@NEW_CONTROL_SCREEN_ID INTEGER
+ --delete from TBPMO_CONTROL_LANGUAGE where convert(date,added_when) = convert(date,GETDATE())
+--delete from tbpmo_Control_Screen where convert(date,added_when) = convert(date,GETDATE())
+--delete from tbpmo_Control where convert(date,added_when) = convert(date,GETDATE())
+DECLARE c_REDO CURSOR FOR
+ select guid FROM TBPMO_CONTROL_IMPORT WHERE FORM_ID = 1
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @OLD_CONTROLID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+INSERT INTO [dbo].[TBPMO_CONTROL]
+ ([CONTROL_TYPE_ID]
+ ,[COL_NAME]
+ ,[CONNECTION_ID_1]
+ ,[CONNECTION_ID_2]
+ ,[DEFAULT_VALUE]
+ ,[FORM_ID]
+ ,[FORMAT_TYPE]
+ ,[NAME]
+ ,[SHOW_COLUMN]
+ ,[PARENT_CONTROL_ID]
+ ,[REQUIRED]
+ ,[SELECT_ONLY]
+ ,[STATIC_LIST]
+ ,[MASTER_DATA_ID]
+ ,[MULTILINE]
+ ,[READ_ONLY]
+ ,[SQL_COMMAND_1]
+ ,[SQL_COMMAND_2]
+ ,[TREE_VIEW]
+ ,[VALIDATION]
+ ,[VISIBLE]
+ ,[ADDED_WHO]
+ ,[AUTO_SUGGEST])
+
+ select [CONTROL_TYPE_ID]
+ ,COALESCE([COL_NAME],'')
+ ,[CONNECTION_ID_1]
+ ,[CONNECTION_ID_2]
+ ,COALESCE([DEFAULT_VALUE],'')
+ ,11
+ ,[FORMAT_TYPE]
+ ,[NAME]
+ ,[SHOW_COLUMN]
+ ,[PARENT_CONTROL_ID]
+ ,[REQUIRED]
+ ,[SELECT_ONLY]
+ ,COALESCE([STATIC_LIST],'')
+ ,[MASTER_DATA_ID]
+ ,[MULTILINE]
+ ,[READ_ONLY]
+ ,COALESCE([SQL_COMMAND_1],'')
+ ,COALESCE([SQL_COMMAND_2],'')
+ ,[TREE_VIEW]
+ ,[VALIDATION]
+ ,[VISIBLE]
+ ,'DD TEMPLATE Import'
+ ,[AUTO_SUGGEST]
+ FROM TBPMO_CONTROL_IMPORT where GUID = @OLD_CONTROLID
+ SELECT @NEW_CONTROLID = MAX(GUID) FROM TBPMO_CONTROL
+
+ SELECT @OLD_CONTROL_SCREEN_ID = GUID FROM TBPMO_CONTROL_SCREEN_IMPORT WHERE CONTROL_ID = @OLD_CONTROLID
+ Print '@OLD_CONTROL_SCREEN_ID: ' + convert(varchar(50),@OLD_CONTROL_SCREEN_ID)
+ --Now Insert of ControlScreen
+ INSERT INTO [dbo].[TBPMO_CONTROL_SCREEN]
+ ([CONTROL_ID]
+ ,[SCREEN_ID]
+ ,[CONTROL_TEXT]
+ ,[X_LOC]
+ ,[Y_LOC]
+ ,[HEIGHT]
+ ,[WIDTH]
+ ,[FONT_FAMILY]
+ ,[FONT_COLOR]
+ ,[FONT_SIZE]
+ ,[FONT_STYLE]
+ ,[BACK_COLOR]
+ ,[TAB_INDEX]
+ ,[TAB_STOP]
+ ,[ADDED_WHO])
+ SELECT @NEW_CONTROLID
+ ,1
+ ,COALESCE([CONTROL_TEXT],'')
+ ,[X_LOC]
+ ,[Y_LOC]
+ ,[HEIGHT]
+ ,[WIDTH]
+ ,[FONT_FAMILY]
+ ,[FONT_COLOR]
+ ,[FONT_SIZE]
+ ,[FONT_STYLE]
+ ,[BACK_COLOR]
+ ,[TAB_INDEX]
+ ,[TAB_STOP]
+ ,'DD TEMPLATE Import'
+ FROM TBPMO_CONTROL_SCREEN_IMPORT WHERE CONTROL_ID = @OLD_CONTROLID
+
+ SELECT @NEW_CONTROL_SCREEN_ID = MAX(GUID) FROM TBPMO_CONTROL_SCREEN
+ Print '@@NEW_CONTROL_SCREEN_ID: ' + convert(varchar(50),@NEW_CONTROL_SCREEN_ID)
+ INSERT INTO [dbo].[TBPMO_CONTROL_LANGUAGE]
+ ([LANGUAGE_TYPE]
+ ,[CONTROL_SCREEN_ID]
+ ,[CAPTION]
+ ,[HINT]
+ ,[ADDED_WHO])
+ SELECT [LANGUAGE_TYPE]
+ ,@NEW_CONTROL_SCREEN_ID
+ ,COALESCE([CAPTION],'')
+ ,[HINT]
+ ,[ADDED_WHO] FROM TBPMO_CONTROL_LANGUAGE_IMPORT where CONTROL_SCREEN_ID = @OLD_CONTROL_SCREEN_ID
+
+
+ FETCH NEXT FROM c_REDO INTO @OLD_CONTROLID
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
\ No newline at end of file
diff --git a/08_ADDI/SQL/SQL Skripte - Help/UPDATE_DOC_VALUES.sql b/08_ADDI/SQL/SQL Skripte - Help/UPDATE_DOC_VALUES.sql
new file mode 100644
index 0000000..8ec9d03
--- /dev/null
+++ b/08_ADDI/SQL/SQL Skripte - Help/UPDATE_DOC_VALUES.sql
@@ -0,0 +1,67 @@
+DECLARE
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER,
+ @ENT_ID INTEGER,
+ @Items INTEGER,
+ @Items1 INTEGER
+
+ DECLARE c_REDO CURSOR FOR
+ SELECT T.RECORD_ID, T.DOC_ID, T1.FORM_ID
+ ,(SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = T1.FORM_ID AND TYPE_ID = 3 AND CONFIG_COLUMNS = 1) as [DD_Items]
+ ,(SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = T1.FORM_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) as [Values] FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @RECORD_ID,@DOC_ID,@ENT_ID,@Items,@Items1
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE @CONFID INTEGER,@VALUE VARCHAR(100)
+
+ IF @Items >= 1
+ BEGIN
+ DECLARE cursorValues CURSOR LOCAL FOR
+ SELECT T.GUID,T1.VALUE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENT_ID AND T.TYPE_ID = 3
+ OPEN cursorValues
+ FETCH NEXT FROM cursorValues INTO @CONFID,@VALUE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID AND CONFIG_ID = @CONFID)
+ BEGIN
+ PRINT 'VALUES DROPDOWN'
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) VALUES
+ (@DOC_ID,@RECORD_ID,@CONFID,@VALUE,'PR_NEW')
+ END
+
+ FETCH NEXT FROM cursorValues INTO @CONFID,@VALUE
+ END
+ CLOSE cursorValues
+ DEALLOCATE cursorValues
+ END
+ IF @Items1 >= 1
+ BEGIN
+ DECLARE cursorValues1 CURSOR LOCAL FOR
+ SELECT T.GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENT_ID AND T.TYPE_ID <> 3 AND T.CONFIG_COLUMNS = 1
+ OPEN cursorValues1
+ FETCH NEXT FROM cursorValues1 INTO @CONFID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID AND CONFIG_ID = @CONFID)
+ BEGIN
+ PRINT 'VALUES DEFAULT'
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) VALUES
+ (@DOC_ID,@RECORD_ID,@CONFID,'','PR_NEW')
+ END
+
+ FETCH NEXT FROM cursorValues1 INTO @CONFID
+ END
+ CLOSE cursorValues1
+ DEALLOCATE cursorValues1
+ END
+ FETCH NEXT FROM c_REDO INTO @RECORD_ID,@DOC_ID,@ENT_ID,@Items,@Items1
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+
+
+
+
+
+
diff --git a/08_ADDI/SQL/SQL Skripte - Help/User_Rights_Constructors.sql b/08_ADDI/SQL/SQL Skripte - Help/User_Rights_Constructors.sql
new file mode 100644
index 0000000..e07f035
--- /dev/null
+++ b/08_ADDI/SQL/SQL Skripte - Help/User_Rights_Constructors.sql
@@ -0,0 +1,18 @@
+DECLARE @ENTITY_ID INTEGER,@USER_ID INTEGER
+
+ DECLARE c_USER CURSOR FOR
+ SELECT T.USER_ID, T1.FORM_ID FROM TBPMO_CONSTRUCTOR_USER T, VWPMO_CONSTRUCTOR_FORMS T1 WHERE T.CONSTRUCT_ID = T1.CONSTRUCT_ID AND T1.DOCUMENT_VIEW = 1
+
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @USER_ID,@ENTITY_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE USER_ID = @USER_ID AND ENTITY_ID = @ENTITY_ID)
+ INSERT INTO TBPMO_RIGHT_USER (USER_ID, ENTITY_ID) VALUES (@USER_ID,@ENTITY_ID)
+
+ FETCH NEXT FROM c_USER INTO @USER_ID,@ENTITY_ID
+ END
+ CLOSE c_USER
+ DEALLOCATE c_USER
+
+
diff --git a/08_ADDI/SQL/SQL Skripte - Help/Vorlagen (Cursor, Reseed etc).sql b/08_ADDI/SQL/SQL Skripte - Help/Vorlagen (Cursor, Reseed etc).sql
new file mode 100644
index 0000000..ce2f7e9
--- /dev/null
+++ b/08_ADDI/SQL/SQL Skripte - Help/Vorlagen (Cursor, Reseed etc).sql
@@ -0,0 +1,49 @@
+DECLARE
+ @RECORD_ID INTEGER,
+ @DATE DAtetime,
+ @GUID INTEGER,
+ @CAPTION VARCHAR(500)
+
+DECLARE c_REDO CURSOR FOR
+ select GUID,NODE_CAPTION from VWPMO_STRUCTURE_NODES where ENTITY_ID = 8 and CREATE_RECORD = 1
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @GUID,@CAPTION
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+ FETCH NEXT FROM c_REDO INTO @GUID,@CAPTION
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+
+/*########################################
+---CHECKIDENT
+##########################################*/
+DBCC CHECKIDENT ('TBPMO_CONTROL_SCREEN', RESEED, 1);
+
+select *
+from sys.objects
+where (type = 'TR' or type = 'P')
+ and modify_date > dateadd(m, -1, getdate()) order by modify_date desc
+/*########################################
+---MASSEN INSERT
+##########################################*/
+Declare @Id int
+Set @Id = 1
+
+While @Id <= 200000
+Begin
+ Insert Into TBGI_TEST_KREDITOR (KREDITOR_NAME,CITY) values ('Kreditor- ' + CAST(@Id as nvarchar(10)),
+ 'City - ' + CAST(@Id as nvarchar(10)))
+ --Print @Id
+ Set @Id = @Id + 1
+End
+/*########################################
+---Text EXISTS IN PROCEDURE
+##########################################*/
+
+SELECT type, *
+FROM sys.objects
+WHERE OBJECT_DEFINITION(object_id) LIKE '%FROM TBIDB_TERM_LANGUAGE%'
+--AND type IN ('V')
+ORDER BY name
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/TBPMO_FORM_CONSTRUCTOR_DETAIL.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/TBPMO_FORM_CONSTRUCTOR_DETAIL.sql
new file mode 100644
index 0000000..97d1f29
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/TBPMO_FORM_CONSTRUCTOR_DETAIL.sql
@@ -0,0 +1,11 @@
+ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
+ADD COLUMN_NAME1 VARCHAR(100) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
+ADD COLUMN_NAME2 VARCHAR(100) NOT NULL DEFAULT ''
+GO
+
+UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET COLUMN_NAME1 = 'Format' where GUID = 2
+GO
+UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET COLUMN_NAME1 = 'Sendetitel' where GUID = 3
+GO
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/VWPMO_CONSTRUCTOR_FORMS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/VWPMO_CONSTRUCTOR_FORMS.sql
new file mode 100644
index 0000000..543b777
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/VWPMO_CONSTRUCTOR_FORMS.sql
@@ -0,0 +1,24 @@
+ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS
+SELECT
+ T2.CONSTRUCT_ID,
+ T2.PARENT_ID,
+ T2.SEQUENCE,
+ T2.LEVEL1_SELECT,
+ T.GUID AS FORM_ID,
+ T1.FORM_TITLE,
+ T2.SQL_SELECT_EBENE1,
+ T2.SQL_SELECT_EBENE2,
+ T2.COLUMN_NAME1,
+ T2.COLUMN_NAME2
+FROM
+ tbpmo_form T,
+ TBPMO_FORM_VIEW T1,
+ TBPMO_FORM_CONSTRUCTOR_DETAIL T2
+where
+ T2.FORM_ID = T.GUID AND
+ T1.SCREEN_ID = 1 AND
+ T.GUID = T1.FORM_ID
+
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL.sql
new file mode 100644
index 0000000..6ba3f18
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL.sql
@@ -0,0 +1,8 @@
+ALTER TABLE TBPMO_CONTROL
+ADD FORMAT_TYPE VARCHAR(50)
+UPDATE TBPMO_CONTROL SET FORMAT_TYPE = 'String'
+--Manuell in Tabelle den Default Wert ändern
+
+ALTER TABLE TBPMO_CONTROL
+ADD SHOW_COLUMN BIT
+UPDATE TBPMO_CONTROL SET SHOW_COLUMN = 1
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL_IMAGE.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL_IMAGE.sql
new file mode 100644
index 0000000..febbff5
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL_IMAGE.sql
@@ -0,0 +1,36 @@
+CREATE TABLE TBPMO_CONTROL_IMAGE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONTROL_ID INTEGER NOT NULL,
+ RECORD_ID INTEGER NOT NULL,
+ IMG VARBINARY(max) NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONTROL_IMAGE PRIMARY KEY (GUID),
+ CONSTRAINT UQ_CONTROLID_RECORDID UNIQUE (CONTROL_ID, RECORD_ID),
+ CONSTRAINT FK_TBPMO_CONTROL_IMAGE_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID),
+ CONSTRAINT FK_TBPMO_CONTROL_IMAGE_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID),
+
+)
+GO
+
+CREATE TRIGGER TBPMO_CONTROL_IMAGE_AFT_UPD ON TBPMO_CONTROL_IMAGE
+FOR UPDATE
+AS
+BEGIN
+ DECLARE @RECORD_ID INTEGER, @CHANGED_WHO VARCHAR(50)
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ UPDATE TBPMO_CONTROL_IMAGE
+ SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_CONTROL_IMAGE.GUID = INSERTED.GUID
+
+ UPDATE TBPMO_RECORD SET
+ CHANGED_WHO = @CHANGED_WHO
+ WHERE TBPMO_RECORD.GUID = @RECORD_ID
+END
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_WD_OBJECTTYPE.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_WD_OBJECTTYPE.sql
new file mode 100644
index 0000000..e84c11e
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_WD_OBJECTTYPE.sql
@@ -0,0 +1,19 @@
+CREATE TABLE TBPMO_WD_OBJECTTYPE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ OBJECT_TYPE VARCHAR(100) NOT NULL,
+ IDXNAME_ENTITYID VARCHAR(100) NOT NULL,
+ IDXNAME_PARENTID VARCHAR(100) NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_WD_OBJECTTYPE PRIMARY KEY (GUID),
+ CONSTRAINT UQ_OBJECTTYPE_TBPMO_WD_OBJECTTYPE UNIQUE (OBJECT_TYPE)
+)
+GO
+CREATE TRIGGER TBPMO_WD_OBJECTTYPE_AFT_UPD ON TBPMO_WD_OBJECTTYPE
+FOR UPDATE
+AS
+ UPDATE TBPMO_WD_OBJECTTYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_OBJECTTYPE.GUID = INSERTED.GUID
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/VWPMO_CONTROL_SCREEn.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/VWPMO_CONTROL_SCREEn.sql
new file mode 100644
index 0000000..edebed0
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/VWPMO_CONTROL_SCREEn.sql
@@ -0,0 +1,72 @@
+USE [DD_ECM]
+GO
+
+/****** Object: View [dbo].[VWPMO_CONTROL_SCREEN] Script Date: 30.03.2015 10:13:05 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+
+ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
+SELECT TOP 100 PERCENT
+ T.GUID CONTROL_ID,
+ T.NAME CONTROL_NAME,
+ T.REQUIRED CONTROL_REQUIRED,
+ T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
+ T.DEFAULT_VALUE CONTROL_DEF_VALUE,
+ T.READ_ONLY CONTROL_READ_ONLY,
+ T.MULTILINE CONTROL_MULTILINE,
+ T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
+ T.COL_NAME CONTROL_COL_NAME,
+ T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
+ T.CONNECTION_ID_1 CONTROL_CONNID_1,
+ T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
+ T4.GUID CTRLTYPE_ID,
+ T4.TYPE_NAME CTRLTYPE_NAME,
+ T.FORM_ID,
+ T3.NAME FORM_NAME,
+ T3.LEVEL FORM_LEVEL,
+ T1.SCREEN_ID SCREEN_ID,
+ T2.NAME SCREEN_NAME,
+ T1.GUID CTRLSCR_ID,
+ T1.CONTROL_TEXT CTRLSCR_CAPTION,
+ T1.X_LOC CTRLSCR_X_LOC,
+ T1.Y_LOC CTRLSCR_Y_LOC,
+ T1.HEIGHT CTRLSCR_HEIGHT,
+ T1.WIDTH CTRLSCR_WIDTH,
+ T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
+ T1.FONT_COLOR CTRLSCR_FONT_COLOR,
+ T1.FONT_SIZE CTRLSCR_FONT_SIZE,
+ T1.FONT_STYLE CTRLSCR_FONT_STYLE,
+ T1.TAB_INDEX CTRLSCR_TAB_INDEX,
+ T1.TAB_STOP CTRLSCR_TAB_STOP,
+ T1.BACK_COLOR CTRLSCR_BACK_COLOR,
+ T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
+FROM
+ TBPMO_CONTROL T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_SCREEN T2,
+ TBPMO_FORM T3,
+ TBPMO_CONTROL_TYPE T4
+WHERE
+ T.FORM_ID = T3.GUID AND
+ T.GUID = T1.CONTROL_ID AND
+ T1.SCREEN_ID = T2.GUID AND
+ T.CONTROL_TYPE_ID = T4.GUID
+ORDER BY
+ T1.SCREEN_ID,
+ T.FORM_ID,
+ T1.TAB_STOP
+
+
+
+
+
+
+
+
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_Diverses.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_Diverses.sql
new file mode 100644
index 0000000..85deb2b
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_Diverses.sql
@@ -0,0 +1,15 @@
+DBCC CHECKIDENT (TBPMO_CONTROL_TYPE, RESEED, 11)
+INSERT INTO TBPMO_CONTROL_TYPE(TYPE_NAME)
+VALUES
+ ('CheckedListBox')
+GO
+INSERT INTO TBPMO_CONTROL_TYPE(TYPE_NAME)
+VALUES
+ ('ListBox')
+GO
+
+ALTER TABLE TBPMO_RECORD_CONNECT
+ADD CONSTRAINT UQ_RECORD_CONNECT UNIQUE (RECORD1_ID, RECORD2_ID)
+
+--In TBPMO_RECORD_AFT_INS die
+--EXEC DBO.PRPMO_CREATE_RECORD_CONNECTIONS @FORM_ID,@RECORD_ID
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_TBPMO_RUN_PROCEDURES.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_TBPMO_RUN_PROCEDURES.sql
new file mode 100644
index 0000000..1e52a8f
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_TBPMO_RUN_PROCEDURES.sql
@@ -0,0 +1,23 @@
+CREATE TABLE TBPMO_RUN_PROCEDURES
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ FORM_ID INTEGER NOT NULL,
+ EXECUTE_COMMAND VARCHAR(500) NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_RUN_PROCEDURES PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_RUN_PROCEDURES_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID),
+)
+GO
+
+CREATE TRIGGER TBPMO_RUN_PROCEDURES_AFT_UPD ON TBPMO_RUN_PROCEDURES
+FOR UPDATE
+AS
+ UPDATE TBPMO_RUN_PROCEDURES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RUN_PROCEDURES.GUID = INSERTED.GUID
+GO
+INSERT INTO TBPMO_RUN_PROCEDURES(FORM_ID,EXECUTE_COMMAND)
+VALUES
+ (2,'EXEC PRPMO_AFTER_UPDATE_VALUES @FORM_ID,@RECORD_ID')
+GO
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/2_PRPMO_AFTER_UPDATE_VALUES.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/2_PRPMO_AFTER_UPDATE_VALUES.sql
new file mode 100644
index 0000000..575f505
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/2_PRPMO_AFTER_UPDATE_VALUES.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/@Variablen ersetzen.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/@Variablen ersetzen.sql
new file mode 100644
index 0000000..2f2bd5c
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/@Variablen ersetzen.sql
@@ -0,0 +1,7 @@
+SELECT SQL_COMMAND_1
+FROM TBPMO_CONTROL
+WHERE (SQL_COMMAND_1 LIKE '%@%')
+
+@RECORD_ID
+@PARENTRECORD_ID
+@FORM_ID
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/CONTROL_DEFAULT.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/CONTROL_DEFAULT.sql
new file mode 100644
index 0000000..5d6690f
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/CONTROL_DEFAULT.sql
@@ -0,0 +1,8 @@
+UPDATE TBPMO_CONTROL SET SHOW_COLUMN = 1 WHERE CONTROL_TYPE_ID = 2 AND SHOW_COLUMN is null
+UPDATE TBPMO_CONTROL SET SHOW_COLUMN = 1 WHERE SHOW_COLUMN is null
+
+ALTER TABLE TBPMO_CONTROL
+ALTER COLUMN SHOW_COLUMN BIT NOT NULL
+
+ALTER TABLE TBPMO_CONTROL
+ADD DEFAULT 1 FOR SHOW_COLUMN
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/Columns.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/Columns.sql
new file mode 100644
index 0000000..08045d2
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/Columns.sql
@@ -0,0 +1,2 @@
+ALTER TABLE TBPMO_WORKFLOW_TASK
+ADD TASK_DATE DATE
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/PRPMO_CREATE_SQL.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/PRPMO_CREATE_SQL.sql
new file mode 100644
index 0000000..9d943c0
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/PRPMO_CREATE_SQL.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FILES_USER.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FILES_USER.sql
new file mode 100644
index 0000000..8baa7f5
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FILES_USER.sql
@@ -0,0 +1,12 @@
+CREATE TABLE TBPMO_FILES_USER
+(
+ GUID INT IDENTITY(1,1),
+ FILENAME2WORK VARCHAR(500) NOT NULL,
+ USER@WORK VARCHAR(50) NOT NULL,
+ HANDLE_TYPE VARCHAR(50) NOT NULL,
+ WORKED BIT NOT NULL DEFAULT 0,
+ ADDED_WHEN DATETIME DEFAULT GETDATE() NOT NULL,
+ CONSTRAINT PK_TBPMO_FILES_USER PRIMARY KEY(GUID)
+)
+GO
+------------------------------------------------------------------------------
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FOLLUPEMAIL_RECORD.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FOLLUPEMAIL_RECORD.sql
new file mode 100644
index 0000000..1f6a3be
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FOLLUPEMAIL_RECORD.sql
@@ -0,0 +1,23 @@
+CREATE TABLE TBPMO_FOLLUPEMAIL_RECORD
+(
+ GUID INTEGER IDENTITY(0,1), -- Eindeutiger Tabellenschlüssel
+ FOLLOW_UP_ID INTEGER NOT NULL,
+ [USER_ID] INTEGER NOT NULL,
+ RECORD_ID INTEGER NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FOLLUPEMAIL_RECORD PRIMARY KEY (GUID),
+ CONSTRAINT UQ_USER_FOLLUP_ID UNIQUE ([USER_ID],FOLLOW_UP_ID),
+ CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID),
+ CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_FOLLOW_UP_ID FOREIGN KEY(FOLLOW_UP_ID) REFERENCES TBPMO_FOLLOW_UP_EMAIL(GUID),
+ CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_RECORD_ID FOREIGN KEY(RECORD_ID) REFERENCES TBPMO_RECORD(GUID)
+)
+GO
+CREATE TRIGGER TBPMO_FOLLUPEMAIL_RECORD_AFT_UPD ON TBPMO_FOLLUPEMAIL_RECORD
+FOR UPDATE
+AS
+ UPDATE TBPMO_FOLLUPEMAIL_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_FOLLUPEMAIL_RECORD.GUID = INSERTED.GUID
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS.sql
new file mode 100644
index 0000000..aa2975e
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql
new file mode 100644
index 0000000..ec242b2
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql
@@ -0,0 +1,23 @@
+CREATE VIEW VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD AS
+SELECT
+ T.GUID FOLLOW_UP_ID,
+ T1.RECORD_ID,
+ T2.GUID AS ENTITY_ID,
+ T.NAME,
+ T.FOLLOW_UP_SEQUENCE,
+ T.FOLLOW_UP_DAYS,
+ T.FOLLOW_UP_TIME_SPAN,
+ CONVERT(DATE,T1.VALUE) RECORD_VALUE,
+ T.EMAIL_SUBJECT,
+ T.EMAIL_BODY,
+ T.DEPENDENT_DATE_CTRL_ID,
+ T.DEPENDENT_DONE_CTRL_ID
+FROM
+ TBPMO_FOLLOW_UP_EMAIL T,
+ VWPMO_VALUES T1,
+ TBPMO_FORM T2
+WHERE
+ T.ACTIVE = 1 AND
+ T.DEPENDENT_DATE_CTRL_ID = T1.CONTROL_ID AND
+ T1.FORM_ID = T2.GUID
+
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_GUI_ENTITY.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_GUI_ENTITY.sql
new file mode 100644
index 0000000..9b8e0f1
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_GUI_ENTITY.sql
@@ -0,0 +1,12 @@
+CREATE VIEW VWPMO_GUI_ENTITY AS
+SELECT TOP 100 PERCENT
+ TBPMO_FORM.GUID AS ID,
+ TBPMO_FORM.NAME AS Name,
+ TBPMO_FORM_VIEW.FORM_TITLE AS Title
+FROM
+ TBPMO_FORM INNER JOIN
+ TBPMO_FORM_VIEW ON TBPMO_FORM.GUID = TBPMO_FORM_VIEW.FORM_ID
+WHERE
+ (TBPMO_FORM.FORM_TYPE_ID IN (1, 2, 3, 5))
+ORDER BY
+ TBPMO_FORM.PARENT_ID, Title
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WF_ACTIVE.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WF_ACTIVE.sql
new file mode 100644
index 0000000..096c3d7
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WF_ACTIVE.sql
@@ -0,0 +1,30 @@
+ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS
+SELECT TOP 100 PERCENT
+ T.GUID AS WF_TASK_ID,
+ T1.TITLE,
+ T.RECORD_ID,
+ T.STATE_ID,
+ T2.STATE_DESC,
+ T2.COLOR,
+ T.COMMENT,
+ T.DUE_DATE,
+ T.TASK_DATE,
+ '' AS USERNAME,
+ T.ADDED_WHEN,
+ T.CHANGED_WHO,
+ T.CHANGED_WHEN
+FROM
+ TBPMO_WORKFLOW_TASK AS T,
+ TBPMO_WORKFLOW AS T1,
+ TBPMO_KONFIGURATION TK,
+ TBPMO_WORKFLOW_TASK_STATE T2
+
+WHERE
+ TK.GUID = 1 AND
+ T.WF_ID = T1.GUID AND
+ T.STATE_ID = T2.GUID AND
+ T.STATE_ID <> TK.WORKFLOW_FINAL_STATE1
+ORDER BY T.GUID
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WF_OVERVIEW_AUTHORITY.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WF_OVERVIEW_AUTHORITY.sql
new file mode 100644
index 0000000..57d8b42
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WF_OVERVIEW_AUTHORITY.sql
@@ -0,0 +1,29 @@
+CREATE VIEW VWPMO_WF_OVERVIEW_AUTHORITY AS
+SELECT
+ T.GUID as WF_ID,
+ T.RECORD_ID,
+ TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC AS STATE,
+ TBPMO_WORKFLOW_TASK_STATE.GUID AS STATE_ID,
+ TBPMO_WORKFLOW_TASK_STATE.COLOR,
+ (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1
+ FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN
+ TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID
+ WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) AS Authority,
+ CASE WHEN (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1
+ FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN
+ TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID
+ WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) IS NULL
+ THEN TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC
+ ELSE
+ TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC + ' - ' +
+ (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1
+ FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN
+ TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID
+ WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID))
+ END AS String,
+ T.CHANGED_WHO,
+ T.CHANGED_WHEN
+FROM TBPMO_WORKFLOW_TASK T INNER JOIN
+ TBPMO_WORKFLOW ON T.WF_ID = TBPMO_WORKFLOW.GUID INNER JOIN
+ TBPMO_WORKFLOW_TASK_STATE ON T.STATE_ID = TBPMO_WORKFLOW_TASK_STATE.GUID
+WHERE (T.ACTIVE = 1)
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WORKFLOW_FORM.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WORKFLOW_FORM.sql
new file mode 100644
index 0000000..eb3dca8
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WORKFLOW_FORM.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.4/PRPMO_COPY_ENTITY.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.4/PRPMO_COPY_ENTITY.sql
new file mode 100644
index 0000000..306694e
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.4/PRPMO_COPY_ENTITY.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/Columns.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/Columns.sql
new file mode 100644
index 0000000..9bc59f9
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/Columns.sql
@@ -0,0 +1,9 @@
+ALTER TABLE TBPMO_FORM
+ADD SINGLE_RECORD BIT NOT NULL DEFAULT 0
+ALTER TABLE TBPMO_KONFIGURATION
+ADD FOLLOW_UP_LOG_ERR_ONLY BIT NOT NULL DEFAULT 1
+
+ALTER TABLE TBPMO_KONFIGURATION
+ADD FOLLOW_UP_EMAIL_PROFILE INTEGER NOT NULL DEFAULT 99
+ALTER TABLE TBPMO_FOLLOW_UP_EMAIL
+ADD NAME VARCHAR(100) NOT NULL DEFAULT 'DESCRIPTION FOLLOW UP'
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/VWPMO_CONSTRUCTOR_FORMS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/VWPMO_CONSTRUCTOR_FORMS.sql
new file mode 100644
index 0000000..8b753f7
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/VWPMO_CONSTRUCTOR_FORMS.sql
@@ -0,0 +1,44 @@
+USE [DD_ECM]
+GO
+
+/****** Object: View [dbo].[VWPMO_CONSTRUCTOR_FORMS] Script Date: 28.08.2015 13:22:17 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+
+
+
+ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS
+SELECT TOP 100 PERCENT
+ T2.GUID,
+ 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.COLUMN_NAME1,
+ T2.COLUMN_NAME2,
+ T.FORM_TYPE_ID
+FROM
+ tbpmo_form T,
+ TBPMO_FORM_VIEW T1,
+ TBPMO_FORM_CONSTRUCTOR_DETAIL T2
+where
+ T2.FORM_ID = T.GUID AND
+ T1.SCREEN_ID = 1 AND
+ T.GUID = T1.FORM_ID
+ORDER BY
+ T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE
+
+
+
+
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/ALTER_COLUMNS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/ALTER_COLUMNS.sql
new file mode 100644
index 0000000..84b9071
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/ALTER_COLUMNS.sql
@@ -0,0 +1,2 @@
+ALTER TABLE TBPMO_CONTROL
+ADD STATIC_LIST VARCHAR(2000) NOT NULL DEFAULT ''
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/PRPMO_CREATE_SQL.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/PRPMO_CREATE_SQL.sql
new file mode 100644
index 0000000..3541007
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/PRPMO_CREATE_SQL.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/PRPMO_CREATE_TEMP_VIEWS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/PRPMO_CREATE_TEMP_VIEWS.sql
new file mode 100644
index 0000000..64020cc
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/PRPMO_CREATE_TEMP_VIEWS.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/TBPMO_FORM_AFT_INS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/TBPMO_FORM_AFT_INS.sql
new file mode 100644
index 0000000..75b8089
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/TBPMO_FORM_AFT_INS.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/TBPMO_FORM_AFT_UPD.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/TBPMO_FORM_AFT_UPD.sql
new file mode 100644
index 0000000..28cc550
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/TBPMO_FORM_AFT_UPD.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/VWPMO_CONTROL_SCREEN.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/VWPMO_CONTROL_SCREEN.sql
new file mode 100644
index 0000000..7ad9162
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/VWPMO_CONTROL_SCREEN.sql
@@ -0,0 +1,71 @@
+USE [DD_ECM]
+GO
+
+/****** Object: View [dbo].[VWPMO_CONTROL_SCREEN] Script Date: 03.02.2015 10:27:53 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
+SELECT TOP 100 PERCENT
+ T.GUID CONTROL_ID,
+ T.NAME CONTROL_NAME,
+ T.REQUIRED CONTROL_REQUIRED,
+ T.DEFAULT_VALUE CONTROL_DEF_VALUE,
+ T.READ_ONLY CONTROL_READ_ONLY,
+ T.MULTILINE CONTROL_MULTILINE,
+ T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
+ T.COL_NAME CONTROL_COL_NAME,
+ T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
+ T.CONNECTION_ID_1 CONTROL_CONNID_1,
+ T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
+ T.STATIC_LIST CONTROL_STATIC_LIST,
+ T4.GUID CTRLTYPE_ID,
+ T4.TYPE_NAME CTRLTYPE_NAME,
+ T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
+ T.FORM_ID,
+ T3.NAME FORM_NAME,
+ T3.LEVEL FORM_LEVEL,
+ T1.SCREEN_ID SCREEN_ID,
+ T2.NAME SCREEN_NAME,
+ T1.GUID CTRLSCR_ID,
+ T1.CONTROL_TEXT CTRLSCR_CAPTION,
+ T1.X_LOC CTRLSCR_X_LOC,
+ T1.Y_LOC CTRLSCR_Y_LOC,
+ T1.HEIGHT CTRLSCR_HEIGHT,
+ T1.WIDTH CTRLSCR_WIDTH,
+ T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
+ T1.FONT_COLOR CTRLSCR_FONT_COLOR,
+ T1.FONT_SIZE CTRLSCR_FONT_SIZE,
+ T1.FONT_STYLE CTRLSCR_FONT_STYLE,
+ T1.TAB_INDEX CTRLSCR_TAB_INDEX,
+ T1.TAB_STOP CTRLSCR_TAB_STOP,
+ T1.BACK_COLOR CTRLSCR_BACK_COLOR,
+ T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
+FROM
+ TBPMO_CONTROL T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_SCREEN T2,
+ TBPMO_FORM T3,
+ TBPMO_CONTROL_TYPE T4
+WHERE
+ T.FORM_ID = T3.GUID AND
+ T.GUID = T1.CONTROL_ID AND
+ T1.SCREEN_ID = T2.GUID AND
+ T.CONTROL_TYPE_ID = T4.GUID
+ORDER BY
+ T1.SCREEN_ID,
+ T.FORM_ID,
+ T1.TAB_STOP
+
+
+
+
+
+
+
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Columns.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Columns.sql
new file mode 100644
index 0000000..69526f8
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Columns.sql
@@ -0,0 +1,15 @@
+ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
+ADD LOAD_DIRECT BIT NOT NULL DEFAULT 0
+
+ALTER TABLE TBDD_MODULES
+ADD BACKGROUND_IMAGE VARBINARY(MAX)
+GO
+ALTER TABLE TBDD_MODULES
+ADD PRODUCT_NAME1 VARCHAR(200) NOT NULL DEFAULT 'RECORD-ORGANIZER'
+GO
+ALTER TABLE TBDD_MODULES
+ADD PRODUCT_NAME2 VARCHAR(200)
+GO
+ALTER TABLE TBDD_INDEX_AUTOM
+ADD [ENTITY_ID] INTEGER NOT NULL DEFAULT 0
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Update_2015_05_25.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Update_2015_05_25.sql
new file mode 100644
index 0000000..147ff8f
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Update_2015_05_25.sql
@@ -0,0 +1,3 @@
+INSERT INTO TBPMO_FORM_TYPE(FORM_TYPE)
+VALUES
+ ('GROUP ENTITY')
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/VWPMO_TEMPLATE_ENTITY.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/VWPMO_TEMPLATE_ENTITY.sql
new file mode 100644
index 0000000..c310004
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/VWPMO_TEMPLATE_ENTITY.sql
@@ -0,0 +1,16 @@
+CREATE VIEW VWPMO_TEMPLATE_ENTITY AS
+SELECT
+ T.GUID AS TEMPLATE_ID,
+ T.NAME AS TEMPLATE_NAME,
+ T.TEMPLATE_PATH AS TEMPLATE_PATH,
+ T1.GUID AS TEMPLATE_ENTITY_ID,
+ T2.GUID AS ENTITY_ID,
+ T2.NAME
+FROM
+ TBPMO_TEMPLATE T,
+ TBPMO_TEMPLATE_ENTITY T1,
+ TBPMO_FORM T2
+WHERE
+ T.ACTIVE = 1 AND
+ T.GUID = T1.TEMPLATE_ID AND
+ T1.ENTITY_ID = T2.GUID
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/39-TBPMO_TEMPLATE.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/39-TBPMO_TEMPLATE.sql
new file mode 100644
index 0000000..a059572
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/39-TBPMO_TEMPLATE.sql
@@ -0,0 +1,21 @@
+CREATE TABLE TBPMO_TEMPLATE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ NAME VARCHAR(100) NOT NULL UNIQUE,
+ TEMPLATE_PATH VARCHAR(1000) NOT NULL,
+ DOCTYPE_ID INTEGER NOT NULL,
+ ACTIVE BIT NOT NULL DEFAULT 1,
+ ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_TEMPLATE PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_TEMPLATE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_TEMPLATE_AFT_UPD ON TBPMO_TEMPLATE
+FOR UPDATE
+AS
+ UPDATE TBPMO_TEMPLATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE.GUID = INSERTED.GUID
+GO
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/40-TBPMO_TEMPLATE_ENTITY.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/40-TBPMO_TEMPLATE_ENTITY.sql
new file mode 100644
index 0000000..ca0e727
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/40-TBPMO_TEMPLATE_ENTITY.sql
@@ -0,0 +1,19 @@
+CREATE TABLE TBPMO_TEMPLATE_ENTITY
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ TEMPLATE_ID INTEGER NOT NULL,
+ ENTITY_ID INTEGER NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_TEMPLATE_ENTITY PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_TEMPLATE_ENTITY_TEMPLATE_ID FOREIGN KEY(TEMPLATE_ID) REFERENCES TBPMO_TEMPLATE(GUID),
+ CONSTRAINT FK_TBPMO_TEMPLATE_ENTITY_ENTITY_ID FOREIGN KEY(ENTITY_ID) REFERENCES TBPMO_FORM(GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_TEMPLATE_ENTITY_AFT_UPD ON TBPMO_TEMPLATE_ENTITY
+FOR UPDATE
+AS
+ UPDATE TBPMO_TEMPLATE_ENTITY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE_ENTITY.GUID = INSERTED.GUID
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/41-TBPMO_TEMPLATE_PATTERN.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/41-TBPMO_TEMPLATE_PATTERN.sql
new file mode 100644
index 0000000..17eaf76
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/41-TBPMO_TEMPLATE_PATTERN.sql
@@ -0,0 +1,23 @@
+CREATE TABLE TBPMO_TEMPLATE_PATTERN
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ TEMPLATE_ID INTEGER NOT NULL,
+ NAME_PATTERN VARCHAR(100) NOT NULL,
+ FIXED_VALUE VARCHAR(100),
+ CONNECTION_ID INTEGER,
+ SQL_COMMAND VARCHAR(2000),
+ ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_TEMPLATE_PATTERN PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_TEMPLATE_PATTERN_TEMPLATE_ID FOREIGN KEY(TEMPLATE_ID) REFERENCES TBPMO_TEMPLATE(GUID),
+ CONSTRAINT UQ_TBPMO_TEMPLATE_PATTERN UNIQUE (TEMPLATE_ID, NAME_PATTERN)
+)
+GO
+
+CREATE TRIGGER TBPMO_TEMPLATE_PATTERN_AFT_UPD ON TBPMO_TEMPLATE_PATTERN
+FOR UPDATE
+AS
+ UPDATE TBPMO_TEMPLATE_PATTERN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE_PATTERN.GUID = INSERTED.GUID
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/Columns.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/Columns.sql
new file mode 100644
index 0000000..74cb340
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/Columns.sql
@@ -0,0 +1,5 @@
+ALTER TABLE TBPMO_CONTROL_VALUE
+ALTER COLUMN VALUE NVARCHAR(MAX) NOT NULL
+
+ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES
+ADD NAME_CONVENTION VARCHAR(100) NOT NULL DEFAULT ''
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/DROP_TEMPLATE_STRUCTURE.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/DROP_TEMPLATE_STRUCTURE.sql
new file mode 100644
index 0000000..74ae1a6
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/DROP_TEMPLATE_STRUCTURE.sql
@@ -0,0 +1,3 @@
+DROP TABLE TBPMO_TEMPLATE_ENTITY_PATTERN
+DROP TABLE TBPMO_TEMPLATE_ENTITY
+DROP TABLE TBPMO_TEMPLATE
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/PRPMO_CREATE_TEMP_VIEWS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/PRPMO_CREATE_TEMP_VIEWS.sql
new file mode 100644
index 0000000..298af26
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/PRPMO_CREATE_TEMP_VIEWS.sql
@@ -0,0 +1,36 @@
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_TEMP_VIEWS]
+AS
+BEGIN
+ DECLARE
+ @FORM_ID INTEGER,
+ @SQL_COMMAND nvarchar(MAX),
+ @VIEW_NAME nvarchar(30),
+ @DEL_SQL NVARCHAR(100),
+ @CREATE_VIEW NVARCHAR(MAX)
+ DECLARE c_TASK CURSOR FOR
+ SELECT FORM_ID,SQL_COMMAND
+ FROM TBPMO_FORM_SQL where SQL_COMMAND is not null
+ OPEN c_TASK
+ FETCH NEXT FROM c_TASK INTO @FORM_ID,@SQL_COMMAND
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @VIEW_NAME = 'VWTEMP_PMO_FORM' + CONVERT(VARCHAR(3),@FORM_ID)
+ IF EXISTS(select * FROM sys.views where name = @VIEW_NAME)
+ BEGIN
+ SET @DEL_SQL = 'DROP VIEW dbo.' + QUOTENAME(@VIEW_NAME) + ''
+ EXEC sp_executesql @DEL_SQL
+ END
+ SELECT @SQL_COMMAND = SQL_COMMAND FROM TBPMO_FORM_SQL where FORM_ID = @FORM_ID
+ SET @CREATE_VIEW = 'CREATE VIEW ' + @VIEW_NAME + ' AS ' + @SQL_COMMAND
+
+ EXEC sp_executesql @CREATE_VIEW
+
+ FETCH NEXT FROM c_TASK INTO @FORM_ID,@SQL_COMMAND
+ END
+ CLOSE c_TASK
+ DEALLOCATE c_TASK
+ END
+
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/19-TBPMO_FORM_CONSTR_QUICK_DISPLAY.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/19-TBPMO_FORM_CONSTR_QUICK_DISPLAY.sql
new file mode 100644
index 0000000..e3a2fa2
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/19-TBPMO_FORM_CONSTR_QUICK_DISPLAY.sql
@@ -0,0 +1,102 @@
+CREATE TABLE TBPMO_FORM_CONSTR_QUICK_DISPLAY
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONSTRUCT_ID INTEGER NOT NULL,
+ CONTROL_ID INTEGER NOT NULL,
+ HEADLINE BIT NOT NULL DEFAULT 0,
+ PICTURE BIT NOT NULL DEFAULT 0,
+ SEQUENCE INTEGER NOT NULL DEFAULT 0,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FORM_CONSTR_QUICK_DISPLAY PRIMARY KEY (GUID),
+ CONSTRAINT UNIQUE_CONSTRUCTID_CONTROL_ID UNIQUE(CONSTRUCT_ID,CONTROL_ID),
+ CONSTRAINT FK_TBPMO_FORM_CONSTR_QUICK_DISPLAY_CONSTRUCT_ID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL (GUID),
+ CONSTRAINT FK_TBPMO_FORM_CONSTR_QUICK_DISPLAY_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID),
+)
+GO
+
+CREATE TRIGGER [dbo].[TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTR_QUICK_DISPLAY]
+FOR UPDATE
+AS
+ DECLARE
+ @GUID INTEGER,
+ @CONSTRUCT_ID INTEGER,
+ @HEADLINE BIT
+ SELECT
+ @GUID = GUID,
+ @CONSTRUCT_ID = CONSTRUCT_ID,
+ @HEADLINE = HEADLINE
+ FROM INSERTED
+
+ IF @HEADLINE = 1
+ BEGIN
+ UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET HEADLINE = 0 WHERE CONSTRUCT_ID = @CONSTRUCT_ID AND PICTURE = 0 AND GUID <> @GUID
+ EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID
+ END
+
+ UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID
+GO
+--Insert trigger
+CREATE TRIGGER TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_INS ON TBPMO_FORM_CONSTR_QUICK_DISPLAY
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @CONSTRUCT_ID INTEGER,
+ @SEQUENCE INTEGER,
+ @COUNT INT
+
+ SELECT
+ @CONSTRUCT_ID = CONSTRUCT_ID
+ FROM INSERTED
+
+ SELECT
+ @SEQUENCE = MAX(SEQUENCE),
+ @COUNT = COUNT(*)
+ FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE HEADLINE = 0 AND PICTURE = 0 AND CONSTRUCT_ID = @CONSTRUCT_ID
+
+ IF @COUNT = 1
+ UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET HEADLINE = 1 FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID
+
+ IF @COUNT > 1
+ UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET SEQUENCE = @SEQUENCE + 1 FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID
+
+ EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_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 TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_DEL ON TBPMO_FORM_CONSTR_QUICK_DISPLAY
+WITH EXECUTE AS CALLER
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @CONSTRUCT_ID INTEGER,
+ @COUNT INT
+
+ SELECT
+ @CONSTRUCT_ID = CONSTRUCT_ID
+ FROM deleted
+ SELECT
+ @COUNT = COUNT(*)
+ FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE CONSTRUCT_ID = @CONSTRUCT_ID
+
+ IF @COUNT >= 2
+ EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID
+ ELSE
+ UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET SQL_QUICK_VIEW = '' WHERE GUID = @CONSTRUCT_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
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/22-1-TBPMO_CONTROL_HINT.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/22-1-TBPMO_CONTROL_HINT.sql
new file mode 100644
index 0000000..31c3db5
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/22-1-TBPMO_CONTROL_HINT.sql
@@ -0,0 +1,21 @@
+CREATE TABLE TBPMO_CONTROL_HINT
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONTROL_ID INTEGER NOT NULL,
+ HINT_COMMENT VARCHAR(500) NOT NULL,
+ LANGUAGE_CODE VARCHAR(10) NOT NULL DEFAULT 'de-DE',
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONTROL_HINT PRIMARY KEY (GUID),
+ CONSTRAINT UNIQUE_CONTROL_ID_LANGUAGE_CODE_CONTROL_ID UNIQUE(CONTROL_ID,LANGUAGE_CODE),
+ CONSTRAINT FK_TBPMO_CONTROL_HINT_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID),
+)
+GO
+
+CREATE TRIGGER TBPMO_CONTROL_HINT_AFT_UPD ON TBPMO_CONTROL_HINT
+FOR UPDATE
+AS
+ UPDATE TBPMO_CONTROL_HINT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_HINT.GUID = INSERTED.GUID
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/Columns.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/Columns.sql
new file mode 100644
index 0000000..7ac8b85
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/Columns.sql
@@ -0,0 +1,2 @@
+ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
+ADD SQL_QUICK_VIEW NVARCHAR(MAX) DEFAULT '' NOT NULL
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/PRPMO_CREATE_QUICK_SQL.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/PRPMO_CREATE_QUICK_SQL.sql
new file mode 100644
index 0000000..4d3640e
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/PRPMO_CREATE_QUICK_SQL.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_CONSTR_VIEW_TYPE.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_CONSTR_VIEW_TYPE.sql
new file mode 100644
index 0000000..da210e7
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_CONSTR_VIEW_TYPE.sql
@@ -0,0 +1,25 @@
+CREATE TABLE TBPMO_USER_CONSTR_VIEW_TYPE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ [USER_ID] INTEGER NOT NULL,
+ CONSTRUCTOR_DETAIL_ID INTEGER NOT NULL,
+ [ENTITY_ID] INTEGER NOT NULL,
+ VIEW_ID INTEGER NOT NULL DEFAULT 1, --1=TileView,2=Carousel,3=GridView
+ 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_USER_CONSTR_VIEW_TYPE PRIMARY KEY (GUID),
+ CONSTRAINT UNIQUE_CONSTRUCTOR_ID_VIEW_ID UNIQUE(CONSTRUCTOR_DETAIL_ID,VIEW_ID,[USER_ID]),
+ CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID),
+ CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_CONSTRUCTOR_ID FOREIGN KEY (CONSTRUCTOR_DETAIL_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL (GUID),
+ CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_ENTITY_ID FOREIGN KEY ([ENTITY_ID]) REFERENCES TBPMO_FORM (GUID),
+)
+GO
+
+CREATE TRIGGER TBPMO_USER_CONSTR_VIEW_TYPE_AFT_UPD ON TBPMO_USER_CONSTR_VIEW_TYPE
+FOR UPDATE
+AS
+ UPDATE TBPMO_USER_CONSTR_VIEW_TYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_CONSTR_VIEW_TYPE.GUID = INSERTED.GUID
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.sql
new file mode 100644
index 0000000..1a4ab0f
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.sql
@@ -0,0 +1,32 @@
+CREATE TABLE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ [USER_ID] INTEGER NOT NULL,
+ CONSTRUCTOR_DETAIL_ID INTEGER NOT NULL,
+ COLUMN1 VARCHAR(50) NOT NULL,
+ COLUMN1_WIDTH INTEGER NOT NULL,
+ COLUMN2 VARCHAR(50) NOT NULL,
+ COLUMN2_WIDTH INTEGER NOT NULL,
+ COLUMN3 VARCHAR(50) NOT NULL,
+ COLUMN3_WIDTH INTEGER NOT NULL,
+ COLUMN4 VARCHAR(50),
+ COLUMN4_WIDTH INTEGER,
+ COLUMN5 VARCHAR(50),
+ COLUMN5_WIDTH INTEGER,
+ COLUMN6 VARCHAR(50),
+ COLUMN6_WIDTH INTEGER,
+ COLUMN7 VARCHAR(50),
+ COLUMN7_WIDTH INTEGER,
+ COMMENT VARCHAR(300),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_USER_WINDREAM_RESULTLIST_CONFIG PRIMARY KEY (GUID),
+)
+GO
+
+CREATE TRIGGER TBPMO_USER_WINDREAM_RESULTLIST_CONFIG_AFT_UPD ON TBPMO_USER_WINDREAM_RESULTLIST_CONFIG
+FOR UPDATE
+AS
+ UPDATE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.GUID = INSERTED.GUID
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_WINDREAM_RESULTLIST_CONFIG.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_WINDREAM_RESULTLIST_CONFIG.sql
new file mode 100644
index 0000000..c740005
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_WINDREAM_RESULTLIST_CONFIG.sql
@@ -0,0 +1,33 @@
+DROP TABLE TBPMO_WINDREAM_RESULTLIST_CONFIG
+
+CREATE TABLE TBPMO_WINDREAM_RESULTLIST_CONFIG
+(
+ GUID TINYINT,
+ COLUMN1 VARCHAR(50) NOT NULL,
+ COLUMN1_WIDTH INTEGER NOT NULL,
+ COLUMN2 VARCHAR(50) NOT NULL,
+ COLUMN2_WIDTH INTEGER NOT NULL,
+ COLUMN3 VARCHAR(50) NOT NULL,
+ COLUMN3_WIDTH INTEGER NOT NULL,
+ COLUMN4 VARCHAR(50),
+ COLUMN4_WIDTH INTEGER,
+ COLUMN5 VARCHAR(50),
+ COLUMN5_WIDTH INTEGER,
+ COLUMN6 VARCHAR(50),
+ COLUMN6_WIDTH INTEGER,
+ COLUMN7 VARCHAR(50),
+ COLUMN7_WIDTH INTEGER,
+ COMMENT VARCHAR(300),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_WINDREAM_RESULTLIST_CONFIG_GUID PRIMARY KEY(GUID),
+ CONSTRAINT CH_TBPMO_WINDREAM_RESULTLIST_CONFIG_GUID CHECK(GUID = 1),
+)
+GO
+
+CREATE TRIGGER TBPMO_WINDREAM_RESULTLIST_CONFIG_AFT_UPD ON TBPMO_WINDREAM_RESULTLIST_CONFIG
+FOR UPDATE
+AS
+ UPDATE TBPMO_WINDREAM_RESULTLIST_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WINDREAM_RESULTLIST_CONFIG.GUID = INSERTED.GUID
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/columns.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/columns.sql
new file mode 100644
index 0000000..56228d8
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/columns.sql
@@ -0,0 +1,2 @@
+ALTER TABLE TBPMO_FORM
+ADD POS_ENTITY INTEGER DEFAULT '0' NOT NULL
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/procedure_TempViews.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/procedure_TempViews.sql
new file mode 100644
index 0000000..79662ba
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/procedure_TempViews.sql
@@ -0,0 +1,22 @@
+UPDATE TBPMO_KONFIGURATION SET SQL_RECORD_SQL1 = 'SELECT T.GUID AS [Record-ID],T.FORM_ID AS [Form-ID],' where GUID = 1
+
+DECLARE @FORM_ID INT
+
+DECLARE c_FORM CURSOR FOR SELECT GUID FROM TBPMO_FORM
+OPEN c_FORM
+ FETCH NEXT FROM c_FORM INTO @FORM_ID
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_CREATE_SQL @FORM_ID
+
+ FETCH NEXT FROM c_FORM INTO @FORM_ID
+ END
+
+ CLOSE c_FORM
+ DEALLOCATE c_FORM
+
+
+GO
+
+EXEC [dbo].[PRPMO_CREATE_TEMP_VIEWS]
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/DROP UQ_USER_FOLLUP_ID.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/DROP UQ_USER_FOLLUP_ID.sql
new file mode 100644
index 0000000..3645559
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/DROP UQ_USER_FOLLUP_ID.sql
@@ -0,0 +1,8 @@
+USE [DD_ECM]
+GO
+
+/****** Object: Index [UQ_USER_FOLLUP_ID] Script Date: 07.12.2015 11:47:08 ******/
+ALTER TABLE [dbo].[TBPMO_FOLLUPEMAIL_RECORD] DROP CONSTRAINT [UQ_USER_FOLLUP_ID]
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/Trigger.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/Trigger.sql
new file mode 100644
index 0000000..d55c083
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/Trigger.sql
@@ -0,0 +1,31 @@
+--Insert trigger
+CREATE TRIGGER [dbo].[TBPMO_CONTROL_SCREEN_AFT_INS] ON [dbo].[TBPMO_CONTROL_SCREEN]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @GUID INTEGER,
+ @CONTROL_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @SEQUENCE INTEGER
+ SELECT
+ @GUID = GUID,
+ @CONTROL_ID = CONTROL_ID
+ FROM INSERTED
+
+ SELECT
+ @ENTITY_ID = FORM_ID
+ FROM TBPMO_CONTROL WHERE [GUID] = @CONTROL_ID
+
+ SELECT @SEQUENCE = MAX(TAB_INDEX) FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @ENTITY_ID)
+
+ UPDATE TBPMO_CONTROL_SCREEN SET TAB_INDEX = @SEQUENCE + 1 FROM INSERTED WHERE TBPMO_CONTROL_SCREEN.GUID = INSERTED.GUID
+
+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
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/2-TBPMO_FOLDERWATCH_USER.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/2-TBPMO_FOLDERWATCH_USER.sql
new file mode 100644
index 0000000..1079a00
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/2-TBPMO_FOLDERWATCH_USER.sql
@@ -0,0 +1,21 @@
+CREATE TABLE TBPMO_FOLDERWATCH_USER
+(
+ GUID INTEGER IDENTITY(0,1), -- Eindeutiger Tabellenschlüssel
+ [USER_ID] INT NOT NULL,
+ FOLDER_PATH VARCHAR(800) NOT NULL,
+ FOLDER_TYPE VARCHAR(20) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FOLDERWATCH_USER PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBPMO_FOLDERWATCH_USER UNIQUE([USER_ID],FOLDER_PATH),
+ CONSTRAINT FK_TBPMO_FOLDERWATCH_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID),
+)
+GO
+CREATE TRIGGER TBPMO_FOLDERWATCH_USER_AFT_UPD ON TBPMO_FOLDERWATCH_USER
+FOR UPDATE
+AS
+ UPDATE TBPMO_FOLDERWATCH_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_FOLDERWATCH_USER.GUID = INSERTED.GUID
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/TBPMO_CONTROL_SCREEN_AFT_INS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/TBPMO_CONTROL_SCREEN_AFT_INS.sql
new file mode 100644
index 0000000..bef6ccf
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/TBPMO_CONTROL_SCREEN_AFT_INS.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL.sql
new file mode 100644
index 0000000..c2b9611
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL.sql
@@ -0,0 +1,54 @@
+ALTER VIEW [dbo].[VWPMO_FOLLOW_UP_EMAIL] AS
+SELECT
+ T1.GUID FOLLOW_UP_ID,
+ T1.NAME,
+ T1.FOLLOW_UP_SEQUENCE,
+ T1.FOLLOW_UP_DAYS,
+ T1.FOLLOW_UP_TIME_SPAN,
+ CONVERT(CHAR(5),GETDATE(),108) NOW_TIME,
+ T.RECORD_ID,
+ CONVERT(DATE,T.VALUE) VALUE,
+ T1.EMAIL_SUBJECT,
+ T1.EMAIL_BODY,
+ T1.PROCESS_SELECT1,
+ T1.PROCESS_SELECT2,
+ T1.PROCESS_SELECT3,
+ T1.PROCESS_SELECT4,
+ T1.PROCESS_SELECT5,
+ T1.PROCESS_SELECT6,
+ T1.PROCESS_SELECT7,
+ T1.PROCESS_SELECT8,
+ T1.PROCESS_SELECT9,
+ T1.PROCESS_SELECT10,
+ T1.TIME_UNITY,
+ T1.TIME_DIST,
+ CASE T1.TIME_UNITY
+ WHEN 'Month' THEN
+ DATEDIFF(month, getdate(),convert(Date,T.value))
+ WHEN 'Week' THEN
+ DATEDIFF(week, getdate(),convert(Date,T.value))
+ END TIME_SPAN,
+ T1.DEPENDENT_DATE_CTRL_ID,
+ T1.DEPENDENT_DONE_CTRL_ID,
+ (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) DONE_VALUE,
+ T2.GUID AS CONSTRUCTOR_ID,
+ T2.FORM_TITLE AS CONSTRUCTOR_TITLE
+FROM
+ VWPMO_VALUES T,
+ TBPMO_FOLLOW_UP_EMAIL T1,
+ TBPMO_FORM_CONSTRUCTOR T2
+WHERE
+ T1.ACTIVE = 1 AND
+ (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) = 'False' And
+ T.CONTROL_ID = T1.DEPENDENT_DATE_CTRL_ID AND
+ T1.CONSTRUCTOR_ID = T2.GUID AND
+ T1.TIME_SPAN =
+ CASE T1.TIME_UNITY
+ WHEN 'Month' THEN
+ DATEDIFF(month, getdate(),convert(Date,T.value))
+ WHEN 'Week' THEN
+ DATEDIFF(week, getdate(),convert(Date,T.value))
+ END
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql
new file mode 100644
index 0000000..922d0ab
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql
@@ -0,0 +1,27 @@
+ALTER VIEW VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD AS
+SELECT
+ T.GUID FOLLOW_UP_ID,
+ T1.RECORD_ID,
+ T2.GUID AS ENTITY_ID,
+ T.NAME,
+ T.FOLLOW_UP_SEQUENCE,
+ T.FOLLOW_UP_DAYS,
+ T.FOLLOW_UP_TIME_SPAN,
+ CONVERT(DATE,T1.VALUE) RECORD_VALUE,
+ T.EMAIL_SUBJECT,
+ T.EMAIL_BODY,
+ T.DEPENDENT_DATE_CTRL_ID,
+ T.DEPENDENT_DONE_CTRL_ID,
+ T3.GUID AS CONSTRUCTOR_ID,
+ T3.FORM_TITLE AS CONSTRUCTOR_TITLE
+FROM
+ TBPMO_FOLLOW_UP_EMAIL T,
+ VWPMO_VALUES T1,
+ TBPMO_FORM T2,
+ TBPMO_FORM_CONSTRUCTOR T3
+WHERE
+ T.ACTIVE = 1 AND
+ T.DEPENDENT_DATE_CTRL_ID = T1.CONTROL_ID AND
+ T1.FORM_ID = T2.GUID AND
+ T.CONSTRUCTOR_ID = T3.GUID
+
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/colums.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/colums.sql
new file mode 100644
index 0000000..3dc969e
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/colums.sql
@@ -0,0 +1,10 @@
+
+ALTER TABLE TBPMO_FILES_USER
+ADD FILENAME_ONLY VARCHAR(100) DEFAULT '' NOT NULL
+GO
+ALTER TABLE TBPMO_FOLLOW_UP_EMAIL
+ADD CONSTRUCTOR_ID INTEGER DEFAULT '1' NOT NULL
+GO
+ALTER TABLE TBPMO_FOLLOW_UP_EMAIL
+ADD CONSTRAINT FK_TBPMO_FOLLOW_UP_EMAIL_CONSTR_ID FOREIGN KEY (CONSTRUCTOR_ID)
+ REFERENCES TBPMO_FORM_CONSTRUCTOR(GUID)
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/IDX.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/IDX.sql
new file mode 100644
index 0000000..dd81f52
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/IDX.sql
@@ -0,0 +1,4 @@
+CREATE NONCLUSTERED INDEX [IDXTBPMO_CONTROL_VALUE_RECID_VALUE]
+ON [dbo].[TBPMO_CONTROL_VALUE] ([CONTROL_ID])
+INCLUDE ([RECORD_ID],[VALUE])
+GO
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/PRDD_COPY_RECORD.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/PRDD_COPY_RECORD.sql
new file mode 100644
index 0000000..f36129f
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/PRDD_COPY_RECORD.sql
@@ -0,0 +1,27 @@
+CREATE PROCEDURE [dbo].[PRDD_COPY_RECORD](@pRECORD_ID INT,@WHO VARCHAR(50)) --,@pMODULE_ID INT)
+AS
+DECLARE @NEW_RECORD_ID INT
+
+BEGIN TRY
+ INSERT INTO TBPMO_RECORD (
+ FORM_ID,ADDED_WHO)
+ SELECT FORM_ID,@WHO FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+
+ SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD
+
+ INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID,COMMENT) SELECT
+ RECORD1_ID,@NEW_RECORD_ID,COMMENT FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = @pRECORD_ID
+
+ INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) SELECT
+ CONTROL_ID,@NEW_RECORD_ID,VALUE,@WHO FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+
+ INSERT INTO TBPMO_CONTROL_IMAGE(CONTROL_ID,RECORD_ID,IMG,ADDED_WHO) SELECT
+ CONTROL_ID,@NEW_RECORD_ID,IMG,@WHO FROM TBPMO_CONTROL_IMAGE WHERE RECORD_ID = @pRECORD_ID
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/Update Skript.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/Update Skript.sql
new file mode 100644
index 0000000..e13267d
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/Update Skript.sql
@@ -0,0 +1,69 @@
+ALTER TABLE TBPMO_RECORD
+ADD RECORD_ENTITY_ID INTEGER 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
+
+ SELECT
+ @MAX_ID = MAX(RECORD_ENTITY_ID) + 1
+ FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID
+
+ UPDATE TBPMO_RECORD SET
+ RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+
+ --Überprüfen ob dieser Rec
+ IF EXISTS(
+ SELECT * FROM TBPMO_WORKFLOW_FORM where FORM_ID = @FORM_ID
+ )
+ BEGIN
+ EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID
+ END
+
+ --EXEC DBO.PRPMO_CREATE_RECORD_CONNECTIONS @FORM_ID,@RECORD_ID
+ --SELECT @PARENT_ID = PARENT_ID FROM TBPMO_FORM WHERE GUID = @FORM_ID
+ --IF @PARENT_ID > 0
+ -- INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID) VALUES (@PARENT_ID,@RECORD_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
+
+DECLARE
+ @GUID INTEGER,
+ @FORM_ID INTEGER ,
+ @MAX_ID INTEGER
+ DECLARE c_RECORD CURSOR FOR
+ SELECT GUID,FORM_ID FROM TBPMO_RECORD ORDER BY GUID
+ OPEN c_RECORD
+ FETCH NEXT FROM c_RECORD INTO @GUID,@FORM_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT
+ @MAX_ID = MAX(RECORD_ENTITY_ID) + 1
+ FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID
+
+ UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID WHERE GUID = @GUID
+
+ FETCH NEXT FROM c_RECORD INTO @GUID,@FORM_ID
+ END
+ CLOSE c_RECORD
+ DEALLOCATE c_RECORD
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.3/2.4.3.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.3/2.4.3.sql
new file mode 100644
index 0000000..fe819a4
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.3/2.4.3.sql
@@ -0,0 +1,103 @@
+ALTER TABLE TBPMO_FORM_CONSTRUCTOR
+ADD LANGUAGE VARCHAR(5) NOT NULL DEFAULT 'de-DE'
+GO
+DROP TABLE TBPMO_CONTROL_LANGUAGE
+CREATE TABLE TBPMO_CONTROL_LANGUAGE
+(
+ GUID INT IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel,
+ LANGUAGE_TYPE VARCHAR(5) NOT NULL,
+ CONTROL_SCREEN_ID INTEGER NOT NULL,
+ CAPTION VARCHAR(100) NOT NULL,
+ HINT VARCHAR(500),
+ ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONTROL_LANGUAGE PRIMARY KEY(GUID),
+ CONSTRAINT FK_TBPMO_CONTROL_LANGUAGE_CTRLSCR_ID FOREIGN KEY(CONTROL_SCREEN_ID) REFERENCES TBPMO_CONTROL_SCREEN(GUID)
+)
+GO
+------------------------------------------------------------------------------
+
+CREATE TRIGGER TBPMO_CONTROL_LANGUAGE_AFT_UPD ON TBPMO_CONTROL_LANGUAGE
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBPMO_CONTROL_LANGUAGE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_LANGUAGE.GUID = INSERTED.GUID
+END
+GO
+
+CREATE TABLE TBPMO_LANGUAGE_OBJECT
+(
+ GUID INT IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel,
+ LANGUAGE_TYPE VARCHAR(5) NOT NULL,
+ SCREEN_ID INTEGER NOT NULL,
+ PMO_OBJECT_NAME VARCHAR(100) NOT NULL,
+ CAPTION VARCHAR(100) NOT NULL,
+ HINT VARCHAR(500),
+ ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_LANGUAGE_OBJECT PRIMARY KEY(GUID),
+ CONSTRAINT FK_TBPMO_LANGUAGE_OBJECT_SCREEN_ID FOREIGN KEY(SCREEN_ID) REFERENCES TBPMO_SCREEN(GUID)
+)
+GO
+------------------------------------------------------------------------------
+
+CREATE TRIGGER TBPMO_LANGUAGE_OBJECT_AFT_UPD ON TBPMO_LANGUAGE_OBJECT
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_LANGUAGE_OBJECT.GUID = INSERTED.GUID
+END
+GO
+
+CREATE FUNCTION [dbo].[FNPMO_GETOBJECTCAPTION](@pLANG_TYPE VARCHAR(5), @pOBJ_NAME VARCHAR(100), @pSCREEN_ID INT)
+RETURNS VARCHAR(100)
+AS
+BEGIN
+ DECLARE @PMOOBJ_CAPTION VARCHAR(100)
+
+ SELECT @PMOOBJ_CAPTION = CAPTION FROM
+ TBPMO_LANGUAGE_OBJECT AS T
+ WHERE
+ T.LANGUAGE_TYPE = @pLANG_TYPE AND
+ T.SCREEN_ID = @pSCREEN_ID AND
+ T.PMO_OBJECT_NAME = @pOBJ_NAME
+
+ RETURN(ISNULL(@PMOOBJ_CAPTION,''))
+END
+GO
+
+ALTER TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTRUCTOR]
+FOR UPDATE
+AS
+BEGIN
+ DECLARE @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5), @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @LANGUAGE = [LANGUAGE],
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_FORM_CONSTRUCTOR SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED WHERE TBPMO_FORM_CONSTRUCTOR.GUID = INSERTED.GUID
+
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1
+ ELSE
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE)
+END
+GO
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/1.Update 2.4.4.1.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/1.Update 2.4.4.1.sql
new file mode 100644
index 0000000..2daf2fd
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/1.Update 2.4.4.1.sql
@@ -0,0 +1,250 @@
+ALTER TABLE TBPMO_FORM_VIEW
+ADD LANGUAGE VARCHAR(5) NOT NULL DEFAULT 'de-DE'
+GO
+
+ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @LANGUAGE = [LANGUAGE],
+ @SCREEN_ID = SCREEN_ID,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID
+
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+CREATE TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_INS] ON [dbo].[TBPMO_FORM_VIEW]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @LANGUAGE = [LANGUAGE],
+ @SCREEN_ID = SCREEN_ID,
+ @ADDED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
+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].[TBPMO_FORM_CONSTRUCTOR_AFT_INS] ON [dbo].[TBPMO_FORM_CONSTRUCTOR]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @LANGUAGE = [LANGUAGE],
+ @ADDED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID)
+
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+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
+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
+
+
+DECLARE @ID INTEGER,
+ @SCREEN_ID INT,
+ @FORM_TITLE VARCHAR(100),
+ @LANGUAGE VARCHAR(5),
+ @PMO_OBJECT_NAME VARCHAR(100)
+
+DECLARE c_FORM_VIEW CURSOR FOR
+SELECT GUID ,SCREEN_ID, FORM_TITLE, LANGUAGE FROM TBPMO_FORM_VIEW
+
+
+BEGIN
+ OPEN c_FORM_VIEW
+ FETCH NEXT FROM c_FORM_VIEW INTO @ID, @SCREEN_ID,@FORM_TITLE,@LANGUAGE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@ID)
+
+ IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE)
+
+ FETCH NEXT FROM c_FORM_VIEW INTO @ID, @SCREEN_ID,@FORM_TITLE,@LANGUAGE
+ END
+ CLOSE c_FORM_VIEW
+ DEALLOCATE c_FORM_VIEW
+
+END
+GO
+--############## DOKUMENTART #####################
+ALTER TABLE TBDD_DOKUMENTART
+ADD LANGUAGE VARCHAR(5) NOT NULL DEFAULT 'de-DE'
+GO
+
+ALTER TRIGGER [dbo].[TBDD_DOKUMENTART_AFT_UPD] ON [dbo].[TBDD_DOKUMENTART]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @DA_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @DA_TITLE = BEZEICHNUNG,
+ @LANGUAGE = [LANGUAGE],
+ @SCREEN_ID = 1,
+ @CHANGED_WHO = GEANDERTWER
+ FROM INSERTED
+
+ SET @PMO_OBJECT_NAME = 'DOCTYPE_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBDD_DOKUMENTART SET GEAENDERTWANN = GETDATE() FROM INSERTED
+ WHERE TBDD_DOKUMENTART.GUID = INSERTED.GUID
+
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @DA_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@DA_TITLE)
+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].[TBDD_DOKUMENTART_AFT_INS] ON [dbo].[TBDD_DOKUMENTART]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @DA_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @DA_TITLE = BEZEICHNUNG,
+ @LANGUAGE = [LANGUAGE],
+ @SCREEN_ID = 1,
+ @ADDED_WHO = ERSTELLTWER
+ FROM INSERTED
+
+ SET @PMO_OBJECT_NAME = 'DOCTYPE_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@DA_TITLE,@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.4.6.1.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.4.6.1.sql
new file mode 100644
index 0000000..41b5c5c
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.4.6.1.sql
@@ -0,0 +1,572 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.1' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBPMO_FORM
+ADD REDUNDANT_ENTITY INTEGER NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG
+ADD EDITABLE BIT NOT NULL DEFAULT 0
+GO
+ALTER PROCEDURE PRPMO_COPY_ENTITY (@pFORM_ID INT, @pADDEDWHO VARCHAR(50))
+AS
+DECLARE
+ @NEW_FORM_ID INT,
+ @PARENT_ID INT,
+ @NAME VARCHAR(100),
+ @LEVEL VARCHAR(10),
+ @SHOW_FORM_CONSTR BIT,
+ @FORM_TYPE_ID INT,
+ @CONTROL_GUID INTEGER,
+ @CONTROL_TYPE_ID INT,
+ @CONTROL_NAME VARCHAR(100)
+ ,@COL_NAME VARCHAR(100)
+ ,@REQUIRED BIT
+ ,@DEFAULT_VALUE VARCHAR(100)
+ ,@SQL_COMMAND_1 VARCHAR(2000)
+ ,@SQL_COMMAND_2 VARCHAR(2000)
+ ,@CONNECTION_ID_1 SMALLINT
+ ,@CONNECTION_ID_2 SMALLINT
+ ,@READ_ONLY BIT
+ ,@VALIDATION BIT
+ ,@MULTILINE BIT
+ ,@PARENT_CONTROL_ID INT
+ ,@MASTER_DATA_ID INT
+ ,@FORMAT_TYPE VARCHAR(50)
+ ,@SHOW_COLUMN BIT
+ ,@STATIC_LIST VARCHAR(2000)
+
+ SELECT @PARENT_ID = PARENT_ID, @NAME = 'COPY_' + NAME,@LEVEL = [LEVEL],@SHOW_FORM_CONSTR = SHOW_FORM_CONSTRUCT, @FORM_TYPE_ID = FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = @pFORM_ID
+
+ INSERT INTO TBPMO_FORM (
+ PARENT_ID,NAME,LEVEL,ADDED_WHO,SHOW_FORM_CONSTRUCT,FORM_TYPE_ID) VALUES (
+ @PARENT_ID,@NAME,@LEVEL,@pADDEDWHO,@SHOW_FORM_CONSTR,@FORM_TYPE_ID)
+
+ SELECT @NEW_FORM_ID = MAX(GUID) FROM TBPMO_FORM
+ INSERT INTO TBPMO_FORM_VIEW (FORM_ID, SCREEN_ID, FORM_TITLE, DESCRIPTION, ADDED_WHO) VALUES
+ (@NEW_FORM_ID, 1, 'UNDEFINED_FORMTITLE', '', @pADDEDWHO)
+
+DECLARE c_CONTROL CURSOR FOR SELECT GUID,[CONTROL_TYPE_ID]
+ ,'COPY_' + [NAME]
+ ,[COL_NAME]
+ ,[REQUIRED]
+ ,[DEFAULT_VALUE]
+ ,[SQL_COMMAND_1]
+ ,[SQL_COMMAND_2]
+ ,[CONNECTION_ID_1]
+ ,[CONNECTION_ID_2]
+ ,[READ_ONLY]
+ ,[VALIDATION]
+ ,[MULTILINE]
+ ,[PARENT_CONTROL_ID]
+ ,[MASTER_DATA_ID]
+ ,[FORMAT_TYPE]
+ ,[SHOW_COLUMN],STATIC_LIST FROM TBPMO_CONTROL WHERE FORM_ID = @pFORM_ID ORDER BY PARENT_CONTROL_ID
+
+
+BEGIN
+ OPEN c_CONTROL
+ FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID,
+ @CONTROL_NAME
+ ,@COL_NAME
+ ,@REQUIRED
+ ,@DEFAULT_VALUE
+ ,@SQL_COMMAND_1
+ ,@SQL_COMMAND_2
+ ,@CONNECTION_ID_1
+ ,@CONNECTION_ID_2
+ ,@READ_ONLY
+ ,@VALIDATION
+ ,@MULTILINE
+ ,@PARENT_CONTROL_ID
+ ,@MASTER_DATA_ID
+ ,@FORMAT_TYPE
+ ,@SHOW_COLUMN
+ ,@STATIC_LIST
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @PARENT_CONTROL_ID > 0
+ BEGIN
+ DECLARE @CTRLNAME VARCHAR(100)
+ SELECT @CTRLNAME = 'COPY_' + [NAME] FROM TBPMO_CONTROL WHERE GUID = @PARENT_CONTROL_ID
+ PRINT 'PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID)
+ PRINT '@CTRLNAME = ' + @CTRLNAME
+ SELECT @PARENT_CONTROL_ID = GUID FROM TBPMO_CONTROL WHERE NAME = @CTRLNAME AND FORM_ID = @NEW_FORM_ID
+ PRINT 'NEW PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID)
+ END
+
+ INSERT INTO TBPMO_CONTROL (
+ FORM_ID
+ ,[CONTROL_TYPE_ID]
+ ,[NAME]
+ ,[COL_NAME]
+ ,[REQUIRED]
+ ,[DEFAULT_VALUE]
+ ,[SQL_COMMAND_1]
+ ,[SQL_COMMAND_2]
+ ,[CONNECTION_ID_1]
+ ,[CONNECTION_ID_2]
+ ,[READ_ONLY]
+ ,[VALIDATION]
+ ,[MULTILINE]
+ ,[PARENT_CONTROL_ID]
+ ,[MASTER_DATA_ID]
+ ,[FORMAT_TYPE]
+ ,[SHOW_COLUMN]
+ ,[STATIC_LIST]
+ ,ADDED_WHO
+ ) VALUES (
+ @NEW_FORM_ID
+ ,@CONTROL_TYPE_ID
+ ,@CONTROL_NAME
+ ,@COL_NAME
+ ,@REQUIRED
+ ,@DEFAULT_VALUE
+ ,@SQL_COMMAND_1
+ ,@SQL_COMMAND_2
+ ,@CONNECTION_ID_1
+ ,@CONNECTION_ID_2
+ ,@READ_ONLY
+ ,@VALIDATION
+ ,@MULTILINE
+ ,@PARENT_CONTROL_ID
+ ,@MASTER_DATA_ID
+ ,@FORMAT_TYPE
+ ,@SHOW_COLUMN
+ ,@STATIC_LIST
+ ,@pADDEDWHO
+ )
+ DECLARE @NEW_CONTROLID INTEGER
+ SELECT @NEW_CONTROLID = MAX(GUID) FROM TBPMO_CONTROL
+
+ DECLARE
+ @SCREEN_ID INTEGER
+ ,@CONTROL_TEXT VARCHAR(100)
+ ,@X_LOC FLOAT
+ ,@Y_LOC FLOAT
+ ,@HEIGHT INTEGER
+ ,@WIDTH INTEGER
+ ,@FONT_FAMILY VARCHAR(50)
+ ,@FONT_COLOR INTEGER
+ ,@FONT_SIZE INTEGER
+ ,@FONT_STYLE INTEGER
+ ,@TAB_INDEX INTEGER
+ ,@TAB_STOP BIT
+ ,@BACK_COLOR INTEGER
+
+ SELECT @SCREEN_ID = [SCREEN_ID], @CONTROL_TEXT = [CONTROL_TEXT],@X_LOC = [X_LOC],
+ @Y_LOC = [Y_LOC],@HEIGHT = [HEIGHT], @WIDTH = [WIDTH],@FONT_FAMILY = [FONT_FAMILY],
+ @FONT_COLOR = [FONT_COLOR], @FONT_SIZE = [FONT_SIZE],@FONT_STYLE = [FONT_STYLE],
+ @TAB_INDEX = [TAB_INDEX], @TAB_STOP = [TAB_STOP], @BACK_COLOR = [BACK_COLOR] FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @CONTROL_GUID
+ INSERT INTO TBPMO_CONTROL_SCREEN (
+ CONTROL_ID,
+ SCREEN_ID
+ ,CONTROL_TEXT
+ ,X_LOC
+ ,Y_LOC
+ ,HEIGHT
+ ,WIDTH
+ ,FONT_FAMILY
+ ,FONT_COLOR
+ ,FONT_SIZE
+ ,FONT_STYLE
+ ,TAB_INDEX
+ ,TAB_STOP
+ ,BACK_COLOR
+ ,ADDED_WHO)
+ VALUES(
+ @NEW_CONTROLID
+ ,@SCREEN_ID
+ ,@CONTROL_TEXT
+ ,@X_LOC
+ ,@Y_LOC
+ ,@HEIGHT
+ ,@WIDTH
+ ,@FONT_FAMILY
+ ,@FONT_COLOR
+ ,@FONT_SIZE
+ ,@FONT_STYLE
+ ,@TAB_INDEX
+ ,@TAB_STOP
+ ,@BACK_COLOR
+ ,@pADDEDWHO
+ )
+ DECLARE @NEW_ID INT
+ SELECT @NEW_ID = MAX(GUID) FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_TEXT = @CONTROL_TEXT
+
+ INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES (
+ 'de-DE',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO)
+ INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES (
+ 'en-EN',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO)
+
+ FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID,
+ @CONTROL_NAME
+ ,@COL_NAME
+ ,@REQUIRED
+ ,@DEFAULT_VALUE
+ ,@SQL_COMMAND_1
+ ,@SQL_COMMAND_2
+ ,@CONNECTION_ID_1
+ ,@CONNECTION_ID_2
+ ,@READ_ONLY
+ ,@VALIDATION
+ ,@MULTILINE
+ ,@PARENT_CONTROL_ID
+ ,@MASTER_DATA_ID
+ ,@FORMAT_TYPE
+ ,@SHOW_COLUMN
+ ,@STATIC_LIST
+ END
+
+ CLOSE c_CONTROL
+ DEALLOCATE c_CONTROL
+END
+
+ALTER FUNCTION [dbo].[FNPMO_DOC_GET_IDX](@pDOCID INTEGER, @pENTITY INTEGER, @DOCIDX VARCHAR(20))
+RETURNS VARCHAR(250)
+AS
+BEGIN
+ DECLARE @HEADER_CAPTION VARCHAR(30), @VALUE VARCHAR(250), @RESULT VARCHAR(250), @REDUNDANT_ID INTEGER
+ SELECT @HEADER_CAPTION = HEADER_CAPTION FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOCIDX
+ IF @HEADER_CAPTION IS NULL
+ BEGIN
+ SELECT @REDUNDANT_ID = REDUNDANT_ENTITY FROM TBPMO_FORM WHERE GUID = @pENTITY
+ IF @REDUNDANT_ID <> 0
+ SELECT @RESULT = dbo.FNPMO_DOC_GET_IDX(@pDOCID,@REDUNDANT_ID,@DOCIDX)
+ ELSE
+ SET @RESULT = 'NO CONFIGURATION'
+ END
+ ELSE
+ BEGIN
+ SELECT @VALUE = VALUE FROM VWPMO_DOC_INDICES WHERE DocID = @pDOCID AND COLUMN_CAPTION = @HEADER_CAPTION
+ IF @VALUE IS NOT NULL
+ SET @RESULT = @VALUE
+ ELSE
+ SET @RESULT = ''
+ END
+ RETURN @RESULT
+END
+GO
+ALTER TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @ENTITY_ID INTEGER
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @DOC_ID = DOC_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ --Den Defaultvalue der DropdownListe eintragen
+ IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 4) >= 1
+ BEGIN
+ INSERT INTO TBPMO_DOC_VALUES (DocID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT @DOC_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 4
+ END
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ --DECLARE
+ -- @NODE_CONFIG_ID INTEGER,
+ -- @MATERIAL VARCHAR(50)
+
+ --IF @ADDED_WHO <> 'ZSG-IMPORT'
+ -- BEGIN
+ -- SELECT @NODE_CONFIG_ID = NODE_CONFIG_ID FROM TBPMO_STRUCTURE_NODES WHERE GUID = (SELECT NODE_GUID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID )
+ -- IF @NODE_CONFIG_ID IN (7,8,14)
+
+ -- IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = 14 AND RECORD_ID = @RECORD_ID)
+ -- BEGIN
+ -- DECLARE @RECID_LINK INTEGER
+ -- SELECT @MATERIAL = UPPER(LTRIM(RTRIM(VALUE))) FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = 14 AND RECORD_ID = @RECORD_ID
+ -- DECLARE curs_RECORD CURSOR LOCAL FOR
+ -- SELECT RECORD_ID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = 14 AND UPPER(LTRIM(RTRIM(VALUE))) = @MATERIAL AND RECORD_ID <> @RECORD_ID
+ -- OPEN curs_RECORD
+ -- FETCH NEXT FROM curs_RECORD INTO @RECID_LINK
+ -- WHILE @@FETCH_STATUS = 0
+ -- BEGIN
+ -- IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @DOC_ID AND RECORD_ID = @RECID_LINK)
+ -- INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,COMMENT, ADDED_WHO) VALUES
+ -- (@RECID_LINK,@DOC_ID,'MATERIAL INSERT',@ADDED_WHO)
+ -- FETCH NEXT FROM curs_RECORD INTO @RECID_LINK
+ -- END
+
+ -- CLOSE curs_RECORD
+ -- DEALLOCATE curs_RECORD
+ -- END
+ -- END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - 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')
+
+ 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 TABLE TBPMO_RIGHT_USER
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ USER_ID INTEGER NOT NULL,
+ ENTITY_ID INTEGER NOT NULL,
+ EDIT_REC BIT NOT NULL DEFAULT 1,
+ ADD_REC BIT NOT NULL DEFAULT 0,
+ DELETE_REC BIT NOT NULL DEFAULT 0,
+ ADD_DOC BIT NOT NULL DEFAULT 0,
+ READ_ONLY_DOC BIT NOT NULL DEFAULT 0,
+ DELETE_DOC BIT NOT NULL DEFAULT 0,
+ FILES_VISIBLE BIT NOT NULL DEFAULT 1,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME
+ CONSTRAINT PK_TBPMO_RIGHT_USER PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_RIGHT_USER_AFT_UPD ON TBPMO_RIGHT_USER
+FOR UPDATE
+AS
+ UPDATE TBPMO_RIGHT_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHT_USER.GUID = INSERTED.GUID
+GO
+ALTER TABLE TBPMO_KONFIGURATION
+ADD WIKI_STRING VARCHAR(500) NOT NULL DEFAULT ''
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_RESULTFILE](@pDOCID INT, @pRECORDID INT, @DELETE_FILE INT)
+AS
+BEGIN TRY
+ DECLARE @COUNT INT
+ SELECT @COUNT = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOCID
+ IF @COUNT = 1 OR (@DELETE_FILE = 1 AND @COUNT > 1)
+ BEGIN
+ DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID
+ DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID
+ END
+ ELSE IF @COUNT > 1 and @DELETE_FILE = 0
+ BEGIN
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID AND RECORD_ID = @pRECORDID
+ END
+ ELSE IF @DELETE_FILE = 1
+ BEGIN
+ DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID
+ DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID
+ END
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_DEL ON TBPMO_DOCSEARCH_RESULTLIST_CONFIG
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @CONFIG_ID INTEGER,
+ @LANGUAGE VARCHAR(5)
+
+ SELECT
+ @CONFIG_ID = deleted.GUID,
+ @LANGUAGE = deleted.LANGUAGE
+ FROM deleted
+
+ DELETE FROM TBPMO_DOC_VALUES WHERE CONFIG_ID = @CONFIG_ID
+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 TBPMO_DOCRESULT_DROPDOWN_ITEMS
+CREATE TABLE TBPMO_DOCRESULT_DROPDOWN_ITEMS
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1)
+ ,CONFIG_ID INTEGER NOT NULL
+ ,VALUE VARCHAR(100) NOT NULL
+ ,SEQUENCE TINYINT NOT NULL DEFAULT 0
+ ,[DEFAULT] BIT NOT NULL DEFAULT 0
+ ,COLOR VARCHAR(50) NOT NULL DEFAULT ''
+ ,ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT'
+ ,ADDED_WHEN DATETIME DEFAULT GETDATE()
+ ,CHANGED_WHO VARCHAR(50)
+ ,CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_DOCRESULT_DROPDOWN_ITEMS PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_DOCRESULT_DROPDOWN_ITEMSCONFIG_ID FOREIGN KEY (CONFIG_ID) REFERENCES TBPMO_DOCSEARCH_RESULTLIST_CONFIG (GUID),
+ CONSTRAINT UQ_TBPMO_DOCRESULT_DROPDOWN_ITEMS UNIQUE (CONFIG_ID,VALUE),
+ CONSTRAINT UQ2_TBPMO_DOCRESULT_DROPDOWN_ITEMS UNIQUE (CONFIG_ID,[DEFAULT]),
+)
+GO
+CREATE TRIGGER TBPMO_DOCRESULT_DROPDOWN_ITEMS_AFT_UPD ON TBPMO_DOCRESULT_DROPDOWN_ITEMS
+FOR UPDATE
+AS
+ UPDATE TBPMO_DOCRESULT_DROPDOWN_ITEMS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_DROPDOWN_ITEMS.GUID = INSERTED.GUID
+GO
+
+ALTER FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5))
+RETURNS VARCHAR(250)
+AS
+BEGIN
+ DECLARE @HEADER_CAPTION VARCHAR(30),
+ @CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250)
+ SELECT
+ @HEADER_CAPTION = HEADER_CAPTION,
+ @CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE
+ ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE
+
+ IF @HEADER_CAPTION IS NULL
+ SET @RESULT = 'NO DROP-DOWN CONFIGURATION'
+ ELSE
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID
+ IF @VALUE IS NOT NULL
+ SET @RESULT = @VALUE
+ ELSE
+ SET @RESULT = ''
+ END
+ RETURN @RESULT
+END
+GO
+CREATE TABLE TBPMO_CONTROL_ENTITY_LINK
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ORIGIN_CTRL_ID INTEGER NOT NULL,
+ LINKED_CTRL_ID INTEGER NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONTROL_ENTITY_LINK PRIMARY KEY (GUID),
+ CONSTRAINT UNIQUE_ORIGIN_CTRL_ID_LINKED_CONTROL_ID UNIQUE(ORIGIN_CTRL_ID,LINKED_CTRL_ID),
+ CONSTRAINT FK_TBPMO_CONTROL_ENTITY_LINK_ORIGIN_CTRL_ID FOREIGN KEY (ORIGIN_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID),
+ CONSTRAINT FK_TBPMO_CONTROL_ENTITY_LINKED_CONTROL_ID FOREIGN KEY (LINKED_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID),
+)
+GO
+CREATE TRIGGER TBPMO_CONTROL_ENTITY_LINK_AFT_UPD ON TBPMO_CONTROL_ENTITY_LINK
+FOR UPDATE
+AS
+ UPDATE TBPMO_CONTROL_ENTITY_LINK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_ENTITY_LINK.GUID = INSERTED.GUID
+GO
+
+CREATE TABLE TBPMO_CHART_ENTITY
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ENTITY_ID INTEGER NOT NULL,
+ GROUP_ID VARCHAR(50) NOT NULL DEFAULT '',
+ SQL_COMMAND VARCHAR(MAX) NOT NULL,
+ TYPE_CHART VARCHAR(30) NOT NULL,
+ ARGUMENT VARCHAR(30) NOT NULL,
+ VALUE VARCHAR(30) NOT NULL,
+ TITLE VARCHAR(30) NOT NULL DEFAULT '',
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CHART_ENTITY PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CHART_ENTITY_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID),
+)
+GO
+CREATE TRIGGER TBPMO_CHART_ENTITY_AFT_UPD ON TBPMO_CHART_ENTITY
+FOR UPDATE
+AS
+ UPDATE TBPMO_CHART_ENTITY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CHART_ENTITY.GUID = INSERTED.GUID
+GO
+ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS
+SELECT TOP 100 PERCENT
+ W_T.GUID AS WF_TASK_ID
+ ,R.GUID AS WF_ID
+ ,W_T.RECORD_ID
+ ,T.STATE_ID
+ ,T4.GUID FORM_VIEW_ID
+ ,R.DESCRIPTION
+ ,R.MANUALLY
+ ,R.CREATE_ON_REC_CREATE
+ ,R.CREATE_ON_FOLL_UP
+ ,W_T.COMMENT
+ ,W_T.DUE_DATE
+ ,W_T.ADDED_WHEN
+ ,W_T.CHANGED_WHO
+ ,W_T.CHANGED_WHEN
+ ,W_T.TASK_DATE
+ ,T.FINAL
+ ,T.ENTITY_ID
+ ,T5.COLOR
+ ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(W_T.RECORD_ID) AS RECORD_DESCRIPTION
+ ,FINISHED
+FROM
+ TBPMO_WORKFLOW_ENTITY_STATE T,
+ TBPMO_WORKFLOW_TASK W_T
+ ,TBPMO_WORKFLOW R
+ ,TBPMO_FORM T3
+ ,TBPMO_FORM_VIEW T4
+ ,TBPMO_WORKFLOW_TASK_STATE T5
+ ,TBPMO_RECORD REC
+WHERE
+ --W_T.RECORD_ID = 95 AND
+ --TBPMO_WORKFLOW_ENTITY_STATE
+ T.WF_ID = R.GUID AND
+ T.ENTITY_ID = T3.GUID AND
+ T.STATE_ID = T5.GUID AND
+ W_T.RECORD_ID = REC.GUID AND
+ T.ENTITY_ID = REC.FORM_ID AND
+ W_T.WF_ID = R.GUID AND
+ R.GUID = R.GUID AND
+ T3.GUID = T4.FORM_ID AND
+ W_T.STATE_ID = T5.GUID AND
+ T4.SCREEN_ID = 1 AND
+ ((T.FINAL = 1 AND W_T.DUE_DATE IS NULL) OR T.FINAL = 0) AND
+ W_T.ACTIVE = 1
+ORDER BY W_T.RECORD_ID,W_T.GUID
+
+GO
+
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.CAPTION_DOCTYPES.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.CAPTION_DOCTYPES.sql
new file mode 100644
index 0000000..325c20f
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.CAPTION_DOCTYPES.sql
@@ -0,0 +1,57 @@
+DECLARE @ID INTEGER,
+ @SCREEN_ID INT,
+ @DT_TITLE VARCHAR(100),
+ @LANGUAGE VARCHAR(5),
+ @PMO_OBJECT_NAME VARCHAR(100)
+
+DECLARE c_DOKART CURSOR FOR
+SELECT GUID,BEZEICHNUNG, 'de-DE' FROM TBDD_DOKUMENTART
+
+BEGIN
+ OPEN c_DOKART
+ FETCH NEXT FROM c_DOKART INTO @ID, @DT_TITLE,@LANGUAGE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @PMO_OBJECT_NAME = 'DOCTYPE_TITLE' + CONVERT(VARCHAR(5),@ID)
+
+ IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,1,@PMO_OBJECT_NAME,@DT_TITLE)
+
+ FETCH NEXT FROM c_DOKART INTO @ID, @DT_TITLE,@LANGUAGE
+ END
+ CLOSE c_DOKART
+ DEALLOCATE c_DOKART
+
+END
+GO
+DECLARE @ID INTEGER,
+ @SCREEN_ID INT,
+ @DT_TITLE VARCHAR(100),
+ @LANGUAGE VARCHAR(5),
+ @PMO_OBJECT_NAME VARCHAR(100)
+
+DECLARE c_DOKART CURSOR FOR
+SELECT GUID,BEZEICHNUNG, 'en-US' FROM TBDD_DOKUMENTART
+
+BEGIN
+ OPEN c_DOKART
+ FETCH NEXT FROM c_DOKART INTO @ID, @DT_TITLE,@LANGUAGE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @PMO_OBJECT_NAME = 'DOCTYPE_TITLE' + CONVERT(VARCHAR(5),@ID)
+ SET @DT_TITLE = 'Object ' +@PMO_OBJECT_NAME + ' not translated'
+ IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,1,@PMO_OBJECT_NAME,@DT_TITLE)
+
+ FETCH NEXT FROM c_DOKART INTO @ID, @DT_TITLE,@LANGUAGE
+ END
+ CLOSE c_DOKART
+ DEALLOCATE c_DOKART
+
+END
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/3.INSERT_US_FORM_VIEW_CAPTIONS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/3.INSERT_US_FORM_VIEW_CAPTIONS.sql
new file mode 100644
index 0000000..6b3a32b
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/3.INSERT_US_FORM_VIEW_CAPTIONS.sql
@@ -0,0 +1,44 @@
+DECLARE @SCREEN_ID INT,
+ @FORM_VIEW_ID INTEGER,
+ @FORM_TITLE VARCHAR(100),
+ @LANGUAGE VARCHAR(5),
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @CAPTION_TEMP VARCHAR(100)
+
+DECLARE c_FORM_VIEW CURSOR FOR
+SELECT GUID,SCREEN_ID,'FORMVIEW_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,'en-US'
+from TBPMO_FORM_VIEW --WHERE GUID
+--[dbo].[FNPMO_GETOBJECTCAPTION]('en-US','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), SCREEN_ID) = 'CAPTION (OBJ) NOT TRANSLATED'
+
+
+
+BEGIN
+ OPEN c_FORM_VIEW
+ FETCH NEXT FROM c_FORM_VIEW INTO @FORM_VIEW_ID,@SCREEN_ID,@PMO_OBJECT_NAME,@LANGUAGE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT CAPTION FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE)
+ BEGIN
+ --SELECT @CAPTION_TEMP = 'Not translated ' + FORM_TITLE FROM TBPMO_FORM_VIEW WHERE GUID = @FORM_VIEW_ID
+ PRINT 'UPDATE: ' + @CAPTION_TEMP
+ --UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @CAPTION_TEMP WHERE GUID = (
+ --SELECT GUID FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ --LANGUAGE_TYPE = 'de-DE'
+ --)
+ END
+ ELSE
+ BEGIN
+ SELECT @CAPTION_TEMP = 'Not translated ' + FORM_TITLE FROM TBPMO_FORM_VIEW WHERE GUID = @FORM_VIEW_ID
+ PRINT 'INSERT: ' + @CAPTION_TEMP + '#' + CONVERT(VARCHAR(5),@FORM_VIEW_ID)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT
+ (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION_TEMP)
+ END
+ FETCH NEXT FROM c_FORM_VIEW INTO @FORM_VIEW_ID,@SCREEN_ID,@PMO_OBJECT_NAME,@LANGUAGE
+ END
+ CLOSE c_FORM_VIEW
+ DEALLOCATE c_FORM_VIEW
+
+END
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/4.INSERT_DE_FORM_VIEW_CAPTIONS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/4.INSERT_DE_FORM_VIEW_CAPTIONS.sql
new file mode 100644
index 0000000..89f866a
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/4.INSERT_DE_FORM_VIEW_CAPTIONS.sql
@@ -0,0 +1,48 @@
+DECLARE @GUID INTEGER,
+ @SCREEN_ID INT,
+ @FORM_VIEW_ID INTEGER,
+ @FORM_TITLE VARCHAR(100),
+ @LANGUAGE VARCHAR(5),
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @CAPTION_TEMP VARCHAR(100)
+
+DECLARE c_FORM_VIEW CURSOR FOR
+SELECT GUID,SCREEN_ID,'FORMVIEW_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,'de-DE'
+from TBPMO_FORM_VIEW --WHERE GUID --WHERE GUID = 3
+--[dbo].[FNPMO_GETOBJECTCAPTION]('en-US','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), SCREEN_ID) = 'CAPTION (OBJ) NOT TRANSLATED'
+
+BEGIN
+ OPEN c_FORM_VIEW
+ FETCH NEXT FROM c_FORM_VIEW INTO @FORM_VIEW_ID,@SCREEN_ID,@PMO_OBJECT_NAME,@LANGUAGE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE @CAPTION VARCHAR(50)
+ IF EXISTS(SELECT CAPTION FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE)
+ BEGIN
+ --SELECT @CAPTION = CAPTION FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ --LANGUAGE_TYPE = @LANGUAGE
+
+ --PRINT 'SELECT CAPTION FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = ' + @PMO_OBJECT_NAME + ' AND LANGUAGE_TYPE = ' + @LANGUAGE
+ --SELECT @CAPTION_TEMP = 'Not translated ' + FORM_TITLE FROM TBPMO_FORM_VIEW WHERE GUID = @FORM_VIEW_ID
+ PRINT 'UPDATE: ' + @CAPTION_TEMP
+ --UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @CAPTION_TEMP WHERE GUID = (
+ --SELECT GUID FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ --LANGUAGE_TYPE = 'de-DE'
+ --)
+ END
+ ELSE
+ BEGIN
+ SELECT @CAPTION_TEMP = FORM_TITLE FROM TBPMO_FORM_VIEW WHERE GUID = @FORM_VIEW_ID
+ PRINT 'INSERT: ' + @CAPTION_TEMP + '#' + CONVERT(VARCHAR(5),@FORM_VIEW_ID)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT
+ (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION_TEMP)
+ END
+ FETCH NEXT FROM c_FORM_VIEW INTO @FORM_VIEW_ID,@SCREEN_ID,@PMO_OBJECT_NAME,@LANGUAGE
+ END
+ CLOSE c_FORM_VIEW
+ DEALLOCATE c_FORM_VIEW
+
+END
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/2.4.4.2_Update.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/2.4.4.2_Update.sql
new file mode 100644
index 0000000..da3f9de
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/2.4.4.2_Update.sql
@@ -0,0 +1,13 @@
+/*#################### Update 2.4.4.2 #########################*/
+CREATE TABLE TBPMO_CONSTRUCTOR_USER
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONSTRUCT_ID INTEGER NOT NULL,
+ [USER_ID] INTEGER NOT NULL,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_CID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID),
+ CONSTRAINT FK_TTBPMO_CONSTRUCTOR_USER_UID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
+)
+GO
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/CONTROLS_LANGUAGE_US.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/CONTROLS_LANGUAGE_US.sql
new file mode 100644
index 0000000..d6838d2
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/CONTROLS_LANGUAGE_US.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.3/2.4.4.3 - Update.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.3/2.4.4.3 - Update.sql
new file mode 100644
index 0000000..864bf24
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.3/2.4.4.3 - Update.sql
@@ -0,0 +1,30 @@
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_CONTROL](@pCONTROL_ID INT)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID)
+ DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_FUNCTION_GENERAL WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_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].[PRPMO_RECORD_CREATE_WORKFLOWTASKS](@RECORD_ID INTEGER)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID
+ INSERT INTO TBPMO_WORKFLOW_TASK (RECORD_ID,WF_ID,STATE_ID,ACTIVE)
+ SELECT @RECORD_ID, T.WF_ID,1,1 FROM TBPMO_WORKFLOW_FORM T, TBPMO_RECORD T1 WHERE T.FORM_ID = T1.FORM_ID AND T1.GUID = @RECORD_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
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Brainpool/Update.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Brainpool/Update.sql
new file mode 100644
index 0000000..c59c05d
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Brainpool/Update.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Update_2.4.4.4.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Update_2.4.4.4.sql
new file mode 100644
index 0000000..7bde31a
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Update_2.4.4.4.sql
@@ -0,0 +1,588 @@
+ALTER TABLE TBDD_MODULES
+ADD PRODUCT_VERSION VARCHAR(10) NOT NULL DEFAULT '1.0.0.0'
+GO
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.4' where NAME = 'Record-Organizer'
+GO
+ALTER VIEW [dbo].[VWPMO_GUI_ENTITY] AS
+SELECT TOP 100 PERCENT
+ TBPMO_FORM.GUID AS ID,
+ TBPMO_FORM.PARENT_ID,
+ TBPMO_FORM.LEVEL,
+ TBPMO_FORM.FORM_TYPE_ID,
+ TBPMO_FORM.NAME AS Name,
+ TBPMO_FORM_VIEW.GUID As FormViewID,
+ TBPMO_FORM_VIEW.FORM_TITLE AS Title
+FROM
+ TBPMO_FORM INNER JOIN
+ TBPMO_FORM_VIEW ON TBPMO_FORM.GUID = TBPMO_FORM_VIEW.FORM_ID
+WHERE
+ (TBPMO_FORM.FORM_TYPE_ID IN (1, 2, 3, 5))
+ORDER BY
+ TBPMO_FORM.PARENT_ID, Title
+GO
+
+CREATE TABLE TBPMO_WORKFLOW_ENTITY_STATE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ WF_ID INTEGER NOT NULL,
+ ENTITY_ID INTEGER NOT NULL,
+ STATE_ID INTEGER NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_WORKFLOW_ENTITY_STATE PRIMARY KEY (GUID),
+ CONSTRAINT UNIQUE_ENTITY_ID_STATE_ID UNIQUE(WF_ID,ENTITY_ID,STATE_ID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_WORKFLOW_TASK_STATE_DELETE
+ON TBPMO_WORKFLOW_TASK_STATE
+FOR DELETE
+AS
+ DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE STATE_ID = (
+ SELECT GUID FROM DELETED)
+GO
+
+CREATE TABLE TBPMO_WORKFLOW_TASK
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ RECORD_ID INTEGER NOT NULL,
+ WF_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(500),
+ DUE_DATE DATE,
+ TASK_DATE DATE,
+ STATE_ID INTEGER NOT NULL DEFAULT 1,
+ ACTIVE 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_WORKFLOW_TASK PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_TASK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_TASK_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_TASK_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_ENTITY_STATE (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_WORKFLOW_TASK_AFT_UPD ON TBPMO_WORKFLOW_TASK
+FOR UPDATE
+AS
+ UPDATE TBPMO_WORKFLOW_TASK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID
+GO
+--###############################################################################
+CREATE TABLE TBPMO_WORKFLOW_TASK_USER
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ WF_TASK_ID INTEGER NOT NULL,
+ [USER_ID] INTEGER NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ CONSTRAINT PK_TBPMO_WF_TASK_USER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WF_TASK_USER_WF_TASK_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID),
+ CONSTRAINT FK_TBPMO_WF_TASK_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
+)
+GO
+
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER)
+AS
+BEGIN
+ DECLARE
+ @WF_ID INTEGER,
+ @TITLE VARCHAR(50),
+ @SEQUENCE INTEGER,
+ @MELDUNG VARCHAR(250)--,
+ --@STATE_ID INTEGER
+
+ DECLARE c_TASK CURSOR FOR
+ SELECT T.WF_ID
+ FROM TBPMO_WORKFLOW_FORM T, TBPMO_WORKFLOW T1
+ WHERE T.WF_ID = T1.GUID AND
+ T.FORM_ID = @FORM_ID ORDER BY T.SEQUENCE
+
+ OPEN c_TASK
+ FETCH NEXT FROM c_TASK INTO @WF_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ --SELECT @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID
+ --IF @STATE_ID IS NOT NULL
+ BEGIN
+ --INSERT DES TASKS
+ INSERT INTO TBPMO_WORKFLOW_TASK(
+ RECORD_ID,
+ WF_ID,
+ ACTIVE,
+ STATE_ID)
+ VALUES (
+ @RECORD_ID,
+ @WF_ID,
+ 1,
+ 1)
+ END
+
+ FETCH NEXT FROM c_TASK INTO @WF_ID
+ END
+ CLOSE c_TASK
+ DEALLOCATE c_TASK
+ END
+
+
+GO
+
+
+ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @STATE_DESC VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @STATE_DESC = STATE_DESC,
+ @SCREEN_ID = 1,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO
+
+ SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_WORKFLOW_TASK_STATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK_STATE.GUID = INSERTED.GUID
+
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @STATE_DESC,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @STATE_DESC VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @STATE_DESC = STATE_DESC,
+ @SCREEN_ID = 1,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO)
+ SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID)
+ IF @LANGUAGE is not null
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC,@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+DECLARE @GUID INTEGER,
+ @SCREEN_ID INT,
+ @FORM_VIEW_ID INTEGER,
+ @FORM_TITLE VARCHAR(100),
+ @LANGUAGE VARCHAR(5),
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @CAPTION VARCHAR(100)
+
+DECLARE c_STATE CURSOR FOR
+SELECT GUID,1,'en-US','WF_STATE_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,STATE_DESC
+from TBPMO_WORKFLOW_TASK_STATE
+UNION
+SELECT GUID,1,'de-DE','WF_STATE_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,STATE_DESC
+from TBPMO_WORKFLOW_TASK_STATE ORDER BY GUID
+
+
+BEGIN
+ OPEN c_STATE
+ FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@LANGUAGE,@PMO_OBJECT_NAME,@CAPTION
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = @LANGUAGE)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT
+ (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION)
+
+ FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@LANGUAGE,@PMO_OBJECT_NAME,@CAPTION
+ END
+ CLOSE c_STATE
+ DEALLOCATE c_STATE
+
+END
+GO
+--'#####################################################
+ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @TITLE = TITLE,
+ @SCREEN_ID = 1,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO
+
+ SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_WORKFLOW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW.GUID = INSERTED.GUID
+
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN Trigger: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+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].[TBPMO_WORKFLOW_AFT_INS] ON [dbo].[TBPMO_WORKFLOW]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @TITLE = TITLE,
+ @SCREEN_ID = 1,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @ADDED_WHO
+ SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+DECLARE @GUID INTEGER,
+ @SCREEN_ID INT,
+ @TITLE VARCHAR(100),
+ @LANGUAGE VARCHAR(5),
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @CAPTION VARCHAR(100)
+
+DECLARE c_STATE CURSOR FOR
+SELECT GUID,1,'en-US','TASK_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,TITLE
+from TBPMO_WORKFLOW
+UNION
+SELECT GUID,1,'de-DE','TASK_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,TITLE
+from TBPMO_WORKFLOW ORDER BY GUID
+
+
+BEGIN
+ OPEN c_STATE
+ FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@LANGUAGE,@PMO_OBJECT_NAME,@CAPTION
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = @LANGUAGE)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT
+ (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION)
+
+ FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@LANGUAGE,@PMO_OBJECT_NAME,@CAPTION
+ END
+ CLOSE c_STATE
+ DEALLOCATE c_STATE
+
+END
+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
+
+ --Überprüfen ob für die Entity_ID Workflows definiert sind?
+ IF EXISTS(
+ SELECT * FROM TBPMO_WORKFLOW_FORM where FORM_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
+GO
+
+ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS
+SELECT TOP 100 PERCENT
+ T.GUID AS WF_TASK_ID,
+ T.WF_ID ,
+ T1.TITLE,
+ T.RECORD_ID,
+ T.STATE_ID,
+ T2.STATE_DESC,
+ T2.COLOR,
+ T.COMMENT,
+ T.DUE_DATE,
+ T.TASK_DATE,
+ '' AS USERNAME,
+ T.ADDED_WHEN,
+ T.CHANGED_WHO,
+ T.CHANGED_WHEN
+FROM
+ TBPMO_WORKFLOW_TASK AS T,
+ TBPMO_WORKFLOW AS T1,
+ TBPMO_WORKFLOW_TASK_STATE T2
+WHERE
+ T.WF_ID = T1.GUID AND
+ T.STATE_ID = T2.GUID
+ORDER BY T.GUID
+GO
+
+ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @SCREEN_ID = SCREEN_ID,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO)
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID
+
+ IF @LANGUAGE is not null
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_INS] ON [dbo].[TBPMO_FORM_VIEW]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @SCREEN_ID = SCREEN_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO)
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+ IF @LANGUAGE is not null
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
+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_FORM_CONSTRUCTOR_AFT_INS] ON [dbo].[TBPMO_FORM_CONSTRUCTOR]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO)
+
+ SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID)
+ IF @LANGUAGE is not null
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
+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_FORM_CONSTRUCTOR_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTRUCTOR]
+FOR UPDATE
+AS
+BEGIN
+ DECLARE @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5), @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @LANGUAGE = [LANGUAGE],
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO)
+
+ SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID)
+ IF @LANGUAGE is not null
+ UPDATE TBPMO_FORM_CONSTRUCTOR SET CHANGED_WHEN = GETDATE()
+ FROM INSERTED WHERE TBPMO_FORM_CONSTRUCTOR.GUID = INSERTED.GUID
+
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1
+ ELSE
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE)
+END
+GO
+
+ALTER TABLE TBPMO_CONSTRUCTOR_USER
+ADD HOME_MENUE BIT NOT NULL DEFAULT 1
+GO
+ALTER TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS] ON [dbo].[TBPMO_FORM_CONSTRUCTOR_DETAIL]
+FOR INSERT
+AS
+DECLARE @CONSTRUCT_ID INTEGER,
+ @PARENT_ID INTEGER,
+ @EXISTS as INTEGER
+BEGIN
+ SELECT @CONSTRUCT_ID = CONSTRUCT_ID, @PARENT_ID = PARENT_ID FROM INSERTED
+ IF @PARENT_ID = 0
+ BEGIN
+ SELECT @EXISTS = COUNT(*) FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @CONSTRUCT_ID AND PARENT_ID = @PARENT_ID
+ IF @EXISTS > 1
+ BEGIN
+ ROLLBACK TRANSACTION
+ RAISERROR('ONLY ONE FORM WITH PARENT_ID 0 IS ALLOWED WITHIN CONSTRUCT-ID',16,10)
+ END
+ END
+END
+GO
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5.sql
new file mode 100644
index 0000000..3d2a531
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5.sql
@@ -0,0 +1,1049 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.5' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBDD_USER_GROUPS
+ADD COMMENT VARCHAR(200)
+GO
+ALTER VIEW [dbo].[VWDD_USER2GROUP] AS
+SELECT TOP 100 PERCENT T.GUID, T.USERNAME, T2.GUID as GROUP_ID, T2.NAME, T2.COMMENT
+FROM TBDD_USER T, TBDD_GROUPS_USER T1, TBDD_USER_GROUPS T2
+WHERE
+ T.GUID = T1.USER_ID AND
+ T1.GROUP_ID = T2.GUID
+ORDER BY T.USERNAME
+
+GO
+IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_FORM', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_FORM
+IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_TASK_USER', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_TASK_USER
+IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_TASK', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_TASK
+CREATE TABLE TBPMO_WORKFLOW_TASK
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ RECORD_ID INTEGER NOT NULL,
+ WF_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(500),
+ DUE_DATE DATE,
+ TASK_DATE DATE,
+ STATE_ID INTEGER NOT NULL,
+ ACTIVE 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_WORKFLOW_TASK PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_TASK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_TASK_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_TASK_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_WORKFLOW_TASK_AFT_UPD ON TBPMO_WORKFLOW_TASK
+FOR UPDATE
+AS
+ UPDATE TBPMO_WORKFLOW_TASK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID
+GO
+--###############################################################################
+CREATE TABLE TBPMO_WORKFLOW_TASK_USER
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ WF_TASK_ID INTEGER NOT NULL,
+ [USER_ID] INTEGER NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ CONSTRAINT PK_TBPMO_WF_TASK_USER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WF_TASK_USER_WF_TASK_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID),
+ CONSTRAINT FK_TBPMO_WF_TASK_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
+)
+GO
+CREATE TABLE TBPMO_WORKFLOW_ENTITY_STATE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ENTITY_ID INTEGER NOT NULL,
+ WF_ID INTEGER NOT NULL,
+ STATE_ID INTEGER NOT NULL,
+ FINAL BIT NOT NULL DEFAULT 0,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_WORKFLOW_ENTITY_STATE PRIMARY KEY (GUID),
+ CONSTRAINT UNIQUE_ENTITY_ID_WF_ID_STATE_ID UNIQUE(ENTITY_ID,WF_ID,STATE_ID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID)
+)
+GO
+ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @TITLE = TITLE,
+ @SCREEN_ID = 1,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO
+
+ SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_WORKFLOW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW.GUID = INSERTED.GUID
+
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN Trigger: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+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_WORKFLOW_AFT_INS] ON [dbo].[TBPMO_WORKFLOW]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @TITLE = TITLE,
+ @SCREEN_ID = 1,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @ADDED_WHO
+ SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE VIEW VWPMO_WORKFLOW_ENTITY_STATE AS
+SELECT
+ T.GUID,
+ T.ENTITY_ID,
+ T3.GUID as FV_ID,
+ T3.FORM_TITLE,
+ T.WF_ID,
+ T4.TITLE AS WF_TITLE,
+ T2.GUID AS STATE_ID,
+ T2.STATE_DESC,
+ T.FINAL
+FROM
+ TBPMO_WORKFLOW_ENTITY_STATE T,
+ TBPMO_FORM T1,
+ TBPMO_WORKFLOW_TASK_STATE T2,
+ TBPMO_FORM_VIEW T3,
+ TBPMO_WORKFLOW T4
+WHERE
+ T.ENTITY_ID = T1.GUID AND
+ T.STATE_ID = T2.GUID AND
+ T1.GUID = T3.FORM_ID AND
+ T.WF_ID = T4.GUID AND
+ T3.SCREEN_ID = 1
+GO
+CREATE TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @USER_ID INTEGER,
+ @CLIENT_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @CLIENT_COUNT INTEGER
+ SELECT
+ @USER_ID = GUID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT
+ IF @CLIENT_COUNT = 1
+ BEGIN
+ SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT
+ INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES
+ (@USER_ID,@CLIENT_COUNT,@ADDED_WHO)
+ END
+
+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 TBPMO_CONSTRUCTOR_USER
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONSTRUCT_ID INTEGER NOT NULL,
+ [USER_ID] INTEGER NOT NULL,
+ HOME_MENUE BIT NOT NULL DEFAULT 1,
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_CID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID),
+ CONSTRAINT FK_TTBPMO_CONSTRUCTOR_USER_UID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
+)
+GO
+CREATE TABLE TBPMO_CLIENT_ENTITY
+(
+ GUID INTEGER IDENTITY(0,1),
+ CLIENT_ID INTEGER NOT NULL,
+ ENTITY_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(200),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_CLIENT_ENTITY PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_ENTITY_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_ENTITY_ENTITY_ID FOREIGN KEY([ENTITY_ID]) REFERENCES TBPMO_FORM(GUID)
+)
+GO
+CREATE TABLE TBPMO_CLIENT_CONSTRUCTOR
+(
+ GUID INTEGER IDENTITY(0,1),
+ CLIENT_ID INTEGER NOT NULL,
+ CONSTRUCT_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(200),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_CLIENT_CONSTRUCTOR PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CONSTRUCT_ID FOREIGN KEY(CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR(GUID)
+)
+GO
+CREATE TABLE TBPMO_CLIENT_DOCTYPE
+(
+ GUID INTEGER IDENTITY(0,1),
+ CLIENT_ID INTEGER NOT NULL,
+ DOCTYPE_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(200),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_CLIENT_DOCTYPE PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID)
+)
+GO
+CREATE FUNCTION FNPMO_GET_CONTROL_VALUES (@pCONTROL_ID INTEGER, @pRECORD_ID INTEGER)
+RETURNS VARCHAR(1000)
+AS
+BEGIN
+ DECLARE
+ @RESULT VARCHAR(MAX),
+ @TEMP_VALUE VARCHAR(MAX)
+
+
+ DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID = @pRECORD_ID
+
+
+ BEGIN
+ OPEN c_RESULT
+ FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF LEN(@RESULT) > 0
+ SET @RESULT = @RESULT + ';' + @TEMP_VALUE
+ ELSE
+ SET @RESULT = @TEMP_VALUE
+ FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
+ END
+
+ CLOSE c_RESULT
+ DEALLOCATE c_RESULT
+
+ RETURN(@RESULT)
+ END
+END
+GO
+ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS
+SELECT TOP 100 PERCENT
+ T.GUID AS WF_TASK_ID,
+ T2.GUID AS WF_ENT_GUID,
+ T.WF_ID ,
+ T1.TITLE,
+ T.RECORD_ID,
+ T.STATE_ID,
+ T2.STATE_DESC,
+ T2.COLOR,
+ T.COMMENT,
+ T.DUE_DATE,
+ T.TASK_DATE,
+ '' AS USERNAME,
+ T.ADDED_WHEN,
+ T.CHANGED_WHO,
+ T.CHANGED_WHEN
+FROM
+ TBPMO_WORKFLOW_TASK AS T,
+ TBPMO_WORKFLOW AS T1,
+ TBPMO_WORKFLOW_TASK_STATE T2
+WHERE
+ T.WF_ID = T1.GUID AND
+ T.STATE_ID = T2.GUID
+ORDER BY T.GUID
+GO
+
+ALTER PROCEDURE PRPMO_CREATE_SQL(@pFORM_ID INT)
+AS
+DECLARE @COL_NAME VARCHAR(50),
+ @SQL_BEGIN VARCHAR(1000),
+ @SQL_END VARCHAR(2000),
+ @SQL VARCHAR(5000),
+ @CONTROL_ID INT,
+ @RESULT VARCHAR(8000),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @SQL_LBL VARCHAR(2000)
+
+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
+ SELECT @SQL_BEGIN = SQL_RECORD_SQL1, @SQL_END = SQL_RECORD_SQL2 FROM TBPMO_KONFIGURATION WHERE GUID = 1 --T2.ADDED_WHO,T2.ADDED_WHEN, T2.CHANGED_WHO, T2.CHANGED_WHEN
+
+ 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','')
+ IF LEN(ISNULL(@SQL,'')) = 0
+ BEGIN
+ IF @TYPEID = 10 OR @TYPEID = 11
+ 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
+ ELSE IF @TYPEID = 6
+ 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
+ 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
+ PRINT 'SQL für Label: ' + @SQL_LBL
+ END
+ ELSE IF @TYPEID = 12 OR @TYPEID = 7
+ SET @SQL = '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
+ ELSE
+ 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
+ END
+ ELSE
+ BEGIN
+ IF (@TYPEID = 10) OR (@TYPEID = 11)
+ 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
+ ELSE IF @TYPEID = 6
+ 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
+ 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
+ PRINT 'SQL1 für Label: ' + @SQL_LBL
+ PRINT @SQL
+ END
+ ELSE IF @TYPEID = 12 OR @TYPEID = 7
+ SET @SQL = @SQL + '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
+ ELSE
+ 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
+ END
+
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX
+ END
+
+ CLOSE c_SPALTENNAMEN
+ DEALLOCATE c_SPALTENNAMEN
+
+ SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
+
+ 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
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER)
+AS
+BEGIN
+ DECLARE
+ @WF_ID INTEGER,
+ @TITLE VARCHAR(50),
+ @SEQUENCE INTEGER,
+ @MELDUNG VARCHAR(250),
+ @STATE_ID INTEGER
+
+ DECLARE c_TASK CURSOR FOR
+ SELECT DISTINCT WF_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID
+ OPEN c_TASK
+ FETCH NEXT FROM c_TASK INTO @WF_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ SELECT @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID AND GUID = (SELECT MIN(GUID) FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID)
+ --IF @STATE_ID IS NOT NULL
+ BEGIN
+ --INSERT DES TASKS
+ INSERT INTO TBPMO_WORKFLOW_TASK(
+ RECORD_ID,
+ WF_ID,
+ ACTIVE,
+ STATE_ID)
+ VALUES (
+ @RECORD_ID,
+ @WF_ID,
+ 1,
+ @STATE_ID)
+ END
+
+ FETCH NEXT FROM c_TASK INTO @WF_ID
+ END
+ CLOSE c_TASK
+ DEALLOCATE c_TASK
+ END
+GO
+
+DELETE FROM TBPMO_WORKFLOW_TASK_USER
+GO
+DELETE FROM TBPMO_WORKFLOW_TASK
+GO
+
+BEGIN
+ DECLARE
+ @REC_ID INTEGER,
+ @ENT_ID INTEGER
+
+
+ DECLARE c_RECTASKS CURSOR FOR
+ SELECT GUID,FORM_ID FROM TBPMO_RECORD WHERE FORM_ID IN (SELECT DISTINCT ENTITY_ID FROM TBPMO_WORKFLOW_ENTITY_STATE)
+ OPEN c_RECTASKS
+ FETCH NEXT FROM c_RECTASKS INTO @REC_ID,@ENT_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE @return_value int
+ EXEC @return_value = [dbo].[PRPMO_CREATE_WF_TASKS]
+ @FORM_ID = @ENT_ID,
+ @RECORD_ID = @REC_ID
+ --SELECT 'Return Value' = @return_value
+
+ FETCH NEXT FROM c_RECTASKS INTO @REC_ID,@ENT_ID
+ END
+ CLOSE c_RECTASKS
+ DEALLOCATE c_RECTASKS
+ END
+ GO
+CREATE VIEW VWPMO_WORKFLOW_ENTITY_STATE AS
+SELECT
+ T.GUID,
+ T.ENTITY_ID,
+ T3.GUID as FV_ID,
+ T3.FORM_TITLE,
+ T.WF_ID,
+ T4.TITLE AS WF_TITLE,
+ T2.GUID AS STATE_ID,
+ T2.STATE_DESC,
+ T.FINAL
+FROM
+ TBPMO_WORKFLOW_ENTITY_STATE T,
+ TBPMO_FORM T1,
+ TBPMO_WORKFLOW_TASK_STATE T2,
+ TBPMO_FORM_VIEW T3,
+ TBPMO_WORKFLOW T4
+WHERE
+ T.ENTITY_ID = T1.GUID AND
+ T.STATE_ID = T2.GUID AND
+ T1.GUID = T3.FORM_ID AND
+ T.WF_ID = T4.GUID AND
+ T3.SCREEN_ID = 1
+GO
+CREATE TABLE TBDD_CLIENT
+(
+ GUID INTEGER IDENTITY(0,1),
+ CLIENT_NAME VARCHAR(50) NOT NULL UNIQUE,
+ SHORTNAME VARCHAR(30),
+ COMMENT VARCHAR(200),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBDD_CLIENT PRIMARY KEY (GUID)
+)
+GO
+INSERT INTO TBDD_CLIENT(CLIENT_NAME,SHORTNAME) VALUES
+('DEFAULT','DEF')
+GO
+
+CREATE TRIGGER TBDD_CLIENT_AFT_UPD ON TBDD_CLIENT
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBDD_CLIENT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_CLIENT.GUID = INSERTED.GUID
+END
+GO
+CREATE TABLE TBDD_CLIENT_USER
+(
+ GUID INTEGER IDENTITY(0,1),
+ [USER_ID] INT NOT NULL,
+ CLIENT_ID INT NOT NULL,
+ COMMENT VARCHAR(200),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBDD_CLIENT_USER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBDD_CLIENT_USER_GROUP_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
+ CONSTRAINT FK_TBDD_CLIENT_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID),
+)
+GO
+CREATE TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @USER_ID INTEGER,
+ @CLIENT_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @CLIENT_COUNT INTEGER
+ SELECT
+ @USER_ID = GUID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT
+ IF @CLIENT_COUNT = 1
+ BEGIN
+ SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT
+ INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES
+ (@USER_ID,@CLIENT_COUNT,@ADDED_WHO)
+ END
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+DROP VIEW VWPMO_WORKFLOW_FORM
+GO
+
+IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_FORM', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_FORM
+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
+
+ --Überprüfen ob für die Entity_ID Workflows definiert sind?
+ IF EXISTS(
+ SELECT DISTINCT GUID FROM TBPMO_WORKFLOW_ENTITY_STATE where 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
+GO
+CREATE FUNCTION FNPMO_GET_CONTROL_VALUES (@pCONTROL_ID INTEGER, @pRECORD_ID INTEGER)
+RETURNS VARCHAR(1000)
+AS
+BEGIN
+ DECLARE
+ @RESULT VARCHAR(MAX),
+ @TEMP_VALUE VARCHAR(MAX)
+
+
+ DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID = @pRECORD_ID
+
+
+ BEGIN
+ OPEN c_RESULT
+ FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF LEN(@RESULT) > 0
+ SET @RESULT = @RESULT + ';' + @TEMP_VALUE
+ ELSE
+ SET @RESULT = @TEMP_VALUE
+ FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
+ END
+
+ CLOSE c_RESULT
+ DEALLOCATE c_RESULT
+
+ RETURN(@RESULT)
+ END
+END
+GO
+ALTER TABLE TBDD_GROUPS_USER
+ADD CONSTRAINT UC_USER_GROUP UNIQUE (USER_ID,GROUP_ID)
+GO
+CREATE TABLE TBPMO_CLIENT_ENTITY
+(
+ GUID INTEGER IDENTITY(0,1),
+ CLIENT_ID INTEGER NOT NULL,
+ ENTITY_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(200),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_CLIENT_ENTITY PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_ENTITY_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_ENTITY_ENTITY_ID FOREIGN KEY([ENTITY_ID]) REFERENCES TBPMO_FORM(GUID)
+)
+GO
+CREATE TABLE TBPMO_CLIENT_CONSTRUCTOR
+(
+ GUID INTEGER IDENTITY(0,1),
+ CLIENT_ID INTEGER NOT NULL,
+ CONSTRUCT_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(200),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_CLIENT_CONSTRUCTOR PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CONSTRUCT_ID FOREIGN KEY(CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR(GUID)
+)
+GO
+ALTER TRIGGER [dbo].[TBPMO_FORM_AFT_INS] ON [dbo].[TBPMO_FORM]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_ID INTEGER,
+ @FORM_TYPE INTEGER,
+ @ADDED_WHO VARCHAR(50)
+ --@SQL_RECORD1 VARCHAR(500),
+ --@SQL_RECORD2 VARCHAR(500)
+ SELECT
+ @FORM_ID = GUID,
+ @FORM_TYPE = FORM_TYPE_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ IF @FORM_TYPE = 5
+ BEGIN
+ INSERT INTO TBPMO_CONTROL (
+ FORM_ID, CONTROL_TYPE_ID, DEFAULT_VALUE, NAME, [COL_NAME]) VALUES (
+ @FORM_ID,2,'GROUP_RECORD','txtGROUP_RECORD','GROUP_RECORD')
+ DECLARE @CTRL_ID INTEGER
+ SELECT @CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID
+ INSERT INTO TBPMO_CONTROL_SCREEN (
+ CONTROL_ID, SCREEN_ID, CONTROL_TEXT, X_LOC, Y_LOC, HEIGHT, WIDTH, TAB_INDEX) VALUES (
+ @CTRL_ID, 1, 'GROUP_RECORD', 5, 5, 22, 100,1)
+ END
+
+ EXEC dbo.PRPMO_CREATE_SQL @FORM_ID
+ EXEC dbo.PRPMO_CREATE_TEMP_VIEWS
+
+ INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID)
+ SELECT T.CLIENT_ID,@FORM_ID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO)
+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
+ALTER TRIGGER TBPMO_FORM_CONSTRUCTOR_AFT_INS ON [dbo].[TBPMO_FORM_CONSTRUCTOR]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO)
+
+ SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID)
+ IF @LANGUAGE is not null
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
+
+ INSERT INTO TBPMO_CLIENT_CONSTRUCTOR (CLIENT_ID,CONSTRUCT_ID)
+ SELECT T.CLIENT_ID,@GUID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID)
+ SELECT T.GUID,T2.GUID FROM TBDD_CLIENT T, TBPMO_FORM T2 WHERE T.GUID = 1 ORDER BY T2.GUID,T.GUID
+GO
+INSERT INTO TBPMO_CLIENT_CONSTRUCTOR (CLIENT_ID,CONSTRUCT_ID)
+ SELECT T.GUID,T2.GUID FROM TBDD_CLIENT T, TBPMO_FORM_CONSTRUCTOR T2 WHERE T.GUID = 1 ORDER BY T2.GUID,T.GUID
+GO
+CREATE TABLE TBPMO_CONSTRUCTOR_USER_SQL
+(
+ GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel,
+ CONSTR_DET_ID INTEGER NOT NULL,
+ USER_ID INTEGER NOT NULL,
+ SQL_COMMAND VARCHAR(4000),
+ SQL_COMMAND1 VARCHAR(4000),
+ SQL_COMMAND2 VARCHAR(4000),
+ ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER_SQL_USER PRIMARY KEY(GUID),
+ CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_SQL_CONSTR_DET_ID FOREIGN KEY(CONSTR_DET_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL(GUID),
+ CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_SQL_USER_ID FOREIGN KEY(USER_ID) REFERENCES TBDD_USER(GUID)
+)
+GO
+ALTER PROCEDURE PRPMO_COPY_ENTITY(@pFORM_ID INT, @pADDEDWHO VARCHAR(50))
+AS
+DECLARE
+ @NEW_FORM_ID INT,
+ @PARENT_ID INT,
+ @NAME VARCHAR(100),
+ @LEVEL VARCHAR(10),
+ @SHOW_FORM_CONSTR BIT,
+ @FORM_TYPE_ID INT,
+ @CONTROL_GUID INTEGER,
+ @CONTROL_TYPE_ID INT,
+ @CONTROL_NAME VARCHAR(100)
+ ,@COL_NAME VARCHAR(100)
+ ,@REQUIRED BIT
+ ,@DEFAULT_VALUE VARCHAR(100)
+ ,@SQL_COMMAND_1 VARCHAR(2000)
+ ,@SQL_COMMAND_2 VARCHAR(2000)
+ ,@CONNECTION_ID_1 SMALLINT
+ ,@CONNECTION_ID_2 SMALLINT
+ ,@READ_ONLY BIT
+ ,@VALIDATION BIT
+ ,@MULTILINE BIT
+ ,@PARENT_CONTROL_ID INT
+ ,@MASTER_DATA_ID INT
+ ,@FORMAT_TYPE VARCHAR(50)
+ ,@SHOW_COLUMN BIT
+ ,@STATIC_LIST VARCHAR(2000)
+
+ SELECT @PARENT_ID = PARENT_ID, @NAME = 'COPY_' + NAME,@LEVEL = [LEVEL],@SHOW_FORM_CONSTR = SHOW_FORM_CONSTRUCT, @FORM_TYPE_ID = FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = @pFORM_ID
+
+ INSERT INTO TBPMO_FORM (
+ PARENT_ID,NAME,LEVEL,ADDED_WHO,SHOW_FORM_CONSTRUCT,FORM_TYPE_ID) VALUES (
+ @PARENT_ID,@NAME,@LEVEL,@pADDEDWHO,@SHOW_FORM_CONSTR,@FORM_TYPE_ID)
+
+ SELECT @NEW_FORM_ID = MAX(GUID) FROM TBPMO_FORM
+ INSERT INTO TBPMO_FORM_VIEW (FORM_ID, SCREEN_ID, FORM_TITLE, DESCRIPTION, ADDED_WHO) VALUES
+ (@NEW_FORM_ID, 1, 'UNDEFINED_FORMTITLE', '', @pADDEDWHO)
+
+DECLARE c_CONTROL CURSOR FOR SELECT GUID,[CONTROL_TYPE_ID]
+ ,'COPY_' + [NAME]
+ ,[COL_NAME]
+ ,[REQUIRED]
+ ,[DEFAULT_VALUE]
+ ,[SQL_COMMAND_1]
+ ,[SQL_COMMAND_2]
+ ,[CONNECTION_ID_1]
+ ,[CONNECTION_ID_2]
+ ,[READ_ONLY]
+ ,[VALIDATION]
+ ,[MULTILINE]
+ ,[PARENT_CONTROL_ID]
+ ,[MASTER_DATA_ID]
+ ,[FORMAT_TYPE]
+ ,[SHOW_COLUMN],STATIC_LIST FROM TBPMO_CONTROL WHERE FORM_ID = @pFORM_ID ORDER BY PARENT_CONTROL_ID
+
+
+BEGIN
+ OPEN c_CONTROL
+ FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID,
+ @CONTROL_NAME
+ ,@COL_NAME
+ ,@REQUIRED
+ ,@DEFAULT_VALUE
+ ,@SQL_COMMAND_1
+ ,@SQL_COMMAND_2
+ ,@CONNECTION_ID_1
+ ,@CONNECTION_ID_2
+ ,@READ_ONLY
+ ,@VALIDATION
+ ,@MULTILINE
+ ,@PARENT_CONTROL_ID
+ ,@MASTER_DATA_ID
+ ,@FORMAT_TYPE
+ ,@SHOW_COLUMN
+ ,@STATIC_LIST
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @PARENT_CONTROL_ID > 0
+ BEGIN
+ DECLARE @CTRLNAME VARCHAR(100)
+ SELECT @CTRLNAME = 'COPY_' + [NAME] FROM TBPMO_CONTROL WHERE GUID = @PARENT_CONTROL_ID
+ PRINT 'PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID)
+ PRINT '@CTRLNAME = ' + @CTRLNAME
+ SELECT @PARENT_CONTROL_ID = GUID FROM TBPMO_CONTROL WHERE NAME = @CTRLNAME AND FORM_ID = @NEW_FORM_ID
+ PRINT 'NEW PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID)
+ END
+
+ INSERT INTO TBPMO_CONTROL (
+ FORM_ID
+ ,[CONTROL_TYPE_ID]
+ ,[NAME]
+ ,[COL_NAME]
+ ,[REQUIRED]
+ ,[DEFAULT_VALUE]
+ ,[SQL_COMMAND_1]
+ ,[SQL_COMMAND_2]
+ ,[CONNECTION_ID_1]
+ ,[CONNECTION_ID_2]
+ ,[READ_ONLY]
+ ,[VALIDATION]
+ ,[MULTILINE]
+ ,[PARENT_CONTROL_ID]
+ ,[MASTER_DATA_ID]
+ ,[FORMAT_TYPE]
+ ,[SHOW_COLUMN]
+ ,[STATIC_LIST]
+ ,ADDED_WHO
+ ) VALUES (
+ @NEW_FORM_ID
+ ,@CONTROL_TYPE_ID
+ ,@CONTROL_NAME
+ ,@COL_NAME
+ ,@REQUIRED
+ ,@DEFAULT_VALUE
+ ,@SQL_COMMAND_1
+ ,@SQL_COMMAND_2
+ ,@CONNECTION_ID_1
+ ,@CONNECTION_ID_2
+ ,@READ_ONLY
+ ,@VALIDATION
+ ,@MULTILINE
+ ,@PARENT_CONTROL_ID
+ ,@MASTER_DATA_ID
+ ,@FORMAT_TYPE
+ ,@SHOW_COLUMN
+ ,@STATIC_LIST
+ ,@pADDEDWHO
+ )
+ DECLARE @NEW_CONTROLID INTEGER
+ SELECT @NEW_CONTROLID = MAX(GUID) FROM TBPMO_CONTROL
+
+ DECLARE
+ @SCREEN_ID INTEGER
+ ,@CONTROL_TEXT VARCHAR(100)
+ ,@X_LOC FLOAT
+ ,@Y_LOC FLOAT
+ ,@HEIGHT INTEGER
+ ,@WIDTH INTEGER
+ ,@FONT_FAMILY VARCHAR(50)
+ ,@FONT_COLOR INTEGER
+ ,@FONT_SIZE INTEGER
+ ,@FONT_STYLE INTEGER
+ ,@TAB_INDEX INTEGER
+ ,@TAB_STOP BIT
+ ,@BACK_COLOR INTEGER
+
+ SELECT @SCREEN_ID = [SCREEN_ID], @CONTROL_TEXT = [CONTROL_TEXT],@X_LOC = [X_LOC],
+ @Y_LOC = [Y_LOC],@HEIGHT = [HEIGHT], @WIDTH = [WIDTH],@FONT_FAMILY = [FONT_FAMILY],
+ @FONT_COLOR = [FONT_COLOR], @FONT_SIZE = [FONT_SIZE],@FONT_STYLE = [FONT_STYLE],
+ @TAB_INDEX = [TAB_INDEX], @TAB_STOP = [TAB_STOP], @BACK_COLOR = [BACK_COLOR] FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @CONTROL_GUID
+ INSERT INTO TBPMO_CONTROL_SCREEN (
+ CONTROL_ID,
+ SCREEN_ID
+ ,CONTROL_TEXT
+ ,X_LOC
+ ,Y_LOC
+ ,HEIGHT
+ ,WIDTH
+ ,FONT_FAMILY
+ ,FONT_COLOR
+ ,FONT_SIZE
+ ,FONT_STYLE
+ ,TAB_INDEX
+ ,TAB_STOP
+ ,BACK_COLOR
+ ,ADDED_WHO)
+ VALUES(
+ @NEW_CONTROLID
+ ,@SCREEN_ID
+ ,@CONTROL_TEXT
+ ,@X_LOC
+ ,@Y_LOC
+ ,@HEIGHT
+ ,@WIDTH
+ ,@FONT_FAMILY
+ ,@FONT_COLOR
+ ,@FONT_SIZE
+ ,@FONT_STYLE
+ ,@TAB_INDEX
+ ,@TAB_STOP
+ ,@BACK_COLOR
+ ,@pADDEDWHO
+ )
+
+
+ FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID,
+ @CONTROL_NAME
+ ,@COL_NAME
+ ,@REQUIRED
+ ,@DEFAULT_VALUE
+ ,@SQL_COMMAND_1
+ ,@SQL_COMMAND_2
+ ,@CONNECTION_ID_1
+ ,@CONNECTION_ID_2
+ ,@READ_ONLY
+ ,@VALIDATION
+ ,@MULTILINE
+ ,@PARENT_CONTROL_ID
+ ,@MASTER_DATA_ID
+ ,@FORMAT_TYPE
+ ,@SHOW_COLUMN
+ ,@STATIC_LIST
+ END
+
+ CLOSE c_CONTROL
+ DEALLOCATE c_CONTROL
+END
+GO
+------------------------------------------------------------------------------
+CREATE TRIGGER TBPMO_CONSTRUCTOR_USER_SQL_AFT_UPD ON TBPMO_CONSTRUCTOR_USER_SQL
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBPMO_CONSTRUCTOR_USER_SQL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONSTRUCTOR_USER_SQL.GUID = INSERTED.GUID
+END
+GO
+GRANT EXECUTE ON [dbo].[PRDD_COPY_RECORD] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_AFTER_UPDATE_VALUES] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_COPY_ENTITY] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_CREATE_CONSTRUCTOR] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_CREATE_QUICK_SQL] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_CREATE_SQL] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_CREATE_TEMP_VIEWS] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_DELETE_CONTROL] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[PRPMO_RECORD_CREATE_WORKFLOWTASKS] TO [DD_ECM]
+GO
+GRANT EXECUTE ON [dbo].[FNPMO_GET_CONTROL_VALUES] TO [DD_ECM]
+GO
+CREATE FUNCTION [dbo].[FN_SPLIT_STRING]
+(
+ @Input NVARCHAR(MAX),
+ @Character CHAR(1)
+)
+RETURNS @Output TABLE (
+ Item NVARCHAR(1000)
+)
+AS
+BEGIN
+ DECLARE @StartIndex INT, @EndIndex INT
+
+ SET @StartIndex = 1
+ IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character
+ BEGIN
+ SET @Input = @Input + @Character
+ END
+
+ WHILE CHARINDEX(@Character, @Input) > 0
+ BEGIN
+ SET @EndIndex = CHARINDEX(@Character, @Input)
+
+ INSERT INTO @Output(Item)
+ SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1)
+
+ SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input))
+ END
+
+ RETURN
+END
+GO
+ALTER TABLE [dbo].[TBPMO_CONTROL_VALUE] DROP CONSTRAINT [UQ_CONTROLID_RECORDID]
+GO
+CREATE TABLE TBPMO_CLIENT_DOCTYPE
+(
+ GUID INTEGER IDENTITY(0,1),
+ CLIENT_ID INTEGER NOT NULL,
+ DOCTYPE_ID INTEGER NOT NULL,
+ COMMENT VARCHAR(200),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_CLIENT_DOCTYPE PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID)
+)
+GO
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5_Split_String.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5_Split_String.sql
new file mode 100644
index 0000000..c5906fd
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5_Split_String.sql
@@ -0,0 +1,78 @@
+CREATE FUNCTION [dbo].[FN_SPLIT_STRING]
+(
+ @Input NVARCHAR(MAX),
+ @Character CHAR(1)
+)
+RETURNS @Output TABLE (
+ Item NVARCHAR(1000)
+)
+AS
+BEGIN
+ DECLARE @StartIndex INT, @EndIndex INT
+
+ SET @StartIndex = 1
+ IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character
+ BEGIN
+ SET @Input = @Input + @Character
+ END
+
+ WHILE CHARINDEX(@Character, @Input) > 0
+ BEGIN
+ SET @EndIndex = CHARINDEX(@Character, @Input)
+
+ INSERT INTO @Output(Item)
+ SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1)
+
+ SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input))
+ END
+
+ RETURN
+END
+
+GO
+
+--FUNKTION ZUR AKTUALISIERUNG der DATEN
+
+
+BEGIN
+ DECLARE
+ @GUID INTEGER,
+ @CONTROL_ID INTEGER,
+ @RECORD_ID INTEGER,
+ @VALUE VARCHAR(MAX),
+ @NEW_VALUE VARCHAR(MAX),
+ @INDEX INTEGER,
+ @ADDED_WHO VARCHAR(50)
+
+ DECLARE c_Values CURSOR FOR
+ SELECT GUID,CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO FROM TBPMO_CONTROL_VALUE WHERE VALUE LIKE '%;%' AND CONTROL_ID NOT IN (SELECT GUID FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID = 2) ORDER BY RECORD_ID,CONTROL_ID
+ OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @GUID,@CONTROL_ID,@RECORD_ID,@VALUE,@ADDED_WHO
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @INDEX = 0
+ --#####
+ DECLARE c_NEWVALUES CURSOR FOR
+ SELECT Item FROM dbo.FN_SPLIT_STRING(@VALUE, ';')
+ OPEN c_NEWVALUES
+ FETCH NEXT FROM c_NEWVALUES INTO @NEW_VALUE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @NEW_VALUE = LTRIM(@NEW_VALUE)
+ IF @INDEX = 0
+ UPDATE TBPMO_CONTROL_VALUE SET VALUE = @NEW_VALUE WHERE GUID = @GUID
+ ELSE
+ INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES
+ (@CONTROL_ID,@RECORD_ID,@NEW_VALUE,@ADDED_WHO)
+ PRINT CONVERT(VARCHAR(5),@CONTROL_ID) + '#' + CONVERT(VARCHAR(5),@INDEX) + '-' + @NEW_VALUE
+ SET @INDEX = @INDEX + 1
+ FETCH NEXT FROM c_NEWVALUES INTO @NEW_VALUE
+ END
+ CLOSE c_NEWVALUES
+ DEALLOCATE c_NEWVALUES
+ --#####
+ FETCH NEXT FROM c_Values INTO @GUID,@CONTROL_ID,@RECORD_ID,@VALUE,@ADDED_WHO
+ END
+ CLOSE c_Values
+ DEALLOCATE c_Values
+ END
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.6.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.6.sql
new file mode 100644
index 0000000..e079d8c
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.6.sql
@@ -0,0 +1,606 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.6' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBPMO_WD_OBJECTTYPE
+ADD IDXNAME_RECORDID VARCHAR(100)
+GO
+ALTER TABLE TBPMO_WD_OBJECTTYPE
+ADD IDXNAME_DOCTYPE VARCHAR(100)
+GO
+CREATE FUNCTION [dbo].[FNPMO_GET_ENTITY_COLUMN_CONTENT](@pRECORD_ID INTEGER)
+RETURNS VARCHAR(2500)
+AS
+BEGIN
+ DECLARE
+ @COLUMN1 VARCHAR(100),
+ @ENTITY INTEGER, @CONTROL_ID INTEGER, @RESULT VARCHAR(2500)
+
+ SELECT @ENTITY = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+
+ SELECT @COLUMN1 = COLUMN_NAME1 FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @ENTITY
+ SELECT @CONTROL_ID = GUID FROm TBPMO_CONTROL WHERE COL_NAME = @COLUMN1
+ SELECT @RESULT = VALUE FROM VWPMO_VALUES WHERE RECORD_ID = @pRECORD_ID AND CONTROL_ID = @CONTROL_ID
+ RETURN(@RESULT)
+END
+
+GO
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT)
+AS
+BEGIN TRY
+ IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL
+ DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL
+ DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID
+
+ DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER WHERE GUID = @pUSER_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].[PRPMO_DELETE_DOCTYPE](@pDOCID INT)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID
+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 FUNCTION [dbo].[FNPMO_GETOBJECTCAPTION](@pLANG_TYPE VARCHAR(5), @pOBJ_NAME VARCHAR(100), @pSCREEN_ID INT)
+RETURNS VARCHAR(100)
+AS
+BEGIN
+ DECLARE @PMOOBJ_CAPTION VARCHAR(100)
+
+ SELECT @PMOOBJ_CAPTION = CAPTION FROM
+ TBPMO_LANGUAGE_OBJECT AS T
+ WHERE
+ T.LANGUAGE_TYPE = @pLANG_TYPE AND
+ T.SCREEN_ID = @pSCREEN_ID AND
+ T.PMO_OBJECT_NAME = @pOBJ_NAME
+
+ IF @PMOOBJ_CAPTION is null AND @pLANG_TYPE <> 'de-DE'
+ SELECT @PMOOBJ_CAPTION = CAPTION FROM
+ TBPMO_LANGUAGE_OBJECT AS T
+ WHERE
+ T.LANGUAGE_TYPE = 'de-DE' AND
+ T.SCREEN_ID = @pSCREEN_ID AND
+ T.PMO_OBJECT_NAME = @pOBJ_NAME
+
+
+ RETURN(ISNULL(@PMOOBJ_CAPTION,'CAPTION (OBJ) NOT TRANSLATED'))
+END
+GO
+
+ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @STATE_DESC VARCHAR(50),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @STATE_DESC = STATE_DESC,
+ @SCREEN_ID = 1,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC,@ADDED_WHO)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC,@ADDED_WHO)
+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_WORKFLOW_AFT_INS] ON [dbo].[TBPMO_WORKFLOW]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @TITLE = TITLE,
+ @SCREEN_ID = 1,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @ADDED_WHO
+ SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO)
+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_FORM_VIEW_AFT_INS] ON [dbo].[TBPMO_FORM_VIEW]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @SCREEN_ID = SCREEN_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO)
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+DECLARE @GUID INTEGER,
+ @SCREEN_ID INT,
+ @TITLE VARCHAR(100),
+ @LANGUAGE VARCHAR(5),
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @CAPTION VARCHAR(100)
+
+DECLARE c_STATE CURSOR FOR
+SELECT GUID,1,'WF_STATE_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,STATE_DESC
+from TBPMO_WORKFLOW_TASK_STATE
+
+BEGIN
+ OPEN c_STATE
+ FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@PMO_OBJECT_NAME,@CAPTION
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = 'de-DE')
+ INSERT INTO TBPMO_LANGUAGE_OBJECT
+ (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION)
+ IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = 'en-US')
+ INSERT INTO TBPMO_LANGUAGE_OBJECT
+ (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION)
+
+ FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@PMO_OBJECT_NAME,@CAPTION
+ END
+ CLOSE c_STATE
+ DEALLOCATE c_STATE
+
+END
+GO
+DECLARE @GUID INTEGER,
+ @SCREEN_ID INT,
+ @TITLE VARCHAR(100),
+ @LANGUAGE VARCHAR(5),
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @CAPTION VARCHAR(100)
+
+DECLARE c_STATE CURSOR FOR
+SELECT GUID,1,'FORMVIEW_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME, FORM_TITLE
+from TBPMO_FORM_VIEW
+SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+BEGIN
+ OPEN c_STATE
+ FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@PMO_OBJECT_NAME,@CAPTION
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = 'de-DE')
+ INSERT INTO TBPMO_LANGUAGE_OBJECT
+ (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION)
+ IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = 'en-US')
+ INSERT INTO TBPMO_LANGUAGE_OBJECT
+ (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION)
+
+ FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@PMO_OBJECT_NAME,@CAPTION
+ END
+ CLOSE c_STATE
+ DEALLOCATE c_STATE
+END
+GO
+DECLARE @GUID INTEGER,
+ @SCREEN_ID INT,
+ @TITLE VARCHAR(100),
+ @LANGUAGE VARCHAR(5),
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @CAPTION VARCHAR(100)
+
+DECLARE c_STATE CURSOR FOR
+SELECT GUID,1,'TASK_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME, TITLE FROM TBPMO_WORKFLOW
+
+BEGIN
+ OPEN c_STATE
+ FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@PMO_OBJECT_NAME,@CAPTION
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = 'de-DE')
+ INSERT INTO TBPMO_LANGUAGE_OBJECT
+ (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION)
+ IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = 'en-US')
+ INSERT INTO TBPMO_LANGUAGE_OBJECT
+ (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION)
+
+ FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@PMO_OBJECT_NAME,@CAPTION
+ END
+ CLOSE c_STATE
+ DEALLOCATE c_STATE
+END
+GO
+CREATE TABLE TBPMO_WD_IMPORT_PROFILE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ NAME VARCHAR(100) NOT NULL,
+ WD_SEARCH VARCHAR(1000) NOT NULL,
+ UNIQUE_DOC_SQL VARCHAR(5000),
+ SQL_DOCTYPE VARCHAR(5000) NOT NULL DEFAULT 'select GUID from TBDD_DOKUMENTART where BEZEICHNUNG = ''@DOKTYPE_STRING''',
+ SQL_PARENT_RECORD VARCHAR(5000) NOT NULL DEFAULT '',
+ NEW_OBJECTTYPE VARCHAR(100) NOT NULL,
+ OLD_OBJECTTYPE VARCHAR(100) NOT NULL,
+ IDX_FILE_WORKED VARCHAR(100) NOT NULL DEFAULT '',
+ ONLY_RECORD_CREATING BIT NOT NULL DEFAULT 0,
+ ENTITY_ID INTEGER NOT NULL,
+ CONNECTION_ID INTEGER,
+ ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_WD_IMPORT_PROFILE PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_AFT_UPD ON TBPMO_WD_IMPORT_PROFILE
+FOR UPDATE
+AS
+ UPDATE TBPMO_WD_IMPORT_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_IMPORT_PROFILE.GUID = INSERTED.GUID
+GO
+
+CREATE TABLE TBPMO_WD_IMPORT_PROFILE_IDX
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ PROFILE_ID INTEGER NOT NULL,
+ STRING1 VARCHAR(200) NOT NULL,
+ STRING2 VARCHAR(200) NOT NULL,
+ SQL1 VARCHAR(5000),
+ SQL2 VARCHAR(5000),
+ ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_WD_IMPORT_PROFILE_IDX PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WD_IMPORT_PROFILE_IDX_1 FOREIGN KEY (PROFILE_ID) REFERENCES TBPMO_WD_IMPORT_PROFILE (GUID),
+)
+GO
+CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_IDX_AFT_UPD ON TBPMO_WD_IMPORT_PROFILE_IDX
+FOR UPDATE
+AS
+ UPDATE TBPMO_WD_IMPORT_PROFILE_IDX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_IMPORT_PROFILE_IDX.GUID = INSERTED.GUID
+GO
+
+CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_AFT_INS ON TBPMO_WD_IMPORT_PROFILE
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @GUID INTEGER,@ADDED_WHO VARCHAR(50)
+ SELECT
+ @GUID = GUID,@ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES
+ (@GUID,'DOCTYPE_ORIGIN','SET INDEXNAME',@ADDED_WHO)
+ INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES
+ (@GUID,'INDEX_DOCTYPE','SET INDEXNAME',@ADDED_WHO)
+ INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES
+ (@GUID,'INDEX_RECORD_ID','SET INDEXNAME',@ADDED_WHO)
+ INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES
+ (@GUID,'INDEX_ENTITY_ID','SET INDEXNAME',@ADDED_WHO)
+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 TBDD_DOKUMENTART_AFT_INS2 ON TBDD_DOKUMENTART
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @ADDED_WHO VARCHAR(50),
+ @OBJEKTTYP VARCHAR(50),
+ @GUID INTEGER
+ SELECT
+ @GUID = GUID,
+ @ADDED_WHO = ERSTELLTWER,
+ @OBJEKTTYP = OBJEKTTYP
+ FROM INSERTED
+
+ INSERT INTO TBPMO_CLIENT_DOCTYPE (CLIENT_ID,DOCTYPE_ID)
+ SELECT T.CLIENT_ID,@GUID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO)
+
+ IF OBJECT_ID(N'dbo.TBPMO_WD_OBJECTTYPE', N'U') IS NOT NULL
+ IF @OBJEKTTYP IS NOT NULL
+ IF @OBJEKTTYP <> ''
+ BEGIN
+ DECLARE @IDX_DOC VARCHAR(50),@IDX_REC VARCHAR(50)
+ SELECT @IDX_DOC = IDXNAME_DOCTYPE,
+ @IDX_REC = IDXNAME_RECORDID FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = @OBJEKTTYP
+ IF @IDX_REC IS NOT NULL
+ INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES
+ (@GUID,@IDX_REC,'@Record-ID',1,@ADDED_WHO)
+ IF @IDX_DOC IS NOT NULL
+ INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES
+ (@GUID,@IDX_DOC,'@Dokart',1,@ADDED_WHO)
+ END
+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 TBDD_DOKUMENTART_AFT_UPD ON TBDD_DOKUMENTART
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @DA_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @DA_TITLE = BEZEICHNUNG,
+ @SCREEN_ID = 1,
+ @CHANGED_WHO = GEANDERTWER
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO)
+ SET @PMO_OBJECT_NAME = 'DOCTYPE_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBDD_DOKUMENTART SET GEAENDERTWANN = GETDATE() FROM INSERTED
+ WHERE TBDD_DOKUMENTART.GUID = INSERTED.GUID
+ IF UPDATE (BEZEICHNUNG)
+ BEGIN
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @DA_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@DA_TITLE)
+ END
+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 TBPMO_FORM_VIEW_AFT_UPD ON TBPMO_FORM_VIEW
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @SCREEN_ID = SCREEN_ID,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO)
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID
+ IF UPDATE (FORM_TITLE)
+ BEGIN
+ IF @LANGUAGE is not null
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+ END
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE FUNCTION [dbo].[FNPMO_GET_ENTITY_COLUMN_CONTENT](@pRECORD_ID INTEGER)
+RETURNS VARCHAR(2500)
+AS
+BEGIN
+ DECLARE
+ @COLUMN1 VARCHAR(100),
+ @ENTITY INTEGER, @CONTROL_ID INTEGER, @RESULT VARCHAR(2500)
+
+ SELECT @ENTITY = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+
+ SELECT @COLUMN1 = COLUMN_NAME1 FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @ENTITY
+ SELECT @CONTROL_ID = GUID FROm TBPMO_CONTROL WHERE COL_NAME = @COLUMN1
+ SELECT @RESULT = VALUE FROM VWPMO_VALUES WHERE RECORD_ID = @pRECORD_ID AND CONTROL_ID = @CONTROL_ID
+ RETURN(@RESULT)
+END
+GO
+GRANT EXECUTE ON [dbo].[FNPMO_GET_ENTITY_COLUMN_CONTENT] TO [DD_ECM] WITH GRANT OPTION
+GO
+ALTER VIEW VWPMO_WF_ACTIVE AS
+SELECT
+ T.GUID AS WF_TASK_ID
+ ,T1.GUID AS WF_ID
+ ,T.RECORD_ID
+ ,T.STATE_ID
+ ,T4.GUID FORM_VIEW_ID
+ ,T.COMMENT
+ ,T.DUE_DATE
+ ,T.ADDED_WHEN
+ ,T.CHANGED_WHO
+ ,T.CHANGED_WHEN
+ ,T.TASK_DATE
+ ,T2.FINAL
+ ,T2.ENTITY_ID
+ ,T5.COLOR
+ ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(T.RECORD_ID) AS RECORD_DESCRIPTION
+ --,(SELECT COLUMN_NAME1 FROM ))
+ --, @USER AS USERNAME
+FROM
+ TBPMO_WORKFLOW_TASK T
+ ,TBPMO_WORKFLOW T1
+ ,TBPMO_WORKFLOW_ENTITY_STATE T2
+ ,TBPMO_FORM T3
+ ,TBPMO_FORM_VIEW T4
+ ,TBPMO_WORKFLOW_TASK_STATE T5
+WHERE
+ T.WF_ID = T1.GUID AND
+ T1.GUID = T1.GUID AND
+ T2.WF_ID = t1.GUID AND
+ T2.ENTITY_ID = T3.GUID AND
+ T2.STATE_ID = T.STATE_ID AND
+ T3.GUID = T4.FORM_ID AND
+ T.STATE_ID = T5.GUID AND
+ T4.SCREEN_ID = 1 AND
+ ((T2.FINAL = 1 AND T.DUE_DATE IS NULL) OR T2.FINAL = 0) AND
+ T.ACTIVE = 1
+GO
+CREATE PROCEDURE PRPMO_DELETE_RECORD(@pRECORD_ID INT)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_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
+GRANT EXECUTE ON [dbo].[PRPMO_DELETE_RECORD] TO [DD_ECM]
+GO
+CREATE TABLE TBPMO_RIGHT_GROUP
+(
+ GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel
+ ENTITY_ID INTEGER NOT NULL,
+ GROUP_ID INTEGER NOT NULL,
+ EDIT_REC BIT NOT NULL DEFAULT 1,
+ ADD_REC BIT NOT NULL DEFAULT 1,
+ DELETE_REC BIT NOT NULL DEFAULT 0,
+ ADD_DOC BIT NOT NULL DEFAULT 1,
+ VIEW_DOC BIT NOT NULL DEFAULT 1,
+ DELETE_DOC BIT NOT NULL DEFAULT 0,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_RIGHT_GROUP PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_RIGHT_GROUP_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID),
+ CONSTRAINT FK_TBPMO_RIGHT_GROUP_GROUP_ID FOREIGN KEY (GROUP_ID) REFERENCES TBDD_USER_GROUPS (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_RIGHT_GROUP_AFT_UPD ON TBPMO_RIGHT_GROUP
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBPMO_RIGHT_GROUP SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_RIGHT_GROUP.GUID = INSERTED.GUID
+END
+GO
+
+--DECLARE @GROUPID INT
+
+--DECLARE c_GROUPS CURSOR FOR SELECT GUID FROM TBDD_USER_GROUPS
+
+--BEGIN
+-- OPEN c_GROUPS
+-- FETCH NEXT FROM c_GROUPS INTO @GROUPID
+
+-- WHILE @@FETCH_STATUS = 0
+-- BEGIN
+-- IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHT_GROUP WHERE ENTITY_ID = 93 AND GROUP_ID = @GROUPID)
+-- INSERT INTO TBPMO_RIGHT_GROUP (ENTITY_ID,GROUP_ID,ADDED_WHO) VALUES (93,@GROUPID,'Digital Data')
+
+-- FETCH NEXT FROM c_GROUPS INTO @GROUPID
+-- END
+
+-- CLOSE c_GROUPS
+-- DEALLOCATE c_GROUPS
+--END
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.7.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.7.sql
new file mode 100644
index 0000000..ff7181a
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.7.sql
@@ -0,0 +1,52 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.7' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
+ADD CONTROL_DOCTYPE_MATCH INTEGER NOT NULL DEFAULT '0'
+GO
+ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
+ADD SQL_RIGHT_READ_AND_VIEW_ONLY VARCHAR(5000) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
+ADD SQL_QUICK_VIEW VARCHAR(MAX) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
+ADD LOAD_DIRECT BIT NOT NULL DEFAULT 0
+GO
+ALTER VIEW 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
+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 IN_WORK BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_RECORD
+ADD IN_WORK_WHO VARCHAR(100)
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.8.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.8.sql
new file mode 100644
index 0000000..74a458c
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.8.sql
@@ -0,0 +1,90 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.8' where NAME = 'Record-Organizer'
+GO
+ALTER VIEW VWPMO_CONTROL_SCREEN AS
+SELECT TOP 100 PERCENT
+ T.GUID CONTROL_ID,
+ T.NAME CONTROL_NAME,
+ T.REQUIRED CONTROL_REQUIRED,
+ T.DEFAULT_VALUE CONTROL_DEF_VALUE,
+ T.READ_ONLY CONTROL_READ_ONLY,
+ T.MULTILINE CONTROL_MULTILINE,
+ T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
+ T.COL_NAME CONTROL_COL_NAME,
+ T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
+ T.CONNECTION_ID_1 CONTROL_CONNID_1,
+ T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
+ T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2,
+ T.STATIC_LIST CONTROL_STATIC_LIST,
+ T4.GUID CTRLTYPE_ID,
+ T4.TYPE_NAME CTRLTYPE_NAME,
+ T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
+ T.FORM_ID,
+ T3.NAME FORM_NAME,
+ T3.LEVEL FORM_LEVEL,
+ T1.SCREEN_ID SCREEN_ID,
+ T2.NAME SCREEN_NAME,
+ T1.GUID CTRLSCR_ID,
+ T1.CONTROL_TEXT CTRLSCR_CAPTION,
+ T1.X_LOC CTRLSCR_X_LOC,
+ T1.Y_LOC CTRLSCR_Y_LOC,
+ T1.HEIGHT CTRLSCR_HEIGHT,
+ T1.WIDTH CTRLSCR_WIDTH,
+ T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
+ T1.FONT_COLOR CTRLSCR_FONT_COLOR,
+ T1.FONT_SIZE CTRLSCR_FONT_SIZE,
+ T1.FONT_STYLE CTRLSCR_FONT_STYLE,
+ T1.TAB_INDEX CTRLSCR_TAB_INDEX,
+ T1.TAB_STOP CTRLSCR_TAB_STOP,
+ T1.BACK_COLOR CTRLSCR_BACK_COLOR,
+ T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
+FROM
+ TBPMO_CONTROL T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_SCREEN T2,
+ TBPMO_FORM T3,
+ TBPMO_CONTROL_TYPE T4
+WHERE
+ T.FORM_ID = T3.GUID AND
+ T.GUID = T1.CONTROL_ID AND
+ T1.SCREEN_ID = T2.GUID AND
+ T.CONTROL_TYPE_ID = T4.GUID
+ORDER BY
+ T1.SCREEN_ID,
+ T.FORM_ID,
+ T1.TAB_STOP
+GO
+ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
+ADD SQL_RIGHT_WINDREAM_VIEW VARCHAR(5000) NOT NULL DEFAULT ''
+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
+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
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.9.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.9.sql
new file mode 100644
index 0000000..3a4e420
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.9.sql
@@ -0,0 +1,373 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.9' where NAME = 'Record-Organizer'
+GO
+CREATE TABLE TBPMO_SAP_FUBA
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ NAME VARCHAR(100) NOT NULL,
+ COMMENT VARCHAR(500),
+ Method VARCHAR(50) NOT NULL DEFAULT 'TABLE',
+ TableName VARCHAR(100) NOT NULL,
+ Host VARCHAR(100) NOT NULL,
+ SystemNumber VARCHAR(30) NOT NULL,
+ UserName VARCHAR(50) NOT NULL,
+ [Password] VARCHAR(100) NOT NULL,
+ Client VARCHAR(100) NOT NULL,
+ [Language] VARCHAR(20) NOT NULL,
+ TempTableName VARCHAR(100) NOT NULL,
+ FuBa_SplitCharacter VARCHAR(1) NOT NULL DEFAULT ';',
+ WHERE_CLAUSE VARCHAR(500),
+ ACTIVE 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_SAP_FUBA PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_SAP_FUBA_AFT_UPD ON TBPMO_SAP_FUBA
+FOR UPDATE
+AS
+ UPDATE TBPMO_SAP_FUBA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SAP_FUBA.GUID = INSERTED.GUID
+GO
+INSERT INTO TBPMO_CONTROL_TYPE (TYPE_NAME) VALUES ('DatagridviewCheckable')
+GO
+CREATE TRIGGER TBPMO_SAP_FUBA_AFT_UPD ON TBPMO_SAP_FUBA
+FOR UPDATE
+AS
+ UPDATE TBPMO_SAP_FUBA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SAP_FUBA.GUID = INSERTED.GUID
+GO
+
+
+ALTER VIEW VWPMO_CONTROL_HINT AS
+SELECT
+ T2.FORM_ID,
+ T1.CONTROL_ID,
+ T.HINT
+FROM
+ TBPMO_CONTROL_LANGUAGE T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_CONTROL T2
+WHERE
+ T.CONTROL_SCREEN_ID = T1.GUID
+ AND T1.CONTROL_ID = T2.GUID
+ AND T1.SCREEN_ID = 1
+ AND (HINT IS NOT NULL AND HINT <> '')
+GO
+
+ALTER TABLE TBDD_USER
+ADD WAN_ENVIRONMENT BIT NOT NULL DEFAULT 0
+GO
+UPDATE TBDD_USER SET WAN_ENVIRONMENT = 1
+
+GO
+--RENAME TBDD_EMAIL_ACCOUNT in OLD
+CREATE TABLE TBDD_EMAIL_ACCOUNT
+(
+ GUID INTEGER IDENTITY(0,1),
+ NAME VARCHAR(50),
+ EMAIL_FROM VARCHAR(100) NOT NULL,
+ EMAIL_SMTP VARCHAR(100) NOT NULL,
+ EMAIL_USER VARCHAR(100) NOT NULL,
+ EMAIL_PW VARCHAR(100) NOT NULL DEFAULT '',
+ PORT INTEGER NOT NULL DEFAULT '25',
+ ACTIVE BIT NOT NULL DEFAULT 1,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBDD_EMAIL_ACCOUNT PRIMARY KEY (GUID)
+)
+GO
+DROP TRIGGER TBDD_EMAIL_ACCOUNT_AFT_UPD
+GO
+CREATE TRIGGER TBDD_EMAIL_ACCOUNT_AFT_UPD ON TBDD_EMAIL_ACCOUNT
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBDD_EMAIL_ACCOUNT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_EMAIL_ACCOUNT.GUID = INSERTED.GUID
+END
+GO
+
+INSERT INTO TBDD_EMAIL_ACCOUNT (NAME,
+ EMAIL_FROM,
+ EMAIL_SMTP ,
+ EMAIL_USER,
+ EMAIL_PW,
+ ACTIVE) SELECT NAME,
+ EMAIL_FROM,
+ EMAIL_SMTP ,
+ EMAIL_USER,
+ EMAIL_PW,
+ ACTIVE FROM TBDD_EMAIL_ACCOUNT_OLD
+
+ALTER TABLE TBPMO_FOLLOW_UP_EMAIL
+ADD CTRL_USER_DIRECT INTEGER NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_FOLLOW_UP_EMAIL
+ADD CTRL_GROUP_DIRECT INTEGER NOT NULL DEFAULT 0
+GO
+ALTER VIEW VWPMO_FOLLOW_UP_EMAIL AS
+SELECT
+ T1.GUID FOLLOW_UP_ID,
+ T1.NAME,
+ T1.FOLLOW_UP_SEQUENCE,
+ T1.FOLLOW_UP_DAYS,
+ T1.FOLLOW_UP_TIME_SPAN,
+ CONVERT(CHAR(5),GETDATE(),108) NOW_TIME,
+ T.RECORD_ID,
+ CONVERT(DATE,T.VALUE) VALUE,
+ T1.EMAIL_SUBJECT,
+ T1.EMAIL_BODY,
+ T1.PROCESS_SELECT1,
+ T1.PROCESS_SELECT2,
+ T1.PROCESS_SELECT3,
+ T1.PROCESS_SELECT4,
+ T1.PROCESS_SELECT5,
+ T1.PROCESS_SELECT6,
+ T1.PROCESS_SELECT7,
+ T1.PROCESS_SELECT8,
+ T1.PROCESS_SELECT9,
+ T1.PROCESS_SELECT10,
+ T1.TIME_UNITY,
+ T1.TIME_DIST,
+ CASE T1.TIME_UNITY
+ WHEN 'Month' THEN
+ DATEDIFF(month, getdate(),convert(Date,T.value))
+ WHEN 'Week' THEN
+ DATEDIFF(week, getdate(),convert(Date,T.value))
+ END TIME_SPAN,
+ T1.DEPENDENT_DATE_CTRL_ID,
+ T1.DEPENDENT_DONE_CTRL_ID,
+ (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) DONE_VALUE,
+ T2.GUID AS CONSTRUCTOR_ID,
+ T2.FORM_TITLE AS CONSTRUCTOR_TITLE,
+ T1.CTRL_USER_DIRECT,
+ T1.CTRL_GROUP_DIRECT
+FROM
+ VWPMO_VALUES T,
+ TBPMO_FOLLOW_UP_EMAIL T1,
+ TBPMO_FORM_CONSTRUCTOR T2
+WHERE
+ T1.ACTIVE = 1 AND
+ (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) = 'False' And
+ T.CONTROL_ID = T1.DEPENDENT_DATE_CTRL_ID AND
+ T1.CONSTRUCTOR_ID = T2.GUID AND
+ T1.TIME_SPAN =
+ CASE T1.TIME_UNITY
+ WHEN 'Month' THEN
+ DATEDIFF(month, getdate(),convert(Date,T.value))
+ WHEN 'Week' THEN
+ DATEDIFF(week, getdate(),convert(Date,T.value))
+ END
+
+GO
+ALTER TABLE TBPMO_CONTROL_VALUE
+ADD CHANGE_STEP INTEGER NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_CONTROL_VALUE
+ADD REDO BIT NOT NULL DEFAULT 0
+GO
+CREATE TABLE TBPMO_CONTROL_VALUE_CHANGE_HISTORY
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ RECORD_ID INTEGER,
+ CONTROL_ID INTEGER,
+ VALUE VARCHAR(MAX),
+ CHANGE_STEP INTEGER,
+ ADDED_WHO VARCHAR(50) NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CONTROL_VALUE_CHANGE_HISTORY_CHANGE_HISTORY PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_CONTROL_VALUE_CHANGE_HISTORY_CHANGE_HISTORY_UPD ON TBPMO_CONTROL_VALUE_CHANGE_HISTORY
+FOR UPDATE
+AS
+ UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE_CHANGE_HISTORY.GUID = INSERTED.GUID
+GO
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @RECORD_ID INTEGER,
+ @VALUE_NEW VARCHAR(MAX),
+ @VALUE_OLD VARCHAR(MAX),
+ @CHANGED_WHO VARCHAR(50),
+ @CHANGE_STEP INTEGER,
+ @REDO BIT
+ IF UPDATE (VALUE)
+ BEGIN
+ SELECT
+ @CONTROL_ID = DELETED.CONTROL_ID,
+ @RECORD_ID = DELETED.RECORD_ID,
+ @VALUE_OLD = DELETED.VALUE
+ FROM DELETED
+ --RAISERROR (@VALUE , 16, 1)
+ SELECT
+ @CHANGE_STEP = CHANGE_STEP,
+ @CHANGED_WHO = CHANGED_WHO,
+ @VALUE_NEW = VALUE,
+ @REDO = REDO
+ FROM INSERTED
+
+ IF @REDO = 0
+ IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP)
+ INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ --Update des Logs für loggen von Datensatzänderungen
+ IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
+ BEGIN
+ If @VALUE_OLD <> @VALUE_NEW
+ BEGIN
+ DECLARE @LOG VARCHAR(1000)
+ SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW
+ INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO)
+ END
+ END
+ END
+ --Generelle Updates (Datum und Recor-Änderungen)
+ UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID
+ UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID
+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_REDO_RECORD_CHANGES] (@RECORD_ID INTEGER)
+AS
+BEGIN
+ DECLARE
+ @CHANGE_STEP INTEGER,
+ @CONTROL_ID INTEGER,
+ @GUID INTEGER,
+ @VALUE VARCHAR(MAX)
+
+ DECLARE c_REDO CURSOR FOR
+ SELECT MAX(GUID),CONTROL_ID, CHANGE_STEP FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID GROUP BY CONTROL_ID, CHANGE_STEP, RECORD_ID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @GUID,@CONTROL_ID,@CHANGE_STEP
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE GUID = @GUID
+ UPDATE TBPMO_CONTROL_VALUE SET VALUE = @VALUE, REDO = 1 WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID
+ DELETE FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE GUID = @GUID
+ UPDATE TBPMO_CONTROL_VALUE SET REDO = 0 WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID
+ FETCH NEXT FROM c_REDO INTO @GUID,@CONTROL_ID,@CHANGE_STEP
+ END
+ CLOSE c_REDO
+ DEALLOCATE c_REDO
+ END
+ GO
+ALTER TABLE TBPMO_RECORD
+ADD COLOR VARCHAR(50) NOT NULL DEFAULT ''
+GO
+
+
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT)
+AS
+DECLARE @COL_NAME VARCHAR(50),
+ @SQL_BEGIN VARCHAR(1000),
+ @SQL_END VARCHAR(2000),
+ @SQL VARCHAR(5000),
+ @CONTROL_ID INT,
+ @RESULT VARCHAR(8000),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @SQL_LBL VARCHAR(2000)
+
+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],T.COLOR AS ROW_COLOR, T.FORM_ID AS [Form-ID],'
+ 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 = 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','')
+ IF LEN(ISNULL(@SQL,'')) = 0
+ BEGIN
+ IF @TYPEID = 10 OR @TYPEID = 11
+ 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
+ ELSE IF @TYPEID = 6
+ 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
+ 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
+ END
+ ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14
+ SET @SQL = '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
+ ELSE
+ 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
+ END
+ ELSE
+ BEGIN
+ IF (@TYPEID = 10) OR (@TYPEID = 11)
+ 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
+ ELSE IF @TYPEID = 6
+ 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
+ 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
+ END
+ ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14
+ SET @SQL = @SQL + ',(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
+ ELSE
+ 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
+ END
+
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX
+ END
+
+ CLOSE c_SPALTENNAMEN
+ DEALLOCATE c_SPALTENNAMEN
+
+ SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
+
+ 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
+/*UPDATE DER SQLS*/
+BEGIN
+ DECLARE
+ @ENTITY_ID INTEGER
+
+ 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
+ END
+GO
+EXEC PRPMO_CREATE_TEMP_VIEWS
+GO
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/FNPMO_GET_CONTROL_CAPTION.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/FNPMO_GET_CONTROL_CAPTION.sql
new file mode 100644
index 0000000..c8e6ce9
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/FNPMO_GET_CONTROL_CAPTION.sql
@@ -0,0 +1,15 @@
+CREATE FUNCTION [dbo].[FNPMO_GET_CONTROL_CAPTION](@pLANG_TYPE VARCHAR(5), @pSCREEN_ID INTEGER,@pCONTROL_ID INTEGER )
+RETURNS VARCHAR(100)
+AS
+BEGIN
+ DECLARE @CAPTION VARCHAR(100),
+ @CTRL_SCREEN_ID INTEGER
+
+ SELECT @CTRL_SCREEN_ID = GUID FROM TBPMO_CONTROL_SCREEN WHERE
+ CONTROL_ID = @pCONTROL_ID AND SCREEN_ID = @pSCREEN_ID
+
+ SELECT @CAPTION = CAPTION FROM TBPMO_CONTROL_LANGUAGE WHERE LANGUAGE_TYPE = @pLANG_TYPE AND
+ CONTROL_SCREEN_ID = @CTRL_SCREEN_ID
+
+ RETURN(ISNULL(@CAPTION,''))
+END
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/Insert Controls language.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/Insert Controls language.sql
new file mode 100644
index 0000000..49827d1
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/Insert Controls language.sql differ
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.0.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.0.sql
new file mode 100644
index 0000000..0e869d2
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.0.sql
@@ -0,0 +1,39 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.0' where NAME = 'Record-Organizer'
+GO
+
+CREATE TABLE TBPMO_WD_NAMECONVENTION_FORMAT
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ID INTEGER NOT NULL,
+ PATTERN VARCHAR(50) NOT NULL,
+ FORMAT_RULE VARCHAR(100) NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_WD_NAMECONVENTION_FORMAT PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_WD_NAMECONVENTION_FORMAT_UPD ON TBPMO_WD_NAMECONVENTION_FORMAT
+FOR UPDATE
+AS
+ UPDATE TBPMO_WD_NAMECONVENTION_FORMAT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_NAMECONVENTION_FORMAT.GUID = INSERTED.GUID
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_DOCTYPE](@pDOCID INT)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID IN (SELECT GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID)
+ DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID
+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
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.1.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.1.sql
new file mode 100644
index 0000000..71e4e6d
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.1.sql
@@ -0,0 +1,38 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.1' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBDD_INDEX_MAN
+ADD SAVE_VALUE BIT NOT NULL DEFAULT 0
+GO
+ALTER VIEW VWDDINDEX_MAN
+AS
+SELECT TOP 2000
+ T.GUID,
+ T.NAME INDEXNAME,
+ T.WD_INDEX,
+ T.COMMENT,
+ T.DATATYPE,
+ T.DOK_ID,
+ T1.BEZEICHNUNG DOKUMENTART,
+ T1.KURZNAME,
+ T.SUGGESTION,
+ T.CONNECTION_ID,
+ T2.BEZEICHNUNG CONNECTION,
+ T2.SQL_PROVIDER,
+ T2.SERVER,
+ T2.DATENBANK,
+ T2.USERNAME,
+ T2.PASSWORD,
+ T.SQL_RESULT,
+ T.SQL_CHECK,
+ T.OPTIONAL,
+ T.SAVE_VALUE
+FROM
+ TBDD_INDEX_MAN T
+ INNER JOIN TBDD_DOKUMENTART T1 ON T.DOK_ID = T1.GUID AND T1.AKTIV = 1
+ LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1
+WHERE
+ T.ACTIVE = 1
+ORDER BY
+ T.DOK_ID,
+ T.GUID
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.2.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.2.sql
new file mode 100644
index 0000000..ca89e00
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.2.sql
@@ -0,0 +1,182 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.2' where NAME = 'Record-Organizer'
+GO
+CREATE 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_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
+ALTER TABLE TBPMO_CONTROL
+ADD VISIBLE BIT NOT NULL DEFAULT 1
+GO
+ALTER TABLE TBPMO_CONTROL
+ADD TREE_VIEW BIT NOT NULL DEFAULT 0
+GO
+ALTER VIEW VWPMO_CONTROL_SCREEN AS
+SELECT TOP 100 PERCENT
+ T.GUID CONTROL_ID,
+ T.NAME CONTROL_NAME,
+ T.REQUIRED CONTROL_REQUIRED,
+ T.DEFAULT_VALUE CONTROL_DEF_VALUE,
+ T.READ_ONLY CONTROL_READ_ONLY,
+ T.MULTILINE CONTROL_MULTILINE,
+ T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
+ T.COL_NAME CONTROL_COL_NAME,
+ T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
+ T.CONNECTION_ID_1 CONTROL_CONNID_1,
+ T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
+ T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2,
+ T.VISIBLE CONTROL_VISIBLE,
+ T.TREE_VIEW CONTROL_TREE_VIEW,
+ T.STATIC_LIST CONTROL_STATIC_LIST,
+ T4.GUID CTRLTYPE_ID,
+ T4.TYPE_NAME CTRLTYPE_NAME,
+ T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
+ T.FORM_ID,
+ T3.NAME FORM_NAME,
+ T3.LEVEL FORM_LEVEL,
+ T1.SCREEN_ID SCREEN_ID,
+ T2.NAME SCREEN_NAME,
+ T1.GUID CTRLSCR_ID,
+ T1.CONTROL_TEXT CTRLSCR_CAPTION,
+ T1.X_LOC CTRLSCR_X_LOC,
+ T1.Y_LOC CTRLSCR_Y_LOC,
+ T1.HEIGHT CTRLSCR_HEIGHT,
+ T1.WIDTH CTRLSCR_WIDTH,
+ T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
+ T1.FONT_COLOR CTRLSCR_FONT_COLOR,
+ T1.FONT_SIZE CTRLSCR_FONT_SIZE,
+ T1.FONT_STYLE CTRLSCR_FONT_STYLE,
+ T1.TAB_INDEX CTRLSCR_TAB_INDEX,
+ T1.TAB_STOP CTRLSCR_TAB_STOP,
+ T1.BACK_COLOR CTRLSCR_BACK_COLOR,
+ T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
+FROM
+ TBPMO_CONTROL T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_SCREEN T2,
+ TBPMO_FORM T3,
+ TBPMO_CONTROL_TYPE T4
+WHERE
+ T.FORM_ID = T3.GUID AND
+ T.GUID = T1.CONTROL_ID AND
+ T1.SCREEN_ID = T2.GUID AND
+ T.CONTROL_TYPE_ID = T4.GUID
+ORDER BY
+ T1.SCREEN_ID,
+ T.FORM_ID,
+ T1.TAB_STOP
+GO
+ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS
+SELECT TOP 100 PERCENT
+ W_T.GUID AS WF_TASK_ID
+ ,R.GUID AS WF_ID
+ ,W_T.RECORD_ID
+ ,T.STATE_ID
+ ,T4.GUID FORM_VIEW_ID
+ ,W_T.COMMENT
+ ,W_T.DUE_DATE
+ ,W_T.ADDED_WHEN
+ ,W_T.CHANGED_WHO
+ ,W_T.CHANGED_WHEN
+ ,W_T.TASK_DATE
+ ,T.FINAL
+ ,T.ENTITY_ID
+ ,T5.COLOR
+ ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(W_T.RECORD_ID) AS RECORD_DESCRIPTION
+FROM
+ TBPMO_WORKFLOW_ENTITY_STATE T,
+ TBPMO_WORKFLOW_TASK W_T
+ ,TBPMO_WORKFLOW R
+ ,TBPMO_FORM T3
+ ,TBPMO_FORM_VIEW T4
+ ,TBPMO_WORKFLOW_TASK_STATE T5
+ ,TBPMO_RECORD REC
+WHERE
+ --W_T.RECORD_ID = 95 AND
+ --TBPMO_WORKFLOW_ENTITY_STATE
+ T.WF_ID = R.GUID AND
+ T.ENTITY_ID = T3.GUID AND
+ T.STATE_ID = T5.GUID AND
+ W_T.RECORD_ID = REC.GUID AND
+ T.ENTITY_ID = REC.FORM_ID AND
+
+
+ W_T.WF_ID = R.GUID AND
+ R.GUID = R.GUID AND
+
+
+
+ T3.GUID = T4.FORM_ID AND
+ W_T.STATE_ID = T5.GUID AND
+ T4.SCREEN_ID = 1 AND
+ ((T.FINAL = 1 AND W_T.DUE_DATE IS NULL) OR T.FINAL = 0) AND
+ W_T.ACTIVE = 1
+ORDER BY W_T.RECORD_ID,W_T.GUID
+
+GO
+ALTER TRIGGER [dbo].[TBPMO_FORM_AFT_INS] ON [dbo].[TBPMO_FORM]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_ID INTEGER,
+ @FORM_TYPE INTEGER,
+ @ADDED_WHO VARCHAR(50)
+ --@SQL_RECORD1 VARCHAR(500),
+ --@SQL_RECORD2 VARCHAR(500)
+ SELECT
+ @FORM_ID = GUID,
+ @FORM_TYPE = FORM_TYPE_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ IF @FORM_TYPE = 5
+ BEGIN
+ INSERT INTO TBPMO_CONTROL (
+ FORM_ID, CONTROL_TYPE_ID, DEFAULT_VALUE, NAME, [COL_NAME]) VALUES (
+ @FORM_ID,2,'GROUP_RECORD','txtGROUP_RECORD','GROUP_RECORD')
+ DECLARE @CTRL_ID INTEGER
+ SELECT @CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID
+ INSERT INTO TBPMO_CONTROL_SCREEN (
+ CONTROL_ID, SCREEN_ID, CONTROL_TEXT, X_LOC, Y_LOC, HEIGHT, WIDTH, TAB_INDEX) VALUES (
+ @CTRL_ID, 1, 'GROUP_RECORD', 5, 5, 22, 100,1)
+ END
+
+ --EXEC dbo.PRPMO_CREATE_SQL @FORM_ID
+ --EXEC dbo.PRPMO_CREATE_TEMP_VIEWS
+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
+BEGIN TRY
+ INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID)
+ SELECT T.CLIENT_ID,@FORM_ID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR INSERTING TBPMO_CLIENT_ENTITY-ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+
+
+
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3.sql
new file mode 100644
index 0000000..f4412ea
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3.sql
@@ -0,0 +1,240 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.3' where NAME = 'Record-Organizer'
+GO
+
+ALTER TABLE TBPMO_FORM
+ADD DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT'dd-MM-yyyy'
+GO
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT)
+AS
+DECLARE @COL_NAME VARCHAR(50),
+ @SQL_BEGIN VARCHAR(1000),
+ @SQL_END VARCHAR(2000),
+ @SQL VARCHAR(5000),
+ @CONTROL_ID INT,
+ @RESULT VARCHAR(8000),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @SQL_LBL VARCHAR(2000)
+
+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],T.COLOR AS ROW_COLOR, T.FORM_ID AS [Form-ID],'
+ 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 = 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','')
+ IF LEN(ISNULL(@SQL,'')) = 0
+ BEGIN
+ IF @TYPEID = 10 OR @TYPEID = 11
+ 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
+ ELSE IF @TYPEID = 6
+ 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
+ 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
+ END
+ ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14
+ SET @SQL = '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
+ ELSE
+ 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
+ END
+ ELSE
+ BEGIN
+ IF (@TYPEID = 10) OR (@TYPEID = 11)
+ 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
+ ELSE IF @TYPEID = 6
+ 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
+ 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
+ END
+ ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14
+ SET @SQL = @SQL + ',(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
+ ELSE
+ 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
+ END
+
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX
+ END
+
+ CLOSE c_SPALTENNAMEN
+ DEALLOCATE c_SPALTENNAMEN
+
+ SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
+
+ 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
+CREATE 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_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_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 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)
+
+ PRINT 'INSERT1 DURCH'
+
+
+ PRINT 'INSERT2 DURCH'
+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 = @pFORM_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
+CREATE VIEW [dbo].[VWPMO_CONTROL_HINT] AS
+SELECT
+ T2.FORM_ID,
+ T1.CONTROL_ID,
+ T.HINT
+FROM
+ TBPMO_CONTROL_LANGUAGE T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_CONTROL T2
+WHERE
+ T.CONTROL_SCREEN_ID = T1.GUID
+ AND T1.CONTROL_ID = T2.GUID
+ AND T1.SCREEN_ID = 1
+ AND (HINT IS NOT NULL AND HINT <> '')
+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
+ 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
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3_RENOLIT.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3_RENOLIT.sql
new file mode 100644
index 0000000..5251672
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3_RENOLIT.sql
@@ -0,0 +1,60 @@
+ALTER VIEW [dbo].[VWPMO_WD_DOC_SEARCH] AS
+SELECT
+ T.dwDocID as DocID
+ ,[dbo].[FNPMO_GET_WINDREAM_VKT_INT](T.dwDocID,20006) AS [ENTITY_ID]
+ ,[dbo].[FNPMO_GET_WINDREAM_VKT_INT](T.dwDocID,20005) AS [RECORD_ID]
+ ,T.dwInteger24 AS [PARENT_ID]
+ ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) + T.szLongName AS FULL_FILENAME
+ ,szLongName as [Filename],
+ T.szText39 AS Doctype
+ ,T.dwVersionNumber AS [Version]
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Creation_DateTime
+ ,T1.szDocTypeName AS OBJECTTYPE
+FROM
+ [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes T
+ ,[172.24.12.41\BRAINPOOL].windream60.dbo.ObjectType T1
+WHERE
+ T.dwObjectTypeID = T1.dwObjectTypeID
+ AND T.dwInteger23 is not null
+
+GO
+
+USE [DD_ECM]
+GO
+ALTER FUNCTION [dbo].[FNPMO_GET_WINDREAM_VKT_INT](@pdwDocID INTEGER,@pdwAttributID INTEGER)
+RETURNS VARCHAR(4000)
+AS
+BEGIN
+ DECLARE
+ @RESULT VARCHAR(4000),
+ @VALUE INTEGER
+
+
+
+ DECLARE c_RESULT CURSOR FOR SELECT [dwValue] FROM [172.24.12.41\BRAINPOOL].windream60.[dbo].[Vector]
+ where dwDocID = @pdwDocID and dwAttrID = @pdwAttributID
+
+
+ BEGIN
+ OPEN c_RESULT
+ FETCH NEXT FROM c_RESULT INTO @VALUE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF LEN(@RESULT) > 0
+ SET @RESULT = @RESULT + '#' + CONVERT(VARCHAR(30),@VALUE)
+ ELSE
+ SET @RESULT = '#' + CONVERT(VARCHAR(30),@VALUE)
+ FETCH NEXT FROM c_RESULT INTO @VALUE
+ END
+
+ CLOSE c_RESULT
+ DEALLOCATE c_RESULT
+
+ RETURN(@RESULT)
+ END
+END
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.4.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.4.sql
new file mode 100644
index 0000000..e8e7061
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.4.sql
@@ -0,0 +1,340 @@
+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
+
+ ----Überprü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
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.5.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.5.sql
new file mode 100644
index 0000000..cb1bf86
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.5.sql
@@ -0,0 +1,348 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.5' where NAME = 'Record-Organizer'
+GO
+Create FUNCTION [dbo].[FNPMO_GET_WINDREAM_VKT_INT](@pdwDocID INTEGER,@pdwAttributID INTEGER)
+RETURNS VARCHAR(4000)
+AS
+BEGIN
+ DECLARE
+ @RESULT VARCHAR(4000),
+ @VALUE INTEGER
+
+
+
+ DECLARE c_RESULT CURSOR FOR SELECT [dwValue] FROM [172.24.12.41\BRAINPOOL].[windream60].[dbo].[Vector]
+ where dwDocID = @pdwDocID and dwAttrID = @pdwAttributID
+
+
+ BEGIN
+ OPEN c_RESULT
+ FETCH NEXT FROM c_RESULT INTO @VALUE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF LEN(@RESULT) > 0
+ SET @RESULT = @RESULT + CONVERT(VARCHAR(30),@VALUE) + '#'
+ ELSE
+ SET @RESULT = '#' + CONVERT(VARCHAR(30),@VALUE) + '#'
+ FETCH NEXT FROM c_RESULT INTO @VALUE
+ END
+
+ CLOSE c_RESULT
+ DEALLOCATE c_RESULT
+
+ RETURN(@RESULT)
+ END
+END
+
+
+CREATE TABLE TBPMO_INDEX_MAN
+(
+ GUID INT IDENTITY(1,1),
+ DOCTYPE_ID INT NOT NULL,
+ [ENTITY_ID] INT NOT NULL,
+ NAME VARCHAR(50) NOT NULL,
+ COL_VISIBLE BIT DEFAULT 1 NOT NULL,
+ COLUMN_CAPTION VARCHAR(50) DEFAULT '' NOT NULL,
+ ECM_INDEX VARCHAR(50) DEFAULT '' NOT NULL,
+ COMMENT VARCHAR(250),
+ DATATYPE VARCHAR(50),
+ SUGGESTION BIT DEFAULT 0 NOT NULL, -- 1 - Es wird Eingabe vorgeschlagen, bei 0 - manuelle Eingabe.
+ DEFAULT_VALUE VARCHAR(100) NOT NULL DEFAULT '',
+ CONNECTION_ID SMALLINT DEFAULT 0,
+ SEQUENCE INTEGER NOT NULL DEFAULT 1,
+ SQL_RESULT VARCHAR(2000) NOT NULL DEFAULT '',
+ SQL_CHECK VARCHAR(2000) NOT NULL DEFAULT '',
+ OPTIONAL BIT DEFAULT 0 NOT NULL,
+ SAVE_VALUE BIT DEFAULT 0 NOT NULL,
+ ACTIVE BIT DEFAULT 1 NOT NULL, -- 1 - Index aktiv, bei 0 - inaktiv.
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_INDEX_MAN PRIMARY KEY(GUID),
+ CONSTRAINT FK_TBPMO_INDEX_MAN_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID),
+ CONSTRAINT FK_TBPMO_INDEX_MAN_CID FOREIGN KEY(CONNECTION_ID) REFERENCES TBDD_CONNECTION(GUID)
+)
+GO
+------------------------------------------------------------------------------
+CREATE TRIGGER TBPMO_INDEX_MAN_AFT_UPD ON TBPMO_INDEX_MAN
+FOR UPDATE
+AS
+BEGIN
+ UPDATE TBPMO_INDEX_MAN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_INDEX_MAN.GUID = INSERTED.GUID
+END
+GO
+CREATE TABLE TBPMO_DOC_INDICES
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ [DocID] INTEGER NOT NULL,
+ [INDEX_ID] INTEGER NOT NULL,
+ [VALUE] VARCHAR(MAX) NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_DOC_INDICES PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_DOC_INDICES_INDEX_ID FOREIGN KEY([INDEX_ID]) REFERENCES TBPMO_INDEX_MAN(GUID),
+)
+GO
+
+CREATE TRIGGER TBPMO_DOC_INDICES_AFT_UPD ON TBPMO_DOC_INDICES
+FOR UPDATE
+AS
+ UPDATE TBPMO_DOC_INDICES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_INDICES.[DocID] = INSERTED.[DocID]
+GO
+ALTER TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG
+ADD VISIBLE BIT NOT NULL DEFAULT 1
+CREATE TABLE TBPMO_DOCRESULT_LIST
+(
+ [DocID] INTEGER NOT NULL,
+ [ENTITY_ID] VARCHAR(500) NOT NULL,
+ [RECORD_ID] VARCHAR(500) NOT NULL,
+ [PARENT_ID] VARCHAR(500) NOT NULL,
+ [DISPLAY_NAME] VARCHAR(250) NOT NULL,
+ [FULL_FILENAME] VARCHAR(5000) NOT NULL,
+ [Filename] VARCHAR(500) NOT NULL,
+ [Doctype] VARCHAR(250) NOT NULL,
+ [Version] SMALLINT NOT NULL DEFAULT 0,
+ [Objecttype] VARCHAR(250) NOT NULL,
+ Creation_DateTime DATETIME NOT NULL,
+ Change_DateTime DATETIME,
+ STRING1 VARCHAR(500),
+ STRING2 VARCHAR(500),
+ STRING3 VARCHAR(500),
+ STRING4 VARCHAR(500),
+ STRING5 VARCHAR(500),
+ STRING6 VARCHAR(500),
+ STRING7 VARCHAR(500),
+ STRING8 VARCHAR(500),
+ STRING9 VARCHAR(500),
+ STRING10 VARCHAR(500),
+ IN_WORK BIT NOT NULL DEFAULT 0,
+ IN_WORK_USER VARCHAR(250),
+ IN_WORK_COMMENT VARCHAR(500),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_DOCRESULT_LIST PRIMARY KEY ([DocID])
+)
+GO
+
+CREATE TRIGGER TBPMO_DOCRESULT_LIST_AFT_UPD ON TBPMO_DOCRESULT_LIST
+FOR UPDATE
+AS
+ UPDATE TBPMO_DOCRESULT_LIST SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID]
+GO
+USE [DD_ECM_RENOLIT]
+GO
+
+CREATE VIEW [dbo].[VWPMO_WD_DOC_SYNC] AS
+SELECT
+ T.dwDocID as DocID
+ ,[dbo].[FNPMO_GET_WINDREAM_VKT_INT](T.dwDocID,339) AS [ENTITY_ID]
+ ,[dbo].[FNPMO_GET_WINDREAM_VKT_INT](T.dwDocID,338) AS [RECORD_ID]
+ ,[dbo].[FNPMO_GET_WINDREAM_VKT_INT](T.dwDocID,340) AS [PARENT_ID]
+ ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) + T.szLongName AS FULL_FILENAME
+ ,szLongName as [Filename],
+ T.szText39 AS Doctype
+ ,T.dwVersionNumber AS [Version]
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Creation_DateTime
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime
+ ,T1.szDocTypeName AS OBJECTTYPE
+FROM
+ [172.24.12.41\SDD_VMX02_APS02].windream60.dbo.BaseAttributes T
+ ,[172.24.12.41\SDD_VMX02_APS02].windream60.dbo.ObjectType T1
+WHERE
+ --T.dwObjectTypeID > 23 AND
+ T.dwObjectTypeID = T1.dwObjectTypeID
+ AND [dbo].[FNPMO_GET_WINDREAM_VKT_INT](T.dwDocID,338) is not null
+
+GO
+
+
+---
+
+CREATE PROCEDURE [dbo].[PRPMO_DOCRESULT_CREATE]
+AS
+BEGIN TRY
+DECLARE @DocID INTEGER,
+ @ENTITY_ID VARCHAR(500),
+ @RECORD_ID VARCHAR(500),
+ @PARENT_ID VARCHAR(500),
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+DECLARE c_Values CURSOR LOCAL FOR
+ select DocID,ISNULL([ENTITY_ID],0),RECORD_ID,ISNULL(PARENT_ID,0),[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'),[Filename],[Doctype],[Version],Objecttype,
+ Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SEARCH --WHERE CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE())
+ OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @DocID,@ENTITY_ID,@RECORD_ID,@PARENT_ID,@Filename,@FULL_FILENAME,
+ @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [ENTITY_ID],
+ [RECORD_ID],
+ [PARENT_ID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @DocID,
+ @ENTITY_ID,
+ @RECORD_ID,
+ @PARENT_ID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime
+ )
+ --#####
+ FETCH NEXT FROM c_Values INTO @DocID,@ENTITY_ID,@RECORD_ID,@PARENT_ID,@Filename,@FULL_FILENAME,
+ @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
+ END
+CLOSE c_Values
+DEALLOCATE c_Values
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE]
+AS
+BEGIN TRY
+DECLARE @DocID INTEGER,
+ @ENTITY_ID VARCHAR(500),
+ @RECORD_ID VARCHAR(500),
+ @PARENT_ID VARCHAR(500),
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+DECLARE c_Values CURSOR LOCAL FOR
+ select DocID,ISNULL([ENTITY_ID],0),RECORD_ID,ISNULL(PARENT_ID,0),[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'),
+ [Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype,
+ Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC WHERE CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE())
+ OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @DocID,@ENTITY_ID,@RECORD_ID,@PARENT_ID,@Filename,@FULL_FILENAME,
+ @Filename,@Doctype,@Version,@Objecttype,
+ @Creation_DateTime,@Change_DateTime
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
+ BEGIN
+ PRINT 'INSERT NECESSARY'
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [ENTITY_ID],
+ [RECORD_ID],
+ [PARENT_ID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @DocID,
+ @ENTITY_ID,
+ @RECORD_ID,
+ @PARENT_ID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime
+ )
+ END
+ ELSE
+ UPDATE TBPMO_DOCRESULT_LIST SET
+ [ENTITY_ID] = @ENTITY_ID,
+ [RECORD_ID] = @RECORD_ID,
+ [PARENT_ID] = @PARENT_ID,
+ [FULL_FILENAME] = @FULL_FILENAME,
+ [Filename] = @Filename,
+ [Doctype] = @Doctype,
+ [Version] = @Version,
+ [Objecttype] = @Objecttype,
+ Change_DateTime = @Change_DateTime
+ WHERE DocID = @DocID
+
+ --#####
+ FETCH NEXT FROM c_Values INTO @DocID,@ENTITY_ID,@RECORD_ID,@PARENT_ID,@Filename,@FULL_FILENAME,
+ @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
+ END
+CLOSE c_Values
+DEALLOCATE c_Values
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+
+
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_DOCTYPE](@pDOCID INT)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID IN (SELECT GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID)
+ DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_INDEX_MAN WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID
+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 VIEW VWPMO_DOC_INDICES AS
+SELECT
+ T.DocID,
+ T.VALUE,
+ T1.COLUMN_CAPTION,
+ T1.GUID AS INDEX_ID,
+ T1.NAME AS INDEX_NAME
+FROM
+ TBPMO_DOC_INDICES T,
+ TBPMO_INDEX_MAN T1
+WHERE
+ T.INDEX_ID = T1.GUID AND
+ T1.COL_VISIBLE = 1
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.6.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.6.sql
new file mode 100644
index 0000000..be72975
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.6.sql
@@ -0,0 +1,48 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.6' where NAME = 'Record-Organizer'
+GO
+
+CREATE TABLE TBPMO_DOC_USER_VIEW
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ [USER_ID] INTEGER NOT NULL,
+ [FILE_EXTENSION] VARCHAR(10) NOT NULL,
+ [VIEWER] VARCHAR(100) NOT NULL DEFAULT 'DOC_VIEW',
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_DOC_USER_VIEW PRIMARY KEY ([GUID]),
+ CONSTRAINT FK_PK_TBPMO_DOC_USER_VIEW_USER_ID FOREIGN KEY(USER_ID) REFERENCES TBDD_USER(GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_DOC_USER_VIEW_UPD ON TBPMO_DOC_USER_VIEW
+FOR UPDATE
+AS
+ UPDATE TBPMO_DOC_USER_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_USER_VIEW.GUID = INSERTED.GUID
+GO
+
+ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES
+ADD MANUAL_SUBFOLDER BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE [dbo].[TBPMO_INDEX_MAN] DROP CONSTRAINT [FK_TBPMO_INDEX_MAN_DOCTYPE_ID]
+GO
+ALTER TABLE [dbo].[TBPMO_INDEX_MAN] WITH CHECK ADD CONSTRAINT [FK_TBPMO_INDEX_MAN_DOCTYPE_ID] FOREIGN KEY([DOCTYPE_ID])
+REFERENCES [dbo].[TBDD_DOKUMENTART] ([GUID])
+GO
+ALTER TABLE [dbo].[TBPMO_INDEX_MAN] CHECK CONSTRAINT [FK_TBPMO_INDEX_MAN_DOCTYPE_ID]
+GO
+
+ALTER TABLE [dbo].[TBPMO_DOC_INDICES] DROP CONSTRAINT [PK_TBPMO_DOC_INDICES]
+GO
+ALTER TABLE [dbo].[TBPMO_DOC_INDICES]
+ADD GUID INTEGER NOT NULL IDENTITY(1,1)
+GO
+ALTER TABLE [dbo].[TBPMO_DOC_INDICES] ADD CONSTRAINT [PK_TBPMO_DOC_INDICES] PRIMARY KEY CLUSTERED
+(
+ [GUID] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+GO
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.7.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.7.sql
new file mode 100644
index 0000000..f1dfba1
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.7.sql
@@ -0,0 +1,1836 @@
+SELECT PRODUCT_VERSION FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Record-Organizer')
+GO
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.7' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBPMO_FORM
+ADD DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT 'dd.MM.YYYY'
+GO
+USE [DD_ECM]
+GO
+
+/****** Object: StoredProcedure [dbo].[PRPMO_DOCRESULT_CHANGE] Script Date: 10.08.2016 11:12:11 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+ALTER PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE]
+AS
+BEGIN TRY
+DECLARE @DocID INTEGER,
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+DECLARE c_Values CURSOR LOCAL FOR
+ select DocID,[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'),
+ [Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype,
+ Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC WHERE
+ CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR
+ CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())
+ OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Filename,@Doctype,@Version,@Objecttype,
+ @Creation_DateTime,@Change_DateTime
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
+ BEGIN
+ PRINT 'INSERT NECESSARY'
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @DocID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime
+ )
+ END
+ ELSE
+ UPDATE TBPMO_DOCRESULT_LIST SET
+ [FULL_FILENAME] = @FULL_FILENAME,
+ [Filename] = @Filename,
+ [Doctype] = @Doctype,
+ [Version] = @Version,
+ [Objecttype] = @Objecttype,
+ Change_DateTime = @Change_DateTime
+ WHERE DocID = @DocID
+
+ --#####
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
+ END
+CLOSE c_Values
+DEALLOCATE c_Values
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+
+GO
+
+ALTER TABLE TBPMO_FORM_SQL
+ALTER COLUMN SQL_COMMAND VARCHAR(8000)
+GO
+ALTER TABLE TBPMO_FOLLOW_UP_EMAIL
+ADD CTRL_USER_DIRECT INTEGER
+GO
+
+ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
+SELECT TOP 100 PERCENT
+ T.GUID CONTROL_ID,
+ T.NAME CONTROL_NAME,
+ T.REQUIRED CONTROL_REQUIRED,
+ T.DEFAULT_VALUE CONTROL_DEF_VALUE,
+ T.READ_ONLY CONTROL_READ_ONLY,
+ T.MULTILINE CONTROL_MULTILINE,
+ T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
+ T.COL_NAME CONTROL_COL_NAME,
+ T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
+ T.CONNECTION_ID_1 CONTROL_CONNID_1,
+ T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
+ T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2,
+ T.VISIBLE CONTROL_VISIBLE,
+ T.TREE_VIEW CONTROL_TREE_VIEW,
+ T.STATIC_LIST CONTROL_STATIC_LIST,
+ T4.GUID CTRLTYPE_ID,
+ T4.TYPE_NAME CTRLTYPE_NAME,
+ T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
+ T.FORM_ID,
+ T3.NAME FORM_NAME,
+ T3.LEVEL FORM_LEVEL,
+ T1.SCREEN_ID SCREEN_ID,
+ T2.NAME SCREEN_NAME,
+ T1.GUID CTRLSCR_ID,
+ T1.CONTROL_TEXT CTRLSCR_CAPTION,
+ T1.X_LOC CTRLSCR_X_LOC,
+ T1.Y_LOC CTRLSCR_Y_LOC,
+ T1.HEIGHT CTRLSCR_HEIGHT,
+ T1.WIDTH CTRLSCR_WIDTH,
+ T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
+ T1.FONT_COLOR CTRLSCR_FONT_COLOR,
+ T1.FONT_SIZE CTRLSCR_FONT_SIZE,
+ T1.FONT_STYLE CTRLSCR_FONT_STYLE,
+ T1.TAB_INDEX CTRLSCR_TAB_INDEX,
+ T1.TAB_STOP CTRLSCR_TAB_STOP,
+ T1.BACK_COLOR CTRLSCR_BACK_COLOR,
+ T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
+FROM
+ TBPMO_CONTROL T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_SCREEN T2,
+ TBPMO_FORM T3,
+ TBPMO_CONTROL_TYPE T4
+WHERE
+ T.FORM_ID = T3.GUID AND
+ T.GUID = T1.CONTROL_ID AND
+ T1.SCREEN_ID = T2.GUID AND
+ T.CONTROL_TYPE_ID = T4.GUID
+ORDER BY
+ T1.SCREEN_ID,
+ T.FORM_ID,
+ T1.TAB_STOP
+
+GO
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @RECORD_ID INTEGER,
+ @VALUE_NEW VARCHAR(MAX),
+ @VALUE_OLD VARCHAR(MAX),
+ @CHANGED_WHO VARCHAR(50),
+ @CHANGE_STEP INTEGER,
+ @REDO BIT,
+ @CHANGE_ID INTEGER
+ IF UPDATE (VALUE)
+ BEGIN
+ SELECT
+ @CONTROL_ID = DELETED.CONTROL_ID,
+ @RECORD_ID = DELETED.RECORD_ID,
+ @VALUE_OLD = DELETED.VALUE
+ FROM DELETED
+ --RAISERROR (@VALUE , 16, 1)
+ SELECT
+ @CHANGE_STEP = CHANGE_STEP,
+ @CHANGED_WHO = CHANGED_WHO,
+ @VALUE_NEW = VALUE,
+ @REDO = REDO
+ FROM INSERTED
+
+
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD)
+ INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ ELSE
+ UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID
+ --IF @REDO = 0
+ -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP)
+ -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ --Update des Logs für loggen von Datensatzänderungen
+ IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
+ BEGIN
+ If @VALUE_OLD <> @VALUE_NEW
+ BEGIN
+ DECLARE @LOG VARCHAR(1000)
+ SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW
+ INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO)
+ END
+ END
+ END
+ --Generelle Updates (Datum und Recor-Änderungen)
+ UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID
+ UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_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_FORM_VIEW_AFT_INS] ON [dbo].[TBPMO_FORM_VIEW]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @ADDED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @ENTITY_ID INTEGER,
+ @DOC_VIEW BIT
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @SCREEN_ID = SCREEN_ID,
+ @ADDED_WHO = ADDED_WHO,
+ @ENTITY_ID = FORM_ID,
+ @DOC_VIEW = DOCUMENT_VIEW
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO)
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES
+ ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO)
+
+ IF @DOC_VIEW = 1
+ BEGIN
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Filename','Dateiname')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Doctype','Dokumentart')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'IN_WORK','in work?',50,2)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_USER','IW_USER',0)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'Creation_DateTime','Erstellt',100,3)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'Change_DateTime','Geändert',100,3)
+ --####
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Filename','Filename')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Doctype','Doctype')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK','in work?',50,2)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','Creation_DateTime','Created',100,3)
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','Change_DateTime','Changed',100,3)
+ END
+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_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @ENTITY_ID INTEGER,
+ @DOC_VIEW BIT
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @SCREEN_ID = SCREEN_ID,
+ @CHANGED_WHO = CHANGED_WHO,
+ @ENTITY_ID = FORM_ID,
+ @DOC_VIEW = DOCUMENT_VIEW
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO)
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID
+ IF UPDATE (FORM_TITLE)
+ BEGIN
+ IF @LANGUAGE is not null
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+ END
+ IF UPDATE(DOCUMENT_VIEW)
+ IF @DOC_VIEW = 1
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Dateiname')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Filename','Dateiname')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Dokumentart')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Doctype','Dokumentart')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
+ (@ENTITY_ID,'IN_WORK','in work?',50)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_USER','IW_USER',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Erstellt')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
+ (@ENTITY_ID,'Creation_DateTime','Erstellt',100)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Geändert')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
+ (@ENTITY_ID,'Change_DateTime','Geändert',100)
+
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Filename')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Filename','Filename')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Doctype')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Doctype','Doctype')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK','in work?',50)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Created')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
+ (@ENTITY_ID,'en-US','Creation_DateTime','Created',100)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND
+ COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Changed')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES
+ (@ENTITY_ID,'en-US','Change_DateTime','Changed',100)
+ END
+ ELSE
+ DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+
+GO
+--##################### NOT
+ALTER TABLE TBPMO_WORKFLOW_ENTITY_STATE
+ADD COMMENT VARCHAR(1000) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBPMO_WORKFLOW_TASK
+ADD STATE_DESCRIPTION VARCHAR(1000) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBPMO_WORKFLOW_ENTITY_STATE
+ADD INACTIVE BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_WORKFLOW_TASK
+ADD USER_SELECT VARCHAR(3000) DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1'
+GO
+ALTER TABLE TBPMO_WORKFLOW_TASK
+ADD FINISHED BIT NOT NULL DEFAULT 0
+GO
+UPDATE TBPMO_WORKFLOW_TASK SET USER_SELECT = 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1'
+GO
+ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS
+SELECT TOP 100 PERCENT
+ W_T.GUID AS WF_TASK_ID
+ ,R.GUID AS WF_ID
+ ,W_T.RECORD_ID
+ ,T.STATE_ID
+ ,T4.GUID FORM_VIEW_ID
+ ,R.DESCRIPTION
+ ,W_T.COMMENT
+ ,W_T.DUE_DATE
+ ,W_T.ADDED_WHEN
+ ,W_T.CHANGED_WHO
+ ,W_T.CHANGED_WHEN
+ ,W_T.TASK_DATE
+ ,T.FINAL
+ ,T.ENTITY_ID
+ ,T5.COLOR
+ ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(W_T.RECORD_ID) AS RECORD_DESCRIPTION
+ ,FINISHED
+FROM
+ TBPMO_WORKFLOW_ENTITY_STATE T,
+ TBPMO_WORKFLOW_TASK W_T
+ ,TBPMO_WORKFLOW R
+ ,TBPMO_FORM T3
+ ,TBPMO_FORM_VIEW T4
+ ,TBPMO_WORKFLOW_TASK_STATE T5
+ ,TBPMO_RECORD REC
+WHERE
+ --W_T.RECORD_ID = 95 AND
+ --TBPMO_WORKFLOW_ENTITY_STATE
+ T.WF_ID = R.GUID AND
+ T.ENTITY_ID = T3.GUID AND
+ T.STATE_ID = T5.GUID AND
+ W_T.RECORD_ID = REC.GUID AND
+ T.ENTITY_ID = REC.FORM_ID AND
+ W_T.WF_ID = R.GUID AND
+ R.GUID = R.GUID AND
+ T3.GUID = T4.FORM_ID AND
+ W_T.STATE_ID = T5.GUID AND
+ T4.SCREEN_ID = 1 AND
+ ((T.FINAL = 1 AND W_T.DUE_DATE IS NULL) OR T.FINAL = 0) AND
+ W_T.ACTIVE = 1
+ORDER BY W_T.RECORD_ID,W_T.GUID
+GO
+
+CREATE TABLE TBPMO_WORKFLOW_REMINDER
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ REMINDER_TYPE_ID INTEGER NOT NULL DEFAULT '1',
+ RECORD_ID INTEGER NOT NULL,
+ ENTITY_ID INTEGER,
+ WF_ID INTEGER NOT NULL,
+ EMAIL_ADRESS VARCHAR(100) NOT NULL,
+ EMAIL_SUBJ VARCHAR(500) NOT NULL,
+ EMAIL_BODY VARCHAR(500) NOT NULL,
+ EMAIL_SENT DATETIME,
+ 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_WORKFLOW_REMINDER PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_REMINDER_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_WORKFLOW_REMINDER_AFT_UPD ON TBPMO_WORKFLOW_REMINDER
+FOR UPDATE
+AS
+ UPDATE TBPMO_WORKFLOW_REMINDER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_REMINDER.GUID = INSERTED.GUID
+GO
+
+CREATE TABLE TBPMO_WORKFLOW_TASK_HISTORY(
+ GUID INTEGER IDENTITY(1,1) NOT NULL,
+ WF_TASK_ID INTEGER NOT NULL,
+ STATE_ID INTEGER,
+ STATE_DESC VARCHAR(500) NOT NULL,
+ COMMENT VARCHAR(1000) NOT NULL,
+ ADDED_WHO VARCHAR(100) NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT (GETDATE()),
+ CONSTRAINT PK_TBPMO_WORKFLOW_TASK_HISTORY PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_WORKFLOW_TASK_HISTORY_RECORD_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID)
+)
+GO
+ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW_TASK]
+FOR UPDATE
+AS
+BEGIN
+DECLARE
+ @GUID INTEGER,
+ @STATE_ID INTEGER,
+ @WF_ID INTEGER,
+ @STATE VARCHAR(200),
+ @COMMENT VARCHAR(500),
+ @CHANGED_WHO VARCHAR(50),
+ @BUDGET_RESP VARCHAR(50),
+ @RECORD_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @EMAIL VARCHAR(250),
+ @SUBJECT VARCHAR(250),
+ @BODY VARCHAR(500),
+ @USER_ID INTEGER
+ SELECT
+ @GUID = GUID,
+ @WF_ID = WF_ID,
+ @STATE_ID = STATE_ID,
+ @COMMENT = COMMENT,
+ @CHANGED_WHO = CHANGED_WHO,
+ @RECORD_ID = RECORD_ID
+ FROM INSERTED
+
+ UPDATE TBPMO_WORKFLOW_TASK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID
+
+ /*######## KUNDEN INDIVIDUELL ########*/
+ SELECT @STATE = STATE_DESC FROM TBPMO_WORKFLOW_TASK_STATE WHERE GUID = @STATE_ID
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID = @GUID AND STATE_ID = @STATE_ID AND
+ STATE_DESC = @STATE AND COMMENT = COMMENT)
+ INSERT INTO TBPMO_WORKFLOW_TASK_HISTORY (WF_TASK_ID,STATE_ID,STATE_DESC,COMMENT,ADDED_WHO) VALUES
+ (@GUID,@STATE_ID,@STATE,@COMMENT,@CHANGED_WHO)
+
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ /*WORKFLOW PURCHASE CONTRACTS*/
+ IF @WF_ID = 1 AND @STATE_ID = 10
+ BEGIN
+ UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 11
+ END
+ IF @WF_ID = 1 AND @STATE_ID = 11
+ BEGIN
+ UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 10
+ END
+ IF @STATE_ID IN (14,15)
+ BEGIN
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID = @GUID
+ SELECT @BUDGET_RESP = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = 103 AND RECORD_ID = @RECORD_ID
+ SELECT @USER_ID = GUID FROM TBDD_USER WHERE PRENAME + ' ' + NAME = @BUDGET_RESP
+ SELECT @EMAIL = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID
+ INSERT INTO TBPMO_WORKFLOW_TASK_USER (WF_TASK_ID,USER_ID,ADDED_WHO) VALUES (@GUID,@USER_ID,'WORKFOW_ROUTER')
+ END
+ IF @WF_ID = 1 AND @STATE_ID = 14
+ BEGIN
+
+ UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 15
+
+ SET @SUBJECT = 'Workflow - Renewal of Contract'
+ SET @BODY = 'A purchase contract needs approval for renewing!
'
+ INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES
+ (@RECORD_ID,2,@ENTITY_ID,@GUID,@EMAIL,@SUBJECT,@BODY,@CHANGED_WHO)
+ END
+ IF @WF_ID = 1 AND @STATE_ID = 15
+ BEGIN
+ UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 14
+ SET @SUBJECT = 'Workflow - Purchase Contract cancelled'
+ SET @BODY = 'A purchase contract was cancelled - Please add some more information!
'
+ INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES
+ (@RECORD_ID,2,@ENTITY_ID,@GUID,@EMAIL,@SUBJECT,@BODY,@CHANGED_WHO)
+ END
+ IF @WF_ID = 1 AND @STATE_ID = 16
+ BEGIN
+ UPDATE TBPMO_WORKFLOW_TASK SET FINISHED = 1 FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID
+ END
+ /*######## ENDE KUNDEN_INDIVIDUELL ########*/
+END
+GO
+ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_USER_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_USER]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @STATE_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @EMAIL VARCHAR(100),
+ @MSG VARCHAR(100),
+ @ADDED_WHO VARCHAR(50),
+ @WF_TASK_ID INTEGER,
+ @USER_ID INTEGER,
+ @SUBJECT VARCHAR(300),
+ @BODY VARCHAR(100)
+ SELECT
+ @WF_TASK_ID = GUID,
+ @USER_ID = USER_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+ /*######## KUNDEN INDIVIDUELL ########*/
+ IF @ADDED_WHO <> 'WORKFOW_ROUTER'
+ BEGIN
+ SELECT @EMAIL = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID
+ SELECT @RECORD_ID = RECORD_ID, @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_TASK WHERE GUID = @WF_TASK_ID
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ SET @MSG = '@ENTITY_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) + ' - STATE-ID: ' + CONVERT(VARCHAR(10),@STATE_ID)
+ IF @ENTITY_ID = 13 AND @STATE_ID = 10
+ BEGIN
+ SET @SUBJECT = 'PURCHASE CONTRACTS RENEWAL PROCESS'
+ SET @BODY = 'Workflow Purchasing Contracts
Please check wether contract needs to be renewed!'
+ END
+ IF @ENTITY_ID = 13 AND @STATE_ID = 11
+ BEGIN
+ SET @SUBJECT = 'PURCHASE CONTRACTS PROJECT NEEDED'
+ SET @BODY = 'Workflow Purchasing Contracts
Please advice system with information about project setup!'
+ END
+
+ IF @ENTITY_ID = 13 AND @STATE_ID in (10,11)
+ BEGIN
+ INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES
+ (@RECORD_ID,2,@ENTITY_ID,@WF_TASK_ID,@EMAIL,@SUBJECT,@BODY,@ADDED_WHO)
+ --RAISERROR ('IF', 16, 1)
+ END
+ --ELSE
+ --RAISERROR (@MSG, 16, 1)
+ END
+ /*######## ENDE ########*/
+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_WORKFLOW_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100)
+ SELECT
+ @GUID = GUID,
+ @TITLE = TITLE,
+ @SCREEN_ID = 1,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO
+
+ SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_WORKFLOW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW.GUID = INSERTED.GUID
+
+ IF @CHANGED_WHO IS NOT NULL
+ BEGIN
+ If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN Trigger: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+ END
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+ALTER TABLE TBPMO_WORKFLOW
+ADD CREATE_ON_REC_CREATE BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_WORKFLOW
+ADD CREATE_ON_FOLL_UP BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_WORKFLOW
+ADD USER_SELECT VARCHAR(3000) NOT NULL DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1'
+GO
+UPDATE TBPMO_WORKFLOW SET USER_SELECT = 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1'
+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
+
+ ----Überprü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
+ AND T1.CREATE_ON_REC_CREATE = 1
+ )
+ 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
+GO
+
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER)
+AS
+BEGIN
+ DECLARE
+ @WF_ID INTEGER,
+ @TITLE VARCHAR(50),
+ @SEQUENCE INTEGER,
+ @MELDUNG VARCHAR(250),
+ @STATE_ID INTEGER,
+ @SELECT_USER VARCHAR(3000)
+
+ DECLARE c_TASK CURSOR FOR
+ SELECT DISTINCT WF_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID
+ OPEN c_TASK
+ FETCH NEXT FROM c_TASK INTO @WF_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ SELECT @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID AND GUID = (SELECT MIN(GUID) FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID)
+ SELECT @SELECT_USER = USER_SELECT FROM TBPMO_WORKFLOW WHERE GUID = @WF_ID
+ --IF @STATE_ID IS NOT NULL
+ BEGIN
+ --INSERT DES TASKS
+ INSERT INTO TBPMO_WORKFLOW_TASK(
+ RECORD_ID,
+ WF_ID,
+ ACTIVE,
+ STATE_ID,
+ USER_SELECT)
+ VALUES (
+ @RECORD_ID,
+ @WF_ID,
+ 1,
+ @STATE_ID,
+ @SELECT_USER)
+ END
+
+ FETCH NEXT FROM c_TASK INTO @WF_ID
+ END
+ CLOSE c_TASK
+ DEALLOCATE c_TASK
+ END
+GO
+--#####
+DELETE FROM TBPMO_CONTROL_VALUE Where VALUE is null
+GO
+ALTER TABLE TBDD_USER
+ADD DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT 'dd.MM.yyyy'
+GO
+UPDATE TBDD_USER SET DATE_FORMAT = 'dd-MM-yyyy' where guid in(
+Select GUID from TBDD_USER where USERNAME like 'NL%')
+GO
+
+--######
+DECLARE @ID INTEGER,
+ @VALUE VARCHAR(30),
+ @VALUE_CONV VARCHAR(30)
+DECLARE c_Values CURSOR FOR
+ SELECT T.[GUID]
+ ,T.[VALUE]
+ --,CONVERT(VARCHAR(30),CONVERT(DATE,T.[VALUE]))
+ FROM TBPMO_CONTROL_VALUE T, TBPMO_CONTROL T1 WHERE T.CONTROL_ID = T1.GUID AND T1.CONTROL_TYPE_ID = 4
+OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @ID,@VALUE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ PRINT @VALUE
+ SET @VALUE_CONV = CONVERT(VARCHAR(10),CONVERT(DATE,@VALUE))
+ UPDATE TBPMO_CONTROL_VALUE SET VALUE = @VALUE_CONV,CHANGED_WHO = 'Digital Data Converter' WHERE GUID = @ID
+ --PRINT 'UPDATED'
+ --#####
+ FETCH NEXT FROM c_Values INTO @ID,@VALUE
+ END
+CLOSE c_Values
+DEALLOCATE c_Values
+
+--######
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @RECORD_ID INTEGER,
+ @VALUE_NEW VARCHAR(MAX),
+ @VALUE_OLD VARCHAR(MAX),
+ @CHANGED_WHO VARCHAR(50),
+ @CHANGE_STEP INTEGER,
+ @REDO BIT
+ IF UPDATE (VALUE)
+ BEGIN
+ SELECT
+ @CONTROL_ID = DELETED.CONTROL_ID,
+ @RECORD_ID = DELETED.RECORD_ID,
+ @VALUE_OLD = DELETED.VALUE
+ FROM DELETED
+ --RAISERROR (@VALUE , 16, 1)
+ SELECT
+ @CHANGE_STEP = CHANGE_STEP,
+ @CHANGED_WHO = CHANGED_WHO,
+ @VALUE_NEW = VALUE,
+ @REDO = REDO
+ FROM INSERTED
+ IF @CHANGED_WHO <> 'Digital Data Converter'
+ BEGIN
+ IF @REDO = 0 AND @CHANGED_WHO Is Not null
+ IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP)
+ INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ --Update des Logs für loggen von Datensatzänderungen
+ IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
+ BEGIN
+ If @VALUE_OLD <> @VALUE_NEW AND @CHANGED_WHO Is Not null
+ BEGIN
+ DECLARE @LOG VARCHAR(1000)
+ SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW
+ INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO)
+ END
+ END
+ END
+
+ END
+ --Generelle Updates (Datum und Recor-Änderungen)
+ UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID
+ UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID
+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 TBPMO_STRUCTURE_NODES_CONFIGURATION
+GO
+CREATE TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ PARENT_NODE INTEGER NOT NULL DEFAULT 0,
+ CONTROL_ID INTEGER NOT NULL,
+ 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_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (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_CONTROL](@pCONTROL_ID INT)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID)
+ DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_FUNCTION_GENERAL WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_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
+
+DROP TABLE TBPMO_STRUCTURE_NODES
+GO
+CREATE TABLE TBPMO_STRUCTURE_NODES
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ RECORD_ID INTEGER,
+ NODE_CONFIG_ID INTEGER NOT NULL,
+ NODE_CAPTION VARCHAR(250) NOT NULL,
+ ID1 VARCHAR(100),
+ ID2 VARCHAR(100),
+ ID3 VARCHAR(100),
+ 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_NODES_NODE_CONFIG_ID FOREIGN KEY (NODE_CONFIG_ID) REFERENCES TBPMO_STRUCTURE_NODES_CONFIGURATION (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 VIEW VWPMO_STRUCTURE_NODES AS
+select
+ T.*,
+ T1.CONTROL_ID,
+ T1.CREATE_RECORD,
+ T1.ENTITY_ID,
+ T1.NAME,
+ T1.TYPE_NODE
+ from TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1
+WHERE T.NODE_CONFIG_ID = T1.GUID
+
+
+ALTER TABLE TBPMO_FOLDERWATCH_USER
+ADD SUBDIRECTORIES BIT NOT NULL DEFAULT 0
+GO
+DROP TABLE TBPMO_ENTITY_SUPERVISOR
+GO
+CREATE TABLE TBPMO_ENTITY_SUPERVISOR
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ENTITY_ID INTEGER NOT NULL,
+ USER_ID INTEGER NOT NULL,
+ RIGHT1 VARCHAR(100) NOT NULL DEFAULT '7',
+ RIGHT2 VARCHAR(100),
+ 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_SUPERVISOR PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_ENTITY_SUPERVISOR_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID),
+ CONSTRAINT FK_TBPMO_ENTITY_SUPERVISOR_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_ENTITY_SUPERVISOR_AFT_UPD ON TBPMO_ENTITY_SUPERVISOR
+FOR UPDATE
+AS
+ UPDATE TBPMO_ENTITY_SUPERVISOR SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_SUPERVISOR.GUID = INSERTED.GUID
+GO
+DROP TABLE TBPMO_DOC_RECORD_LINK
+GO
+CREATE TABLE TBPMO_DOC_RECORD_LINK
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ RECORD_ID INTEGER NOT NULL,
+ DOC_ID INTEGER 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_DOC_RECORD_LINK PRIMARY KEY (GUID),
+ CONSTRAINT UQ_RECORD_ID_DOC_ID UNIQUE(RECORD_ID,DOC_ID),
+ --CONSTRAINT FK_TBPMO_DOC_RECORD_LINK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID),
+ CONSTRAINT FK_TBPMO_DOC_RECORD_LINK_DOC_ID FOREIGN KEY (DOC_ID) REFERENCES TBPMO_DOCRESULT_LIST (DocID)
+)
+GO
+CREATE TRIGGER TBPMO_DOC_RECORD_LINK_AFT_UPD ON TBPMO_DOC_RECORD_LINK
+FOR UPDATE
+AS
+ UPDATE TBPMO_DOC_RECORD_LINK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_RECORD_LINK.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
+ IF OBJECT_ID (N'TBPMO_DOCSEARCH_RESULTLIST_CONFIG', N'U') IS NOT NULL
+ 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_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 PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT)
+AS
+DECLARE @COL_NAME VARCHAR(50),
+ @SQL_BEGIN VARCHAR(1000),
+ @SQL_END VARCHAR(2000),
+ @SQL VARCHAR(8000),
+ @CONTROL_ID INT,
+ @RESULT VARCHAR(8000),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @SQL_LBL VARCHAR(2000)
+
+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],T.COLOR AS ROW_COLOR, T.FORM_ID AS [Form-ID],'
+ 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 = 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','')
+ IF LEN(ISNULL(@SQL,'')) = 0
+ BEGIN
+ IF @TYPEID = 10 OR @TYPEID = 11
+ 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
+ ELSE IF @TYPEID = 6
+ 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
+ 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
+ END
+ ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14
+ SET @SQL = '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
+ ELSE
+ 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
+ END
+ ELSE
+ BEGIN
+ IF (@TYPEID = 10) OR (@TYPEID = 11)
+ 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
+ ELSE IF @TYPEID = 6
+ 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
+ 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
+ END
+ ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14
+ SET @SQL = @SQL + ',(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
+ ELSE
+ 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
+ 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(DocID) WHEN 0 THEN 0 ELSE 1 END AS [files?] FROM VWPMO_WD_DOC_SEARCH WHERE RECORD_ID = T.GUID) AS [files?]'
+ --PRint '2'
+ SET @SQL = @SQL + ',(SELECT COUNT(DocID) AS [files?] FROM VWPMO_WD_DOC_SEARCH WHERE RECORD_ID = T.GUID) AS [file count]'
+ --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
+
+DELETE FROM TBPMO_DOC_RECORD_LINK
+DELETE FROM TBPMO_DOCRESULT_LIST
+
+ALTER TABLE TBPMO_DOCRESULT_LIST
+DROP COLUMN ENTITY_ID
+GO
+ALTER TABLE TBPMO_DOCRESULT_LIST
+DROP COLUMN RECORD_ID
+GO
+ALTER TABLE TBPMO_DOCRESULT_LIST
+DROP COLUMN PARENT_ID
+GO
+
+ALTER VIEW [dbo].[VWPMO_WD_DOC_SYNC] AS
+SELECT TOP 100 PERCENT
+ T.dwDocID as DocID
+ ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) + T.szLongName AS FULL_FILENAME
+ ,szLongName as [Filename],
+ T.szText33 AS Doctype
+ ,T.dwVersionNumber AS [Version]
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime]
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime
+ ,T1.szDocTypeName AS OBJECTTYPE
+FROM
+ windream60.dbo.BaseAttributes T
+ ,windream60.dbo.ObjectType T1
+WHERE
+ T1.szDocTypeName = 'DEMO - Geschäftsprozesse'
+ --T.dwObjectTypeID > 23
+ --T.dwObjectTypeID > 23 AND
+ AND
+ T.dwObjectTypeID = T1.dwObjectTypeID
+ORDER BY [Creation_DateTime]
+GO
+
+
+ALTER PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE]
+AS
+BEGIN TRY
+DECLARE @DocID INTEGER,
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+DECLARE c_Values CURSOR LOCAL FOR
+ select DocID,[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'),
+ [Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype,
+ Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC WHERE
+ CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR
+ CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())
+ OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Filename,@Doctype,@Version,@Objecttype,
+ @Creation_DateTime,@Change_DateTime
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
+ BEGIN
+ PRINT 'INSERT NECESSARY: ' + CONVERT(VARCHAR(10),@DocID)
+
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @DocID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime)
+ END
+ ELSE
+ UPDATE TBPMO_DOCRESULT_LIST SET
+ [FULL_FILENAME] = @FULL_FILENAME,
+ [Filename] = @Filename,
+ [Doctype] = @Doctype,
+ [Version] = @Version,
+ [Objecttype] = @Objecttype,
+ Change_DateTime = @Change_DateTime
+ WHERE DocID = @DocID
+
+ --#####
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
+ END
+CLOSE c_Values
+DEALLOCATE c_Values
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+/* RENOLIT */
+
+ALTER FUNCTION [dbo].[FNPMO_GET_DATEDIFF] (@pTIMESPAN VARCHAR(10),@pVALUE DATE)
+RETURNS INTEGER
+AS
+BEGIN
+ DECLARE @RESULT AS INTEGER
+ If @pTIMESPAN = 'Day'
+ SELECT @RESULT = DATEDIFF(DAY, CONVERT(DATE,getdate()),@pVALUE)
+ ELSE IF @pTIMESPAN = 'Month'
+ SELECT @RESULT = DATEDIFF(MONTH, getdate(),@pVALUE)
+ ELSE IF @pTIMESPAN = 'Week'
+ SELECT @RESULT = DATEDIFF(WEEK, getdate(),@pVALUE)
+ --PRINT 'RESULT: W:\' + @RESULT + '\'
+ RETURN @RESULT
+END
+GO
+ALTER VIEW [dbo].[VWPMO_FOLLOW_UP_EMAIL] AS
+SELECT
+ T1.GUID FOLLOW_UP_ID,
+ T1.NAME,
+ T1.FOLLOW_UP_SEQUENCE,
+ T1.FOLLOW_UP_DAYS,
+ T1.FOLLOW_UP_TIME_SPAN,
+ CONVERT(CHAR(5),GETDATE(),108) NOW_TIME,
+ T.RECORD_ID,
+ CONVERT(DATE,T.VALUE) VALUE,
+ T1.EMAIL_SUBJECT,
+ T1.EMAIL_BODY,
+ T1.PROCESS_SELECT1,
+ T1.PROCESS_SELECT2,
+ T1.PROCESS_SELECT3,
+ T1.PROCESS_SELECT4,
+ T1.PROCESS_SELECT5,
+ T1.PROCESS_SELECT6,
+ T1.PROCESS_SELECT7,
+ T1.PROCESS_SELECT8,
+ T1.PROCESS_SELECT9,
+ T1.PROCESS_SELECT10,
+ T1.TIME_UNITY,
+ T1.TIME_DIST,
+ CONVERT(INT,T1.TIME_SPAN) TIME_SPAN
+ ,CONVERT(INT,[dbo].[FNPMO_GET_DATEDIFF] (T1.TIME_UNITY ,T.VALUE)) TODAY_TIME_SPAN
+ ,T.VALUE DATE_VALUE,
+ T1.DEPENDENT_DATE_CTRL_ID,
+ T1.DEPENDENT_DONE_CTRL_ID,
+ (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) DONE_VALUE,
+ T2.GUID AS CONSTRUCTOR_ID,
+ T2.FORM_TITLE AS CONSTRUCTOR_TITLE,
+ T1.CTRL_USER_DIRECT,
+ T1.CTRL_GROUP_DIRECT
+FROM
+ VWPMO_VALUES T,
+ TBPMO_FOLLOW_UP_EMAIL T1,
+ TBPMO_FORM_CONSTRUCTOR T2
+WHERE
+ T1.ACTIVE = 1 AND
+ (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) = 'False' And
+ T.CONTROL_ID = T1.DEPENDENT_DATE_CTRL_ID AND
+ T1.CONSTRUCTOR_ID = T2.GUID
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT)
+AS
+BEGIN TRY
+ IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL
+ DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL
+ DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID
+
+ DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER WHERE GUID = @pUSER_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 TABLE TBPMO_FILE_IMPORTER
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ NAME VARCHAR(100) NOT NULL,
+ RUN_SEQUENCE VARCHAR(50) NOT NULL DEFAULT 'ONCE_DAILY',
+ RUN_DAYS VARCHAR(50) NOT NULL DEFAULT '1111100',
+ RUN_TIME_SPAN VARCHAR(50) NOT NULL DEFAULT '08:00',
+ HOT_FOLDER VARCHAR(2000) NOT NULL DEFAULT '',
+ ARCHIVE_FOLDER VARCHAR(2000) NOT NULL DEFAULT '',
+ ACTIVE 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_FILE_IMPORTER PRIMARY KEY (GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_FILE_IMPORTER_AFT_UPD ON TBPMO_FOLLOW_UP_EMAIL
+FOR UPDATE
+AS
+ UPDATE TBPMO_FILE_IMPORTER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FILE_IMPORTER.GUID = INSERTED.GUID
+GO
+
+ALTER TABLE TBPMO_FILE_IMPORTER
+ADD ARCHIVE_FOLDER VARCHAR(2000) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBDD_USER
+ADD USERID_FK_INT_ECM INTEGER NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBDD_USER
+ADD USERID_FK_VARCHAR_ECM VARCHAR(30) NOT NULL DEFAULT ''
+GO
+
+DECLARE @DocID INTEGER,
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+DECLARE c_Values CURSOR LOCAL FOR
+ select DocID,[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'),
+ [Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype,
+ Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC --WHERE
+ --CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR
+ --CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())
+ OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Filename,@Doctype,@Version,@Objecttype,
+ @Creation_DateTime,@Change_DateTime
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
+ BEGIN
+ PRINT 'INSERT NECESSARY: ' + CONVERT(VARCHAR(10),@DocID)
+
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @DocID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime)
+ END
+ ELSE
+ UPDATE TBPMO_DOCRESULT_LIST SET
+ [FULL_FILENAME] = @FULL_FILENAME,
+ [Filename] = @Filename,
+ [Doctype] = @Doctype,
+ [Version] = @Version,
+ [Objecttype] = @Objecttype,
+ Change_DateTime = @Change_DateTime
+ WHERE DocID = @DocID
+
+ --#####
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
+ END
+CLOSE c_Values
+DEALLOCATE c_Values
+GO
+
+DECLARE
+ @DOC_ID INTEGER,
+ @RECORD_ID INTEGER
+DECLARE c_INSERT CURSOR FOR
+SELECT
+ T.dwDocID as DocID
+ ,T2.[dwValue]
+FROM
+ windream60.[dbo].BaseAttributes T
+ ,windream60.[dbo].ObjectType T1
+ ,windream60.[dbo].[Vector] T2
+WHERE
+ T.dwObjectTypeID = 6 AND
+ T.dwObjectTypeID = T1.dwObjectTypeID
+ AND T.dwDocID = T2.dwDocID
+ AND T2.dwAttrID = 340
+ AND T2.[dwValue] IS NOT NULL
+ORDER BY T.dwDocID
+ OPEN c_INSERT
+ FETCH NEXT FROM c_INSERT INTO @DOC_ID,@RECORD_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROm TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @DOC_ID AND RECORD_ID = @RECORD_ID)
+ INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID,ADDED_WHO) VALUES
+ (@DOC_ID,@RECORD_ID,'SYNC DD')
+
+ FETCH NEXT FROM c_INSERT INTO @DOC_ID,@RECORD_ID
+ END
+CLOSE c_INSERT
+DEALLOCATE c_INSERT
+GO
+
+CREATE VIEW VWPMO_WD_OBJECT_RIGHTS AS
+SELECT
+ [dwObjectID],
+ dwUserOrGroupID,
+ dwAccessRight,
+ dwObjectDBID
+FROM
+ windream60.[dbo].[AccessRight]
+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
+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,
+ T1.DOCUMENT_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
+
+CREATE TABLE TBPMO_USER_RIGHTS_JOBS
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ USER_ID INTEGER NOT NULL,
+ ENTITY_ID INTEGER NOT NULL DEFAULT 0,
+ [COMMENT] VARCHAR(250) NOT NULL,
+ WORKED 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_USER_RIGHTS_JOBS PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_USER_RIGHTS_JOBS_AFT_UPD ON TBPMO_USER_RIGHTS_JOBS
+FOR UPDATE
+AS
+ UPDATE TBPMO_USER_RIGHTS_JOBS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_RIGHTS_JOBS.GUID = INSERTED.GUID
+GO
+
+
+ALTER TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @USER_ID INTEGER,
+ @CLIENT_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @CLIENT_COUNT INTEGER,
+ @ECM_USR_ID INTEGER,
+ @USRNAME VARCHAR(50)
+ SELECT
+ @USER_ID = GUID,
+ @ADDED_WHO = ADDED_WHO,
+ @USRNAME = USERNAME
+ FROM INSERTED
+
+
+ SELECT @ECM_USR_ID = [dwUserID]
+ FROM [windream60].[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME)
+ IF @ECM_USR_ID IS NOT NULL
+ UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID
+ FROM INSERTED
+ WHERE TBDD_USER.GUID = INSERTED.GUID
+
+ SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT
+ IF @CLIENT_COUNT = 1
+ BEGIN
+ SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT
+ INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES
+ (@USER_ID,@CLIENT_COUNT,@ADDED_WHO)
+ END
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+DECLARE
+ @USERNAME_DD VARCHAR(50),
+ @USER_ID_WD INTEGER
+DECLARE c_INSERT CURSOR FOR
+ SELECT
+ UPPER(USERNAME)
+FROM
+ TBDD_USER
+WHERE
+ MODULE_RECORD_ORG = 1
+
+ OPEN c_INSERT
+ FETCH NEXT FROM c_INSERT INTO @USERNAME_DD
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @USER_ID_WD = [dwUserID] FROM windream60.dbo.UserInfo WHERE UPPER(szUserName) = @USERNAME_DD AND szNTDomain = 'LOCAL.ZELLSTOFF-STENDAL.DE'
+ IF @USER_ID_WD IS NOT NULL
+ UPDATE TBDD_USER SET USERID_FK_INT_ECM = @USER_ID_WD
+ WHERE UPPER(USERNAME) = @USERNAME_DD
+
+ FETCH NEXT FROM c_INSERT INTO @USERNAME_DD
+ END
+CLOSE c_INSERT
+DEALLOCATE c_INSERT
+GO
+
+
+CREATE TABLE TBPMO_LOG_ESSENTIALS
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ REFERENCE_KEY INTEGER NOT NULL DEFAULT '0',
+ REFERENCE_STRING VARCHAR(50) NOT NULL DEFAULT '',
+ COMMENT VARCHAR(500) NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_LOG_ESSENTIALS PRIMARY KEY (GUID)
+)
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30))
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO)
+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 TRIGGER [dbo].[TBDD_GROUPS_USER_AFT_DEL] ON [dbo].[TBDD_GROUPS_USER]
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE @USER_ID INTEGER
+ SELECT @USER_ID = deleted.USER_ID FROM deleted
+ If @USER_ID IS NOT NULL
+ BEGIN
+ INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES
+ (@USER_ID,'USER DELETED FROM GROUP','TBDD_GROUPS_USER_AFT_DEL')
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER-ID','USER DELETED FROM USER-GROUP',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID ))
+ END
+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].[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')
+
+ 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 TABLE TBPMO_SUPERVISOR_CONTROLS
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONTROL_ID INTEGER NOT NULL,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBPMO_SUPERVISOR_CONTROLS PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER [dbo].[TBPMO_SUPERVISOR_CONTROLS_AFT_INS] ON [dbo].[TBPMO_SUPERVISOR_CONTROLS]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @USERSTRING VARCHAR(50),
+ @USER_ID INTEGER,
+ @ECM_USER_ID INTEGER,
+ @COUNT_FILES INTEGER
+ SELECT
+ @CONTROL_ID = CONTROL_ID
+ FROM INSERTED
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
+
+ DECLARE c_USER CURSOR FOR
+ SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @USERSTRING
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @USER_ID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@USERSTRING)
+ IF @USER_ID <> 0
+ SELECT @ECM_USER_ID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ IF @ECM_USER_ID > 0
+ BEGIN
+ SELECT @COUNT_FILES = COUNT(DocID) FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @ECM_USER_ID) AND ENTITY_ID = @ENTITY_ID
+ IF @COUNT_FILES > 0
+ IF NOT EXISTS (SELECT GUID FROM TBPMO_USER_RIGHTS_JOBS WHERE COMMENT = 'SUPERVISOR ADDED' AND ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID AND WORKED = 0)
+ INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,ENTITY_ID,COMMENT,ADDED_WHO) VALUES
+ (@USER_ID,@ENTITY_ID,'SUPERVISOR ADDED','TBPMO_SUPERVISOR_CONTROLS_AFT_INS')
+ END
+
+ FETCH NEXT FROM c_USER INTO @USERSTRING
+ 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 TRIGGER [dbo].[TBPMO_SUPERVISOR_CONTROLS_AFT_DEL] ON [dbo].[TBPMO_SUPERVISOR_CONTROLS]
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @USERSTRING VARCHAR(50),
+ @USER_ID INTEGER,
+ @ECM_USER_ID INTEGER,
+ @COUNT_FILES INTEGER
+ SELECT @CONTROL_ID = deleted.CONTROL_ID FROM deleted
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
+
+ DECLARE c_USER CURSOR FOR
+ SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @USERSTRING
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @USER_ID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@USERSTRING)
+
+ IF @USER_ID <> 0
+ SELECT @ECM_USER_ID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ IF @ECM_USER_ID > 0
+ BEGIN
+ SELECT @COUNT_FILES = COUNT(DocID) FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @ECM_USER_ID) AND ENTITY_ID = @ENTITY_ID
+ IF @COUNT_FILES > 0
+ IF NOT EXISTS (SELECT GUID FROM TBPMO_USER_RIGHTS_JOBS WHERE COMMENT = 'SUPERVISOR DELETED' AND ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID AND WORKED = 0)
+ INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,ENTITY_ID,COMMENT,ADDED_WHO) VALUES
+ (@USER_ID,@ENTITY_ID,'SUPERVISOR DELETED','TBPMO_SUPERVISOR_CONTROLS_AFT_DEL')
+ END
+ FETCH NEXT FROM c_USER INTO @USERSTRING
+ 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 FUNCTION [dbo].[FNPMO_GET_USERID_FORSTRING](@USERSTRING VARCHAR(50))
+RETURNS INTEGER
+AS
+BEGIN
+ DECLARE @USER_ID AS INTEGER
+ SELECT @USER_ID = GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@USERSTRING)
+ IF @USER_ID IS NULL
+ SELECT @USER_ID = GUID FROM TBDD_USER WHERE UPPER(PRENAME + NAME) = REPLACE(UPPER(@USERSTRING),' ','')
+ IF @USER_ID IS NULL
+ SELECT @USER_ID = GUID FROM TBDD_USER WHERE REPLACE(UPPER(NAME + ',' + PRENAME),' ','') = REPLACE(UPPER(@USERSTRING),' ','')
+ RETURN(ISNULL(@USER_ID,0))
+END
+GO
+CREATE VIEW VWPMO_SUPERVISOR_CONTROL AS
+select
+ T1.RECORD_ID,
+ T.CONTROL_ID,
+ T2.[FORM_ID],
+ dbo.[FNPMO_GET_USERID_FORSTRING] (T1.VALUE) as [USER_ID]
+FROM
+ TBPMO_SUPERVISOR_CONTROLS T,
+ TBPMO_CONTROL_VALUE T1,
+ TBPMO_CONTROL T2
+WHERE
+ T.CONTROL_ID = T1.CONTROL_ID
+ AND T.CONTROL_ID = T2.GUID
+GO
+DROP TRIGGER [dbo].[TBPM_USER_AFT_DEL]
+GO
+CREATE TRIGGER [dbo].[TBDD_USER_AFT_DEL] ON [dbo].[TBDD_USER]
+FOR DELETE
+AS
+DECLARE @USER_ID INTEGER
+BEGIN
+ SELECT @USER_ID = GUID FROM DELETED
+ IF @USER_ID IN (0,1)
+ BEGIN
+ ROLLBACK TRANSACTION
+ RAISERROR('THIS USER CAN NOT BE DELETED!',16,10)
+ END
+ ELSE
+ BEGIN
+ INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES
+ (@USER_ID,'USER DELETED','TBDD_GROUPS_USER_AFT_DEL')
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES
+ (@USER_ID,'USER-ID','USER DELETED',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID ))
+ END
+END
+GO
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.8.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.8.sql
new file mode 100644
index 0000000..5920fb1
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.8.sql
@@ -0,0 +1,394 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.8' where NAME = 'Record-Organizer'
+GO
+DROP TABLE TBPMO_RIGHTS_WORK_SERVICE
+CREATE TABLE TBPMO_RIGHTS_WORK_SERVICE
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ DOC_ID INTEGER NOT NULL,
+ USER_ID INTEGER NOT NULL,
+ RIGHT_MODIFY VARCHAR(30) NOT NULL,
+ FILE_RIGHT VARCHAR(100) NOT NULL,
+ REASON VARCHAR(100) NOT NULL,
+ WORKED BIT NOT NULL DEFAULT 0,
+ WORKING BIT NOT NULL DEFAULT 0,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'SERVICE',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME
+ CONSTRAINT PK_TBPMO_RIGHTS_WORK_SERVICE PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_RIGHTS_WORK_SERVICE_AFT_UPD ON TBPMO_RIGHTS_WORK_SERVICE
+FOR UPDATE
+AS
+ UPDATE TBPMO_RIGHTS_WORK_SERVICE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHTS_WORK_SERVICE.GUID = INSERTED.GUID
+GO
+--DROP TABLE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT
+CREATE TABLE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ DOC_ID INTEGER NOT NULL,
+ DOC_PATH VARCHAR(1000) NOT NULL,
+ USER_STRING VARCHAR(500) NOT NULL,
+ FILE_RIGHT INTEGER NOT NULL,
+ RIGHT_TYPE VARCHAR(100) NOT NULL,
+ WORKED BIT NOT NULL DEFAULT 0,
+ COMMENT VARCHAR(500),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'SERVICE',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME
+ CONSTRAINT PK_TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT_AFT_UPD ON TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT
+FOR UPDATE
+AS
+ UPDATE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT.GUID = INSERTED.GUID
+GO
+--DROP TABLE TBPMO_ENTITY_RIGHT_CONTROLS
+CREATE TABLE TBPMO_ENTITY_RIGHT_CONTROLS
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ ENTITY_ID INTEGER NOT NULL,
+ CONTROL_ID INTEGER NOT NULL,
+ USED_FOR VARCHAR(50) NOT NULL DEFAULT '',
+ USER_GROUP VARCHAR(10) NOT NULL DEFAULT 'USER',
+ 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_ENTITY_RIGHT_CONTROLS PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_ENTITY_RIGHT_CONTROLS_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID),
+ CONSTRAINT FK_TBPMO_ENTITY_RIGHT_CONTROLS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_ENTITY_RIGHT_CONTROLS_AFT_UPD ON TBPMO_ENTITY_RIGHT_CONTROLS
+FOR UPDATE
+AS
+ UPDATE TBPMO_ENTITY_RIGHT_CONTROLS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_RIGHT_CONTROLS.GUID = INSERTED.GUID
+GO
+INSERT INTO TBPMO_ENTITY_RIGHT_CONTROLS ([ENTITY_ID],CONTROL_ID,USED_FOR) VALUES(1,29,'RIGHT READ/WRITE')
+GO
+INSERT INTO TBPMO_ENTITY_RIGHT_CONTROLS ([ENTITY_ID],CONTROL_ID,USED_FOR) VALUES(1,14,'RIGHT READ/WRITE')
+GO
+INSERT INTO TBPMO_ENTITY_RIGHT_CONTROLS ([ENTITY_ID],CONTROL_ID,USED_FOR) VALUES(1,272,'RIGHT READ/WRITE')
+GO
+INSERT INTO TBPMO_ENTITY_RIGHT_CONTROLS ([ENTITY_ID],CONTROL_ID,USED_FOR,USER_GROUP) VALUES(1,346,'RIGHT READ','GROUP')
+GO
+
+
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_CONTROL](@pCONTROL_ID INT)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID)
+ DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_FUNCTION_GENERAL WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_ENTITY_RIGHT_CONTROLS WHERE CONTROL_ID = @pCONTROL_ID
+ DELETE FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_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_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @RECORD_ID INTEGER,
+ @VALUE_NEW VARCHAR(MAX),
+ @VALUE_OLD VARCHAR(MAX),
+ @CHANGED_WHO VARCHAR(50),
+ @CHANGE_STEP INTEGER,
+ @REDO BIT,
+ @CHANGE_ID INTEGER,
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @RIGHT INTEGER
+ IF UPDATE (VALUE)
+ BEGIN
+ SELECT
+ @CONTROL_ID = DELETED.CONTROL_ID,
+ @RECORD_ID = DELETED.RECORD_ID,
+ @VALUE_OLD = DELETED.VALUE
+ FROM DELETED
+ --RAISERROR (@VALUE , 16, 1)
+ SELECT
+ @CHANGE_STEP = CHANGE_STEP,
+ @CHANGED_WHO = CHANGED_WHO,
+ @VALUE_NEW = VALUE,
+ @REDO = REDO
+ FROM INSERTED
+
+
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD)
+ INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ ELSE
+ UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID
+ --IF @REDO = 0
+ -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP)
+ -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ --Update des Logs für loggen von Datensatzänderungen
+ IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
+ BEGIN
+ If @VALUE_OLD <> @VALUE_NEW
+ BEGIN
+ DECLARE @LOG VARCHAR(1000)
+ SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW
+ INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO)
+ END
+ END
+ END
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ IF @CONTROL_ID = 29 --Vertragseigner Person
+ BEGIN
+ select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_NEW)
+ If @USER_ID IS NOT NULL AND @USER_ID <> 0
+ BEGIN
+ DECLARE cursDOC_V1 CURSOR FOR
+ select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V1
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND WORKED = 0 AND WORKING = 0)
+ DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND WORKED = 0 AND WORKING = 0
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND USER_ID = @USER_ID AND WORKED = 0)
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY, FILE_RIGHT,REASON,ADDED_WHO) VALUES
+ (@DOC_ID,@USER_ID,'ADD RIGHT',3,'VERTRAGSEIGNER USER','TBPMO_CONTROL_VALUE_AFT_UPD')
+
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V1
+ DEALLOCATE cursDOC_V1
+ END
+ END
+ -- ####### Vertragseigner Team ###############
+ ELSE IF @CONTROL_ID = 14
+ BEGIN
+ DECLARE c_USER CURSOR FOR
+ SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @USER_ID <> 0
+ BEGIN
+ DECLARE cursDOC_V2 CURSOR FOR
+ select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V2
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND WORKED = 0 AND WORKING = 0)
+ DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND WORKED = 0 AND WORKING = 0
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND USER_ID = @USER_ID AND WORKED = 0)
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES
+ (@DOC_ID,@USER_ID,'ADD RIGHT',3,'VERTRAGSEIGNER TEAM','TBPMO_CONTROL_VALUE_AFT_UPD')
+
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V2
+ DEALLOCATE cursDOC_V2
+ END
+ FETCH NEXT FROM c_USER INTO @USER_ID
+ END
+ CLOSE c_USER
+ DEALLOCATE c_USER
+ END
+ -- ####### RecordSupervisor ###############
+ --ELSE IF @CONTROL_ID = 227 --RecordSupervisor
+ -- BEGIN
+
+ -- END
+ --ELSE IF @CONTROL_ID = 346 --Leseberechtigung CheckableListbox
+ -- BEGIN
+
+ -- END
+
+ /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/
+ --Generelle Updates (Datum und Recor-Änderungen)
+ UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID
+ UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_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_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @CONTROL_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @VALUE_NEW VARCHAR(MAX),
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @RIGHT INTEGER
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @CONTROL_ID = CONTROL_ID,
+ @ADDED_WHO = ADDED_WHO,
+ @VALUE_NEW = VALUE
+ FROM INSERTED
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ IF @CONTROL_ID = 346
+ BEGIN
+ DECLARE c_USER CURSOR FOR
+ SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @USER_ID <> 0
+ BEGIN
+ DECLARE cursDOC_V2 CURSOR FOR
+ select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V2
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'LESEBERECHTIGUNG TEAM' AND WORKED = 0 AND WORKING = 0)
+ DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'LESEBERECHTIGUNG TEAM' AND WORKED = 0 AND WORKING = 0
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'LESEBERECHTIGUNG TEAM' AND USER_ID = @USER_ID AND WORKED = 0)
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES
+ (@DOC_ID,@USER_ID,'ADD RIGHT', 1,'LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS')
+
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V2
+ DEALLOCATE cursDOC_V2
+ END
+ FETCH NEXT FROM c_USER INTO @USER_ID
+ END
+ CLOSE c_USER
+ DEALLOCATE c_USER
+ END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+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 VIEW VWPMO_RIGHTS_2B_WORKED AS
+SELECT
+ T.GUID
+ ,T.DOC_ID
+ ,T.USER_ID
+ ,T1.USERNAME
+ ,T.RIGHT_MODIFY
+ ,T.FILE_RIGHT FILE_RIGHT_ID
+ ,CASE T.FILE_RIGHT
+ WHEN 3 THEN 'READ/WRITE'
+ WHEN 1 THEN 'READ'
+ ELSE T.FILE_RIGHT END AS FILE_RIGHT
+ ,T.WORKING
+ ,T.ADDED_WHO
+ ,T.ADDED_WHEN
+FROM
+ TBPMO_RIGHTS_WORK_SERVICE T,
+ TBDD_USER T1
+WHERE
+ T.WORKED = 0
+ AND T.USER_ID = T1.GUID
+GO
+DROP TABLE TBPMO_SERVICE_RIGHT_CONFIG
+CREATE TABLE TBPMO_SERVICE_RIGHT_CONFIG
+(
+ GUID TINYINT
+ ,LOG_ERR_ONLY BIT NOT NULL DEFAULT 1
+ ,HOUR_BEGIN INTEGER NOT NULL DEFAULT 6
+ ,HOUR_END INTEGER NOT NULL DEFAULT 18
+ ,AD_DOMAIN VARCHAR(250) NOT NULL DEFAULT ''
+ ,AD_USER VARCHAR(250) NOT NULL DEFAULT ''
+ ,AD_USER_PW VARCHAR(500) NOT NULL DEFAULT ''
+ ,AD_SERVER VARCHAR(250) NOT NULL DEFAULT ''
+ ,WD_RIGHT INTEGER NOT NULL DEFAULT '141'
+ ,RUN_SERVICE BIT NOT NULL DEFAULT 0
+ ,SERVICE_RUN DATETIME
+ ,SERVICE_FINISHED DATETIME
+ ,CHANGED_WHO VARCHAR(50)
+ ,CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_SERVICE_RIGHT_CONFIG_GUID PRIMARY KEY(GUID),
+ CONSTRAINT CH_TBPMO_SERVICE_RIGHT_CONFIG_GUID CHECK(GUID = 1)
+)
+GO
+INSERT INTO TBPMO_SERVICE_RIGHT_CONFIG (GUID,LOG_ERR_ONLY) VALUES (1,1)
+GO
+CREATE TRIGGER TBPMO_SERVICE_RIGHT_CONFIG_AFT_UPD ON TBPMO_SERVICE_RIGHT_CONFIG
+FOR UPDATE
+AS
+ UPDATE TBPMO_SERVICE_RIGHT_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_SERVICE_RIGHT_CONFIG.GUID = INSERTED.GUID
+GO
+CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_ADD_RECORD](@pDOC_ID INT, @pDOC_PATH VARCHAR(1000), @pUSERSTRING VARCHAR(250), @pRIGHT INT, @pTYPE VARCHAR(100))
+AS
+BEGIN TRY
+ DECLARE @GUID INTEGER,
+ @RIGHT INTEGER
+ SELECT @GUID = ISNULL(MAX(GUID),0) FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE
+ DOC_ID = @pDOC_ID
+ AND UPPER(DOC_PATH) = UPPER(@pDOC_PATH)
+ AND UPPER(USER_STRING) = UPPER(@pUSERSTRING)
+ IF @GUID = 0
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT (DOC_ID,DOC_PATH,USER_STRING,FILE_RIGHT,RIGHT_TYPE,ADDED_WHO)
+ VALUES (@pDOC_ID,UPPER(@pDOC_PATH),UPPER(@pUSERSTRING),@pRIGHT,@pTYPE,'PRPMO_RIGHT_INSERT')
+ ELSE
+ BEGIN
+ SELECT @RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE GUID = @GUID
+ IF @RIGHT <> @pRIGHT
+ IF @RIGHT < @pRIGHT
+ UPDATE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT SET FILE_RIGHT = @pRIGHT,RIGHT_TYPE = @pTYPE WHERE GUID = @GUID
+ END
+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_ENTITY_USERRIGHT_ADDING
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1)
+ ,ENTITY_ID INTEGER
+ ,AD_DOMAIN VARCHAR(250) NOT NULL DEFAULT ''
+ ,AD_USER VARCHAR(250) NOT NULL DEFAULT ''
+ ,AD_USER_PW VARCHAR(500) NOT NULL DEFAULT ''
+ ,AD_SERVER VARCHAR(250) NOT NULL DEFAULT ''
+ ,WD_RIGHT INTEGER NOT NULL DEFAULT '141'
+ ,ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT'
+ ,ADDED_WHEN DATETIME DEFAULT GETDATE()
+ ,CHANGED_WHO VARCHAR(50)
+ ,CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_ENTITY_USERRIGHT_ADDING_GUID PRIMARY KEY(GUID),
+ CONSTRAINT UQ_TBPMO_ENTITY_USERRIGHT_ADDING_GUID UNIQUE(ENTITY_ID)
+)
+GO
+CREATE TRIGGER TBPMO_ENTITY_USERRIGHT_ADDING_AFT_UPD ON TBPMO_ENTITY_USERRIGHT_ADDING
+FOR UPDATE
+AS
+ UPDATE TBPMO_ENTITY_USERRIGHT_ADDING SET CHANGED_WHEN = GETDATE() FROM INSERTED
+ WHERE TBPMO_ENTITY_USERRIGHT_ADDING.GUID = INSERTED.GUID
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.9.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.9.sql
new file mode 100644
index 0000000..925ad2a
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.9.sql
@@ -0,0 +1,391 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.9' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBDD_USER
+ADD GENERAL_VIEWER VARCHAR(30) NOT NULL DEFAULT 'NONE'
+GO
+UPDATE TBPMO_DOCSEARCH_RESULTLIST_CONFIG SET TYPE_ID = 2 WHERE COLUMN_VIEW = 'IN_WORK' and TYPE_ID = 1
+GO
+CREATE TABLE TBPMO_SELECTION_DATA
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1)
+ ,VALUE VARCHAR(250) NOT NULL
+ ,COMMENT VARCHAR(250)
+ ,ID_TYPE INTEGER 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_TBPMO_SELECTION_DATA PRIMARY KEY (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_SELECTION_DATA_AFT_UPD ON TBPMO_SELECTION_DATA
+FOR UPDATE
+AS
+ UPDATE TBPMO_SELECTION_DATA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SELECTION_DATA.GUID = INSERTED.GUID
+GO
+INSERT INTO TBPMO_SELECTION_DATA (VALUE,COMMENT,ID_TYPE,SEQUENCE) VALUES
+('NONE', 'GENERAL-VIEWER',1,0)
+GO
+INSERT INTO TBPMO_SELECTION_DATA (VALUE,COMMENT,ID_TYPE,SEQUENCE) VALUES
+('DOC-VIEW', 'GENERAL-VIEWER',1,1)
+GO
+CREATE FUNCTION [dbo].[FNPMO_DOC_GET_IDX](@pDOCID INTEGER, @pENTITY INTEGER, @DOCIDX VARCHAR(20))
+RETURNS VARCHAR(250)
+AS
+BEGIN
+ DECLARE @HEADER_CAPTION VARCHAR(30), @VALUE VARCHAR(250), @RESULT VARCHAR(250)
+ SELECT @HEADER_CAPTION = HEADER_CAPTION FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOCIDX
+ IF @HEADER_CAPTION IS NULL
+ SET @RESULT = 'NO CONFIGURATION'
+ ELSE
+ BEGIN
+ SELECT @VALUE = VALUE FROM VWPMO_DOC_INDICES WHERE DocID = @pDOCID AND COLUMN_CAPTION = @HEADER_CAPTION
+ IF @VALUE IS NOT NULL
+ SET @RESULT = @VALUE
+ ELSE
+ SET @RESULT = 'NO RESULT'
+ END
+ RETURN @RESULT
+END
+GO
+DROP TABLE TBPMO_DOCRESULT_DROPDOWN_ITEMS
+CREATE TABLE TBPMO_DOCRESULT_DROPDOWN_ITEMS
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1)
+ ,CONFIG_ID INTEGER NOT NULL
+ ,VALUE VARCHAR(100) NOT NULL
+ ,SEQUENCE TINYINT NOT NULL DEFAULT 0
+ ,[DEFAULT] 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_DOCRESULT_DROPDOWN_ITEMS PRIMARY KEY (GUID),
+ CONSTRAINT FK_TBPMO_DOCRESULT_DROPDOWN_ITEMSCONFIG_ID FOREIGN KEY (CONFIG_ID) REFERENCES TBPMO_DOCSEARCH_RESULTLIST_CONFIG (GUID),
+)
+GO
+CREATE TRIGGER TBPMO_DOCRESULT_DROPDOWN_ITEMS_AFT_UPD ON TBPMO_DOCRESULT_DROPDOWN_ITEMS
+FOR UPDATE
+AS
+ UPDATE TBPMO_DOCRESULT_DROPDOWN_ITEMS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_DROPDOWN_ITEMS.GUID = INSERTED.GUID
+GO
+
+
+ALTER TABLE TBDD_CLIENT
+ADD LICENSE_PMO VARCHAR(5000) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBDD_USER_MODULE_LOG_IN
+ADD CLIENT_ID INTEGER NOT NULL DEFAULT 99
+GO
+
+CREATE TABLE TBPMO_DOC_VALUES
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ [DocID] INTEGER NOT NULL,
+ [CONFIG_ID] INTEGER NOT NULL,
+ [VALUE] VARCHAR(MAX) NOT NULL,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_DOC_VALUES PRIMARY KEY (GUID)
+)
+GO
+
+CREATE TRIGGER TBPMO_DOC_VALUES_AFT_UPD ON TBPMO_DOC_VALUES
+FOR UPDATE
+AS
+ UPDATE TBPMO_DOC_VALUES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_VALUES.[DocID] = INSERTED.[DocID]
+GO
+
+CREATE TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @ENTITY_ID INTEGER
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @DOC_ID = DOC_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+
+ IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 4) >= 1
+ BEGIN
+ INSERT INTO TBPMO_DOC_VALUES (DocID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT @DOC_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 4
+ END
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+
+GO
+
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_RESULTFILE](@pDOCID INT)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID
+ DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @RECORD_ID INTEGER,
+ @VALUE_NEW VARCHAR(MAX),
+ @VALUE_OLD VARCHAR(MAX),
+ @CHANGED_WHO VARCHAR(50),
+ @CHANGE_STEP INTEGER,
+ @REDO BIT,
+ @CHANGE_ID INTEGER,
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @RIGHT INTEGER
+ IF UPDATE (VALUE)
+ BEGIN
+ SELECT
+ @CONTROL_ID = DELETED.CONTROL_ID,
+ @RECORD_ID = DELETED.RECORD_ID,
+ @VALUE_OLD = DELETED.VALUE
+ FROM DELETED
+ --RAISERROR (@VALUE , 16, 1)
+ SELECT
+ @CHANGE_STEP = CHANGE_STEP,
+ @CHANGED_WHO = CHANGED_WHO,
+ @VALUE_NEW = VALUE,
+ @REDO = REDO
+ FROM INSERTED
+
+
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD)
+ INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ ELSE
+ UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID
+ --IF @REDO = 0
+ -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP)
+ -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ --Update des Logs für loggen von Datensatzänderungen
+ IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
+ BEGIN
+ If @VALUE_OLD <> @VALUE_NEW
+ BEGIN
+ DECLARE @LOG VARCHAR(1000)
+ SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW
+ INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO)
+ END
+ END
+ END
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ IF @CONTROL_ID = 29 --Vertragseigner Person
+ BEGIN
+ /*Das Recht des alten Vertragseigners löschen*/
+ IF @VALUE_OLD <> ''
+ BEGIN
+ select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_OLD)
+ If @USER_ID IS NOT NULL AND @USER_ID <> 0
+ BEGIN
+ DECLARE cursDOC_V1 CURSOR FOR
+ select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V1
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER'
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND WORKED = 0)
+ BEGIN
+ DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND WORKED = 0
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY, FILE_RIGHT,REASON,ADDED_WHO) VALUES
+ (@DOC_ID,@USER_ID,'DELETE RIGHT',3,'VERTRAGSEIGNER USER','TBPMO_CONTROL_VALUE_AFT_UPD')
+ END
+ ELSE
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY, FILE_RIGHT,REASON,ADDED_WHO) VALUES
+ (@DOC_ID,@USER_ID,'DELETE RIGHT',3,'VERTRAGSEIGNER USER','TBPMO_CONTROL_VALUE_AFT_UPD')
+
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V1
+ DEALLOCATE cursDOC_V1
+ END
+ END
+ /*Das neue UserRecht hinzufügen*/
+ BEGIN
+ select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_NEW)
+ If @USER_ID IS NOT NULL AND @USER_ID <> 0
+ BEGIN
+ DECLARE cursDOC_V1 CURSOR FOR
+ select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V1
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND WORKED = 0 AND RIGHT_MODIFY = 'ADD RIGHT')
+ BEGIN
+ DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND WORKED = 0
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY, FILE_RIGHT,REASON,ADDED_WHO) VALUES
+ (@DOC_ID,@USER_ID,'ADD RIGHT',3,'VERTRAGSEIGNER USER','TBPMO_CONTROL_VALUE_AFT_UPD')
+ END
+ ELSE
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY, FILE_RIGHT,REASON,ADDED_WHO) VALUES
+ (@DOC_ID,@USER_ID,'ADD RIGHT',3,'VERTRAGSEIGNER USER','TBPMO_CONTROL_VALUE_AFT_UPD')
+
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V1
+ DEALLOCATE cursDOC_V1
+ END
+ END
+ END
+ -- ####### Vertragseigner Team ###############
+ ELSE IF @CONTROL_ID = 14
+ /*Die Rechte des Teams Vertragseigner löschen*/
+ IF @VALUE_OLD <> ''
+ BEGIN
+ DECLARE c_RIGHT2Delete CURSOR FOR
+ SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_OLD)
+ OPEN c_RIGHT2Delete
+ FETCH NEXT FROM c_RIGHT2Delete INTO @USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @USER_ID <> 0
+ BEGIN
+ DECLARE cursDOC_V3 CURSOR FOR
+ select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V3
+ FETCH NEXT FROM cursDOC_V3 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND WORKED = 0)
+ BEGIN
+ DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND WORKED = 0
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES
+ (@DOC_ID,@USER_ID,'DELETE RIGHT',3,'VERTRAGSEIGNER TEAM','TBPMO_CONTROL_VALUE_AFT_UPD')
+ END
+ ELSE
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES
+ (@DOC_ID,@USER_ID,'DELETE RIGHT',3,'VERTRAGSEIGNER TEAM','TBPMO_CONTROL_VALUE_AFT_UPD')
+
+ FETCH NEXT FROM cursDOC_V3 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V3
+ DEALLOCATE cursDOC_V3
+ END
+ FETCH NEXT FROM c_RIGHT2Delete INTO @USER_ID
+ END
+ CLOSE c_RIGHT2Delete
+ DEALLOCATE c_RIGHT2Delete
+ END
+ /*Die Rechte des Teams Vertragseigner hinzufügen*/
+ BEGIN
+ DECLARE c_USER CURSOR FOR
+ SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @USER_ID <> 0
+ BEGIN
+ DECLARE cursDOC_V2 CURSOR FOR
+ select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V2
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND WORKED = 0 AND RIGHT_MODIFY = 'ADD RIGHT')
+ BEGIN
+ DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND WORKED = 0AND RIGHT_MODIFY = 'ADD RIGHT'
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES
+ (@DOC_ID,@USER_ID,'ADD RIGHT',3,'VERTRAGSEIGNER TEAM','TBPMO_CONTROL_VALUE_AFT_UPD')
+ END
+ ELSE
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES
+ (@DOC_ID,@USER_ID,'ADD RIGHT',3,'VERTRAGSEIGNER TEAM','TBPMO_CONTROL_VALUE_AFT_UPD')
+
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V2
+ DEALLOCATE cursDOC_V2
+ END
+ FETCH NEXT FROM c_USER INTO @USER_ID
+ END
+ CLOSE c_USER
+ DEALLOCATE c_USER
+ END
+ -- ####### RecordSupervisor ###############
+ --ELSE IF @CONTROL_ID = 227 --RecordSupervisor
+ -- BEGIN
+
+ -- END
+ --ELSE IF @CONTROL_ID = 346 --Leseberechtigung CheckableListbox
+ -- BEGIN
+
+ -- END
+
+ /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/
+ --Generelle Updates (Datum und Recor-Änderungen)
+ UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID
+ UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_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 VIEW [dbo].[VWPMO_WD_DOC_SEARCH] AS
+SELECT
+ T.DocID
+ ,T2.[FORM_ID] AS [ENTITY_ID]
+ ,T1.[RECORD_ID]
+ ,(SELECT ISNULL(RECORD1_ID,0) FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = T1.[RECORD_ID]) AS PARENT_ID
+ ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.DocID) + T3.szLongName AS FULL_FILENAME--T.FULL_FILENAME
+ ,T3.szLongName AS [Filename]--,T.[Filename]
+ ,T.Doctype
+ ,T.[Version]
+ ,T.Creation_DateTime
+ ,T.Change_DateTime
+ ,T.OBJECTTYPE
+ ,T.DISPLAY_NAME
+ ,T.IN_WORK
+ ,T.IN_WORK_USER
+ ,T.IN_WORK_COMMENT
+FROM
+ TBPMO_DOCRESULT_LIST T
+ ,TBPMO_DOC_RECORD_LINK T1
+ ,TBPMO_RECORD T2
+ ,windream.dbo.BaseAttributes T3
+WHERE
+ T.DocID = T1.DOC_ID AND
+ T1.RECORD_ID = T2.GUID
+ AND T.DocID = T3.dwDocID
+
+
+GO
+
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.0.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.0.sql
new file mode 100644
index 0000000..b19db80
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.0.sql
@@ -0,0 +1,70 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.0' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBPMO_FORM
+ADD LOCK_CONTROLS_BG_LOAD BIT NOT NULL DEFAULT 1
+GO
+ALTER VIEW 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,
+ 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
+CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5))
+RETURNS VARCHAR(250)
+AS
+BEGIN
+ DECLARE @HEADER_CAPTION VARCHAR(30),
+ @CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250)
+ SELECT
+ @HEADER_CAPTION = HEADER_CAPTION,
+ @CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE
+ ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE
+
+ IF @HEADER_CAPTION IS NULL
+ SET @RESULT = 'NO DROP-DOWN CONFIGURATION'
+ ELSE
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID
+ IF @VALUE IS NOT NULL
+ SET @RESULT = @VALUE
+ ELSE
+ SET @RESULT = 'NO RESULT'
+ END
+ RETURN @RESULT
+END
+
+GO
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.2.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.2.sql
new file mode 100644
index 0000000..93cc4d8
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.2.sql
@@ -0,0 +1,124 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.2' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBPMO_CHART_ENTITY
+ADD GROUP_ID VARCHAR(50) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT ADD
+ [SERVICE] bit NOT NULL DEFAULT 0
+GO
+ALTER TRIGGER [dbo].[TBDD_USER_AFT_DEL] ON [dbo].[TBDD_USER]
+FOR DELETE
+AS
+DECLARE @USER_ID INTEGER
+BEGIN
+ SELECT @USER_ID = GUID FROM DELETED
+ IF @USER_ID IN (0,1)
+ BEGIN
+ ROLLBACK TRANSACTION
+ RAISERROR('THIS USER CAN NOT BE DELETED!',16,10)
+ END
+ ELSE
+ BEGIN
+ INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES
+ (@USER_ID,'USER DELETED','TBDD_GROUPS_USER_AFT_DEL')
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES
+ (@USER_ID,'USER-ID','USER DELETED','TBDD_GROUPS_USER_AFT_DEL')
+ END
+END
+GO
+ALTER TABLE TBPMO_KONFIGURATION ADD
+SQL_FULLTEXT VARCHAR(5000) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBPMO_FORM ADD
+LOAD_ENT_SEARCH_AT_SU BIT NOT NULL DEFAULT 0
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_RESULTFILE](@pDOCID INT, @pRECORDID INT, @DELETE_FILE INT)
+AS
+BEGIN TRY
+ DECLARE @COUNT INT
+ SELECT @COUNT = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOCID
+ IF @COUNT = 1 OR (@DELETE_FILE = 1 AND @COUNT > 1)
+ BEGIN
+ DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID
+ DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID
+ END
+ ELSE IF @COUNT > 1 and @DELETE_FILE = 0
+ BEGIN
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID AND RECORD_ID = @pRECORDID
+ END
+ ELSE IF @DELETE_FILE = 1
+ BEGIN
+ DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID
+ DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID
+ END
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE FUNCTION [dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] (@pCONTROL_ID INTEGER,@pDOC_ID INTEGER, @pENTITY_ID INTEGER)
+RETURNS VARCHAR(1000)
+AS
+BEGIN
+ DECLARE
+ @RESULT VARCHAR(MAX),
+ @TEMP_VALUE VARCHAR(MAX)
+
+
+ DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID in (SELECT RECORD_ID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOC_ID
+ AND RECORD_ID IN (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID))
+
+
+ BEGIN
+ OPEN c_RESULT
+ FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF LEN(@RESULT) > 0
+ SET @RESULT = @RESULT + ';' + @TEMP_VALUE
+ ELSE
+ SET @RESULT = @TEMP_VALUE
+ FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE
+ END
+
+ CLOSE c_RESULT
+ DEALLOCATE c_RESULT
+
+ RETURN(@RESULT)
+ END
+END
+
+GO
+CREATE TABLE [dbo].[TBPMO_CHART_ENTITY](
+ [GUID] INT IDENTITY(1,1) NOT NULL,
+ [ENTITY_ID] INT NOT NULL,
+ [SQL_COMMAND] VARCHAR(max) NOT NULL,
+ [TYPE_CHART] VARCHAR(30) NOT NULL,
+ [ARGUMENT] VARCHAR(30) NOT NULL,
+ [VALUE] VARCHAR(30) NOT NULL,
+ [TITLE] VARCHAR(30) NOT NULL DEFAULT (''),
+ [ADDED_WHO] VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'),
+ [ADDED_WHEN] DATETIME DEFAULT (getdate()),
+ [CHANGED_WHO] VARCHAR(50),
+ [CHANGED_WHEN] DATETIME,
+ [GROUP_ID] VARCHAR(50) NOT NULL DEFAULT (''),
+CONSTRAINT [PK_TBPMO_CHART_ENTITY] PRIMARY KEY(GUID),
+CONSTRAINT FK_TBPMO_CHART_ENTITY_ENT_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID))
+GO
+
+CREATE TRIGGER [dbo].[TBPMO_CHART_ENTITY_AFT_UPD] ON [dbo].[TBPMO_CHART_ENTITY]
+FOR UPDATE
+AS
+ UPDATE TBPMO_CHART_ENTITY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CHART_ENTITY.GUID = INSERTED.GUID
+
+
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.3.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.3.sql
new file mode 100644
index 0000000..c9c16e1
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.3.sql
@@ -0,0 +1,223 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.3' where NAME = 'Record-Organizer'
+GO
+ALTER TRIGGER [dbo].[TBDD_USER_AFT_DEL] ON [dbo].[TBDD_USER]
+FOR DELETE
+AS
+DECLARE @USER_ID INTEGER
+BEGIN
+ SELECT @USER_ID = GUID FROM DELETED
+ IF @USER_ID IN (0,1)
+ BEGIN
+ ROLLBACK TRANSACTION
+ RAISERROR('THIS USER CAN NOT BE DELETED!',16,10)
+ END
+ ELSE
+ BEGIN
+ INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES
+ (@USER_ID,'USER DELETED','TBDD_GROUPS_USER_AFT_DEL')
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES
+ (@USER_ID,'USER-ID','USER DELETED','TBDD_USER_AFT_DEL')
+ END
+END
+GO
+ALTER TRIGGER [dbo].[TBDD_GROUPS_USER_AFT_DEL] ON [dbo].[TBDD_GROUPS_USER]
+FOR DELETE
+AS
+ DECLARE @USER_ID INTEGER
+ SELECT @USER_ID = deleted.USER_ID FROM deleted
+ IF @USER_ID IS NOT NULL
+ BEGIN
+ INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES
+ (@USER_ID,'USER DELETED FROM GROUP','TBDD_GROUPS_USER_AFT_DEL')
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER-ID','USER DELETED FROM USER-GROUP',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID ))
+ END
+GO
+
+
+ ALTER TABLE TBPMO_FORM_SQL
+ ALTER COLUMN SQL_COMMAND VARCHAR(MAX)
+ 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.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 = '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
+ SET @SQL = 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID) AS ' + @COL_NAME + 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
+ 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
+CREATE VIEW [dbo].[VWPMO_DOC_SEARCH] AS
+SELECT
+ CONVERT(INTEGER,T.DocID) AS DocID
+ ,T.FULL_FILENAME AS FULL_FILENAME
+ ,T.[Filename]
+ ,T.Doctype
+ ,T.[Version]
+ ,T.Creation_DateTime
+ ,T.Change_DateTime
+ ,T.OBJECTTYPE
+ ,T.DISPLAY_NAME
+ ,T.IN_WORK
+ ,T.IN_WORK_USER
+ ,T.IN_WORK_COMMENT
+FROM
+ TBPMO_DOCRESULT_LIST T
+
+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
+ALTER PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_ADD_RECORD](@pDOC_ID INT, @pDOC_PATH VARCHAR(1000), @pUSERSTRING VARCHAR(250), @pRIGHT INT, @pTYPE VARCHAR(100),@FROM_SERVICE INT)
+AS
+BEGIN TRY
+ DECLARE @GUID INTEGER,
+ @RIGHT INTEGER
+ SELECT @GUID = ISNULL(MAX(GUID),0) FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE
+ DOC_ID = @pDOC_ID
+ AND UPPER(DOC_PATH) = UPPER(@pDOC_PATH)
+ AND UPPER(USER_STRING) = UPPER(@pUSERSTRING)
+ IF @GUID = 0
+ INSERT INTO TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT (DOC_ID,DOC_PATH,USER_STRING,FILE_RIGHT,RIGHT_TYPE,ADDED_WHO,[SERVICE])
+ VALUES (@pDOC_ID,UPPER(@pDOC_PATH),UPPER(@pUSERSTRING),@pRIGHT,@pTYPE,'PRPMO_RIGHT_INSERT',@FROM_SERVICE)
+ ELSE
+ BEGIN
+ SELECT @RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE GUID = @GUID
+ IF @RIGHT <> @pRIGHT
+ IF @RIGHT < @pRIGHT
+ UPDATE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT SET FILE_RIGHT = @pRIGHT,RIGHT_TYPE = @pTYPE WHERE GUID = @GUID
+ END
+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
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.4.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.4.sql
new file mode 100644
index 0000000..03154c4
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.4.sql
@@ -0,0 +1,613 @@
+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
+
+
+
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.5.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.5.sql
new file mode 100644
index 0000000..90765d4
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.5.sql
@@ -0,0 +1,583 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.5' where NAME = 'Record-Organizer'
+GO
+CREATE VIEW [dbo].[VWPMO_DOC_SYNC] AS
+SELECT TOP 100 PERCENT
+ T.dwDocID as DocID
+ ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) AS FULL_FILENAME
+ ,szLongName as [Filename],
+ ISNULL(T.szText39, 'NO DOCTYPE') AS Doctype
+ ,T.dwVersionNumber AS [Version]
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime]
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime
+ ,T1.szDocTypeName AS OBJECTTYPE
+ ,T.dwObjectTypeID
+FROM
+ [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes T
+ ,[172.24.12.41\BRAINPOOL].windream60.dbo.ObjectType T1
+WHERE
+ T.dwObjectTypeID = T1.dwObjectTypeID
+ AND T.szText36 = 'ADDI-RELATION'
+ORDER BY [Creation_DateTime]
+
+
+
+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 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 TABLE dbo.TBPMO_ENTITY_USER_RIGHTS(
+ GUID int IDENTITY(1,1) NOT NULL,
+ USER_ID int NOT NULL,
+ ENTITY_ID int NOT NULL,
+ READ_ONLY bit NOT NULL DEFAULT 0,
+ FILES_VISIBLE bit NOT NULL DEFAULT 1,
+ ADDED_WHEN datetime DEFAULT getdate(),
+ CHANGED_WHEN datetime,
+ CONSTRAINT PK_TBPMO_ENTITY_USER_RIGHTS PRIMARY KEY(GUID))
+
+GO
+CREATE TRIGGER [dbo].[TBPMO_ENTITY_USER_RIGHTS_AFT_UPD] ON [dbo].[TBPMO_ENTITY_USER_RIGHTS]
+FOR UPDATE
+AS
+ UPDATE TBPMO_ENTITY_USER_RIGHTS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_USER_RIGHTS.GUID = INSERTED.GUID
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE]
+AS
+BEGIN TRY
+DECLARE @DocID INTEGER,
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+DECLARE c_Values CURSOR LOCAL FOR
+ select DocID, [Filename], FULL_FILENAME,
+ Doctype, [Version] as [Version], Objecttype,
+ Creation_DateTime, Change_DateTime from VWPMO_DOC_SYNC
+ --WHERE
+ --CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR
+ --CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())
+ OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Doctype,@Version,@Objecttype,
+ @Creation_DateTime,@Change_DateTime
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
+ BEGIN
+ PRINT 'INSERT NECESSARY'
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @DocID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime
+ )
+ END
+ ELSE
+ UPDATE TBPMO_DOCRESULT_LIST SET
+ [FULL_FILENAME] = @FULL_FILENAME,
+ [Filename] = @Filename,
+ [Doctype] = @Doctype,
+ [Version] = @Version,
+ [Objecttype] = @Objecttype,
+ Change_DateTime = @Change_DateTime
+ WHERE DocID = @DocID
+
+ --#####
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
+ END
+CLOSE c_Values
+DEALLOCATE c_Values
+
+DECLARE @DocID1 INTEGER
+DECLARE c_2_Delete CURSOR LOCAL FOR
+ select DocID from TBPMO_DOCRESULT_LIST where DocID not in (SELECT DocID from VWPMO_DOC_SYNC)
+ OPEN c_2_Delete
+ FETCH NEXT FROM c_2_Delete INTO @DocID1
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_DELETE_RESULTFILE @DocID1, 0, 1
+
+ --#####
+ FETCH NEXT FROM c_2_Delete INTO @DocID1
+ END
+CLOSE c_2_Delete
+DEALLOCATE c_2_Delete
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+ALTER TABLE TBPMO_WD_OBJECTTYPE
+ADD IDXNAME_RELATION VARCHAR(100) NOT NULL DEFAULT 1
+GO
+
+
+CREATE TABLE TBPMO_RIGHT_USER(
+ GUID int IDENTITY(1,1) NOT NULL,
+ USER_ID int NOT NULL,
+ ENTITY_ID int NOT NULL,
+ EDIT_REC bit NOT NULL DEFAULT 1,
+ ADD_REC bit NOT NULL DEFAULT 0,
+ DELETE_REC bit NOT NULL DEFAULT 0,
+ ADD_DOC bit NOT NULL DEFAULT 0,
+ READ_ONLY_DOC bit NOT NULL DEFAULT 0,
+ DELETE_DOC bit NOT NULL DEFAULT 0,
+ FILES_VISIBLE bit NOT NULL DEFAULT 1,
+ ADDED_WHEN datetime DEFAULT getdate(),
+ CHANGED_WHEN datetime,
+CONSTRAINT [PK_TBPMO_RIGHT_USER] PRIMARY KEY(GUID))
+GO
+ALTER TRIGGER TBPMO_RIGHT_USER_AFT_UPD ON TBPMO_RIGHT_USER
+FOR UPDATE
+AS
+ UPDATE TBPMO_RIGHT_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHT_USER.GUID = INSERTED.GUID
+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_DOC_SEARCH AS
+SELECT
+ CONVERT(INTEGER,T.DocID) AS DocID
+ ,T.FULL_FILENAME AS FULL_FILENAME
+ ,T.[Filename]
+ ,T.Doctype
+ ,T.[Version]
+ ,T.Creation_DateTime
+ ,T.Change_DateTime
+ ,T.OBJECTTYPE
+ ,T.DISPLAY_NAME
+ ,T.IN_WORK
+ ,T.IN_WORK_USER
+ ,T.IN_WORK_COMMENT
+FROM
+ TBPMO_DOCRESULT_LIST T
+GO
+CREATE VIEW [dbo].[VWPMO_DOC_SYNC] AS
+SELECT TOP 100 PERCENT
+ T.dwDocID as DocID
+ ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) AS FULL_FILENAME
+ ,szLongName AS [Filename]
+ ,ISNULL(T.szText39,'NO DOCTYPE') AS Doctype
+ ,ISNULL(T.dwVersionNumber,'1') AS [Version]
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime]
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime
+ ,T1.szDocTypeName AS OBJECTTYPE
+ ,T.dwObjectTypeID
+FROM
+ [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes T
+ ,[172.24.12.41\BRAINPOOL].windream60.dbo.ObjectType T1
+WHERE
+ T.dwObjectTypeID = T1.dwObjectTypeID
+ AND T.szText36 = 'ADDI-RELATION'
+ORDER BY [Creation_DateTime]
+GO
+DROP VIEW VWPMO_WD_DOC_SYNC
+GO
+ALTER VIEW [dbo].[VWPMO_DOC_SEARCH] AS
+SELECT
+ CONVERT(INTEGER,T.DocID) AS DocID
+ ,T.FULL_FILENAME AS FULL_FILENAME
+ ,T.[Filename]
+ ,T.Doctype
+ ,T.[Version]
+ ,T.Creation_DateTime
+ ,T.Change_DateTime
+ ,T.OBJECTTYPE
+ ,T.DISPLAY_NAME
+ ,T.IN_WORK
+ ,T.IN_WORK_USER
+ ,T.IN_WORK_COMMENT
+FROM
+ TBPMO_DOCRESULT_LIST T
+GO
+
+CREATE PROCEDURE [dbo].[PRPMO_DOC_CREATE_NEW_DOC](@pDOC_ID INTEGER,@pREC_ID INTEGER,@WHO VARCHAR(50))
+AS
+BEGIN TRY
+
+ DECLARE
+ --@pDOC_ID INTEGER,@pREC_ID INTEGER,@WHO VARCHAR(50),
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+ --SET @pDOC_ID = 260882
+ --SET @pREC_ID = 4388
+ --SET @WHO = 'SChreiberM'
+ SELECT @FULL_FILENAME = dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID)
+ ,@DISPLAY_NAME = szLongName
+ ,@Filename = szLongName
+ ,@Doctype = ISNULL(T.szText39,'NO DOCTYPE')
+ ,@Version = T.dwVersionNumber
+ ,@Creation_DateTime = CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME)
+ ,@Change_DateTime = CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME)
+ ,@Objecttype = T1.szDocTypeName
+ FROM
+ [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes T
+ ,[172.24.12.41\BRAINPOOL].windream60.dbo.ObjectType T1
+ WHERE
+ T.dwObjectTypeID = T1.dwObjectTypeID
+ AND T.dwDocID = @pDOC_ID
+ IF NOT EXISTS(SELECT DocID FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOC_ID)
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @pDOC_ID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime)
+ ELSE
+ PRINT 'NO INSERT 1'
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOC_ID AND RECORD_ID = @pREC_ID)
+ INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID,ADDED_WHO) VALUES (@pDOC_ID,@pREC_ID,@WHO)
+ ELSE
+ PRINT 'NO INSERT 2'
+
+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_RECORD_GEODATA(
+ [GUID] INT IDENTITY(1,1) NOT NULL,
+ RECORD_ID INT NOT NULL,
+ LATITUDE Decimal(9,6),
+ LONGITUDE Decimal(9,6),
+ LOCATION VARCHAR(2000),
+ 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_GEODATA] PRIMARY KEY(RECORD_ID),
+CONSTRAINT FK_TBPMO_RECORD_GEODATA_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID))
+GO
+CREATE TRIGGER TBPMO_RECORD_GEODATA_AFT_UPD ON TBPMO_RECORD_GEODATA
+FOR UPDATE
+AS
+ UPDATE TBPMO_RECORD_GEODATA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_GEODATA.GUID = INSERTED.GUID
+GO
+
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30))
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO)
+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
+
+DELETE FROM TBPMO_RIGHT_USER WHERE USER_ID NOT IN (SELECT GUID FROM TBDD_USER)
+GO
+DELETE FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID NOT IN (SELECT GUID FROM TBDD_USER)
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT)
+AS
+BEGIN TRY
+ IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL
+ DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL
+ DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_RIGHT_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER WHERE GUID = @pUSER_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
+
+DECLARE
+ @USER_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @READ_ONLY BIT,
+ @FILES_VISIBLE BIT
+
+DECLARE c_REDO CURSOR FOR
+ SELECT USER_ID, ENTITY_ID, READ_ONLY,FILES_VISIBLE FROM TBPMO_ENTITY_USER_RIGHTS
+ OPEN c_REDO
+
+ FETCH NEXT FROM c_REDO INTO @USER_ID,@ENTITY_ID,@READ_ONLY,@FILES_VISIBLE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(select guid from TBPMO_RIGHT_USER where USER_ID = @USER_ID AND ENTITY_ID = @ENTITY_ID)
+ BEGIN
+ INSERT INTO TBPMO_RIGHT_USER (USER_ID, ENTITY_ID) VALUES (@USER_ID,@ENTITY_ID)
+ END
+ IF @READ_ONLY = 1
+ UPDATE TBPMO_RIGHT_USER SET READ_ONLY_DOC = 1 WHERE USER_ID = @USER_ID AND ENTITY_ID = @ENTITY_ID
+ ELSE
+ UPDATE TBPMO_RIGHT_USER SET READ_ONLY_DOC = 0 WHERE USER_ID = @USER_ID AND ENTITY_ID = @ENTITY_ID
+
+ IF @FILES_VISIBLE = 1
+ UPDATE TBPMO_RIGHT_USER SET FILES_VISIBLE = 1 WHERE USER_ID = @USER_ID AND ENTITY_ID = @ENTITY_ID
+ ELSE
+ UPDATE TBPMO_RIGHT_USER SET FILES_VISIBLE = 0 WHERE USER_ID = @USER_ID AND ENTITY_ID = @ENTITY_ID
+
+ FETCH NEXT FROM c_REDO INTO @USER_ID,@ENTITY_ID,@READ_ONLY,@FILES_VISIBLE
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+GO
+
+ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @ENTITY_ID INTEGER,
+ @DOC_VIEW BIT
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @SCREEN_ID = SCREEN_ID,
+ @CHANGED_WHO = CHANGED_WHO,
+ @ENTITY_ID = FORM_ID,
+ @DOC_VIEW = DOCUMENT_VIEW
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO)
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID
+ IF UPDATE (FORM_TITLE)
+ BEGIN
+ IF @LANGUAGE is not null
+ If EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_LANGUAGE_OBJECT WHERE LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID AND PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND CAPTION = @FORM_TITLE)
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+ END
+ IF UPDATE(DOCUMENT_VIEW)
+ IF @DOC_VIEW = 1
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Dateiname' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Filename','Dateiname')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Dokumentart' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Doctype','Dokumentart')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'IN_WORK','in work?',50,2)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_USER','IW_USER',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Erstellt' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'Creation_DateTime','Erstellt',100,3)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Geändert' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'Change_DateTime','Geändert',100,3)
+ --####
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Filename' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Filename','Filename')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Doctype' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Doctype','Doctype')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK','in work?',50,2)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Created' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','Creation_DateTime','Created',100,3)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Changed' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','Change_DateTime','Changed',100,3)
+ END
+ ELSE
+ DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+CREATE PROCEDURE PRPMO_CREATE_VARIANT(@pREC_ID INTEGER,@WHO VARCHAR(50), @REASON VARCHAR(50),@COMMENT VARCHAR(500),@LINKFILES BIT)
+AS
+BEGIN TRY
+ DECLARE @return_value int
+ EXEC @return_value = [dbo].[PRDD_COPY_RECORD] @pREC_ID,@WHO
+ IF @return_value = 0
+ BEGIN
+ DECLARE @NEW_RECORD_ID INTEGER
+ SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD WHERE UPPER(ADDED_WHO) = UPPER(@WHO)
+ UPDATE TBPMO_RECORD SET
+ PARENT_RECORD = @NEW_RECORD_ID
+ ,CHANGED_WHO = @WHO WHERE GUID = @pREC_ID
+ INSERT INTO TBPMO_RECORD_VARIANT (RECORD_ID,REASON_CODE,COMMENT,ADDED_WHO) VALUES
+ (@pREC_ID,@REASON,@COMMENT,@WHO)
+ UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID =
+ (SELECT RECORD_ENTITY_ID FROM TBPMO_RECORD WHERE GUID = @pREC_ID)
+ ,CHANGED_WHO = @WHO WHERE GUID = @NEW_RECORD_ID
+ IF @LINKFILES = 1
+ INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID, COMMENT, ADDED_WHO)
+ SELECT @NEW_RECORD_ID, DOC_ID, 'NEW VARIANT LINK', @WHO FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pREC_ID
+ END
+ ELSE
+ RAISERROR ('ERROR WHILE COPYING RECORD',
+ 10, -- Severity.
+ 1, -- State.
+ '99', -- First substitution argument.
+ 'PRDD_COPY_RECORD'); -- Second substitution argument.
+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
+UPDATE TBPMO_DOCSEARCH_RESULTLIST_CONFIG SET VISIBLE = 0 WHERE ENTITY_ID = 1 AND COLUMN_VIEW = 'IN_WORK'
+GO
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.6.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.6.sql
new file mode 100644
index 0000000..3ee8a69
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.6.sql
@@ -0,0 +1,514 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.6' where NAME = 'Record-Organizer'
+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_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID))
+ DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL 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_VIEW 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
+ALTER PROCEDURE [dbo].[PRPMO_COPY_ENTITY](@pFORM_ID INT, @pADDEDWHO VARCHAR(50))
+AS
+DECLARE
+ @NEW_FORM_ID INT,
+ @PARENT_ID INT,
+ @NAME VARCHAR(100),
+ @LEVEL VARCHAR(10),
+ @SHOW_FORM_CONSTR BIT,
+ @FORM_TYPE_ID INT,
+ @CONTROL_GUID INTEGER,
+ @CONTROL_TYPE_ID INT,
+ @CONTROL_NAME VARCHAR(100)
+ ,@COL_NAME VARCHAR(100)
+ ,@REQUIRED BIT
+ ,@DEFAULT_VALUE VARCHAR(100)
+ ,@SQL_COMMAND_1 VARCHAR(2000)
+ ,@SQL_COMMAND_2 VARCHAR(2000)
+ ,@CONNECTION_ID_1 SMALLINT
+ ,@CONNECTION_ID_2 SMALLINT
+ ,@READ_ONLY BIT
+ ,@VALIDATION BIT
+ ,@MULTILINE BIT
+ ,@PARENT_CONTROL_ID INT
+ ,@MASTER_DATA_ID INT
+ ,@FORMAT_TYPE VARCHAR(50)
+ ,@SHOW_COLUMN BIT
+ ,@STATIC_LIST VARCHAR(2000)
+
+ SELECT @PARENT_ID = PARENT_ID, @NAME = 'COPY_' + NAME,@LEVEL = [LEVEL],@SHOW_FORM_CONSTR = SHOW_FORM_CONSTRUCT, @FORM_TYPE_ID = FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = @pFORM_ID
+
+ INSERT INTO TBPMO_FORM (
+ PARENT_ID,NAME,LEVEL,ADDED_WHO,SHOW_FORM_CONSTRUCT,FORM_TYPE_ID) VALUES (
+ @PARENT_ID,@NAME,@LEVEL,@pADDEDWHO,@SHOW_FORM_CONSTR,@FORM_TYPE_ID)
+
+ SELECT @NEW_FORM_ID = MAX(GUID) FROM TBPMO_FORM
+ INSERT INTO TBPMO_FORM_VIEW (FORM_ID, SCREEN_ID, FORM_TITLE, DESCRIPTION, ADDED_WHO) VALUES
+ (@NEW_FORM_ID, 1, 'UNDEFINED_FORMTITLE', '', @pADDEDWHO)
+
+DECLARE c_CONTROL CURSOR FOR SELECT GUID,[CONTROL_TYPE_ID]
+ ,'COPY_' + [NAME]
+ ,[COL_NAME]
+ ,[REQUIRED]
+ ,[DEFAULT_VALUE]
+ ,[SQL_COMMAND_1]
+ ,[SQL_COMMAND_2]
+ ,[CONNECTION_ID_1]
+ ,[CONNECTION_ID_2]
+ ,[READ_ONLY]
+ ,[VALIDATION]
+ ,[MULTILINE]
+ ,[PARENT_CONTROL_ID]
+ ,[MASTER_DATA_ID]
+ ,[FORMAT_TYPE]
+ ,[SHOW_COLUMN],STATIC_LIST FROM TBPMO_CONTROL WHERE FORM_ID = @pFORM_ID ORDER BY PARENT_CONTROL_ID
+
+
+BEGIN
+ OPEN c_CONTROL
+ FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID,
+ @CONTROL_NAME
+ ,@COL_NAME
+ ,@REQUIRED
+ ,@DEFAULT_VALUE
+ ,@SQL_COMMAND_1
+ ,@SQL_COMMAND_2
+ ,@CONNECTION_ID_1
+ ,@CONNECTION_ID_2
+ ,@READ_ONLY
+ ,@VALIDATION
+ ,@MULTILINE
+ ,@PARENT_CONTROL_ID
+ ,@MASTER_DATA_ID
+ ,@FORMAT_TYPE
+ ,@SHOW_COLUMN
+ ,@STATIC_LIST
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @PARENT_CONTROL_ID > 0
+ BEGIN
+ DECLARE @CTRLNAME VARCHAR(100)
+ SELECT @CTRLNAME = 'COPY_' + [NAME] FROM TBPMO_CONTROL WHERE GUID = @PARENT_CONTROL_ID
+ PRINT 'PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID)
+ PRINT '@CTRLNAME = ' + @CTRLNAME
+ SELECT @PARENT_CONTROL_ID = GUID FROM TBPMO_CONTROL WHERE NAME = @CTRLNAME AND FORM_ID = @NEW_FORM_ID
+ PRINT 'NEW PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID)
+ END
+
+ INSERT INTO TBPMO_CONTROL (
+ FORM_ID
+ ,[CONTROL_TYPE_ID]
+ ,[NAME]
+ ,[COL_NAME]
+ ,[REQUIRED]
+ ,[DEFAULT_VALUE]
+ ,[SQL_COMMAND_1]
+ ,[SQL_COMMAND_2]
+ ,[CONNECTION_ID_1]
+ ,[CONNECTION_ID_2]
+ ,[READ_ONLY]
+ ,[VALIDATION]
+ ,[MULTILINE]
+ ,[PARENT_CONTROL_ID]
+ ,[MASTER_DATA_ID]
+ ,[FORMAT_TYPE]
+ ,[SHOW_COLUMN]
+ ,[STATIC_LIST]
+ ,ADDED_WHO
+ ) VALUES (
+ @NEW_FORM_ID
+ ,@CONTROL_TYPE_ID
+ ,@CONTROL_NAME
+ ,@COL_NAME
+ ,@REQUIRED
+ ,@DEFAULT_VALUE
+ ,@SQL_COMMAND_1
+ ,@SQL_COMMAND_2
+ ,@CONNECTION_ID_1
+ ,@CONNECTION_ID_2
+ ,@READ_ONLY
+ ,@VALIDATION
+ ,@MULTILINE
+ ,@PARENT_CONTROL_ID
+ ,@MASTER_DATA_ID
+ ,@FORMAT_TYPE
+ ,@SHOW_COLUMN
+ ,@STATIC_LIST
+ ,@pADDEDWHO
+ )
+ DECLARE @NEW_CONTROLID INTEGER
+ SELECT @NEW_CONTROLID = MAX(GUID) FROM TBPMO_CONTROL
+
+ DECLARE
+ @SCREEN_ID INTEGER
+ ,@CONTROL_TEXT VARCHAR(100)
+ ,@X_LOC FLOAT
+ ,@Y_LOC FLOAT
+ ,@HEIGHT INTEGER
+ ,@WIDTH INTEGER
+ ,@FONT_FAMILY VARCHAR(50)
+ ,@FONT_COLOR INTEGER
+ ,@FONT_SIZE INTEGER
+ ,@FONT_STYLE INTEGER
+ ,@TAB_INDEX INTEGER
+ ,@TAB_STOP BIT
+ ,@BACK_COLOR INTEGER
+
+ SELECT @SCREEN_ID = [SCREEN_ID], @CONTROL_TEXT = [CONTROL_TEXT],@X_LOC = [X_LOC],
+ @Y_LOC = [Y_LOC],@HEIGHT = [HEIGHT], @WIDTH = [WIDTH],@FONT_FAMILY = [FONT_FAMILY],
+ @FONT_COLOR = [FONT_COLOR], @FONT_SIZE = [FONT_SIZE],@FONT_STYLE = [FONT_STYLE],
+ @TAB_INDEX = [TAB_INDEX], @TAB_STOP = [TAB_STOP], @BACK_COLOR = [BACK_COLOR] FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @CONTROL_GUID
+ INSERT INTO TBPMO_CONTROL_SCREEN (
+ CONTROL_ID,
+ SCREEN_ID
+ ,CONTROL_TEXT
+ ,X_LOC
+ ,Y_LOC
+ ,HEIGHT
+ ,WIDTH
+ ,FONT_FAMILY
+ ,FONT_COLOR
+ ,FONT_SIZE
+ ,FONT_STYLE
+ ,TAB_INDEX
+ ,TAB_STOP
+ ,BACK_COLOR
+ ,ADDED_WHO)
+ VALUES(
+ @NEW_CONTROLID
+ ,@SCREEN_ID
+ ,@CONTROL_TEXT
+ ,@X_LOC
+ ,@Y_LOC
+ ,@HEIGHT
+ ,@WIDTH
+ ,@FONT_FAMILY
+ ,@FONT_COLOR
+ ,@FONT_SIZE
+ ,@FONT_STYLE
+ ,@TAB_INDEX
+ ,@TAB_STOP
+ ,@BACK_COLOR
+ ,@pADDEDWHO
+ )
+ DECLARE @NEW_ID INT
+ SELECT @NEW_ID = MAX(GUID) FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_TEXT = @CONTROL_TEXT
+
+ INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES (
+ 'de-DE',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO)
+ INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES (
+ 'en-US',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO)
+
+ FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID,
+ @CONTROL_NAME
+ ,@COL_NAME
+ ,@REQUIRED
+ ,@DEFAULT_VALUE
+ ,@SQL_COMMAND_1
+ ,@SQL_COMMAND_2
+ ,@CONNECTION_ID_1
+ ,@CONNECTION_ID_2
+ ,@READ_ONLY
+ ,@VALIDATION
+ ,@MULTILINE
+ ,@PARENT_CONTROL_ID
+ ,@MASTER_DATA_ID
+ ,@FORMAT_TYPE
+ ,@SHOW_COLUMN
+ ,@STATIC_LIST
+ END
+
+ CLOSE c_CONTROL
+ DEALLOCATE c_CONTROL
+END
+GO
+
+CREATE TABLE TBPMO_STRUCTURE_NODES_USER_TEMP(
+ USER_ID int NOT NULL,
+ RECORD_ID int NOT NULL,
+ ADDED_WHEN datetime DEFAULT getdate(),
+CONSTRAINT [PK_TBPMO_STRUCTURE_NODES_USER_TEMP] PRIMARY KEY(USER_ID,RECORD_ID))
+GO
+CREATE PROCEDURE PRPMO_NODES_GET_CHILD_RECORDS (@USER_ID INTEGER, @NODE_ID INTEGER)
+AS
+BEGIN
+ DELETE FROM TBPMO_STRUCTURE_NODES_USER_TEMP WHERE USER_ID = @USER_ID;
+ WITH tblChild AS
+ (
+ SELECT GUID,RECORD_ID FROM
+ TBPMO_STRUCTURE_NODES WHERE GUID = @NODE_ID
+ UNION ALL
+ SELECT TBPMO_STRUCTURE_NODES.GUID,TBPMO_STRUCTURE_NODES.RECORD_ID FROM TBPMO_STRUCTURE_NODES JOIN tblChild ON TBPMO_STRUCTURE_NODES.PARENT_GUID = tblChild.GUID
+ )
+ INSERT INTO TBPMO_STRUCTURE_NODES_USER_TEMP (USER_ID,RECORD_ID)
+ SELECT @USER_ID,RECORD_ID FROM tblChild where RECORD_ID is not null
+ OPTION(MAXRECURSION 32767)
+END
+GO
+
+CREATE FUNCTION FNPMO_GET_WINDREAM_FOLDER_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
+
+ IF EXISTS(SELECT dwDocID FROM [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID)
+ BEGIN
+ --SELECT dwFSFlags FROM [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes WHERE dwDocID = 220733
+ 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 FOLDER (dwFSFlags <> 16)!'
+ SET @DATEINAME = ''
+ 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
+ END
+ ELSE
+ BEGIN
+ SET @RESULT = 'THIS DOC-ID DOES NOT EXIST!'
+ SET @DATEINAME = ''
+ END
+
+ SET @RESULT = @WM_LAUFWERKBUCHSTABE +':' + @RESULT + @DATEINAME
+ --PRINT @RESULT
+ RETURN @RESULT
+END
+
+GO
+ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
+SELECT TOP 100 PERCENT
+ T.GUID CONTROL_ID,
+ T.FORM_ID CONTROL_ENTITY_ID,
+ T.NAME CONTROL_NAME,
+ T.REQUIRED CONTROL_REQUIRED,
+ T.DEFAULT_VALUE CONTROL_DEF_VALUE,
+ T.READ_ONLY CONTROL_READ_ONLY,
+ T.MULTILINE CONTROL_MULTILINE,
+ T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
+ T.COL_NAME CONTROL_COL_NAME,
+ T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
+ T.CONNECTION_ID_1 CONTROL_CONNID_1,
+ T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
+ T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2,
+ T.VISIBLE CONTROL_VISIBLE,
+ T.TREE_VIEW CONTROL_TREE_VIEW,
+ T.STATIC_LIST CONTROL_STATIC_LIST,
+ T4.GUID CTRLTYPE_ID,
+ T4.TYPE_NAME CTRLTYPE_NAME,
+ T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
+ T.FORM_ID,
+ T3.NAME FORM_NAME,
+ T3.LEVEL FORM_LEVEL,
+ T1.SCREEN_ID SCREEN_ID,
+ T2.NAME SCREEN_NAME,
+ T1.GUID CTRLSCR_ID,
+ T1.CONTROL_TEXT CTRLSCR_CAPTION,
+ T1.X_LOC CTRLSCR_X_LOC,
+ T1.Y_LOC CTRLSCR_Y_LOC,
+ T1.HEIGHT CTRLSCR_HEIGHT,
+ T1.WIDTH CTRLSCR_WIDTH,
+ T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
+ T1.FONT_COLOR CTRLSCR_FONT_COLOR,
+ T1.FONT_SIZE CTRLSCR_FONT_SIZE,
+ T1.FONT_STYLE CTRLSCR_FONT_STYLE,
+ T1.TAB_INDEX CTRLSCR_TAB_INDEX,
+ T1.TAB_STOP CTRLSCR_TAB_STOP,
+ T1.BACK_COLOR CTRLSCR_BACK_COLOR,
+ T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
+FROM
+ TBPMO_CONTROL T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_SCREEN T2,
+ TBPMO_FORM T3,
+ TBPMO_CONTROL_TYPE T4
+WHERE
+ T.FORM_ID = T3.GUID AND
+ T.GUID = T1.CONTROL_ID AND
+ T1.SCREEN_ID = T2.GUID AND
+ T.CONTROL_TYPE_ID = T4.GUID
+ORDER BY
+ T1.SCREEN_ID,
+ T.FORM_ID,
+ T1.TAB_STOP
+
+
+GO
+--CREATE PROCEDURE PRPMO_RIGHTS_SERVICE_CHECK_USER (@pUSER_ID INT,@pCHECK_WHO VARCHAR(50) = 'DD-Admin')
+ALTER PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_CHECK_USER] (@pUSER_ID INT,@pCHECK_WHO VARCHAR(50) = 'DD-Admin')
+AS
+BEGIN TRY
+ DECLARE @CONSTR_DET_ID INT,
+ @ENTITY_ID INT,
+ @RECORD_ID INT,
+ @RECORD_SELECT NVARCHAR(MAX),
+ @RECORD_WHERE NVARCHAR(MAX),
+ @CREATE_VIEW NVARCHAR(MAX),
+ @USER_ID_ECM INT,
+ @WD_RIGHT INT,
+ @CONFIG INT,
+ @DOC_ID INT,
+ @DEL_SQL NVARCHAR(30)
+
+ DECLARE Cursor_constructors CURSOR FOR SELECT T1.GUID, T1.FORM_ID FROM TBPMO_CONSTRUCTOR_USER T,TBPMO_FORM_CONSTRUCTOR_DETAIL T1,(SELECT DISTINCT TR.FORM_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD TR WHERE T.RECORD_ID = TR.GUID) T2
+ WHERE T.CONSTRUCT_ID = T1.CONSTRUCT_ID AND T1.FORM_ID = T2.FORM_ID AND T.USER_ID = @pUSER_ID
+
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @pUSER_ID
+
+ DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE USER_ID = @pUSER_ID
+
+ OPEN Cursor_constructors
+ FETCH NEXT FROM Cursor_constructors INTO @CONSTR_DET_ID,@ENTITY_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(select * FROM sys.views where name = 'VWTEMP_REC_USER')
+ DROP VIEW VWTEMP_REC_USER
+
+ 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
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID)
+ BEGIN
+ 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
+ END
+
+ IF EXISTS(SELECT GUID FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID)
+ BEGIN
+ SELECT @RECORD_WHERE = ISNULL(SQL_COMMAND1,'') FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID
+ IF LEN(@RECORD_WHERE) > 0
+ BEGIN
+ SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@USER_ID',CONVERT(NVARCHAR(10),@pUSER_ID))
+ SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@NUMBER',CONVERT(NVARCHAR(3),@ENTITY_ID))
+ SET @RECORD_SELECT = @RECORD_WHERE
+ END
+ ELSE
+ BEGIN
+ SET @RECORD_SELECT = N'SELECT [Record-ID] FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID)
+ END
+ END
+ ELSE
+ BEGIN
+ SET @RECORD_SELECT = N'SELECT [Record-ID] FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID)
+ END
+
+ SET @CREATE_VIEW = N'CREATE VIEW VWTEMP_REC_USER AS ' + @RECORD_SELECT
+ EXEC (@CREATE_VIEW)
+
+ DECLARE Cursor_Records CURSOR FOR SELECT [Record-ID] FROM VWTEMP_REC_USER
+
+ OPEN Cursor_Records
+ FETCH NEXT FROM Cursor_Records INTO @RECORD_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE Cursor_Docs CURSOR FOR SELECT T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T,TBPMO_RECORD TR,(SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE [dwUserOrGroupID] = @USER_ID_ECM) T1
+ WHERE T.RECORD_ID = TR.GUID AND T.DOC_ID = T1.dwObjectID AND T.RECORD_ID = @RECORD_ID AND TR.FORM_ID = @ENTITY_ID
+
+ 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
+
+ SET @DEL_SQL = CONVERT(NVARCHAR(30),N'DROP VIEW VWTEMP_REC_USER')
+ EXEC sp_executesql @DEL_SQL
+
+ 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
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.7.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.7.sql
new file mode 100644
index 0000000..288e71b
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.7.sql
@@ -0,0 +1,107 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.7' where NAME = 'Record-Organizer'
+GO
+
+Change Trigger Suche nach VWPMO_WD_DOC_SEARCH und ersetze select
+select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+/* FULLTEXT SQL ERSETZEN*/
+SELECT DISTINCT [dwDocID]
+ FROM [dbo].FullText WHERE CONTAINS([Text], '"*@FULLTEXT*"')
+ --OR FREETEXT ([Text], '@FULLTEXT')
+
+
+ALTER VIEW [dbo].[VWPMO_WD_OBJECT_RIGHTS]
+AS
+SELECT DISTINCT
+ AR.dwObjectID
+ ,AR.dwUserOrGroupID
+ ,AR.dwAccessRight
+ ,AR.dwObjectDBID
+FROM
+ [172.24.12.41\BRAINPOOL].windream60.dbo.AccessRight AS AR
+ INNER JOIN TBDD_USER T ON AR.dwUserOrGroupID = T.USERID_FK_INT_ECM
+ INNER JOIN TBPMO_DOC_RECORD_LINK RL ON AR.dwObjectID = RL.DOC_ID
+WHERE T.USERID_FK_INT_ECM <> 0 --ORDER BY dwObjectID
+GO
+CREATE NONCLUSTERED INDEX [IDX_TBPMO_CONTROL_VALUE_RECID_VALUE]
+ON [dbo].[TBPMO_CONTROL_VALUE] ([RECORD_ID])
+INCLUDE ([VALUE])
+GO
+DROP TABLE TBPMO_APPOINTMENT_CONTROLS
+CREATE TABLE TBPMO_APPOINTMENT_CONTROLS(
+ CONTROL_ID INT NOT NULL,
+ APPT_SUBJECT VARCHAR(100) DEFAULT 'NO APPONTMENT-SUBJECT DEFINED',
+ APPT_LOCATION VARCHAR(100) DEFAULT '',
+ APPT_DESCRIPTION VARCHAR(100) DEFAULT '',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+CONSTRAINT [PK_TBPMO_APPOINTMENT_CONTROLS] PRIMARY KEY(CONTROL_ID))
+GO
+
+ ALTER TABLE TBPMO_CONTROL
+ ADD SELECT_ONLY BIT NOT NULL DEFAULT 0
+ GO
+ ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
+SELECT TOP 100 PERCENT
+ T.GUID CONTROL_ID,
+ T.FORM_ID CONTROL_ENTITY_ID,
+ T.NAME CONTROL_NAME,
+ T.REQUIRED CONTROL_REQUIRED,
+ T.DEFAULT_VALUE CONTROL_DEF_VALUE,
+ T.READ_ONLY CONTROL_READ_ONLY,
+ T.SELECT_ONLY CONTROL_SELECT_ONLY,
+ T.MULTILINE CONTROL_MULTILINE,
+ T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
+ T.COL_NAME CONTROL_COL_NAME,
+ T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
+ T.CONNECTION_ID_1 CONTROL_CONNID_1,
+ T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
+ T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2,
+ T.VISIBLE CONTROL_VISIBLE,
+ T.TREE_VIEW CONTROL_TREE_VIEW,
+ T.STATIC_LIST CONTROL_STATIC_LIST,
+ T4.GUID CTRLTYPE_ID,
+ T4.TYPE_NAME CTRLTYPE_NAME,
+ T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
+ T.FORM_ID,
+ T3.NAME FORM_NAME,
+ T3.LEVEL FORM_LEVEL,
+ T1.SCREEN_ID SCREEN_ID,
+ T2.NAME SCREEN_NAME,
+ T1.GUID CTRLSCR_ID,
+ T1.CONTROL_TEXT CTRLSCR_CAPTION,
+ T1.X_LOC CTRLSCR_X_LOC,
+ T1.Y_LOC CTRLSCR_Y_LOC,
+ T1.HEIGHT CTRLSCR_HEIGHT,
+ T1.WIDTH CTRLSCR_WIDTH,
+ T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
+ T1.FONT_COLOR CTRLSCR_FONT_COLOR,
+ T1.FONT_SIZE CTRLSCR_FONT_SIZE,
+ T1.FONT_STYLE CTRLSCR_FONT_STYLE,
+ T1.TAB_INDEX CTRLSCR_TAB_INDEX,
+ T1.TAB_STOP CTRLSCR_TAB_STOP,
+ T1.BACK_COLOR CTRLSCR_BACK_COLOR,
+ T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
+FROM
+ TBPMO_CONTROL T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_SCREEN T2,
+ TBPMO_FORM T3,
+ TBPMO_CONTROL_TYPE T4
+WHERE
+ T.FORM_ID = T3.GUID AND
+ T.GUID = T1.CONTROL_ID AND
+ T1.SCREEN_ID = T2.GUID AND
+ T.CONTROL_TYPE_ID = T4.GUID
+ORDER BY
+ T1.SCREEN_ID,
+ T.FORM_ID,
+ T1.TAB_STOP
+GO
+
+
+
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.8.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.8.sql
new file mode 100644
index 0000000..d25d7c5
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.8.sql
@@ -0,0 +1,346 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.8' where NAME = 'Record-Organizer'
+GO
+ALTEr TABLE TBPMO_WD_OBJECTTYPE
+ADD IDXNAME_RELATION VARCHAR(50) NOT NULL DEFAULT ''
+GO
+UPDATE TBPMO_WD_OBJECTTYPE SET IDXNAME_RELATION = 'STRING34'
+GO
+DELETE FROM TBDD_INDEX_AUTOM WHERE INDEXNAME = 'STRING34'
+ALTER TABLE TBPMO_CONTROL
+ ADD SELECT_ONLY BIT NOT NULL DEFAULT 0
+ GO
+
+ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
+SELECT TOP 100 PERCENT
+ T.GUID CONTROL_ID,
+ T.FORM_ID CONTROL_ENTITY_ID,
+ T.NAME CONTROL_NAME,
+ T.REQUIRED CONTROL_REQUIRED,
+ T.DEFAULT_VALUE CONTROL_DEF_VALUE,
+ T.READ_ONLY CONTROL_READ_ONLY,
+ T.SELECT_ONLY CONTROL_SELECT_ONLY,
+ T.MULTILINE CONTROL_MULTILINE,
+ T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
+ T.COL_NAME CONTROL_COL_NAME,
+ T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
+ T.CONNECTION_ID_1 CONTROL_CONNID_1,
+ T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
+ T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2,
+ T.VISIBLE CONTROL_VISIBLE,
+ T.TREE_VIEW CONTROL_TREE_VIEW,
+ T.STATIC_LIST CONTROL_STATIC_LIST,
+ T4.GUID CTRLTYPE_ID,
+ T4.TYPE_NAME CTRLTYPE_NAME,
+ T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
+ T.FORM_ID,
+ T3.NAME FORM_NAME,
+ T3.LEVEL FORM_LEVEL,
+ T1.SCREEN_ID SCREEN_ID,
+ T2.NAME SCREEN_NAME,
+ T1.GUID CTRLSCR_ID,
+ T1.CONTROL_TEXT CTRLSCR_CAPTION,
+ T1.X_LOC CTRLSCR_X_LOC,
+ T1.Y_LOC CTRLSCR_Y_LOC,
+ T1.HEIGHT CTRLSCR_HEIGHT,
+ T1.WIDTH CTRLSCR_WIDTH,
+ T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
+ T1.FONT_COLOR CTRLSCR_FONT_COLOR,
+ T1.FONT_SIZE CTRLSCR_FONT_SIZE,
+ T1.FONT_STYLE CTRLSCR_FONT_STYLE,
+ T1.TAB_INDEX CTRLSCR_TAB_INDEX,
+ T1.TAB_STOP CTRLSCR_TAB_STOP,
+ T1.BACK_COLOR CTRLSCR_BACK_COLOR,
+ T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
+FROM
+ TBPMO_CONTROL T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_SCREEN T2,
+ TBPMO_FORM T3,
+ TBPMO_CONTROL_TYPE T4
+WHERE
+ T.FORM_ID = T3.GUID AND
+ T.GUID = T1.CONTROL_ID AND
+ T1.SCREEN_ID = T2.GUID AND
+ T.CONTROL_TYPE_ID = T4.GUID
+ORDER BY
+ T1.SCREEN_ID,
+ T.FORM_ID,
+ T1.TAB_STOP
+GO
+CREATE TABLE TBPMO_AD_GROUP_EXCLUSIVE(
+ [GUID] INT IDENTITY(1,1) NOT NULL,
+ GROUP_NAME VARCHAR(200) NOT NULL,
+ COMMENT VARCHAR(500),
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'),
+ ADDED_WHEN DATETIME DEFAULT (GETDATE()),
+CONSTRAINT [PK_TBPMO_AD_GROUP_EXCLUSIVE] PRIMARY KEY(GUID))
+GO
+--Alle Einschränkungen bei TBPMO_RIGHT_USER lsöchen
+ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (getdate()) FOR [ADDED_WHEN]
+GO
+ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR EDIT_REC
+GO
+ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR ADD_REC
+GO
+ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR DELETE_REC
+GO
+ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR ADD_DOC
+GO
+ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (0) FOR READ_ONLY_DOC
+GO
+ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR DELETE_DOC
+GO
+ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR FILES_VISIBLE
+GO
+
+CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_CHECK_INSERT_WORK_RECORD](@pDOC_ID INT, @pUSER_ID INTEGER, @pUSER_ECM_ID INTEGER,@pWD_RIGHT INT, @pMETHOD VARCHAR(50),@pREASON VARCHAR(100),@pCHECK_WHO VARCHAR(50))
+AS
+BEGIN TRY
+ IF NOT EXISTS(select dwObjectID from VWPMO_WD_OBJECT_RIGHTS where dwObjectID = @pDOC_ID and dwUserOrGroupID = @pUSER_ECM_ID)
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID)
+ --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
+ (@pDOC_ID,@pUSER_ID,@pMETHOD, @pWD_RIGHT, @pREASON, @pCHECK_WHO)
+ ELSE
+ BEGIN
+ DECLARE @EX_RIGHT INT
+ SELECT @EX_RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID
+ IF @EX_RIGHT < @pWD_RIGHT
+ UPDATE TBPMO_RIGHTS_WORK_SERVICE SET FILE_RIGHT = @pWD_RIGHT WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @RIGHT_IN_WD INT
+ SELECT @RIGHT_IN_WD = dwAccessRight FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwObjectID = @pDOC_ID AND dwUserOrGroupID = @pUSER_ID
+ IF @RIGHT_IN_WD < @pWD_RIGHT
+ BEGIN
+ PRINT 'RIGHT IN WINDREAM LOWER THAN ADDI-RIGHT'
+ UPDATE [172.24.12.41\BRAINPOOL].windream60.dbo.AccessRight set dwAccessRight = @pWD_RIGHT where dwObjectID = @pDOC_ID and dwUserOrGroupID = @pUSER_ECM_ID
+ END
+ --ELSE
+ -- BEGIN
+ -- PRINT 'RIGHT IN WINDREAM GREATE THAN ADDI-RIGHT'
+ -- UPDATE windream.dbo.AccessRight set dwAccessRight = @WD_RIGHT where dwObjectID = @DOC_ID and dwUserOrGroupID = @USER_ID_ECM
+ -- END
+ END
+
+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_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 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)
+ INSERT INTO TBPMO_RIGHT_USER (USER_ID, ENTITY_ID) VALUES (@USER_ID,@ENTITY_ID)
+
+ 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 TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_DEL] ON [dbo].[TBPMO_CONSTRUCTOR_USER]
+WITH EXECUTE AS CALLER
+FOR DELETE
+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 DELETED
+
+ DECLARE @ENTITY_ID INTEGER
+
+ DECLARE c_USER CURSOR FOR
+ SELECT
+ FORM_ID FROM
+ VWPMO_CONSTRUCTOR_FORMS WHERE DOCUMENT_VIEW = 1
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @ENTITY_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DELETE FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID
+
+ 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
+ALTER TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG
+ ADD CONFIG_COLUMNS BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG
+ ADD SEQUENCE INTEGER NOT NULL DEFAULT 0
+GO
+ALTER TABLE dbo.TBPMO_DOC_VALUES ADD
+ RECORD_ID INTEGER NOT NULL CONSTRAINT DF_TBPMO_DOC_VALUES_RECORD_ID DEFAULT 0
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30))
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO)
+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
+/*
+DECLARE
+ @ID INTEGER,
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER
+
+DECLARE c_REDO CURSOR FOR
+ SELECT TDV.GUID, TDV.DocID, TRL.RECORD_ID FROM
+ TBPMO_DOC_VALUES TDV, TBPMO_DOC_RECORD_LINK TRL WHERE TDV.DocID = TRL.DOC_ID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @ID,@DOC_ID,@RECORD_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ UPDATE TBPMO_DOC_VALUES SET RECORD_ID = @RECORD_ID WHERE GUID = @ID
+
+ FETCH NEXT FROM c_REDO INTO @ID,@DOC_ID,@RECORD_ID
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+*/
+
+/*
+--SELECT *
+--FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = 21 AND LANGUAGE = 'en-US'
+--AND CONFIG_COLUMNS = 1
+
+DECLARE
+ @ID INTEGER,
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER,
+ @ADDED_WHO VARCHAR(50)
+
+DECLARE c_REDO CURSOR FOR
+ SELECT T.GUID, T1.GUID as RID, TRL.DOC_ID, TRL.ADDED_WHO,
+ (SELECT COUNT(GUID) FROM TBPMO_DOC_VALUES WHERE DocID = TRL.DOC_ID AND RECORD_ID = T1.GUID AND CONFIG_ID = T.GUID) AS CNT FROM
+ TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_RECORD T1, TBPMO_DOC_RECORD_LINK TRL WHERE
+ T.ENTITY_ID = T1.FORM_ID AND
+ T1.GUID = TRL.RECORD_ID AND
+ T.ENTITY_ID = 21 AND T.LANGUAGE = 'en-US' AND (SELECT COUNT(GUID) FROM TBPMO_DOC_VALUES WHERE DocID = TRL.DOC_ID AND RECORD_ID = T1.GUID AND CONFIG_ID = T.GUID) = 0
+ --AND T1.GUID IN (388)
+ AND T.CONFIG_COLUMNS = 1 ORDER BY T1.GUID, T.GUID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @ID,@RECORD_ID,@DOC_ID,@ADDED_WHO
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID AND CONFIG_ID = @ID)
+ INSERT INTO TBPMO_DOC_VALUES (DocID,CONFIG_ID,VALUE,RECORD_ID, ADDED_WHO) VALUES (@DOC_ID,@ID,'',@RECORD_ID,@ADDED_WHO)
+ FETCH NEXT FROM c_REDO INTO @ID,@RECORD_ID,@DOC_ID,@ADDED_WHO
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+*/
+TBPMO_DOC_RECORD_LINK_AFT_INS ändern
+--Den Defaultvalue der DropdownListe eintragen
+ IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 4) >= 1
+ BEGIN
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 4
+ END
+ IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 4 AND CONFIG_COLUMNS = 1) >= 1
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 4 AND T.CONFIG_COLUMNS = 1
+
+CREATE TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_DEL] ON [dbo].[TBPMO_DOC_RECORD_LINK]
+WITH EXECUTE AS CALLER
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER,
+ @ENTITY_ID INTEGER
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @DOC_ID = DOC_ID
+ FROM DELETED
+
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ DELETE FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.9.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.9.sql
new file mode 100644
index 0000000..aeb9faa
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.9.sql
@@ -0,0 +1,48 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.9' where NAME = 'Record-Organizer'
+GO
+
+ALTER TABLE TBDD_USER_LOGIN_OUT
+ ADD VERSION_CLIENT VARCHAR(30)
+GO
+
+ALTER TABLE TBDD_USER_MODULE_LOG_IN
+ ADD VERSION_CLIENT VARCHAR(30)
+GO
+ALTER TRIGGER [dbo].[TBDD_USER_MODULE_LOG_IN_AFT_INS] ON [dbo].[TBDD_USER_MODULE_LOG_IN]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @USER_ID INTEGER,
+ @MODULE VARCHAR(50),
+ @CLIENT_ID INTEGER,
+ @VERSION_CLIENT VARCHAR(30)
+ SELECT
+ @USER_ID = USER_ID,
+ @MODULE = MODULE,
+ @CLIENT_ID = CLIENT_ID,
+ @VERSION_CLIENT = VERSION_CLIENT
+ FROM INSERTED
+
+ IF @VERSION_CLIENT IS NULL
+ SET @VERSION_CLIENT = '1.0.0.0'
+ INSERT INTO TBDD_USER_LOGIN_OUT (MODULE,USER_ID,CLIENT_ID,VERSION_CLIENT) VALUES (@MODULE,@USER_ID,@CLIENT_ID,@VERSION_CLIENT)
+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 VIEW VWDD_LOGIN_USER_HISTORY AS
+SELECT TOP (5000)
+ T.GUID, T.MODULE,T1.USERNAME, T1.NAME, T1.PRENAME, T1.GUID as USER_ID, T.CLIENT_ID,T2.CLIENT_NAME, T.LOGIN, T.LOGOUT, T.VERSION_CLIENT
+FROM TBDD_USER_LOGIN_OUT T,
+TBDD_USER T1,
+TBDD_CLIENT T2
+WHERE
+ T.USER_ID = T1.GUID
+ AND T.CLIENT_ID = T2.GUID
+ORDER BY GUID DESC
+GO
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.0.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.0.sql
new file mode 100644
index 0000000..7a94871
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.0.sql
@@ -0,0 +1,233 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.0' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBDD_USER_LOGIN_OUT
+ ADD MACHINE_NAME VARCHAR(250) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBDD_USER_MODULE_LOG_IN
+ ADD MACHINE_NAME VARCHAR(250) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBDD_MODULES
+ ADD VERSION_UPATE_PATH VARCHAR(500) NOT NULL DEFAULT ''
+GO
+ALTER TRIGGER [dbo].[TBDD_USER_MODULE_LOG_IN_AFT_INS] ON [dbo].[TBDD_USER_MODULE_LOG_IN]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @USER_ID INTEGER,
+ @MODULE VARCHAR(50),
+ @CLIENT_ID INTEGER,
+ @VERSION_CLIENT VARCHAR(30),
+ @MACHINE_NAME VARCHAR(50)
+ SELECT
+ @USER_ID = USER_ID,
+ @MODULE = MODULE,
+ @CLIENT_ID = CLIENT_ID,
+ @VERSION_CLIENT = VERSION_CLIENT,
+ @MACHINE_NAME = MACHINE_NAME
+ FROM INSERTED
+
+ IF @VERSION_CLIENT IS NULL
+ SET @VERSION_CLIENT = '1.0.0.0'
+ INSERT INTO TBDD_USER_LOGIN_OUT (MODULE,USER_ID,CLIENT_ID,VERSION_CLIENT,MACHINE_NAME) VALUES (@MODULE,@USER_ID,@CLIENT_ID,@VERSION_CLIENT,@MACHINE_NAME)
+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 TABLE TBDD_VERSION_USER_UPDATE_PATH(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ USER_ID INT NOT NULL,
+ MODULE_NAME VARCHAR(30) NOT NULL,
+ UPDATE_PATH VARCHAR(500) NOT NULL DEFAULT '',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME DEFAULT GETDATE(),
+CONSTRAINT [PK_TBDD_VERSION_USER_UPDATE_PATH] PRIMARY KEY(GUID))
+GO
+CREATE TRIGGER TBDD_VERSION_USER_UPDATE_PATH_AFT_UPD ON TBDD_VERSION_USER_UPDATE_PATH
+FOR UPDATE
+AS
+ UPDATE TBDD_VERSION_USER_UPDATE_PATH SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_VERSION_USER_UPDATE_PATH.GUID = INSERTED.GUID
+
+GO
+CREATE TABLE TBDD_VERSION_UPDATE(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ MODULE_NAME VARCHAR(30) NOT NULL,
+ VERSION_NO VARCHAR(20) NOT NULL,
+ VERSION_FORCE_UPD VARCHAR(100) NOT NULL DEFAULT '',
+ FORCE_UPD BIT NOT NULL DEFAULT 0,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME DEFAULT GETDATE(),
+CONSTRAINT [PK_TBDD_VERSION_UPDATE] PRIMARY KEY(GUID))
+GO
+CREATE TABLE TBDD_VERSION_ITEMS(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ UPDATE_ID INTEGER NOT NULL,
+ ITEM_INFO VARCHAR(100) NOT NULL,
+ INFO1 VARCHAR(100),
+ INFO2 VARCHAR(100),
+ INFO3 VARCHAR(100),
+ BIT1 BIT NOT NULL DEFAULT 0,
+ BIT2 BIT NOT NULL DEFAULT 0,
+ BIT3 BIT NOT NULL DEFAULT 0,
+ COMMENT VARCHAR(250),
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME DEFAULT GETDATE(),
+CONSTRAINT [PK_TBDD_VERSION_ITEMS] PRIMARY KEY(GUID),
+CONSTRAINT FK_TBDD_VERSION_ITEMS_UPDATE_ID FOREIGN KEY (UPDATE_ID) REFERENCES TBDD_VERSION_UPDATE (GUID))
+GO
+CREATE TABLE TBDD_USER_MODULES
+(
+ GUID INTEGER IDENTITY(1,1),
+ [USER_ID] INT NOT NULL,
+ MODULE_ID INT NOT NULL,
+ COMMENT VARCHAR(200),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CONSTRAINT PK_TBDD_USER_MODULES PRIMARY KEY (GUID),
+ CONSTRAINT UQ_TBDD_USER_MODULES UNIQUE([USER_ID],MODULE_ID),
+ CONSTRAINT FK_TBDD_USER_MODULES_MODULE_ID FOREIGN KEY(MODULE_ID) REFERENCES TBDD_MODULES(GUID),
+ CONSTRAINT FK_TBDD_USER_MODULES2_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID),
+)
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT)
+AS
+BEGIN TRY
+ IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL
+ DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL
+ DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID
+
+ DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER WHERE GUID = @pUSER_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
+DECLARE
+ @USER_ID INTEGER
+
+DECLARE c_REDO CURSOR FOR
+ SELECT GUID FROM TBDD_USER where MODULE_RECORD_ORG = 1
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID) VALUES (@USER_ID,0)
+ FETCH NEXT FROM c_REDO INTO @USER_ID
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+GO
+DECLARE
+ @USER_ID INTEGER
+DECLARE c_REDO CURSOR FOR
+ SELECT GUID FROM TBDD_USER where MODULE_RECORD_ORG = 1
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @USER_ID AND MODULE_NAME = 'RECORD-ORGANIZER' )
+ INSERT INTO TBDD_VERSION_USER_UPDATE_PATH (USER_ID,MODULE_NAME,UPDATE_PATH) VALUES (@USER_ID,'RECORD-ORGANIZER','P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\TEST\TEST_UPDATE_RECORDGANIZER')
+ FETCH NEXT FROM c_REDO INTO @USER_ID
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+GO
+
+--########aktualisiere Trigger after insert TBDD_USER To ADD USers to table!
+ALTER TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @USER_ID INTEGER,
+ @CLIENT_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @CLIENT_COUNT INTEGER,
+ @ECM_USR_ID INTEGER,
+ @USRNAME VARCHAR(50),
+ @MODULE_RO BIT,
+ @UPDATE_PATH VARCHAR(500)
+ SELECT
+ @USER_ID = GUID,
+ @ADDED_WHO = ADDED_WHO,
+ @USRNAME = USERNAME,
+ @MODULE_RO = MODULE_RECORD_ORG
+
+ FROM INSERTED
+
+ IF @MODULE_RO = 1
+ BEGIN
+ SELECT @UPDATE_PATH FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Record-Organizer')
+ INSERT INTO TBDD_VERSION_USER_UPDATE_PATH (USER_ID,MODULE_NAME,UPDATE_PATH) VALUES
+ (@USER_ID, 'Record-Organizer', @UPDATE_PATH)
+ SELECT @ECM_USR_ID = [dwUserID]
+ FROM [172.24.12.41\BRAINPOOL].windream60.[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME)
+ IF @ECM_USR_ID IS NOT NULL
+ UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID
+ FROM INSERTED
+ WHERE TBDD_USER.GUID = INSERTED.GUID
+
+ SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT
+ IF @CLIENT_COUNT = 1
+ BEGIN
+ SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT
+ INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES
+ (@USER_ID,@CLIENT_COUNT,@ADDED_WHO)
+ END
+
+ INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID) VALUES (@USER_ID,0)
+ END
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+ALTER VIEW [dbo].[VWDD_LOGIN_USER_HISTORY] AS
+SELECT TOP (5000)
+ T.GUID,
+ T.MODULE,
+ T1.USERNAME,
+ T1.NAME,
+ T1.PRENAME,
+ T1.GUID as USER_ID,
+ T.CLIENT_ID,
+ T2.CLIENT_NAME,
+ T.LOGIN,
+ T.LOGOUT,
+ T.VERSION_CLIENT,
+ T.MACHINE_NAME
+FROM
+ TBDD_USER_LOGIN_OUT T,
+ TBDD_USER T1,
+ TBDD_CLIENT T2
+WHERE
+ T.USER_ID = T1.GUID
+ AND T.CLIENT_ID = T2.GUID
+ORDER BY GUID DESC
+GO
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.1.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.1.sql
new file mode 100644
index 0000000..670d2c7
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.1.sql
@@ -0,0 +1,39 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.1' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBDD_USER_LOGIN_OUT
+ ADD CONNECTION_STRING VARCHAR(500) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBDD_USER_MODULE_LOG_IN
+ ADD CONNECTION_STRING VARCHAR(500) NOT NULL DEFAULT ''
+GO
+ALTER TRIGGER [dbo].[TBDD_USER_MODULE_LOG_IN_AFT_INS] ON [dbo].[TBDD_USER_MODULE_LOG_IN]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @USER_ID INTEGER,
+ @MODULE VARCHAR(50),
+ @CLIENT_ID INTEGER,
+ @VERSION_CLIENT VARCHAR(30),
+ @MACHINE_NAME VARCHAR(50),
+ @CONNECTION_STRING VARCHAR(500)
+ SELECT
+ @USER_ID = USER_ID,
+ @MODULE = MODULE,
+ @CLIENT_ID = CLIENT_ID,
+ @VERSION_CLIENT = VERSION_CLIENT,
+ @MACHINE_NAME = MACHINE_NAME,
+ @CONNECTION_STRING = CONNECTION_STRING
+ FROM INSERTED
+
+ IF @VERSION_CLIENT IS NULL
+ SET @VERSION_CLIENT = '1.0.0.0'
+ INSERT INTO TBDD_USER_LOGIN_OUT (MODULE,USER_ID,CLIENT_ID,VERSION_CLIENT,MACHINE_NAME,CONNECTION_STRING) VALUES (@MODULE,@USER_ID,@CLIENT_ID,@VERSION_CLIENT,@MACHINE_NAME,@CONNECTION_STRING)
+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
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.2.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.2.sql
new file mode 100644
index 0000000..0232ce6
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.2.sql
@@ -0,0 +1,61 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.2' where NAME = 'Record-Organizer'
+GO
+ALTER TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @USER_ID INTEGER,
+ @CLIENT_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @CLIENT_COUNT INTEGER,
+ @ECM_USR_ID INTEGER,
+ @USRNAME VARCHAR(50),
+ @MODULE_RO BIT,
+ @UPDATE_PATH VARCHAR(500)
+ SELECT
+ @USER_ID = GUID,
+ @ADDED_WHO = ADDED_WHO,
+ @USRNAME = USERNAME,
+ @MODULE_RO = MODULE_RECORD_ORG
+
+ FROM INSERTED
+
+ IF @MODULE_RO = 1
+ BEGIN
+ SELECT @UPDATE_PATH = VERSION_UPATE_PATH FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Record-Organizer')
+ INSERT INTO TBDD_VERSION_USER_UPDATE_PATH (USER_ID,MODULE_NAME,UPDATE_PATH) VALUES
+ (@USER_ID, 'Record-Organizer', @UPDATE_PATH)
+ SELECT @ECM_USR_ID = [dwUserID]
+ FROM [172.24.12.41\BRAINPOOL].windream60.[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME)
+ IF @ECM_USR_ID IS NOT NULL
+ UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID
+ FROM INSERTED
+ WHERE TBDD_USER.GUID = INSERTED.GUID
+
+ SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT
+ IF @CLIENT_COUNT = 1
+ BEGIN
+ SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT
+ INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES
+ (@USER_ID,@CLIENT_COUNT,@ADDED_WHO)
+ END
+
+ INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID) VALUES (@USER_ID,0)
+ END
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+ALTER TABLE TBPMO_KONFIGURATION
+ ADD COUNTER_CONTROL_UPDATE_ID INTEGER NOT NULL DEFAULT '1'
+GO
+ALTER TABLE TBPMO_RIGHTS_WORK_SERVICE
+ ADD COUNTER_CONTROL_UPDATE_ID INTEGER NOT NULL DEFAULT '0'
+GO
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.3.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.3.sql
new file mode 100644
index 0000000..8158759
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.3.sql
@@ -0,0 +1,404 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.3' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBPMO_WORKFLOW
+ ADD CREATE_ON_REC_CREATE BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_WORKFLOW
+ ADD CREATE_ON_FOLL_UP BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_WORKFLOW_ENTITY_STATE
+ ADD INACTIVE BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_WORKFLOW_TASK
+ ADD FINISHED BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_WORKFLOW
+ ADD USER_SELECT VARCHAR(3000) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBPMO_WORKFLOW_TASK
+ ADD USER_SELECT VARCHAR(3000) NOT NULL DEFAULT ''
+GO
+
+CREATE VIEW VWPMO_DOC_USER_RELATION AS
+SELECT DISTINCT
+ T1.DOC_ID,
+ T3.dwUserOrGroupID,
+ T2.FORM_ID AS ENTITY_ID
+FROM TBPMO_DOC_RECORD_LINK T1, TBPMO_RECORD T2,VWPMO_WD_OBJECT_RIGHTS T3
+WHERE T1.RECORD_ID = T2.GUID
+GO
+ALTER FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER)
+RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50))
+AS
+BEGIN
+ DECLARE
+ @RECID INTEGER,
+ @ENT_ID INTEGER,
+ @GUID INTEGER,
+ @RIGHT_USER VARCHAR(50),
+ @RIGHT_USER_INT INTEGER,
+ @RIGHT_USER_ECM_ID INTEGER,
+ @AD_DOMAIN VARCHAR(250)
+ SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME
+
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER')
+
+ DECLARE cursorRecords CURSOR FOR
+ select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID
+ OPEN cursorRecords
+ FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID)
+ /*CURSOR 1 RECORDS BEGIN*/
+ -- ENTITY-SUPERVISOR INSERTEN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID
+ AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME
+ -- SUPERVISOR RECORD INSERTEN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND
+ T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME
+ /**/
+ DECLARE
+ @VALUE VARCHAR(100),
+ @RIGHT INT,
+ @TYPE_VALUE VARCHAR(50),
+ @CONTR_TYPE_ID INT,
+ @CONTROL_ID INT
+
+ DECLARE cursorRecordRightControls CURSOR FOR
+ SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID
+ FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND
+ T.CONTROL_ID = T2.CONTROL_ID AND
+ T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID
+ OPEN cursorRecordRightControls
+ FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @TYPE_VALUE = 'USER'
+ BEGIN
+ DECLARE @TEMP_USRID INT
+ SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE)
+ IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID)
+ BEGIN
+ --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @GROUP_USER_ID INTEGER
+ DECLARE cursorUserGroup CURSOR FOR
+ SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE)
+ AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS)
+ OPEN cursorUserGroup
+ FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID)
+ BEGIN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID
+ END
+ --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID
+ FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID
+ END
+ CLOSE cursorUserGroup
+ DEALLOCATE cursorUserGroup
+ END
+ FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID
+ END
+ CLOSE cursorRecordRightControls
+ DEALLOCATE cursorRecordRightControls
+ /*CURSOR 2 RIGHT-CONTROLS END*/
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID)
+ BEGIN
+ DECLARE
+ @WD_RIGHT INTEGER
+ DECLARE c_REDO CURSOR FOR
+ SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM [DD_ECM].[dbo].[TBPMO_RIGHT_USER] T, TBDD_USER T1 WHERE
+ T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT)
+ BEGIN
+ DECLARE @TEMP_RIGHT INT
+ SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT
+ IF @TEMP_RIGHT < @WD_RIGHT
+ UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT
+ END
+ ELSE
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (
+ @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT')
+
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ END
+ CLOSE c_REDO
+ DEALLOCATE c_REDO
+ END
+
+ FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID
+ /*CURSOR 1 RECORDS END*/
+ END
+CLOSE cursorRecords
+DEALLOCATE cursorRecords
+
+RETURN
+END
+
+GO
+
+ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS
+SELECT TOP 100 PERCENT
+ W_T.GUID AS WF_TASK_ID
+ ,R.GUID AS WF_ID
+ ,W_T.RECORD_ID
+ ,T.STATE_ID
+ ,T4.GUID FORM_VIEW_ID
+ ,R.DESCRIPTION
+ ,R.MANUALLY
+ ,R.CREATE_ON_REC_CREATE
+ ,R.CREATE_ON_FOLL_UP
+ ,W_T.COMMENT
+ ,W_T.DUE_DATE
+ ,W_T.ADDED_WHEN
+ ,W_T.CHANGED_WHO
+ ,W_T.CHANGED_WHEN
+ ,W_T.TASK_DATE
+ ,T.FINAL
+ ,T.ENTITY_ID
+ ,T5.COLOR
+ ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(W_T.RECORD_ID) AS RECORD_DESCRIPTION
+ ,FINISHED
+FROM
+ TBPMO_WORKFLOW_ENTITY_STATE T,
+ TBPMO_WORKFLOW_TASK W_T
+ ,TBPMO_WORKFLOW R
+ ,TBPMO_FORM T3
+ ,TBPMO_FORM_VIEW T4
+ ,TBPMO_WORKFLOW_TASK_STATE T5
+ ,TBPMO_RECORD REC
+WHERE
+ --W_T.RECORD_ID = 95 AND
+ --TBPMO_WORKFLOW_ENTITY_STATE
+ T.WF_ID = R.GUID AND
+ T.ENTITY_ID = T3.GUID AND
+ T.STATE_ID = T5.GUID AND
+ W_T.RECORD_ID = REC.GUID AND
+ T.ENTITY_ID = REC.FORM_ID AND
+ W_T.WF_ID = R.GUID AND
+ R.GUID = R.GUID AND
+ T3.GUID = T4.FORM_ID AND
+ W_T.STATE_ID = T5.GUID AND
+ T4.SCREEN_ID = 1 AND
+ ((T.FINAL = 1 AND W_T.DUE_DATE IS NULL) OR T.FINAL = 0) AND
+ W_T.ACTIVE = 1 AND
+ T.INACTIVE = 0
+ORDER BY W_T.RECORD_ID,W_T.GUID
+GO
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER, @MAN_AUTO BIT = 1)
+AS
+BEGIN
+ DECLARE
+ @WF_ID INTEGER,
+ @TITLE VARCHAR(50),
+ @SEQUENCE INTEGER,
+ @MELDUNG VARCHAR(250),
+ @STATE_ID INTEGER,
+ @SELECT_USER VARCHAR(3000)
+
+ DECLARE c_TASK CURSOR FOR
+ SELECT DISTINCT T.WF_ID FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 WHERE
+ T.WF_ID = T1.GUID AND T.ENTITY_ID = @FORM_ID AND T1.MANUALLY = @MAN_AUTO
+ OPEN c_TASK
+ FETCH NEXT FROM c_TASK INTO @WF_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ --DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ UPDATE TBPMO_WORKFLOW_TASK SET ACTIVE = 0 WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID)
+ Print 'All data deleted'
+ SELECT @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID AND GUID = (SELECT MIN(GUID) FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID)
+ SELECT @SELECT_USER = USER_SELECT FROM TBPMO_WORKFLOW WHERE GUID = @WF_ID
+ --IF @STATE_ID IS NOT NULL
+ BEGIN
+ --INSERT DES TASKS
+ INSERT INTO TBPMO_WORKFLOW_TASK(
+ RECORD_ID,
+ WF_ID,
+ ACTIVE,
+ STATE_ID,
+ USER_SELECT)
+ VALUES (
+ @RECORD_ID,
+ @WF_ID,
+ 1,
+ @STATE_ID,
+ @SELECT_USER)
+ END
+
+ FETCH NEXT FROM c_TASK INTO @WF_ID
+ END
+ CLOSE c_TASK
+ DEALLOCATE c_TASK
+ END
+ GO
+
+ DECLARE
+ @ENT_ID INTEGER,
+ @DET_ID INTEGER,
+ @USR_ID INTEGER
+DECLARE c_REDO CURSOR FOR
+ select T.ENTITY_ID, T1.GUID, T.USER_ID from TBPMO_RIGHT_USER T, VWPMO_CONSTRUCTOR_FORMS T1 where T.ENTITY_ID = T1.FORM_ID
+
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @ENT_ID,@DET_ID,@USR_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE CONSTRUCTOR_DETAIL_ID = @DET_ID AND [ENTITY_ID] = @ENT_ID AND USER_ID = @USR_ID)
+ BEGIN
+ PRINT 'USER_ID: ' + CONVERT(VARCHAR(10),@USR_ID) + ' - @DET_ID: ' + CONVERT(VARCHAR(10),@DET_ID)+ ' - @@ENT_ID: ' + CONVERT(VARCHAR(10),@ENT_ID)
+ INSERT INTO TBPMO_USER_CONSTR_VIEW_TYPE (USER_ID,CONSTRUCTOR_DETAIL_ID,ENTITY_ID, VIEW_ID,ADDED_WHO) VALUES (
+ @USR_ID,@DET_ID,@ENT_ID,1,'DD')
+ END
+ FETCH NEXT FROM c_REDO INTO @ENT_ID,@DET_ID,@USR_ID
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+
+DELETE FROm TBPMO_RIGHT_USER WHERE USER_ID NOT IN (SELECT GUID FROM TBDD_USER)
+
+ALTER FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER)
+RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50))
+AS
+BEGIN
+ DECLARE
+ @RECID INTEGER,
+ @ENT_ID INTEGER,
+ @GUID INTEGER,
+ @RIGHT_USER VARCHAR(50),
+ @RIGHT_USER_INT INTEGER,
+ @RIGHT_USER_ECM_ID INTEGER,
+ @AD_DOMAIN VARCHAR(250)
+ SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME
+
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER')
+
+ DECLARE cursorRecords CURSOR FOR
+ select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID
+ OPEN cursorRecords
+ FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID)
+ /*CURSOR 1 RECORDS BEGIN*/
+ -- ENTITY-SUPERVISOR INSERTEN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID
+ AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME
+ -- SUPERVISOR RECORD INSERTEN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND
+ T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME
+ /**/
+ DECLARE
+ @VALUE VARCHAR(100),
+ @RIGHT INT,
+ @TYPE_VALUE VARCHAR(50),
+ @CONTR_TYPE_ID INT,
+ @CONTROL_ID INT
+
+ DECLARE cursorRecordRightControls CURSOR FOR
+ SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID
+ FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND
+ T.CONTROL_ID = T2.CONTROL_ID AND
+ T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID
+ OPEN cursorRecordRightControls
+ FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @TYPE_VALUE = 'USER'
+ BEGIN
+ DECLARE @TEMP_USRID INT
+ SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE)
+ IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID)
+ BEGIN
+ --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @GROUP_USER_ID INTEGER
+ DECLARE cursorUserGroup CURSOR FOR
+ SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE)
+ AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS)
+ OPEN cursorUserGroup
+ FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID)
+ BEGIN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID
+ END
+ --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID
+ FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID
+ END
+ CLOSE cursorUserGroup
+ DEALLOCATE cursorUserGroup
+ END
+ FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID
+ END
+ CLOSE cursorRecordRightControls
+ DEALLOCATE cursorRecordRightControls
+ /*CURSOR 2 RIGHT-CONTROLS END*/
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID)
+ BEGIN
+ DECLARE
+ @WD_RIGHT INTEGER
+
+ DECLARE c_REDO CURSOR FOR
+ SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_USER T, TBDD_USER T1 WHERE
+ T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT)
+ BEGIN
+ DECLARE @TEMP_RIGHT INT
+ SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT
+ IF @TEMP_RIGHT < @WD_RIGHT
+ UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT
+ END
+ ELSE
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (
+ @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT')
+
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ END
+ CLOSE c_REDO
+ DEALLOCATE c_REDO
+ END
+
+ FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID
+ /*CURSOR 1 RECORDS END*/
+ END
+CLOSE cursorRecords
+DEALLOCATE cursorRecords
+
+RETURN
+END
+
+
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4.sql
new file mode 100644
index 0000000..a2c3611
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4.sql
@@ -0,0 +1,339 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.4' where NAME = 'Record-Organizer'
+GO
+ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_TITLE VARCHAR(50),
+ @LANGUAGE VARCHAR(5),
+ @CHANGED_WHO VARCHAR(50),
+ @GUID INTEGER,
+ @SCREEN_ID INTEGER,
+ @PMO_OBJECT_NAME VARCHAR(100),
+ @ENTITY_ID INTEGER,
+ @DOC_VIEW BIT
+ SELECT
+ @GUID = GUID,
+ @FORM_TITLE = FORM_TITLE,
+ @SCREEN_ID = SCREEN_ID,
+ @CHANGED_WHO = CHANGED_WHO,
+ @ENTITY_ID = FORM_ID,
+ @DOC_VIEW = DOCUMENT_VIEW
+ FROM INSERTED
+ SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO)
+ SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID)
+
+ UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID
+ IF UPDATE (FORM_TITLE)
+ BEGIN
+ IF @LANGUAGE is not null
+ If EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID)
+ UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE
+ PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND
+ LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID
+ ELSE
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_LANGUAGE_OBJECT WHERE LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID AND PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND CAPTION = @FORM_TITLE)
+ BEGIN TRY
+ INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES
+ (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE)
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+ END CATCH
+ END
+ IF UPDATE(DOCUMENT_VIEW)
+ IF @DOC_VIEW = 1
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Dateiname' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Filename','Dateiname')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Dokumentart' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'Doctype','Dokumentart')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'IN_WORK','in work?',50,2)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_USER','IW_USER',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Erstellt' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'Creation_DateTime','Erstellt',100,4)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Geändert' AND LANGUAGE = 'de-DE')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'Change_DateTime','Geändert',100,4)
+ --####
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Filename' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Filename','Filename')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Doctype' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES
+ (@ENTITY_ID,'en-US','Doctype','Doctype')
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK','in work?',50,2)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES
+ (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Created' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','Creation_DateTime','Created',100,4)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Changed' AND LANGUAGE = 'en-US')
+ INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES
+ (@ENTITY_ID,'en-US','Change_DateTime','Changed',100,4)
+ END
+ ELSE
+ DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84'
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+ALTER TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @ENTITY_ID INTEGER
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @DOC_ID = DOC_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ --Den Defaultvalue der DropdownListe eintragen
+ IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 3 AND CONFIG_COLUMNS = 1) >= 1
+ BEGIN
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 4
+ END
+ IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) >= 1
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 4 AND T.CONFIG_COLUMNS = 1
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ DECLARE
+ @ENITTY_ID INTEGER,
+ @DOCTYPE VARCHAR(250),
+ @SUPPLIER VARCHAR(250)
+ SELECT @ENITTY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+
+ IF @ENITTY_ID = 21
+ BEGIN
+ SELECT @SUPPLIER = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 258
+ SELECT @DOCTYPE = T.Doctype FROM TBPMO_DOCRESULT_LIST T, TBPMO_DOC_RECORD_LINK T1 WHERE T.DocID = T1.DOC_ID AND T1.RECORD_ID = @RECORD_ID
+ IF @SUPPLIER <> '' and @DOCTYPE <> '' AND @DOCTYPE IN ('55.SA','23B.NDA/CA')
+ BEGIN
+ INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID,RECORD_ID,ADDED_WHO) SELECT @DOC_ID,[Record-ID],'TBPMO_DOC_RECORD_LINK_AFT_INS' FROM VWTEMP_PMO_FORM19 where UPPER(Supplier_name) = UPPER(@SUPPLIER)
+ END
+ END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT)
+AS
+BEGIN TRY
+ IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL
+ DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL
+ DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID
+
+ DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER WHERE GUID = @pUSER_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].[TBDD_USER_AFT_UPD] ON [dbo].[TBDD_USER]
+FOR UPDATE
+AS
+BEGIN
+ DECLARE @USRNAME VARCHAR(50)
+ SELECT @USRNAME = USERNAME FROM inserted
+ IF UPDATE (USERNAME)
+ BEGIN
+ DECLARE @ECM_USR_ID INTEGER
+ SELECT @ECM_USR_ID = [dwUserID]
+ FROM [172.24.12.41\BRAINPOOL].windream60.[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME)
+ IF @ECM_USR_ID IS NOT NULL
+ UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID
+ FROM INSERTED
+ WHERE TBDD_USER.GUID = INSERTED.GUID
+ END
+ UPDATE TBDD_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_USER.GUID = INSERTED.GUID
+END
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE]
+AS
+BEGIN TRY
+DECLARE @DocID INTEGER,
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+DECLARE c_Values CURSOR LOCAL FOR
+ select DocID, [Filename], FULL_FILENAME,
+ Doctype, [Version] as [Version], Objecttype,
+ Creation_DateTime, Change_DateTime from VWPMO_DOC_SYNC
+ --WHERE
+ --CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR
+ --CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())
+ OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Doctype,@Version,@Objecttype,
+ @Creation_DateTime,@Change_DateTime
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
+ BEGIN
+ PRINT 'INSERT NECESSARY'
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @DocID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime
+ )
+ END
+ ELSE
+ UPDATE TBPMO_DOCRESULT_LIST SET
+ [FULL_FILENAME] = @FULL_FILENAME,
+ [Filename] = @Filename,
+ [Doctype] = @Doctype,
+ [Version] = @Version,
+ [Objecttype] = @Objecttype,
+ Change_DateTime = @Change_DateTime
+ WHERE DocID = @DocID
+
+ --#####
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
+ END
+CLOSE c_Values
+DEALLOCATE c_Values
+
+DECLARE @DocID1 INTEGER
+DECLARE c_2_Delete CURSOR LOCAL FOR
+ select DocID from TBPMO_DOCRESULT_LIST where DocID not in (SELECT DocID from VWPMO_DOC_SYNC)
+ OPEN c_2_Delete
+ FETCH NEXT FROM c_2_Delete INTO @DocID1
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_DELETE_RESULTFILE @DocID1, 0, 1
+
+ --#####
+ FETCH NEXT FROM c_2_Delete INTO @DocID1
+ END
+CLOSE c_2_Delete
+DEALLOCATE c_2_Delete
+
+DECLARE @RECID INTEGER
+DECLARE cursor_RELINK CURSOR LOCAL FOR
+ select T.DocID,T1.dwValue from TBPMO_DOCRESULT_LIST T,[172.24.12.41\BRAINPOOL].windream60.dbo.Vector T1
+ WHERE T.DocID = T1.dwDocID AND T1.dwAttrID = 20005 AND T1.dwValue NOT IN (SELECT RECORD_ID from TBPMO_DOC_RECORD_LINK) ORDER BY T.DocID
+OPEN cursor_RELINK
+FETCH NEXT FROM cursor_RELINK INTO @DocID,@RECID
+WHILE @@FETCH_STATUS = 0
+BEGIN
+ IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE GUID = @RECID)
+ BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @RECID AND DOC_ID = @DocID)
+ INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,ADDED_WHO) VALUES
+ (@RECID,@DocID,'PRPMO_DOCRESULT_CHANGE')
+ END
+
+ FETCH NEXT FROM cursor_RELINK INTO @DocID,@RECID
+END
+CLOSE cursor_RELINK
+DEALLOCATE cursor_RELINK
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+ALTER VIEW [dbo].[VWPMO_DOKUMENTTYPES]
+AS
+SELECT TOP 2000
+ T2.FORMVIEW_ID,
+ T3.FORM_ID,
+ T3.FORM_TITLE,
+ T.GUID DOKUMENTTYPE_ID,
+ T.BEZEICHNUNG DOKUMENTTYPE,
+ T.ZIEL_PFAD [PATH],
+ T.KURZNAME SHORTNAME,
+ T2.GUID FW_DOCTYPE_ID,
+ T2.OBJECT_TYPE,
+ T.SEQUENCE
+FROM
+ TBDD_DOKUMENTART T,
+ TBDD_EINGANGSARTEN T1,
+ TBPMO_WD_FORMVIEW_DOKTYPES T2,
+ TBPMO_FORM_VIEW T3
+WHERE
+ T.AKTIV = 1 AND
+ T.EINGANGSART_ID = T1.GUID AND
+ T.GUID = T2.DOCTYPE_ID AND
+ T2.FORMVIEW_ID = T3.GUID
+ORDER BY
+ T2.FORMVIEW_ID
+
+GO
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4_ENTITY_TABLES.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4_ENTITY_TABLES.sql
new file mode 100644
index 0000000..413b7d7
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4_ENTITY_TABLES.sql
@@ -0,0 +1,1183 @@
+
+-----------------------------------------------------------------------------------------
+-- Nur bei der erste Ausführung !!!
+ALTER TABLE TBPMO_KONFIGURATION
+ ADD ENTITY_TABLENAME VARCHAR(50) DEFAULT 'TBPMO_ENTITY_TABLE' NOT NULL
+GO
+-----------------------------------------------------------------------------------------
+ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND NVARCHAR(MAX);
+ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND1 NVARCHAR(MAX);
+ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND2 NVARCHAR(MAX);
+ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND3 NVARCHAR(MAX);
+ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND4 NVARCHAR(MAX);
+GO
+CREATE PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT)
+--ALTER PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT)
+AS
+DECLARE @SQL_BEGIN NVARCHAR(MAX),
+ @SQL_END NVARCHAR(MAX),
+ @SQL NVARCHAR(MAX),
+ @SQL_DEF_CONSTR NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @RESULT NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @ZAEHLER INT = 1,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+
+ --select Top 10 * from VWTEMP_PMO_FORM1
+DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID AS CONTROL_ID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE 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 = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ --UNION
+ --SELECT T.GUID AS CONTROL_ID,'[' + T3.CAPTION + ']' AS 'COL_NAME',T2.GUID as TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2, TBPMO_CONTROL_LANGUAGE T3
+ --WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T1.GUID = T3.CONTROL_SCREEN_ID AND T.FORM_ID = 13 AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0
+ ORDER BY TAB_INDEX
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+ SET @SQL = 'IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ''@TABLE@ENT'')
+ drop table @TABLE@ENT' + CHAR(13)
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ EXEC sp_executesql @SQL
+ SET @SQL_BEGIN = 'CREATE TABLE @TABLE@ENT(' + CHAR(13) +
+ '[Record-ID] INT NOT NULL,' + CHAR(13) +
+ 'ROW_COLOR VARCHAR(50) NOT NULL DEFAULT '''',' + CHAR(13)
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@TABLE',@ENTITY_TABLENAME)
+
+ --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 = '[file_exists] BIT NOT NULL DEFAULT 0,' + CHAR(13) + '[file_count] INT NOT NULL DEFAULT 0,' + CHAR(13) + 'AddedWho VARCHAR(50)' + CHAR(13) + ',AddedWhen DATETIME' + CHAR(13) + ', ChangedWho VARCHAR(50)' + CHAR(13) + ',ChangedWhen DATETIME,' + CHAR(13) + 'CONSTRAINT PK_@TABLE@ENT PRIMARY KEY([Record-ID]))' + CHAR(13)
+ SET @SQL_END = REPLACE(@SQL_END,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME)
+
+ OPEN c_SPALTENNAMEN
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @ZAEHLER = @ZAEHLER + 1
+
+ BEGIN
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ IF @DEFAULT = 'False'
+ SET @DEFAULT = '0'
+ ELSE
+ SET @DEFAULT = '1'
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' BIT NOT NULL DEFAULT ' + @DEFAULT + ',' + CHAR(13)
+ END
+ ELSE IF @TYPEID = 6 --Picturebox
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARBINARY(MAX),' + CHAR(13)
+ ENd
+ ELSE IF @TYPEID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13)
+ END
+ ELSE IF @TYPEID = 1 --Label
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13)
+ END
+ ELSE IF @TYPEID = 4 --DatePicker
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(10),' + CHAR(13)
+ END
+ ELSE
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13)
+ IF LEN(ISNULL(@DEFAULT,'')) > 0
+ BEGIN
+ DECLARE @TEMP_COL_NAME VARCHAR(50)
+ SET @TEMP_COL_NAME = REPLACE(@COL_NAME,' ','')
+ SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,'[','')
+ SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,']','')
+ IF LEN(@SQL_DEF_CONSTR) > 0
+ SET @SQL_DEF_CONSTR = @SQL_DEF_CONSTR + CHAR(13) + 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';'
+ ELSE
+ SET @SQL_DEF_CONSTR = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';'
+ BEGIN
+ SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@DEFAULT_VALUE',@DEFAULT)
+ SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@COL_NAME',@TEMP_COL_NAME)
+ SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@TABLE',@ENTITY_TABLENAME)
+ END
+ END
+
+ END
+ END
+
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT
+ END
+
+ CLOSE c_SPALTENNAMEN
+ DEALLOCATE c_SPALTENNAMEN
+
+ SET @RESULT = @SQL + @SQL_BEGIN + @SQL_END
+ --PRINT @RESULT
+ EXEC sp_executesql @RESULT
+
+ IF LEN(@SQL_DEF_CONSTR) > 0
+ BEGIN
+ --PRINT @SQL_DEF_CONSTR
+ EXEC sp_executesql @SQL_DEF_CONSTR
+ END
+END
+GO
+-----------------------------------------------------------------------------------------
+
+CREATE PROCEDURE PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE (@pRECID INT)
+--ALTER PROCEDURE PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE (@pRECID INT)
+AS
+DECLARE @SQL NVARCHAR(MAX),
+ @COUNT_DOCS INT,
+ @DOC_EXISTS TINYINT,
+ @ENT_ID INT,
+ @ENTITY_TABLENAME VARCHAR(50)
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+ SELECT @ENT_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECID
+ SELECT @COUNT_DOCS = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECID
+ IF @COUNT_DOCS > 0
+ SET @DOC_EXISTS = 1
+ ELSE
+ SET @DOC_EXISTS = 0
+
+ SET @SQL = 'UPDATE @TABLE@ENT_ID SET [file_exists] = @DOC_EXISTS, [file_count] = @COUNT_DOCS WHERE [Record-ID] = @pRECID'
+ SET @SQL = REPLACE(@SQL,'@pRECID',CONVERT(VARCHAR(10),@pRECID))
+ SET @SQL = REPLACE(@SQL,'@DOC_EXISTS',CONVERT(VARCHAR(1),@DOC_EXISTS))
+ SET @SQL = REPLACE(@SQL,'@COUNT_DOCS',CONVERT(VARCHAR(10),@COUNT_DOCS))
+ SET @SQL = REPLACE(@SQL,'@ENT_ID',CONVERT(VARCHAR(3),@ENT_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+
+ EXEC sp_executesql @SQL
+END
+GO
+-----------------------------------------------------------------------------------------
+
+CREATE PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT)
+--ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT)
+AS
+DECLARE @REC_ID INT,
+ @SQL_INSERT_REC NVARCHAR(MAX),
+ @SQL_DELETE NVARCHAR(MAX),
+ @SQL_UPDATE NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @INSERT_COMAMND NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+
+DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+ SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT'
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+ EXEC sp_executesql @SQL_DELETE
+
+ OPEN cursor_Records
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID'
+
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ --PRINT @SQL_INSERT_REC
+ EXEC sp_executesql @SQL_INSERT_REC
+ EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID
+
+ DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
+ WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ ORDER BY TAB_INDEX
+
+ BEGIN
+ OPEN cursor_Columns
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID'
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
+ --
+ IF @TYPEID = 6 --Picturebox
+ BEGIN
+ DECLARE @VALUE_VBM VARBINARY(MAX)
+
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ EXEC sp_executesql @SQL_UPDATE
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @VALUE VARCHAR(MAX)
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE IF @TYPEID IN(7,12,14)
+ BEGIN
+ SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ --PRINT @SQL_UPDATE
+ EXEC sp_executesql @SQL_UPDATE
+ END
+ END
+
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ END
+ CLOSE cursor_Columns
+ DEALLOCATE cursor_Columns
+ END
+
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ END
+ CLOSE cursor_Records
+ DEALLOCATE cursor_Records
+END
+GO
+-----------------------------------------------------------------------------------------
+
+CREATE PROCEDURE PRPMO_ENTITY_TABLE_UPDATE_COLUMN(@ENTITY_ID INT,@RECORD_ID INT, @CONTROL_ID INTEGER, @COL_NAME VARCHAR(50), @CHANGED_WHO VARCHAR(50),@VALUE_NEW VARCHAR(MAX) = NULL)
+--ALTER PROCEDURE PRPMO_ENTITY_TABLE_UPDATE_COLUMN(@ENTITY_ID INT,@RECORD_ID INT, @COL_NAME VARCHAR(50),@CHANGED_WHO VARCHAR(50),@VALUE_NEW VARCHAR(MAX) = NULL)
+AS
+ DECLARE @SQL_UPDATE NVARCHAR(MAX),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @TYPE_ID INT
+
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SELECT @TYPE_ID = CONTROL_TYPE_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
+ IF @TYPE_ID IN(7,12,14) --DGV,CheckedListBox,ListBox
+ SELECT @VALUE_NEW = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID,@RECORD_ID)
+
+ IF @VALUE_NEW IS NULL
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT_ID SET [@COL_NAME] = NULL,ChangedWho = ''@CHANGED_WHO'',ChangedWhen = ''@CHANGED_WHEN'' WHERE [Record-ID] = @RECORD_ID'
+ ELSE
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT_ID SET [@COL_NAME] = ''@VALUE_NEW'',ChangedWho = ''@CHANGED_WHO'',ChangedWhen = ''@CHANGED_WHEN'' WHERE [Record-ID] = @RECORD_ID'
+
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT_ID',CONVERT(VARCHAR(3),@ENTITY_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE_NEW',@VALUE_NEW)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@RECORD_ID',CONVERT(VARCHAR(10),@RECORD_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CHANGED_WHEN',CONVERT(VARCHAR(25),GETDATE()))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CHANGED_WHO',@CHANGED_WHO)
+
+ EXEC sp_executesql @SQL_UPDATE
+END
+GO
+-----------------------------------------------------------------------------------------
+
+--CREATE PROCEDURE PRPMO_ALTER_ENTITY_TABLE(@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0)
+CREATE PROCEDURE PRPMO_ALTER_ENTITY_TABLE(@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0)
+AS
+DECLARE @SQL NVARCHAR(MAX),
+ @DEFAULT_VALUE VARCHAR(100),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @TEMP_COL_NAME VARCHAR(50),
+ @SQL_DEF NVARCHAR(MAX),
+ @DFNAME VARCHAR(50),
+ @DROP NVARCHAR(500)
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @DEFAULT_VALUE = @pDEFAULT_VALUE
+
+ IF @pACTION = 0 -- Für Insert
+ BEGIN
+ SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + 'ADD [@COL_NAME]'
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME)
+
+ IF @pTYP_ID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ IF @DEFAULT_VALUE = 'False'
+ SET @DEFAULT_VALUE = '0'
+ ELSE
+ SET @DEFAULT_VALUE = '1'
+
+ SET @SQL = @SQL +' BIT NOT NULL DEFAULT ' + @DEFAULT_VALUE + CHAR(13)
+ END
+ ELSE IF @pTYP_ID = 6 --Picturebox
+ SET @SQL = @SQL +' VARBINARY(MAX)' + CHAR(13)
+ ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
+ SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13)
+ ELSE IF @pTYP_ID = 4 --DatePicker
+ SET @SQL = @SQL + ' VARCHAR(10)' + CHAR(13)
+ ELSE
+ BEGIN
+ IF LEN(ISNULL(@DEFAULT_VALUE,'')) > 0
+ BEGIN
+ SET @SQL = @SQL + ' VARCHAR(MAX) DEFAULT ''@DEFAULT''' + CHAR(13)
+ SET @SQL = REPLACE(@SQL,'@DEFAULT',@DEFAULT_VALUE)
+ END
+ ELSE
+ SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13)
+ END
+ --PRINT @SQL
+
+ EXEC sp_executesql @SQL
+ END
+ ELSE IF @pACTION = 1 -- Für Update
+ BEGIN
+ IF LEN(ISNULL(@pCOL_NAME_OLD,'')) > 0
+ BEGIN
+ SET @SQL = '@TABLE@ENT.[@OLDNAME]'
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@OLDNAME',@pCOL_NAME_OLD)
+
+ --PRINT @COL_NAME
+ --PRINT @TABLENAME_COL
+
+ --Update des Columnnames
+ EXEC sp_RENAME @SQL, @pCOL_NAME, 'COLUMN'
+
+
+ SET @SQL = 'ALTER TABLE @TABLE@ENT ALTER COLUMN '
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = @SQL + '[' + @pCOL_NAME + '] '
+
+ IF @pTYP_ID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ IF @DEFAULT_VALUE = 'False'
+ SET @DEFAULT_VALUE = '0'
+ ELSE
+ SET @DEFAULT_VALUE = '1'
+ SET @SQL = @SQL +'BIT NOT NULL DEFAULT ' + @DEFAULT_VALUE
+ END
+ ELSE IF @pTYP_ID = 6 --Picturebox
+ SET @SQL = @SQL +'VARBINARY(MAX)'
+ ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
+ SET @SQL = @SQL + 'VARCHAR(MAX)'
+ ELSE IF @pTYP_ID = 4 --DatePicker
+ SET @SQL = @SQL + 'VARCHAR(10)'
+ ELSE
+ BEGIN
+ SET @SQL = @SQL + 'VARCHAR(MAX)'
+ IF @DEFAULT_VALUE IS NOT NULL
+ BEGIN
+ SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,' ','')
+ SET @SQL_DEF = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR [' + @pCOL_NAME + ']'
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@DEFAULT_VALUE',@DEFAULT_VALUE)
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@COL_NAME',@TEMP_COL_NAME)
+ END
+ END
+
+ --PRINT '@ALTER SQL-COMMAND: ' + @SQL
+ EXEC sp_executesql @SQL
+
+ SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME'
+ SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME)
+ SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT '@DFNAME: ' + @DFNAME
+ IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME)
+ BEGIN
+ --PRINT 'DEFAULT KEY EXISTS'
+ SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME'
+ SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME)
+ SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT @DROP
+ EXEC sp_executesql @DROP
+ END
+ IF LEN(@SQL_DEF) > 0 AND LEN(@DEFAULT_VALUE) > 0
+ BEGIN
+ --PRINT '@SQL DEFAULT CONSTRAINT: ' + @SQL_DEF
+ EXEC sp_executesql @SQL_DEF
+ END
+
+ END
+ END
+ ELSE IF @pACTION = 2 -- Für Delete
+ BEGIN
+ SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME'
+ SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME)
+ SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT '@DFNAME: ' + @DFNAME
+ IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME)
+ BEGIN
+ --PRINT 'DEFAULT KEY EXISTS'
+ SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME'
+ SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME)
+ SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT @DROP
+ EXEC sp_executesql @DROP
+ END
+ SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + ' DROP COLUMN [@COL_NAME]'
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME)
+ EXEC sp_executesql @DROP
+ END
+ EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @pENTITY_ID
+END
+GO
+
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR INSERT
+AS
+ DECLARE
+ @RECORD_ID INTEGER,
+ @CONTROL_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @VALUE_NEW VARCHAR(MAX),
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @USER_ID_ECM INTEGER,
+ @RIGHT INTEGER,
+ @COUNTER_CONTROL_UPDATE_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50)
+ SELECT
+ @RECORD_ID = INSERTED.RECORD_ID,
+ @CONTROL_ID = INSERTED.CONTROL_ID,
+ @ADDED_WHO = INSERTED.ADDED_WHO,
+ @VALUE_NEW = INSERTED.VALUE,
+ @ENTITY_ID = T.FORM_ID,
+ @COL_NAME = T1.COL_NAME
+ FROM INSERTED, TBPMO_RECORD T,TBPMO_CONTROL T1
+ WHERE INSERTED.RECORD_ID = T.GUID AND
+ INSERTED.CONTROL_ID = T1.GUID
+
+ EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@ADDED_WHO,@VALUE_NEW
+
+ IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID)
+ BEGIN
+ DECLARE @SUBJECT VARCHAR(100),
+ @LOCATION VARCHAR(100),
+ @DESCRIPTION VARCHAR(100)
+ SELECT @SUBJECT = APPT_SUBJECT, @LOCATION = APPT_LOCATION,@DESCRIPTION = APPT_DESCRIPTION FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID
+
+ INSERT INTO TBPMO_APPOINTMENTS (Type,[StartDate],[EndDate],[AllDay],[Subject],[Location],[Description],Status,Label,[CustomField1],[CustomField2]) VALUES
+ (0,CONVERT(DATE,@VALUE_NEW),CONVERT(DATE,@VALUE_NEW),1,@SUBJECT,@LOCATION,@DESCRIPTION,0,2,@RECORD_ID,@CONTROL_ID)
+ END
+
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ IF @CONTROL_ID = 346
+ BEGIN
+ SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ DECLARE cursor_DOCS CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
+ OPEN cursor_DOCS
+ FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ BEGIN
+ DECLARE cursor_User CURSOR FOR
+ SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
+ --select DocID from VWPMO_DOC_SEARCH where RECORD_ID = @RECORD_ID
+ OPEN cursor_User
+ FETCH NEXT FROM cursor_User INTO @USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'ADD RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS_346', @COUNTER_CONTROL_UPDATE_ID
+ FETCH NEXT FROM cursor_User INTO @USER_ID
+ END
+ CLOSE cursor_User
+ DEALLOCATE cursor_User
+ END
+ FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ END
+ CLOSE cursor_DOCS
+ DEALLOCATE cursor_DOCS
+ END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+GO
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @RECORD_ID INTEGER,
+ @VALUE_NEW VARCHAR(MAX),
+ @VALUE_OLD VARCHAR(MAX),
+ @CHANGED_WHO VARCHAR(50),
+ @CHANGE_STEP INTEGER,
+ @REDO BIT,
+ @CHANGE_ID INTEGER,
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @USER_ID_ECM INTEGER,
+ @RIGHT INTEGER,
+ @COUNTER_CONTROL_UPDATE_ID INTEGER,
+ @UPDATE_SQL NVARCHAR(MAX),
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50)
+ IF UPDATE (VALUE)
+ BEGIN
+ SELECT
+ @CONTROL_ID = DELETED.CONTROL_ID,
+ @RECORD_ID = DELETED.RECORD_ID,
+ @VALUE_OLD = DELETED.VALUE,
+ @ENTITY_ID = T.FORM_ID,
+ @COL_NAME = T1.COL_NAME
+ FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1
+ WHERE DELETED.RECORD_ID = T.GUID AND
+ DELETED.CONTROL_ID = T1.GUID
+
+ IF @CONTROL_ID in (29,14,346)
+ BEGIN
+ PRINT 'CHANGE OF RIGHT RELEVANT CONTROL'
+ SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ END
+ --RAISERROR (@VALUE , 16, 1)
+ SELECT
+ @CHANGE_STEP = CHANGE_STEP,
+ @CHANGED_WHO = CHANGED_WHO,
+ @VALUE_NEW = VALUE,
+ @REDO = REDO
+ FROM INSERTED
+ --PRINT 'OLD VALUE: ' + @VALUE_OLD
+ --PRINT 'NEW VALUE: ' + @VALUE_NEW
+ IF @CHANGED_WHO IS NULL
+ BEGIN
+ SELECT @CHANGED_WHO = IN_WORK_WHO FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ IF @CHANGED_WHO IS NULL
+ SET @CHANGED_WHO = 'TRIGGER DEFAULT'
+ END
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD)
+ INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ ELSE
+ UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID
+ --IF @REDO = 0
+ -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP)
+ -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ --Update des Logs für loggen von Datensatzänderungen
+ IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
+ If @VALUE_OLD <> @VALUE_NEW
+ BEGIN
+ DECLARE @LOG VARCHAR(1000)
+ SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW
+ INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO)
+ END
+ ELSE
+ PRINT 'VALUES NOT DIFFERENT'
+ EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@CHANGED_WHO,@VALUE_NEW
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ IF @CONTROL_ID = 29 --Vertragseigner Person
+ BEGIN
+ --### Zuerst müssen die Rechte der geänderten Person gelöscht werden
+ select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_OLD)
+ If @USER_ID IS NOT NULL AND @USER_ID <> 0
+ BEGIN
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ DECLARE cursDOC_V1 CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V1
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','ContractOwner',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
+
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V1
+ DEALLOCATE cursDOC_V1
+ END
+ SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ --### Jetzt prüfen der neuen Rechte
+ select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_NEW)
+ If @USER_ID IS NOT NULL AND @USER_ID <> 0
+ BEGIN
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ DECLARE cursDOC_V1 CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V1
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','VERTRAGSEIGNER USER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
+
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V1
+ DEALLOCATE cursDOC_V1
+ END
+ END
+ -- ####### Vertragseigner Team ###############
+ ELSE IF @CONTROL_ID = 14
+ BEGIN
+ /*Die Rechte des des alten Vertragseigner-Teams löschen*/
+ DECLARE C_OLDUSER_CONTROWN CURSOR FOR
+ SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_OLD))
+ OPEN C_OLDUSER_CONTROWN
+ FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE cursDOC_V2 CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V2
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','CONTRACTOWNER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V2
+ DEALLOCATE cursDOC_V2
+
+ FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM
+ END
+ CLOSE C_OLDUSER_CONTROWN
+ DEALLOCATE C_OLDUSER_CONTROWN
+ SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ /*Die Rechte des Teams Vertragseigner hinzufügen*/
+ DECLARE c_USER CURSOR FOR
+ SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_NEW))
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE cursDOC_V2 CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V2
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','CONTRACTOWNER',@CHANGED_WHO,@COUNTER_CONTROL_UPDATE_ID
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V2
+ DEALLOCATE cursDOC_V2
+
+ FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM
+ END
+ CLOSE c_USER
+ DEALLOCATE c_USER
+ END
+
+ END
+ /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/
+ --Generelle Updates (Datum und Recor-Änderungen)
+ UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID
+ UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_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_CONTROL_VALUE_AFT_DEL] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @CONTROL_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @VALUE_DEL VARCHAR(MAX),
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @USER_ID_ECM INTEGER,
+ @RIGHT INTEGER,
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @COUNTER_CONTROL_UPDATE_ID INTEGER
+ SELECT
+ @RECORD_ID = DELETED.RECORD_ID,
+ @CONTROL_ID = DELETED.CONTROL_ID,
+ @VALUE_DEL = DELETED.VALUE,
+ @ENTITY_ID = T1.FORM_ID,
+ @COL_NAME = T1.COL_NAME
+ FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1
+ WHERE DELETED.RECORD_ID = T.GUID AND
+ DELETED.CONTROL_ID = T1.GUID
+
+ IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID)
+ DELETE FROM TBPMO_APPOINTMENTS WHERE [CustomField1] = @RECORD_ID AND [CustomField2] = @CONTROL_ID
+ EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,''
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ IF @CONTROL_ID in (29,14,346)
+ BEGIN
+ SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ END
+ IF @CONTROL_ID = 346
+ BEGIN
+ DECLARE cursor_DOCS CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
+ OPEN cursor_DOCS
+ FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ BEGIN
+ DECLARE cursor_User CURSOR FOR
+ SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_DEL)
+ OPEN cursor_User
+ FETCH NEXT FROM cursor_User INTO @USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'DELETE RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_DEL_346', @COUNTER_CONTROL_UPDATE_ID
+ FETCH NEXT FROM cursor_User INTO @USER_ID
+ END
+ CLOSE cursor_User
+ DEALLOCATE cursor_User
+ END
+ FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ END
+ CLOSE cursor_DOCS
+ DEALLOCATE cursor_DOCS
+ END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+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
+
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30))
+AS
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID
+
+ DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID'
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID)
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID)
+ EXEC sp_executesql @DELETE_SQL
+ DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO)
+
+GO
+CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_INS] ON [dbo].[TBPMO_CONTROL]
+FOR INSERT
+AS
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @DEFAULT_VALUE VARCHAR(100),
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @TYP_ID INTEGER,
+ @SQL NVARCHAR(MAX)
+ SELECT
+ @CONTROL_ID = GUID,
+ @ADDED_WHO = ADDED_WHO,
+ @DEFAULT_VALUE = DEFAULT_VALUE,
+ @ENTITY_ID = FORM_ID,
+ @COL_NAME = COL_NAME
+ FROM INSERTED
+ --@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0
+ EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, '' ,@TYP_ID,@DEFAULT_VALUE,0
+GO
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_AFT_UPD] ON [dbo].[TBPMO_CONTROL]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @TYP_ID INTEGER,
+ @TABLENAME_COL NVARCHAR(100),
+ @NEW_COL_NAME NVARCHAR(100),
+ @SQL NVARCHAR(MAX),
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @COL_NAME_OLD VARCHAR(50),
+ @DEFAULT_VALUE VARCHAR(MAX),
+ @SQL_DEF NVARCHAR(1000)
+ SELECT
+ @COL_NAME_OLD = COL_NAME
+ FROM DELETED
+ SELECT
+ @CONTROL_ID = GUID,
+ @TYP_ID = CONTROL_TYPE_ID,
+ @ENTITY_ID = FORM_ID,
+ @COL_NAME = COL_NAME,
+ @DEFAULT_VALUE = DEFAULT_VALUE
+ FROM INSERTED
+ --@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0
+ EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,1
+ UPDATE TBPMO_CONTROL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL.GUID = INSERTED.GUID
+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 TRIGGER [dbo].[TBPMO_CONTROL_AFT_DEL] ON [dbo].[TBPMO_CONTROL]
+FOR DELETE
+AS
+DECLARE
+ @CONTROL_ID INTEGER,
+ @TYP_ID INTEGER,
+ @TABLENAME_COL NVARCHAR(100),
+ @NEW_COL_NAME NVARCHAR(100),
+ @SQL NVARCHAR(MAX),
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @COL_NAME_OLD VARCHAR(50),
+ @DEFAULT_VALUE VARCHAR(MAX),
+ @SQL_DEF NVARCHAR(1000)
+ SELECT
+ @CONTROL_ID = GUID,
+ @COL_NAME_OLD = COL_NAME,
+ @TYP_ID = CONTROL_TYPE_ID,
+ @ENTITY_ID = FORM_ID,
+ @COL_NAME = COL_NAME,
+ @DEFAULT_VALUE = DEFAULT_VALUE
+ FROM DELETED
+
+ EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,2
+
+GO
+CREATE TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_DEL] ON [dbo].[TBPMO_DOC_RECORD_LINK]
+WITH EXECUTE AS CALLER
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER,
+ @ENTITY_ID INTEGER
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @DOC_ID = DOC_ID
+ FROM DELETED
+
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ DELETE FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID
+
+ EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+CREATE FUNCTION [dbo].[FNPMO_GETUSER_RECORDS_ENTITY_1] (@pUSER_ID INTEGER, @pENTITY_ID INTEGER)
+RETURNS @Output TABLE (
+ RECORD_ID INTEGER,
+ WDRIGHT INTEGER
+)
+AS
+BEGIN
+ INSERT INTO @Output(RECORD_ID,WDRIGHT)
+ SELECT [Record-ID], 1 FROM VWRENOLIT_CONTRACTS_DE where UNSICHTBAR = 0
+ INSERT INTO @Output(RECORD_ID,WDRIGHT)
+ SELECT [Record-ID], 3 FROM TBPMO_ENTITY_TABLE1 where Unsichtbar = 1 AND Team in
+ (SELECT T1.NAME FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1 WHERE T.GROUP_ID = T1.GUID AND USER_ID = @pUSER_ID AND T1.GUID IN (1,11))
+ RETURN
+END
+GO
+CREATE PROCEDURE [dbo].[PRPMO_COPY_RECORD](@pRECORD_ID INT,@WHO VARCHAR(50))
+AS
+DECLARE @NEW_RECORD_ID INT
+
+BEGIN TRY
+ INSERT INTO TBPMO_RECORD (
+ FORM_ID,ADDED_WHO,RECORD_ENTITY_ID)
+ SELECT FORM_ID,@WHO,4711 FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+
+ SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD
+
+ INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID,COMMENT) SELECT
+ RECORD1_ID,@NEW_RECORD_ID,COMMENT FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = @pRECORD_ID
+
+ DECLARE @CONTROL_ID INT,
+ @REC_ID INT,
+ @VALUE VARCHAR(MAX),
+ @ADDED_WHO VARCHAR(50)
+
+ DECLARE cursorControlValues CURSOR LOCAL FOR
+ SELECT CONTROL_ID,@NEW_RECORD_ID,VALUE,@WHO FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+ OPEN cursorControlValues
+ FETCH NEXT FROM cursorControlValues INTO @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES (
+ @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO)
+
+ FETCH NEXT FROM cursorControlValues INTO @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO
+ END
+ CLOSE cursorControlValues
+ DEALLOCATE cursorControlValues
+
+ INSERT INTO TBPMO_CONTROL_IMAGE(CONTROL_ID,RECORD_ID,IMG,ADDED_WHO) SELECT
+ CONTROL_ID,@NEW_RECORD_ID,IMG,@WHO FROM TBPMO_CONTROL_IMAGE WHERE RECORD_ID = @pRECORD_ID
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD]
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @MAX_ID INTEGER,
+ @FORM_ID INTEGER,
+ @WF_ID INTEGER,
+ @PARENT_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @INSERT_SQL NVARCHAR(MAX)
+ SELECT
+ @FORM_ID = FORM_ID,
+ @RECORD_ID = GUID
+ FROM INSERTED
+
+ SELECT @MAX_ID = ISNULL(MAX(RECORD_ENTITY_ID) + 1,0) FROM TBPMO_RECORD
+ WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID
+ SET @INSERT_SQL = 'INSERT INTO TBPMO_ENTITY_TABLE@ENT_ID ([Record-ID],AddedWho,AddedWhen) SELECT GUID,ADDED_WHO,ADDED_WHEN FROM TBPMO_RECORD WHERE GUID = @RECORD_ID'
+ SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@ENT_ID',CONVERT(VARCHAR(10),@FORM_ID))
+ SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@RECORD_ID',@RECORD_ID)
+
+ PRINT @INSERT_SQL
+ EXEC sp_executesql @INSERT_SQL
+ --RAISERROR(@INSERT_SQL, 16, 1);
+ -- ROLLBACK;
+ UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ ----Überprü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
+ AND T1.CREATE_ON_REC_CREATE = 1
+ )
+ 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
+GO
+CREATE PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE_VIEW](@pENTITY_ID INT)
+AS
+DECLARE @COL_NAME VARCHAR(50),
+ @SQL_BEGIN NVARCHAR(4000),
+ @SQL_END NVARCHAR(4000),
+ @SQL NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @RESULT NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @SQL_LBL VARCHAR(4000),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @VWPMO_ENTITY_TABLE VARCHAR(100)
+
+SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+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 = @pENTITY_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, T.SQL_COMMAND_1 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 = @pENTITY_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0
+ ORDER BY TAB_INDEX
+BEGIN
+ SET @VWPMO_ENTITY_TABLE = 'VWPMO_ENTITY_TABLE@pENTITY_ID'
+ SET @SQL_BEGIN = 'CREATE VIEW @VIEW AS SELECT T.[Record-ID]' + CHAR(13) + ',T.ROW_COLOR' + CHAR(13) + ',@pENTITY_ID AS [Form-ID]' + CHAR(13) + ','
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@VIEW',@VWPMO_ENTITY_TABLE)
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
+
+
+ SET @VWPMO_ENTITY_TABLE = REPLACE(@VWPMO_ENTITY_TABLE,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
+
+ SET @SQL_END = 'T.file_exists as [files?],' + CHAR(13) + 'T.file_count as [file count],' + CHAR(13) + 'T.AddedWho,' + CHAR(13) + 'T.AddedWhen,' + CHAR(13) + 'T.ChangedWho,' + CHAR(13) + 'T.ChangedWhen FROM @TABLE@pENTITY_ID T'
+ SET @SQL_END = REPLACE(@SQL_END,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = ''
+ OPEN c_SPALTENNAMEN
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @COL_NAME = REPLACE(@COL_NAME,'lbl','')
+ --PRINT @COL_NAME
+ IF @TYPEID IN(10,11) -- CheckBox,RadioBox
+ SET @SQL = @SQL + 'ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T.@COL_NAME))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE IF @TYPEID = 6 --PictureBox
+ SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + CHAR(13)
+ ELSE IF @TYPEID = 1 --Label mit SQL
+ BEGIN
+ SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.[Record-ID]')
+ SET @SQL = @SQL + '(' + @SQL_LBL + ') AS ' + @COL_NAME + ',' + CHAR(13)
+ END
+ --ELSE IF @TYPEID IN(7,12,14) --DGV,CheckedListBox,ListBox
+ -- SET @SQL = @SQL + 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.[Record-ID]) AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE IF @TYPEID = 4 --Datepicker
+ SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE
+ SET @SQL = @SQL + 'ISNULL(T.@COL_NAME,'''') AS ' + @COL_NAME + ',' + CHAR(13)
+
+ SET @SQL = REPLACE(@SQL,'@COL_NAME',@COL_NAME)
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL
+ END
+
+ CLOSE c_SPALTENNAMEN
+ DEALLOCATE c_SPALTENNAMEN
+ SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
+ PRINT @RESULT
+
+ IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @VWPMO_ENTITY_TABLE)
+ BEGIN
+ SET @SQL = 'DROP VIEW [dbo].[@VIEW]'
+ SET @SQL = REPLACE(@SQL,'@VIEW',@VWPMO_ENTITY_TABLE)
+ PRINT @SQL
+ EXEC sp_executesql @SQL
+ END
+ EXEC sp_executesql @RESULT
+ UPDATE TBPMO_FORM_SQL SET SQL_COMMAND1 = @RESULT WHERE FORM_ID = @pENTITY_ID
+END
+GO
+ALTER TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @ENTITY_ID INTEGER
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @DOC_ID = DOC_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ --Den Defaultvalue der DropdownListe eintragen
+ IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 3 AND CONFIG_COLUMNS = 1) >= 1
+ BEGIN
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 3
+ --SELECT T.* FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = 21 AND T.TYPE_ID = 3
+ END
+ IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) >= 1
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 4 AND T.CONFIG_COLUMNS = 1
+ --SELECT * FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = 21 AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1
+ EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ DECLARE
+ @ENITTY_ID INTEGER,
+ @DOCTYPE VARCHAR(250),
+ @SUPPLIER VARCHAR(250)
+ SELECT @ENITTY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+
+ IF @ENITTY_ID = 21
+ BEGIN
+ SELECT @SUPPLIER = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 258
+ SELECT @DOCTYPE = T.Doctype FROM TBPMO_DOCRESULT_LIST T, TBPMO_DOC_RECORD_LINK T1 WHERE T.DocID = T1.DOC_ID AND T1.RECORD_ID = @RECORD_ID
+ IF @SUPPLIER <> '' and @DOCTYPE <> '' AND @DOCTYPE IN ('55.SA','23B.NDA/CA')
+ BEGIN
+ INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID,RECORD_ID,ADDED_WHO) SELECT @DOC_ID,[Record-ID],'TBPMO_DOC_RECORD_LINK_AFT_INS' FROM VWTEMP_PMO_FORM19 where UPPER(Supplier_name) = UPPER(@SUPPLIER)
+ END
+ END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE TRIGGER [dbo].[TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS] ON [dbo].[TBPMO_DOCSEARCH_RESULTLIST_CONFIG]
+AFTER INSERT
+AS
+BEGIN
+ DECLARE
+ @CONFIG_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @TYPE_ID INTEGER,
+ @CONFIG_COLUMNS INTEGER,
+ @DOC_ID INT,
+ @REC_ID INT,
+ @VALUE VARCHAR(100)
+ SELECT
+ @CONFIG_ID = GUID,
+ @ENTITY_ID = [ENTITY_ID],
+ @TYPE_ID = [TYPE_ID],
+ @ADDED_WHO = ADDED_WHO,
+ @CONFIG_COLUMNS = CONFIG_COLUMNS
+ FROM INSERTED
+ --Den Defaultvalue eintragen
+ IF @CONFIG_COLUMNS = 1
+ BEGIN
+ DECLARE cursorRecordDocs CURSOR LOCAL FOR
+ SELECT T.RECORD_ID, T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = @ENTITY_ID
+ OPEN cursorRecordDocs
+ FETCH NEXT FROM cursorRecordDocs INTO @REC_ID,@DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) VALUES (
+ @DOC_ID,@REC_ID,@CONFIG_ID,'',@ADDED_WHO)
+ FETCH NEXT FROM cursorRecordDocs INTO @REC_ID,@DOC_ID
+ END
+ CLOSE cursorRecordDocs
+ DEALLOCATE cursorRecordDocs
+ END
+END
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.5.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.5.sql
new file mode 100644
index 0000000..078c9b2
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.5.sql
@@ -0,0 +1,554 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.5' where NAME = 'Record-Organizer'
+GO
+ALTER TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK]
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @ENTITY_ID INTEGER
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @DOC_ID = DOC_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ --Den Defaultvalue der DropdownListe eintragen
+ IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 3 AND CONFIG_COLUMNS = 1) >= 1
+ BEGIN
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 3 AND T.CONFIG_COLUMNS = 1
+ END
+ IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) >= 1
+ BEGIN
+ INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 3 AND T.CONFIG_COLUMNS = 1
+ END
+
+ EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ DECLARE
+ @ENITTY_ID INTEGER,
+ @DOCTYPE VARCHAR(250),
+ @SUPPLIER VARCHAR(250)
+ SELECT @ENITTY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+
+ IF @ENITTY_ID = 21
+ BEGIN
+ SELECT @SUPPLIER = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 258
+ SELECT @DOCTYPE = T.Doctype FROM TBPMO_DOCRESULT_LIST T, TBPMO_DOC_RECORD_LINK T1 WHERE T.DocID = T1.DOC_ID AND T1.RECORD_ID = @RECORD_ID
+ IF @SUPPLIER <> '' and @DOCTYPE <> '' AND @DOCTYPE IN ('55.SA','23B.NDA/CA')
+ BEGIN
+ INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID,RECORD_ID,ADDED_WHO) SELECT @DOC_ID,[Record-ID],'TBPMO_DOC_RECORD_LINK_AFT_INS' FROM VWTEMP_PMO_FORM19 where UPPER(Supplier_name) = UPPER(@SUPPLIER)
+ END
+ END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+CREATE TABLE [dbo].[TBDD_LICENSE_ADD_ON](
+ [GUID] INT IDENTITY(1,1) NOT NULL,
+ [CLIENT_ID] INT NOT NULL,
+ [MODULE] VARCHAR(100) NOT NULL,
+ [NAME] VARCHAR(100) NOT NULL,
+ [VALID_DATE] VARCHAR(2000) NOT NULL,
+ [ADDED_WHO] VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'),
+ [ADDED_WHEN] DATETIME DEFAULT (getdate()),
+ [CHANGED_WHO] VARCHAR(50),
+ [CHANGED_WHEN] DATETIME
+CONSTRAINT [PK_TBDD_LICENSE_ADD_ON] PRIMARY KEY(GUID),
+CONSTRAINT FK_TBDD_LICENSE_ADD_ON_CLIENT_ID FOREIGN KEY ([CLIENT_ID]) REFERENCES TBDD_CLIENT (GUID))
+GO
+INSERT INTO TBDD_LICENSE_ADD_ON (CLIENT_ID, MODULE, NAME, VALID_DATE) VALUES (0,'Record-Organizer', 'Proxy-Server', '+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPncZwT1S0JUXDWEzuCTBqgpd20QM74AAN6')
+GO
+INSERT INTO TBDD_LICENSE_ADD_ON (CLIENT_ID, MODULE, NAME, VALID_DATE) VALUES (1,'Record-Organizer', 'Proxy-Server', '+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPncZwT1S0JUXDWEzuCTBqgpd20QM74AAN6')
+GO
+INSERT INTO TBDD_LICENSE_ADD_ON (CLIENT_ID, MODULE, NAME, VALID_DATE) VALUES (1,'Record-Organizer', 'Site-AddOn', '+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPncZwT1S0JUXDWEzuCTBqgpd20QM74AAN6')
+GO
+
+CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5), @REC_ID INTEGER)
+RETURNS VARCHAR(250)
+AS
+BEGIN
+ DECLARE @HEADER_CAPTION VARCHAR(30),
+ @CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250)
+ SELECT
+ @HEADER_CAPTION = HEADER_CAPTION,
+ @CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE
+ ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE
+
+ IF @HEADER_CAPTION IS NULL
+ SET @RESULT = 'NO DROP-DOWN CONFIGURATION'
+ ELSE
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID AND RECORD_ID = @REC_ID
+
+ IF @VALUE IS NOT NULL
+ SET @RESULT = @VALUE
+ ELSE
+ SET @RESULT = ''
+ END
+ RETURN @RESULT
+END
+GO
+ALTER TABLE TBDD_VERSION_UPDATE ADD ALL_USERS BIT NOT NULL DEFAULT 0
+GO
+CREATE TABLE TBDD_VERSION_USER_UPDATE(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ [USER_ID] INTEGER NOT NULL,
+ UPDATE_ID INTEGER NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME DEFAULT GETDATE(),
+CONSTRAINT [PK_TBDD_VERSION_USER_UPDATE] PRIMARY KEY(GUID),
+CONSTRAINT FK_TBDD_VERSION_USER_UPDATE_UPDATE_ID FOREIGN KEY (UPDATE_ID) REFERENCES TBDD_VERSION_UPDATE (GUID))
+GO
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR INSERT
+AS
+ /*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/
+ DECLARE
+ @RECORD_ID INTEGER,
+ @CONTROL_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @VALUE_NEW VARCHAR(MAX),
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @USER_ID_ECM INTEGER,
+ @RIGHT INTEGER,
+ @COUNTER_CONTROL_UPDATE_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+ SELECT
+ @RECORD_ID = INSERTED.RECORD_ID,
+ @CONTROL_ID = INSERTED.CONTROL_ID,
+ @ADDED_WHO = INSERTED.ADDED_WHO,
+ @VALUE_NEW = INSERTED.VALUE,
+ @ENTITY_ID = T.FORM_ID,
+ @COL_NAME = T1.COL_NAME
+ FROM INSERTED, TBPMO_RECORD T,TBPMO_CONTROL T1
+ WHERE INSERTED.RECORD_ID = T.GUID AND
+ INSERTED.CONTROL_ID = T1.GUID
+
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME))
+ EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@ADDED_WHO,@VALUE_NEW
+
+ IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID)
+ BEGIN
+ DECLARE @SUBJECT VARCHAR(100),
+ @LOCATION VARCHAR(100),
+ @DESCRIPTION VARCHAR(100)
+ SELECT @SUBJECT = APPT_SUBJECT, @LOCATION = APPT_LOCATION,@DESCRIPTION = APPT_DESCRIPTION FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID
+
+ INSERT INTO TBPMO_APPOINTMENTS (Type,[StartDate],[EndDate],[AllDay],[Subject],[Location],[Description],Status,Label,[CustomField1],[CustomField2]) VALUES
+ (0,CONVERT(DATE,@VALUE_NEW),CONVERT(DATE,@VALUE_NEW),1,@SUBJECT,@LOCATION,@DESCRIPTION,0,2,@RECORD_ID,@CONTROL_ID)
+ END
+
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ IF @CONTROL_ID = 346
+ BEGIN
+ SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ DECLARE cursor_DOCS CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
+ OPEN cursor_DOCS
+ FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ BEGIN
+ DECLARE cursor_User CURSOR FOR
+ SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
+ --select DocID from VWPMO_DOC_SEARCH where RECORD_ID = @RECORD_ID
+ OPEN cursor_User
+ FETCH NEXT FROM cursor_User INTO @USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'ADD RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS_346', @COUNTER_CONTROL_UPDATE_ID
+ FETCH NEXT FROM cursor_User INTO @USER_ID
+ END
+ CLOSE cursor_User
+ DEALLOCATE cursor_User
+ END
+ FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ END
+ CLOSE cursor_DOCS
+ DEALLOCATE cursor_DOCS
+ END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+GO
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR UPDATE
+AS
+/*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @RECORD_ID INTEGER,
+ @VALUE_NEW VARCHAR(MAX),
+ @VALUE_OLD VARCHAR(MAX),
+ @CHANGED_WHO VARCHAR(50),
+ @CHANGE_STEP INTEGER,
+ @REDO BIT,
+ @CHANGE_ID INTEGER,
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @USER_ID_ECM INTEGER,
+ @RIGHT INTEGER,
+ @COUNTER_CONTROL_UPDATE_ID INTEGER,
+ @UPDATE_SQL NVARCHAR(MAX),
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+ IF UPDATE (VALUE)
+ BEGIN
+ SELECT
+ @CONTROL_ID = DELETED.CONTROL_ID,
+ @RECORD_ID = DELETED.RECORD_ID,
+ @VALUE_OLD = DELETED.VALUE,
+ @ENTITY_ID = T.FORM_ID,
+ @COL_NAME = T1.COL_NAME
+ FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1
+ WHERE DELETED.RECORD_ID = T.GUID AND
+ DELETED.CONTROL_ID = T1.GUID
+
+ IF @CONTROL_ID in (29,14,346)
+ BEGIN
+ PRINT 'CHANGE OF RIGHT RELEVANT CONTROL'
+ SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ END
+ --RAISERROR (@VALUE , 16, 1)
+ SELECT
+ @CHANGE_STEP = CHANGE_STEP,
+ @CHANGED_WHO = CHANGED_WHO,
+ @VALUE_NEW = VALUE,
+ @REDO = REDO
+ FROM INSERTED
+ --PRINT 'OLD VALUE: ' + @VALUE_OLD
+ --PRINT 'NEW VALUE: ' + @VALUE_NEW
+ IF @CHANGED_WHO IS NULL
+ BEGIN
+ SELECT @CHANGED_WHO = IN_WORK_WHO FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ IF @CHANGED_WHO IS NULL
+ SET @CHANGED_WHO = 'TRIGGER DEFAULT'
+ END
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD)
+ INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ ELSE
+ UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID
+ --IF @REDO = 0
+ -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP)
+ -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ --Update des Logs für loggen von Datensatzänderungen
+ IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
+ If @VALUE_OLD <> @VALUE_NEW
+ BEGIN
+ DECLARE @LOG VARCHAR(1000)
+ SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW
+ INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO)
+ END
+ ELSE
+ PRINT 'VALUES NOT DIFFERENT'
+ BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME))
+ EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@CHANGED_WHO,@VALUE_NEW
+ END
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ IF @CONTROL_ID = 29 --Vertragseigner Person
+ BEGIN
+ --### Zuerst müssen die Rechte der geänderten Person gelöscht werden
+ select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_OLD)
+ If @USER_ID IS NOT NULL AND @USER_ID <> 0
+ BEGIN
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ DECLARE cursDOC_V1 CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V1
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','ContractOwner',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
+
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V1
+ DEALLOCATE cursDOC_V1
+ END
+ SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ --### Jetzt prüfen der neuen Rechte
+ select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_NEW)
+ If @USER_ID IS NOT NULL AND @USER_ID <> 0
+ BEGIN
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ DECLARE cursDOC_V1 CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V1
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','VERTRAGSEIGNER USER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
+
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V1
+ DEALLOCATE cursDOC_V1
+ END
+ END
+ -- ####### Vertragseigner Team ###############
+ ELSE IF @CONTROL_ID = 14
+ BEGIN
+ /*Die Rechte des des alten Vertragseigner-Teams löschen*/
+ DECLARE C_OLDUSER_CONTROWN CURSOR FOR
+ SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_OLD))
+ OPEN C_OLDUSER_CONTROWN
+ FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE cursDOC_V2 CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V2
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','CONTRACTOWNER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V2
+ DEALLOCATE cursDOC_V2
+
+ FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM
+ END
+ CLOSE C_OLDUSER_CONTROWN
+ DEALLOCATE C_OLDUSER_CONTROWN
+ SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ /*Die Rechte des Teams Vertragseigner hinzufügen*/
+ DECLARE c_USER CURSOR FOR
+ SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_NEW))
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE cursDOC_V2 CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V2
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','CONTRACTOWNER',@CHANGED_WHO,@COUNTER_CONTROL_UPDATE_ID
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V2
+ DEALLOCATE cursDOC_V2
+
+ FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM
+ END
+ CLOSE c_USER
+ DEALLOCATE c_USER
+ END
+
+ END
+ /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/
+ --Generelle Updates (Datum und Recor-Änderungen)
+ UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID
+ UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_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].[TBDD_VERSION_UPDATE_AFT_UPD] ON [dbo].[TBDD_VERSION_UPDATE]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @UPDATE_ID INTEGER,
+ @USER_ID INTEGER,
+ @ALL_USERS INT
+ SELECT @UPDATE_ID = GUID FROM INSERTED
+
+ IF UPDATE (ALL_USERS)
+ BEGIN
+ SELECT @ALL_USERS = ALL_USERS FROM INSERTED
+ DELETE FROM TBDD_VERSION_USER_UPDATE WHERE UPDATE_ID = @UPDATE_ID
+ IF @ALL_USERS = 1
+ BEGIN
+ DECLARE cursorUsers CURSOR FOR
+ select GUID FROM TBDD_USER
+ OPEN cursorUsers
+ FETCH NEXT FROM cursorUsers INTO @USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBDD_VERSION_USER_UPDATE (USER_ID, UPDATE_ID) VALUES (@USER_ID,@UPDATE_ID)
+
+ FETCH NEXT FROM cursorUsers INTO @USER_ID
+ END
+ CLOSE cursorUsers
+ DEALLOCATE cursorUsers
+ END
+ END
+ --Generelle Updates (Datum und Recor-Änderungen)
+ UPDATE TBDD_VERSION_UPDATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_VERSION_UPDATE.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
+--UPDATE TBDD_VERSION_UPDATE SET ALL_USERS = 0 where VERSION_NO = '2.4.8.7'
+--GO
+--UPDATE TBDD_USER_MODULE_LOG_IN SET VERSION_CLIENT = '2.4.8.5' where VERSION_CLIENT = '2.4.8.6'
+--GO
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE_VIEW](@pENTITY_ID INT)
+AS
+DECLARE @COL_NAME VARCHAR(50),
+ @SQL_BEGIN NVARCHAR(4000),
+ @SQL_END NVARCHAR(4000),
+ @SQL NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @RESULT NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @SQL_LBL VARCHAR(4000),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @VWPMO_ENTITY_TABLE VARCHAR(100)
+
+SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+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 = @pENTITY_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, T.SQL_COMMAND_1 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 = @pENTITY_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0
+ ORDER BY TAB_INDEX
+BEGIN
+ SET @VWPMO_ENTITY_TABLE = 'VWPMO_ENTITY_TABLE@pENTITY_ID'
+ SET @SQL_BEGIN = 'CREATE VIEW @VIEW AS SELECT T.[Record-ID]' + CHAR(13) + ',T.ROW_COLOR' + CHAR(13) + ',@pENTITY_ID AS [Form-ID]' + CHAR(13) + ','
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@VIEW',@VWPMO_ENTITY_TABLE)
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
+
+
+ SET @VWPMO_ENTITY_TABLE = REPLACE(@VWPMO_ENTITY_TABLE,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
+
+ SET @SQL_END = 'T.file_exists as [files?],' + CHAR(13) + 'T.file_count as [file count],' + CHAR(13) + 'T.AddedWho,' + CHAR(13) + 'T.AddedWhen,' + CHAR(13) + 'T.ChangedWho,' + CHAR(13) + 'T.ChangedWhen FROM @TABLE@pENTITY_ID T'
+ SET @SQL_END = REPLACE(@SQL_END,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = ''
+ OPEN c_SPALTENNAMEN
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @COL_NAME = REPLACE(@COL_NAME,'lbl','')
+ --PRINT @COL_NAME
+ IF @TYPEID IN(10,11) -- CheckBox,RadioBox
+ SET @SQL = @SQL + 'CONVERT(BIT,T.@COL_NAME) AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE IF @TYPEID = 6 --PictureBox
+ SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + CHAR(13)
+ ELSE IF @TYPEID = 1 --Label mit SQL
+ BEGIN
+ SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.[Record-ID]')
+ SET @SQL = @SQL + '(' + @SQL_LBL + ') AS ' + @COL_NAME + ',' + CHAR(13)
+ END
+ --ELSE IF @TYPEID IN(7,12,14) --DGV,CheckedListBox,ListBox
+ -- SET @SQL = @SQL + 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.[Record-ID]) AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE IF @TYPEID = 4 --Datepicker
+ SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE
+ SET @SQL = @SQL + 'ISNULL(T.@COL_NAME,'''') AS ' + @COL_NAME + ',' + CHAR(13)
+
+ SET @SQL = REPLACE(@SQL,'@COL_NAME',@COL_NAME)
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL
+ END
+
+ CLOSE c_SPALTENNAMEN
+ DEALLOCATE c_SPALTENNAMEN
+ SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
+ PRINT @RESULT
+
+ IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @VWPMO_ENTITY_TABLE)
+ BEGIN
+ SET @SQL = 'DROP VIEW [dbo].[@VIEW]'
+ SET @SQL = REPLACE(@SQL,'@VIEW',@VWPMO_ENTITY_TABLE)
+ PRINT @SQL
+ EXEC sp_executesql @SQL
+ END
+ EXEC sp_executesql @RESULT
+ UPDATE TBPMO_FORM_SQL SET SQL_COMMAND1 = @RESULT WHERE FORM_ID = @pENTITY_ID
+END
+GO
+
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_AFT_UPD] ON [dbo].[TBPMO_CONTROL]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @TYP_ID INTEGER,
+ @TABLENAME_COL NVARCHAR(100),
+ @NEW_COL_NAME NVARCHAR(100),
+ @SQL NVARCHAR(MAX),
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @COL_NAME_OLD VARCHAR(50),
+ @DEFAULT_VALUE VARCHAR(MAX),
+ @SQL_DEF NVARCHAR(1000),
+ @ENTITY_TABLENAME VARCHAR(50)
+ SELECT
+ @COL_NAME_OLD = COL_NAME
+ FROM DELETED
+ SELECT
+ @CONTROL_ID = GUID,
+ @TYP_ID = CONTROL_TYPE_ID,
+ @ENTITY_ID = FORM_ID,
+ @COL_NAME = COL_NAME,
+ @DEFAULT_VALUE = DEFAULT_VALUE
+ FROM INSERTED
+ UPDATE TBPMO_CONTROL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL.GUID = INSERTED.GUID
+
+ IF @TYP_ID NOT IN (1,5,8,9)
+ BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ IF COL_LENGTH(@ENTITY_TABLENAME, @COL_NAME) IS NOT NULL
+ BEGIN
+ PRINT 'NOW EXECUTING PRPMO_ALTER_ENTITY_TABLE....'
+ EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,1
+ END
+ ELSE
+ PRINT 'NO ALTER COLUMN: COLUMN NOT EXISTING!'
+ END
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE TBPMO_CONTROL_AFT_UPD - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.6.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.6.sql
new file mode 100644
index 0000000..0ecc29a
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.6.sql
@@ -0,0 +1,80 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.6' where NAME = 'Record-Organizer'
+GO
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE_VIEW](@pENTITY_ID INT)
+AS
+DECLARE @COL_NAME VARCHAR(50),
+ @SQL_BEGIN NVARCHAR(4000),
+ @SQL_END NVARCHAR(4000),
+ @SQL NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @RESULT NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @SQL_LBL VARCHAR(4000),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @VWPMO_ENTITY_TABLE VARCHAR(100)
+
+SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+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 = @pENTITY_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, T.SQL_COMMAND_1 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 = @pENTITY_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0
+ ORDER BY TAB_INDEX
+BEGIN
+ SET @VWPMO_ENTITY_TABLE = 'VWPMO_ENTITY_TABLE@pENTITY_ID'
+ SET @SQL_BEGIN = 'CREATE VIEW @VIEW AS SELECT T.[Record-ID]' + CHAR(13) + ',T.ROW_COLOR' + CHAR(13) + ',@pENTITY_ID AS [Form-ID]' + CHAR(13) + ','
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@VIEW',@VWPMO_ENTITY_TABLE)
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
+
+
+ SET @VWPMO_ENTITY_TABLE = REPLACE(@VWPMO_ENTITY_TABLE,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
+
+ SET @SQL_END = 'T.file_exists as [files?],' + CHAR(13) + 'T.file_count as [file count],' + CHAR(13) + 'T.AddedWho,' + CHAR(13) + 'T.AddedWhen,' + CHAR(13) + 'T.ChangedWho,' + CHAR(13) + 'T.ChangedWhen FROM @TABLE@pENTITY_ID T'
+ SET @SQL_END = REPLACE(@SQL_END,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = ''
+ OPEN c_SPALTENNAMEN
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @COL_NAME = REPLACE(@COL_NAME,'lbl','')
+ --PRINT @COL_NAME
+ IF @TYPEID IN(10,11) -- CheckBox,RadioBox
+ SET @SQL = @SQL + 'CONVERT(BIT,T.@COL_NAME) AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE IF @TYPEID = 6 --PictureBox
+ SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE IF @TYPEID = 1 --Label mit SQL
+ BEGIN
+ SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.[Record-ID]')
+ SET @SQL = @SQL + '(' + @SQL_LBL + ') AS ' + @COL_NAME + ',' + CHAR(13)
+ END
+ --ELSE IF @TYPEID IN(7,12,14) --DGV,CheckedListBox,ListBox
+ -- SET @SQL = @SQL + 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.[Record-ID]) AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE IF @TYPEID = 4 --Datepicker
+ SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13)
+ ELSE
+ SET @SQL = @SQL + 'ISNULL(T.@COL_NAME,'''') AS ' + @COL_NAME + ',' + CHAR(13)
+
+ SET @SQL = REPLACE(@SQL,'@COL_NAME',@COL_NAME)
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL
+ END
+
+ CLOSE c_SPALTENNAMEN
+ DEALLOCATE c_SPALTENNAMEN
+ SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
+ PRINT @RESULT
+
+ IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @VWPMO_ENTITY_TABLE)
+ BEGIN
+ SET @SQL = 'DROP VIEW [dbo].[@VIEW]'
+ SET @SQL = REPLACE(@SQL,'@VIEW',@VWPMO_ENTITY_TABLE)
+ PRINT @SQL
+ EXEC sp_executesql @SQL
+ END
+ EXEC sp_executesql @RESULT
+ UPDATE TBPMO_FORM_SQL SET SQL_COMMAND1 = @RESULT WHERE FORM_ID = @pENTITY_ID
+END
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.7.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.7.sql
new file mode 100644
index 0000000..e07cf74
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.7.sql
@@ -0,0 +1,213 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.7' where NAME = 'Record-Organizer'
+GO
+
+ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD EXPAND BIT NOT NULL DEFAULT 0
+GO
+ALTER VIEW [dbo].[VWPMO_STRUCTURE_NODES] AS
+select
+ T.*,
+ T1.CONTROL_ID,
+ T1.CREATE_RECORD,
+ T1.ENTITY_ID,
+ T1.NAME,
+ T1.TYPE_NODE,
+ T1.PARENT_NODE,
+ T1.EXPAND AS EXPAND_NODE
+FROM TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1
+WHERE T.NODE_CONFIG_ID = T1.GUID
+GO
+CREATE TABLE dbo.TBPMO_CONTROL_VALUE_HISTORY(
+ GUID INT,
+ CONTROL_ID INT,
+ RECORD_ID INT,
+ VALUE VARCHAR(max) ,
+ ADDED_WHO VARCHAR(50),
+ ADDED_WHEN DATETIME,
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CHANGE_STEP INT,
+ REDO BIT,
+ CONSTRAINT PK_TBPMO_CONTROL_VALUE_HISTORY PRIMARY KEY (GUID)
+ )
+
+GO
+CREATE NONCLUSTERED INDEX [IDX_TBPMO_CONTROL_VALUE_HISTORY]
+ON [dbo].[TBPMO_CONTROL_VALUE_HISTORY] ([RECORD_ID])
+INCLUDE ([VALUE])
+GO
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_DEL] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @GUID INTEGER,
+ @RECORD_ID INTEGER,
+ @CONTROL_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @ADDED_WHEN DATETIME,
+ @CHANGED_WHO VARCHAR(50),
+ @CHANGED_WHEN DATETIME,
+ @VALUE_DEL VARCHAR(MAX),
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @USER_ID_ECM INTEGER,
+ @RIGHT INTEGER,
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @COUNTER_CONTROL_UPDATE_ID INTEGER
+ SELECT
+ @GUID = DELETED.GUID,
+ @RECORD_ID = DELETED.RECORD_ID,
+ @CONTROL_ID = DELETED.CONTROL_ID,
+ @VALUE_DEL = DELETED.VALUE,
+ @ENTITY_ID = T1.FORM_ID,
+ @COL_NAME = T1.COL_NAME ,
+ @ADDED_WHO = DELETED.ADDED_WHO,
+ @ADDED_WHEN = DELETED.ADDED_WHEN,
+ @CHANGED_WHO = DELETED.CHANGED_WHO,
+ @CHANGED_WHEN = DELETED.CHANGED_WHEN
+ FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1
+ WHERE DELETED.RECORD_ID = T.GUID AND
+ DELETED.CONTROL_ID = T1.GUID
+
+ IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID)
+ DELETE FROM TBPMO_APPOINTMENTS WHERE [CustomField1] = @RECORD_ID AND [CustomField2] = @CONTROL_ID
+ EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,''
+
+ INSERT INTO TBPMO_CONTROL_VALUE_HISTORY(GUID,CONTROL_ID,RECORD_ID,VALUE,CHANGE_STEP,REDO,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN)
+ SELECT GUID,CONTROL_ID,RECORD_ID,VALUE,CHANGE_STEP,REDO,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM DELETED
+
+
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ IF @CONTROL_ID in (29,14,346)
+ BEGIN
+ SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ END
+ IF @CONTROL_ID = 346
+ BEGIN
+ DECLARE cursor_DOCS CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
+ OPEN cursor_DOCS
+ FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ BEGIN
+ DECLARE cursor_User CURSOR FOR
+ SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_DEL)
+ OPEN cursor_User
+ FETCH NEXT FROM cursor_User INTO @USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'DELETE RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_DEL_346', @COUNTER_CONTROL_UPDATE_ID
+ FETCH NEXT FROM cursor_User INTO @USER_ID
+ END
+ CLOSE cursor_User
+ DEALLOCATE cursor_User
+ END
+ FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ END
+ CLOSE cursor_DOCS
+ DEALLOCATE cursor_DOCS
+ END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+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
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30))
+AS
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID
+
+ DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID'
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID)
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID)
+ EXEC sp_executesql @DELETE_SQL
+ DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO)
+GO
+ALTER TABLE TBPMO_CONTROL
+ADD AUTO_SUGGEST BIT NOT NULL DEFAULT 0
+GO
+ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
+SELECT TOP 100 PERCENT
+ T.GUID CONTROL_ID,
+ T.FORM_ID CONTROL_ENTITY_ID,
+ T.NAME CONTROL_NAME,
+ T.REQUIRED CONTROL_REQUIRED,
+ T.DEFAULT_VALUE CONTROL_DEF_VALUE,
+ T.READ_ONLY CONTROL_READ_ONLY,
+ T.SELECT_ONLY CONTROL_SELECT_ONLY,
+ T.MULTILINE CONTROL_MULTILINE,
+ T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
+ T.COL_NAME CONTROL_COL_NAME,
+ T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
+ T.CONNECTION_ID_1 CONTROL_CONNID_1,
+ T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
+ T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2,
+ T.VISIBLE CONTROL_VISIBLE,
+ T.TREE_VIEW CONTROL_TREE_VIEW,
+ T.STATIC_LIST CONTROL_STATIC_LIST,
+ T.AUTO_SUGGEST CONTROL_AUTO_SUGGEST,
+ T4.GUID CTRLTYPE_ID,
+ T4.TYPE_NAME CTRLTYPE_NAME,
+ T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
+ T.FORM_ID,
+ T3.NAME FORM_NAME,
+ T3.LEVEL FORM_LEVEL,
+ T1.SCREEN_ID SCREEN_ID,
+ T2.NAME SCREEN_NAME,
+ T1.GUID CTRLSCR_ID,
+ T1.CONTROL_TEXT CTRLSCR_CAPTION,
+ T1.X_LOC CTRLSCR_X_LOC,
+ T1.Y_LOC CTRLSCR_Y_LOC,
+ T1.HEIGHT CTRLSCR_HEIGHT,
+ T1.WIDTH CTRLSCR_WIDTH,
+ T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
+ T1.FONT_COLOR CTRLSCR_FONT_COLOR,
+ T1.FONT_SIZE CTRLSCR_FONT_SIZE,
+ T1.FONT_STYLE CTRLSCR_FONT_STYLE,
+ T1.TAB_INDEX CTRLSCR_TAB_INDEX,
+ T1.TAB_STOP CTRLSCR_TAB_STOP,
+ T1.BACK_COLOR CTRLSCR_BACK_COLOR,
+ T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
+FROM
+ TBPMO_CONTROL T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_SCREEN T2,
+ TBPMO_FORM T3,
+ TBPMO_CONTROL_TYPE T4
+WHERE
+ T.FORM_ID = T3.GUID AND
+ T.GUID = T1.CONTROL_ID AND
+ T1.SCREEN_ID = T2.GUID AND
+ T.CONTROL_TYPE_ID = T4.GUID
+ORDER BY
+ T1.SCREEN_ID,
+ T.FORM_ID,
+ T1.TAB_STOP
+
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.8.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.8.sql
new file mode 100644
index 0000000..38c2fd3
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.8.sql
@@ -0,0 +1,367 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.8' where NAME = 'Record-Organizer'
+GO
+
+--#######################################################################################
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_DOCTYPE](@pDOCID INT)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID IN (SELECT GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID)
+ DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_DOKUMENTART_MODULE WHERE DOKART_ID = @pDOCID
+ DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID
+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].[TBDD_DOKUMENTART_AFT_INS2] ON [dbo].[TBDD_DOKUMENTART]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @ADDED_WHO VARCHAR(50),
+ @OBJEKTTYP VARCHAR(50),
+ @GUID INTEGER
+ SELECT
+ @GUID = GUID,
+ @ADDED_WHO = ERSTELLTWER,
+ @OBJEKTTYP = OBJEKTTYP
+ FROM INSERTED
+
+ INSERT INTO TBPMO_CLIENT_DOCTYPE (CLIENT_ID,DOCTYPE_ID)
+ SELECT T.CLIENT_ID,@GUID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO)
+
+ --IF OBJECT_ID(N'dbo.TBPMO_WD_OBJECTTYPE', N'U') IS NOT NULL
+ -- IF @OBJEKTTYP IS NOT NULL
+ -- IF @OBJEKTTYP <> ''
+ -- BEGIN
+ -- DECLARE @IDX_DOC VARCHAR(50),@IDX_REC VARCHAR(50)
+ -- SELECT @IDX_DOC = IDXNAME_DOCTYPE,
+ -- @IDX_REC = IDXNAME_RECORDID FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = @OBJEKTTYP
+ -- IF @IDX_REC IS NOT NULL
+ -- INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES
+ -- (@GUID,@IDX_REC,'@Record-ID',1,@ADDED_WHO)
+ -- IF @IDX_DOC IS NOT NULL
+ -- INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES
+ -- (@GUID,@IDX_DOC,'@Dokart',1,@ADDED_WHO)
+ -- END
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+ALTER PROCEDURE [dbo].[PRPMO_ALTER_ENTITY_TABLE](@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0)
+AS
+DECLARE @SQL NVARCHAR(MAX),
+ @DEFAULT_VALUE VARCHAR(100),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @TEMP_COL_NAME VARCHAR(50),
+ @SQL_DEF NVARCHAR(MAX),
+ @DFNAME VARCHAR(50),
+ @DROP NVARCHAR(500)
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @DEFAULT_VALUE = @pDEFAULT_VALUE
+
+ IF @pACTION = 0 -- Für Insert
+ BEGIN
+ SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + 'ADD [@COL_NAME]'
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME)
+
+ IF @pTYP_ID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ IF @DEFAULT_VALUE = 'False'
+ SET @DEFAULT_VALUE = '0'
+ ELSE
+ SET @DEFAULT_VALUE = '1'
+
+ SET @SQL = @SQL +' BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE + CHAR(13)
+ END
+ ELSE IF @pTYP_ID = 6 --Picturebox
+ SET @SQL = @SQL +' VARBINARY(MAX)' + CHAR(13)
+ ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
+ SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13)
+ ELSE IF @pTYP_ID = 4 --DatePicker
+ SET @SQL = @SQL + ' VARCHAR(10)' + CHAR(13)
+ ELSE
+ BEGIN
+ IF LEN(ISNULL(@DEFAULT_VALUE,'')) > 0
+ BEGIN
+ SET @SQL = @SQL + ' VARCHAR(MAX) DEFAULT ''@DEFAULT''' + CHAR(13)
+ SET @SQL = REPLACE(@SQL,'@DEFAULT',@DEFAULT_VALUE)
+ END
+ ELSE
+ SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13)
+ END
+ --PRINT @SQL
+
+ EXEC sp_executesql @SQL
+ PRINT 'COLUMN FOR ENTITY-TABLE WAS ADDED'
+ END
+ ELSE IF @pACTION = 1 -- Für Update
+ BEGIN
+ IF LEN(ISNULL(@pCOL_NAME_OLD,'')) > 0
+ BEGIN
+ SET @SQL = '@TABLE@ENT.[@OLDNAME]'
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@OLDNAME',@pCOL_NAME_OLD)
+
+ --PRINT @COL_NAME
+ --PRINT @TABLENAME_COL
+
+ --Update des Columnnames
+ EXEC sp_RENAME @SQL, @pCOL_NAME, 'COLUMN'
+ PRINT 'COLUMN WAS UPDATED'
+
+ SET @SQL = 'ALTER TABLE @TABLE@ENT ALTER COLUMN '
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = @SQL + '[' + @pCOL_NAME + '] '
+
+ IF @pTYP_ID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ IF @DEFAULT_VALUE = 'False'
+ SET @DEFAULT_VALUE = '0'
+ ELSE
+ SET @DEFAULT_VALUE = '1'
+ SET @SQL = @SQL +'BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE
+ END
+ ELSE IF @pTYP_ID = 6 --Picturebox
+ SET @SQL = @SQL +'VARBINARY(MAX)'
+ ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
+ SET @SQL = @SQL + 'VARCHAR(MAX)'
+ ELSE IF @pTYP_ID = 4 --DatePicker
+ SET @SQL = @SQL + 'VARCHAR(10)'
+ ELSE
+ BEGIN
+ SET @SQL = @SQL + 'VARCHAR(MAX)'
+ IF @DEFAULT_VALUE IS NOT NULL
+ BEGIN
+ SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,' ','')
+ SET @SQL_DEF = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR [' + @pCOL_NAME + ']'
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@DEFAULT_VALUE',@DEFAULT_VALUE)
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@COL_NAME',@TEMP_COL_NAME)
+ END
+ END
+
+ --PRINT '@ALTER SQL-COMMAND: ' + @SQL
+ EXEC sp_executesql @SQL
+ PRINT 'ALTER TABLE was executed'
+ SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME'
+ SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME)
+ SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT '@DFNAME: ' + @DFNAME
+ IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME)
+ BEGIN
+ --PRINT 'DEFAULT KEY EXISTS'
+ SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME'
+ SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME)
+ SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT @DROP
+ EXEC sp_executesql @DROP
+ END
+ IF LEN(@SQL_DEF) > 0 AND LEN(@DEFAULT_VALUE) > 0
+ BEGIN
+ --PRINT '@SQL DEFAULT CONSTRAINT: ' + @SQL_DEF
+ EXEC sp_executesql @SQL_DEF
+ END
+
+ END
+ END
+ ELSE IF @pACTION = 2 -- Für Delete
+ BEGIN
+ SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME'
+ SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME)
+ SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT '@DFNAME: ' + @DFNAME
+ IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME)
+ BEGIN
+ --PRINT 'DEFAULT KEY EXISTS'
+ SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME'
+ SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME)
+ SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT @DROP
+ EXEC sp_executesql @DROP
+ END
+ SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + ' DROP COLUMN [@COL_NAME]'
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME)
+ EXEC sp_executesql @DROP
+ END
+ EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @pENTITY_ID
+END
+GO
+ALTER FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER)
+RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50))
+AS
+BEGIN
+ DECLARE
+ @RECID INTEGER,
+ @ENT_ID INTEGER,
+ @GUID INTEGER,
+ @RIGHT_USER VARCHAR(50),
+ @RIGHT_USER_INT INTEGER,
+ @RIGHT_USER_ECM_ID INTEGER,
+ @AD_DOMAIN VARCHAR(250)
+ SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME
+
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER')
+
+ DECLARE cursorRecords CURSOR FOR
+ select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID
+ OPEN cursorRecords
+ FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID)
+ /*CURSOR 1 RECORDS BEGIN*/
+ -- ENTITY-SUPERVISOR INSERTEN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID
+ AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME
+ -- SUPERVISOR RECORD INSERTEN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND
+ T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME
+ /**/
+ DECLARE
+ @VALUE VARCHAR(100),
+ @RIGHT INT,
+ @TYPE_VALUE VARCHAR(50),
+ @CONTR_TYPE_ID INT,
+ @CONTROL_ID INT
+
+ DECLARE cursorRecordRightControls CURSOR FOR
+ SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID
+ FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND
+ T.CONTROL_ID = T2.CONTROL_ID AND
+ T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID
+ OPEN cursorRecordRightControls
+ FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @TYPE_VALUE = 'USER'
+ BEGIN
+ DECLARE @TEMP_USRID INT
+ SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE)
+ IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID)
+ BEGIN
+ --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @GROUP_USER_ID INTEGER
+ DECLARE cursorUserGroup CURSOR FOR
+ SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE)
+ AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS)
+ OPEN cursorUserGroup
+ FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID)
+ BEGIN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID
+ END
+ --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID
+ FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID
+ END
+ CLOSE cursorUserGroup
+ DEALLOCATE cursorUserGroup
+ END
+ FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID
+ END
+ CLOSE cursorRecordRightControls
+ DEALLOCATE cursorRecordRightControls
+ /*CURSOR 2 RIGHT-CONTROLS END*/
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID)
+ BEGIN
+ DECLARE
+ @WD_RIGHT INTEGER
+
+ DECLARE c_REDO CURSOR FOR
+ SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_USER T, TBDD_USER T1 WHERE
+ T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT)
+ BEGIN
+ DECLARE @TEMP_RIGHT INT
+ SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT
+ IF @TEMP_RIGHT < @WD_RIGHT
+ UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT
+ END
+ ELSE
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (
+ @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT')
+
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ END
+ CLOSE c_REDO
+ DEALLOCATE c_REDO
+ END
+
+ FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID
+ /*CURSOR 1 RECORDS END*/
+ END
+CLOSE cursorRecords
+DEALLOCATE cursorRecords
+
+RETURN
+END
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT)
+AS
+BEGIN TRY
+ IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL
+ DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL
+ DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_USER_GLOBAL_SEARCH WHERE USER_ID = @pUSER_ID
+
+ DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER WHERE GUID = @pUSER_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
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.9.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.9.sql
new file mode 100644
index 0000000..e6d1c72
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.9.sql
@@ -0,0 +1,401 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.9' where NAME = 'Record-Organizer'
+GO
+
+--#######################################################################################
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_DOCTYPE](@pDOCID INT)
+AS
+BEGIN TRY
+ DELETE FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID IN (SELECT GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID)
+ DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID
+ DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID
+ DELETE FROM TBDD_DOKUMENTART_MODULE WHERE DOKART_ID = @pDOCID
+ DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID
+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].[TBDD_DOKUMENTART_AFT_INS2] ON [dbo].[TBDD_DOKUMENTART]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @ADDED_WHO VARCHAR(50),
+ @OBJEKTTYP VARCHAR(50),
+ @GUID INTEGER
+ SELECT
+ @GUID = GUID,
+ @ADDED_WHO = ERSTELLTWER,
+ @OBJEKTTYP = OBJEKTTYP
+ FROM INSERTED
+
+ INSERT INTO TBPMO_CLIENT_DOCTYPE (CLIENT_ID,DOCTYPE_ID)
+ SELECT T.CLIENT_ID,@GUID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO)
+
+ --IF OBJECT_ID(N'dbo.TBPMO_WD_OBJECTTYPE', N'U') IS NOT NULL
+ -- IF @OBJEKTTYP IS NOT NULL
+ -- IF @OBJEKTTYP <> ''
+ -- BEGIN
+ -- DECLARE @IDX_DOC VARCHAR(50),@IDX_REC VARCHAR(50)
+ -- SELECT @IDX_DOC = IDXNAME_DOCTYPE,
+ -- @IDX_REC = IDXNAME_RECORDID FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = @OBJEKTTYP
+ -- IF @IDX_REC IS NOT NULL
+ -- INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES
+ -- (@GUID,@IDX_REC,'@Record-ID',1,@ADDED_WHO)
+ -- IF @IDX_DOC IS NOT NULL
+ -- INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES
+ -- (@GUID,@IDX_DOC,'@Dokart',1,@ADDED_WHO)
+ -- END
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+ALTER PROCEDURE [dbo].[PRPMO_ALTER_ENTITY_TABLE](@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0)
+AS
+DECLARE @SQL NVARCHAR(MAX),
+ @DEFAULT_VALUE VARCHAR(100),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @TEMP_COL_NAME VARCHAR(50),
+ @SQL_DEF NVARCHAR(MAX),
+ @DFNAME VARCHAR(50),
+ @DROP NVARCHAR(500)
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @DEFAULT_VALUE = @pDEFAULT_VALUE
+
+ IF @pACTION = 0 -- Für Insert
+ BEGIN
+ SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + 'ADD [@COL_NAME]'
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME)
+
+ IF @pTYP_ID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ IF @DEFAULT_VALUE = 'False'
+ SET @DEFAULT_VALUE = '0'
+ ELSE
+ SET @DEFAULT_VALUE = '1'
+
+ SET @SQL = @SQL +' BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE + CHAR(13)
+ END
+ ELSE IF @pTYP_ID = 6 --Picturebox
+ SET @SQL = @SQL +' VARBINARY(MAX)' + CHAR(13)
+ ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
+ SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13)
+ ELSE IF @pTYP_ID = 4 --DatePicker
+ SET @SQL = @SQL + ' VARCHAR(10)' + CHAR(13)
+ ELSE
+ BEGIN
+ IF LEN(ISNULL(@DEFAULT_VALUE,'')) > 0
+ BEGIN
+ SET @SQL = @SQL + ' VARCHAR(MAX) DEFAULT ''@DEFAULT''' + CHAR(13)
+ SET @SQL = REPLACE(@SQL,'@DEFAULT',@DEFAULT_VALUE)
+ END
+ ELSE
+ SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13)
+ END
+ --PRINT @SQL
+
+ EXEC sp_executesql @SQL
+ PRINT 'COLUMN FOR ENTITY-TABLE WAS ADDED'
+ END
+ ELSE IF @pACTION = 1 -- Für Update
+ BEGIN
+ IF LEN(ISNULL(@pCOL_NAME_OLD,'')) > 0
+ BEGIN
+ SET @SQL = '@TABLE@ENT.[@OLDNAME]'
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@OLDNAME',@pCOL_NAME_OLD)
+
+ --PRINT @COL_NAME
+ --PRINT @TABLENAME_COL
+
+ --Update des Columnnames
+ EXEC sp_RENAME @SQL, @pCOL_NAME, 'COLUMN'
+ PRINT 'COLUMN WAS UPDATED'
+
+ SET @SQL = 'ALTER TABLE @TABLE@ENT ALTER COLUMN '
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = @SQL + '[' + @pCOL_NAME + '] '
+
+ IF @pTYP_ID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ IF @DEFAULT_VALUE = 'False'
+ SET @DEFAULT_VALUE = '0'
+ ELSE
+ SET @DEFAULT_VALUE = '1'
+ SET @SQL = @SQL +'BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE
+ END
+ ELSE IF @pTYP_ID = 6 --Picturebox
+ SET @SQL = @SQL +'VARBINARY(MAX)'
+ ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
+ SET @SQL = @SQL + 'VARCHAR(MAX)'
+ ELSE IF @pTYP_ID = 4 --DatePicker
+ SET @SQL = @SQL + 'VARCHAR(10)'
+ ELSE
+ BEGIN
+ SET @SQL = @SQL + 'VARCHAR(MAX)'
+ IF @DEFAULT_VALUE IS NOT NULL
+ BEGIN
+ SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,' ','')
+ SET @SQL_DEF = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR [' + @pCOL_NAME + ']'
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@DEFAULT_VALUE',@DEFAULT_VALUE)
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_DEF = REPLACE(@SQL_DEF,'@COL_NAME',@TEMP_COL_NAME)
+ END
+ END
+
+ --PRINT '@ALTER SQL-COMMAND: ' + @SQL
+ EXEC sp_executesql @SQL
+ PRINT 'ALTER TABLE was executed'
+ SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME'
+ SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME)
+ SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT '@DFNAME: ' + @DFNAME
+ IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME)
+ BEGIN
+ --PRINT 'DEFAULT KEY EXISTS'
+ SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME'
+ SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME)
+ SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT @DROP
+ EXEC sp_executesql @DROP
+ END
+ IF LEN(@SQL_DEF) > 0 AND LEN(@DEFAULT_VALUE) > 0
+ BEGIN
+ --PRINT '@SQL DEFAULT CONSTRAINT: ' + @SQL_DEF
+ EXEC sp_executesql @SQL_DEF
+ END
+
+ END
+ END
+ ELSE IF @pACTION = 2 -- Für Delete
+ BEGIN
+ SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME'
+ SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME)
+ SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT '@DFNAME: ' + @DFNAME
+ IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME)
+ BEGIN
+ --PRINT 'DEFAULT KEY EXISTS'
+ SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME'
+ SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME)
+ SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME)
+ --PRINT @DROP
+ EXEC sp_executesql @DROP
+ END
+ SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + ' DROP COLUMN [@COL_NAME]'
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME)
+ EXEC sp_executesql @DROP
+ END
+ EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @pENTITY_ID
+END
+GO
+ALTER FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER)
+RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50))
+AS
+BEGIN
+ DECLARE
+ @RECID INTEGER,
+ @ENT_ID INTEGER,
+ @GUID INTEGER,
+ @RIGHT_USER VARCHAR(50),
+ @RIGHT_USER_INT INTEGER,
+ @RIGHT_USER_ECM_ID INTEGER,
+ @AD_DOMAIN VARCHAR(250)
+ SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME
+
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER')
+
+ DECLARE cursorRecords CURSOR FOR
+ select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID
+ OPEN cursorRecords
+ FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID)
+ /*CURSOR 1 RECORDS BEGIN*/
+ -- ENTITY-SUPERVISOR INSERTEN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID
+ AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME
+ -- SUPERVISOR RECORD INSERTEN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND
+ T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME
+ /**/
+ DECLARE
+ @VALUE VARCHAR(100),
+ @RIGHT INT,
+ @TYPE_VALUE VARCHAR(50),
+ @CONTR_TYPE_ID INT,
+ @CONTROL_ID INT
+
+ DECLARE cursorRecordRightControls CURSOR FOR
+ SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID
+ FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND
+ T.CONTROL_ID = T2.CONTROL_ID AND
+ T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID
+ OPEN cursorRecordRightControls
+ FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @TYPE_VALUE = 'USER'
+ BEGIN
+ DECLARE @TEMP_USRID INT
+ SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE)
+ IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID)
+ BEGIN
+ --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @GROUP_USER_ID INTEGER
+ DECLARE cursorUserGroup CURSOR FOR
+ SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE)
+ AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS)
+ OPEN cursorUserGroup
+ FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID)
+ BEGIN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID
+ END
+ --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID
+ FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID
+ END
+ CLOSE cursorUserGroup
+ DEALLOCATE cursorUserGroup
+ END
+ FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID
+ END
+ CLOSE cursorRecordRightControls
+ DEALLOCATE cursorRecordRightControls
+ /*CURSOR 2 RIGHT-CONTROLS END*/
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID)
+ BEGIN
+ DECLARE
+ @WD_RIGHT INTEGER
+
+ DECLARE c_REDO CURSOR FOR
+ SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_USER T, TBDD_USER T1 WHERE
+ T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT)
+ BEGIN
+ DECLARE @TEMP_RIGHT INT
+ SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT
+ IF @TEMP_RIGHT < @WD_RIGHT
+ UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT
+ END
+ ELSE
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (
+ @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT')
+
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ END
+ CLOSE c_REDO
+ DEALLOCATE c_REDO
+ END
+
+ FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID
+ /*CURSOR 1 RECORDS END*/
+ END
+CLOSE cursorRecords
+DEALLOCATE cursorRecords
+
+RETURN
+END
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT)
+AS
+BEGIN TRY
+ IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL
+ DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL
+ DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_USER_GLOBAL_SEARCH WHERE USER_ID = @pUSER_ID
+
+ DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID
+ DELETE FROM TBDD_USER WHERE GUID = @pUSER_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].[PRPMO_DOC_VALUE_UPD_INS](@pDOCID INT, @pREC_ID INT, @pCONFIGID INT,@pVALUE VARCHAR(MAX),@pUSER VARCHAR(30))
+AS
+BEGIN TRY
+ IF EXISTS(SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @pCONFIGID AND RECORD_ID = @pREC_ID)
+ UPDATE TBPMO_DOC_VALUES SET VALUE = @pVALUE,CHANGED_WHO = @pUSER WHERE GUID = (
+ SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND RECORD_ID = @pREC_ID AND CONFIG_ID = @pCONFIGID)
+ ELSE
+ INSERT INTO TBPMO_DOC_VALUES (DocID, RECORD_ID, CONFIG_ID, VALUE, ADDED_WHO) VALUES (@pDOCID, @pREC_ID, @pCONFIGID, @pVALUE, @pUSER)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN [PRPMO_DOC_VALUE_UPD_INS] - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_LANGUAGE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_LANGUAGE]
+FOR UPDATE
+AS
+BEGIN
+ DECLARE @CONTR_SCREEN_ID INTEGER,
+ @GUID INTEGER,
+ @CAPTION VARCHAR(100)
+ SELECT @CONTR_SCREEN_ID = CONTROL_SCREEN_ID,
+ @GUID = GUID,
+ @CAPTION = CAPTION
+ FROM inserted
+ UPDATE TBPMO_CONTROL_LANGUAGE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_LANGUAGE.GUID = INSERTED.GUID
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = @CONTR_SCREEN_ID AND LANGUAGE_TYPE = 'de-DE')
+ INSERT INTO TBPMO_CONTROL_LANGUAGE (LANGUAGE_TYPE,CONTROL_SCREEN_ID,CAPTION) VALUES ('de-DE',@CONTR_SCREEN_ID,@CAPTION)
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = @CONTR_SCREEN_ID AND LANGUAGE_TYPE = 'en-US')
+ INSERT INTO TBPMO_CONTROL_LANGUAGE (LANGUAGE_TYPE,CONTROL_SCREEN_ID,CAPTION) VALUES ('en-US',@CONTR_SCREEN_ID,@CAPTION)
+END
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.0.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.0.sql
new file mode 100644
index 0000000..c9cf06c
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.0.sql
@@ -0,0 +1,775 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.8.0' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBPMO_RECORD ADD DELETED BIT NOT NULL DEFAULT 0
+GO
+ALTER PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_IMPORT_RECORDS](@pENTITY_ID INT)
+--ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT)
+AS
+DECLARE @REC_ID INT,
+ @SQL_INSERT_REC NVARCHAR(MAX),
+ @SQL_DELETE NVARCHAR(MAX),
+ @SQL_UPDATE NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @INSERT_COMAMND NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + ''''
+DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+
+ SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT'
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+ EXEC sp_executesql @SQL_DELETE
+
+ OPEN cursor_Records
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID'
+
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ --PRINT @SQL_INSERT_REC
+ EXEC sp_executesql @SQL_INSERT_REC
+ EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID
+
+ DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
+ WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ ORDER BY TAB_INDEX
+
+ BEGIN
+ OPEN cursor_Columns
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID'
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
+ --
+ IF @TYPEID = 6 --Picturebox
+ BEGIN
+ DECLARE @VALUE_VBM VARBINARY(MAX)
+
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ EXEC sp_executesql @SQL_UPDATE
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @VALUE VARCHAR(MAX)
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN TRY
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE IF @TYPEID IN(7,12,14)
+ BEGIN
+ SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ --PRINT @SQL_UPDATE
+ EXEC sp_executesql @SQL_UPDATE
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ END CATCH
+ END
+
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ END
+ CLOSE cursor_Columns
+ DEALLOCATE cursor_Columns
+ END
+
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ END
+ CLOSE cursor_Records
+ DEALLOCATE cursor_Records
+END
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30))
+AS
+ --DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ --DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ --DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
+ --DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ -- DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ --DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+ --DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID
+ --DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
+ --DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID
+ --DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID
+ --DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID
+ --DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID
+
+ DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID'
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID)
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID)
+ EXEC sp_executesql @DELETE_SQL
+ --DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID
+
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO)
+
+GO
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD_FINALLY](@pRECORD_ID INT, @WHO VARCHAR(30))
+AS
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID
+
+ DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID'
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID)
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID)
+ EXEC sp_executesql @DELETE_SQL
+ DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ --UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID
+
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD FINALLY DELETED BY USER',@WHO)
+
+GO
+ALTER TABLE TBDD_MODULES ADD MIN_REQUIRED_VERSION VARCHAR(10) NOT NULL DEFAULT '1.0.0.0'
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DOC_CREATE_NEW_DOC](@pDOC_ID INTEGER,@pREC_ID INTEGER,@WHO VARCHAR(50))
+AS
+BEGIN TRY
+
+ DECLARE
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+
+ SELECT @FULL_FILENAME = FULL_FILENAME
+ ,@DISPLAY_NAME = [Filename]
+ ,@Filename = [Filename]
+ ,@Doctype = Doctype
+ ,@Version = [Version]
+ ,@Creation_DateTime = [Creation_DateTime]
+ ,@Change_DateTime = [Change_DateTime]
+ ,@Objecttype = OBJECTTYPE
+ FROM
+ VWPMO_DOC_SYNC
+ WHERE
+ DocID = @pDOC_ID
+ IF NOT EXISTS(SELECT DocID FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOC_ID)
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @pDOC_ID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime)
+ ELSE
+ UPDATE TBPMO_DOCRESULT_LIST SET
+ [DISPLAY_NAME] = @Filename,
+ [FULL_FILENAME] = @FULL_FILENAME,
+ [Filename] = @Filename,
+ [Doctype] = @Doctype,
+ [Version] = @Version,
+ [Objecttype] = @Objecttype,
+ Creation_DateTime = @Creation_DateTime,
+ Change_DateTime = @Change_DateTime WHERE [DocID] = @pDOC_ID
+
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOC_ID AND RECORD_ID = @pREC_ID)
+ INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID,ADDED_WHO) VALUES (@pDOC_ID,@pREC_ID,@WHO)
+
+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 TBDD_VERSION_USER_UPDATE_PATH ADD TEMPPATH VARCHAR(1000) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBDD_VERSION_USER_UPDATE_PATH ADD INFO1 VARCHAR(500) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBDD_VERSION_USER_UPDATE_PATH ADD INFO2 VARCHAR(500) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBDD_VERSION_USER_UPDATE_PATH ADD INFO3 VARCHAR(500) NOT NULL DEFAULT ''
+GO
+ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD]
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @MAX_ID INTEGER,
+ @FORM_ID INTEGER,
+ @WF_ID INTEGER,
+ @PARENT_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @INSERT_SQL NVARCHAR(MAX)
+ SELECT
+ @FORM_ID = FORM_ID,
+ @RECORD_ID = GUID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ SELECT @MAX_ID = ISNULL(MAX(RECORD_ENTITY_ID) + 1,0) FROM TBPMO_RECORD
+ WHERE FORM_ID = @FORM_ID AND DELETED = 0 AND GUID <> @RECORD_ID
+ SET @INSERT_SQL = 'INSERT INTO TBPMO_ENTITY_TABLE@ENT_ID ([Record-ID],AddedWho,AddedWhen) SELECT GUID,ADDED_WHO,ADDED_WHEN FROM TBPMO_RECORD WHERE GUID = @RECORD_ID'
+ SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@ENT_ID',CONVERT(VARCHAR(10),@FORM_ID))
+ SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@RECORD_ID',@RECORD_ID)
+
+ PRINT @INSERT_SQL
+ EXEC sp_executesql @INSERT_SQL
+ --RAISERROR(@INSERT_SQL, 16, 1);
+ -- ROLLBACK;
+ UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+
+ DECLARE @CONTROL_ID INTEGER,@VALUE VARCHAR(MAX)
+
+ DECLARE cursInsertDefaultValues CURSOR FOR
+ select GUID, DEFAULT_VALUE FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID AND DEFAULT_VALUE IS NOT NULL AND DEFAULT_VALUE <> ''
+ OPEN cursInsertDefaultValues
+ FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBPMO_CONTROL_VALUE (RECORD_ID,CONTROL_ID,VALUE,ADDED_WHO) VALUES (@RECORD_ID,@CONTROL_ID,@VALUE,@ADDED_WHO)
+ FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE
+ END
+ CLOSE cursInsertDefaultValues
+ DEALLOCATE cursInsertDefaultValues
+
+ ----Überprü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
+ AND T1.CREATE_ON_REC_CREATE = 1
+ )
+ 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
+GO
+ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR UPDATE
+AS
+/*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/
+BEGIN TRY
+ DECLARE
+ @CONTROL_ID INTEGER,
+ @RECORD_ID INTEGER,
+ @VALUE_NEW VARCHAR(MAX),
+ @VALUE_OLD VARCHAR(MAX),
+ @CHANGED_WHO VARCHAR(50),
+ @CHANGE_STEP INTEGER,
+ @REDO BIT,
+ @CHANGE_ID INTEGER,
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @USER_ID_ECM INTEGER,
+ @RIGHT INTEGER,
+ @COUNTER_CONTROL_UPDATE_ID INTEGER,
+ @UPDATE_SQL NVARCHAR(MAX),
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+ IF UPDATE (VALUE)
+ BEGIN
+ SELECT
+ @CONTROL_ID = DELETED.CONTROL_ID,
+ @RECORD_ID = DELETED.RECORD_ID,
+ @VALUE_OLD = DELETED.VALUE,
+ @ENTITY_ID = T.FORM_ID,
+ @COL_NAME = T1.COL_NAME
+ FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1
+ WHERE DELETED.RECORD_ID = T.GUID AND
+ DELETED.CONTROL_ID = T1.GUID
+
+ IF @CONTROL_ID in (29,14,346)
+ BEGIN
+ PRINT 'CHANGE OF RIGHT RELEVANT CONTROL'
+ SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ END
+ --RAISERROR (@VALUE , 16, 1)
+ SELECT
+ @CHANGE_STEP = CHANGE_STEP,
+ @CHANGED_WHO = CHANGED_WHO,
+ @VALUE_NEW = VALUE,
+ @REDO = REDO
+ FROM INSERTED
+ --PRINT 'OLD VALUE: ' + @VALUE_OLD
+ --PRINT 'NEW VALUE: ' + @VALUE_NEW
+ IF @CHANGED_WHO IS NULL
+ BEGIN
+ SELECT @CHANGED_WHO = IN_WORK_WHO FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ IF @CHANGED_WHO IS NULL
+ SET @CHANGED_WHO = 'TRIGGER DEFAULT'
+ END
+ -- Änderung Vladi ------
+ --SET @VALUE_OLD = REPLACE(@VALUE_OLD,'''','''''')
+ ----------------------
+
+ SELECT @CHANGE_ID = ISNULL(MAX(GUID),0) FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD
+ IF @CHANGE_ID = 0
+ INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ ELSE
+ UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET CHANGED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID
+ --IF @REDO = 0
+ -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP)
+ -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES
+ -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO)
+ --Update des Logs für loggen von Datensatzänderungen
+ IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1)
+ If @VALUE_OLD <> @VALUE_NEW
+ BEGIN
+ DECLARE @LOG VARCHAR(1000)
+ SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW
+ INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES
+ (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO)
+ END
+ ELSE
+ PRINT 'VALUES NOT DIFFERENT'
+ BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME))
+ EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@CHANGED_WHO,@VALUE_NEW
+ END
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ IF @CONTROL_ID = 29 --Vertragseigner Person
+ BEGIN
+ --### Zuerst müssen die Rechte der geänderten Person gelöscht werden
+ select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_OLD)
+ If @USER_ID IS NOT NULL AND @USER_ID <> 0
+ BEGIN
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ DECLARE cursDOC_V1 CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V1
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','ContractOwner',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
+
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V1
+ DEALLOCATE cursDOC_V1
+ END
+ SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ --### Jetzt prüfen der neuen Rechte
+ select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_NEW)
+ If @USER_ID IS NOT NULL AND @USER_ID <> 0
+ BEGIN
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ DECLARE cursDOC_V1 CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V1
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','VERTRAGSEIGNER USER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
+
+ FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V1
+ DEALLOCATE cursDOC_V1
+ END
+ END
+ -- ####### Vertragseigner Team ###############
+ ELSE IF @CONTROL_ID = 14
+ BEGIN
+ /*Die Rechte des des alten Vertragseigner-Teams löschen*/
+ DECLARE C_OLDUSER_CONTROWN CURSOR FOR
+ SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_OLD))
+ OPEN C_OLDUSER_CONTROWN
+ FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE cursDOC_V2 CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V2
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','CONTRACTOWNER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V2
+ DEALLOCATE cursDOC_V2
+
+ FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM
+ END
+ CLOSE C_OLDUSER_CONTROWN
+ DEALLOCATE C_OLDUSER_CONTROWN
+ SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ /*Die Rechte des Teams Vertragseigner hinzufügen*/
+ DECLARE c_USER CURSOR FOR
+ SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_NEW))
+ OPEN c_USER
+ FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ DECLARE cursDOC_V2 CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ OPEN cursDOC_V2
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','CONTRACTOWNER',@CHANGED_WHO,@COUNTER_CONTROL_UPDATE_ID
+ FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID
+ END
+ CLOSE cursDOC_V2
+ DEALLOCATE cursDOC_V2
+
+ FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM
+ END
+ CLOSE c_USER
+ DEALLOCATE c_USER
+ END
+ END
+ /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/
+ --Generelle Updates (Datum und Recor-Änderungen)
+ UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID
+ UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_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_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE]
+FOR INSERT
+AS
+ /*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/
+ DECLARE
+ @COUNT_GUID INTEGER,
+ @RECORD_ID INTEGER,
+ @CONTROL_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @VALUE_NEW VARCHAR(MAX),
+ @DOC_ID INTEGER,
+ @USER_ID INTEGER,
+ @USER_ID_ECM INTEGER,
+ @RIGHT INTEGER,
+ @COUNTER_CONTROL_UPDATE_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50),
+ @CONTROL_TYPE INTEGER
+ SELECT
+ @RECORD_ID = INSERTED.RECORD_ID,
+ @CONTROL_ID = INSERTED.CONTROL_ID,
+ @ADDED_WHO = INSERTED.ADDED_WHO,
+ @VALUE_NEW = INSERTED.VALUE,
+ @ENTITY_ID = T.FORM_ID,
+ @COL_NAME = T1.COL_NAME,
+ @CONTROL_TYPE = T1.CONTROL_TYPE_ID
+ FROM INSERTED, TBPMO_RECORD T,TBPMO_CONTROL T1
+ WHERE INSERTED.RECORD_ID = T.GUID AND
+ INSERTED.CONTROL_ID = T1.GUID
+
+ SELECT @COUNT_GUID = COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_NEW
+ IF @COUNT_GUID > 1
+ BEGIN
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','UNIQUE VIOLATION - VALUE ' + @VALUE_NEW,@ADDED_WHO)
+ RAISERROR ('UNIQUE VIOLATION: THE VALUE ALREADY EXISTS - MULTIPLE VALUES PER CONTROL NOT ALLOWED!',16,1)
+ ROLLBACK TRANSACTION
+ END
+
+ IF @CONTROL_TYPE = 4
+ IF ISDATE(@VALUE_NEW) = 0
+ BEGIN
+ declare @msg varchar(200)
+ SET @msg = 'INVALID INPUT: ' + @VALUE_NEW + ' - A DATE VALUE IS REQUIRED'
+ RAISERROR (@msg,16,1)
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','INVALID DATE-VALUE: ' + @VALUE_NEW,@ADDED_WHO)
+ ROLLBACK TRANSACTION
+ END
+
+ -- Änderung Vladi ------
+ --SET @VALUE_NEW = REPLACE(@VALUE_NEW,'''','''''')
+ ------------------------
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME))
+ EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@ADDED_WHO,@VALUE_NEW
+
+ IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID)
+ BEGIN
+ DECLARE @SUBJECT VARCHAR(100),
+ @LOCATION VARCHAR(100),
+ @DESCRIPTION VARCHAR(100)
+ SELECT @SUBJECT = APPT_SUBJECT, @LOCATION = APPT_LOCATION,@DESCRIPTION = APPT_DESCRIPTION FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID
+
+ INSERT INTO TBPMO_APPOINTMENTS (Type,[StartDate],[EndDate],[AllDay],[Subject],[Location],[Description],Status,Label,[CustomField1],[CustomField2]) VALUES
+ (0,CONVERT(DATE,@VALUE_NEW),CONVERT(DATE,@VALUE_NEW),1,@SUBJECT,@LOCATION,@DESCRIPTION,0,2,@RECORD_ID,@CONTROL_ID)
+ END
+
+ /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/
+ IF @CONTROL_ID = 346
+ BEGIN
+ SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1
+ DECLARE cursor_DOCS CURSOR FOR
+ select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND
+ TRL.RECORD_ID = @RECORD_ID
+ --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
+ OPEN cursor_DOCS
+ FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ BEGIN
+ DECLARE cursor_User CURSOR FOR
+ SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW)
+ --select DocID from VWPMO_DOC_SEARCH where RECORD_ID = @RECORD_ID
+ OPEN cursor_User
+ FETCH NEXT FROM cursor_User INTO @USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID
+ EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'ADD RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS_346', @COUNTER_CONTROL_UPDATE_ID
+ FETCH NEXT FROM cursor_User INTO @USER_ID
+ END
+ CLOSE cursor_User
+ DEALLOCATE cursor_User
+ END
+ FETCH NEXT FROM cursor_DOCS INTO @DOC_ID
+ END
+ CLOSE cursor_DOCS
+ DEALLOCATE cursor_DOCS
+ END
+ /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/
+GO
+ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_UPD] ON [dbo].[TBPMO_RECORD]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @OLD_ENTITY_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @PARENT_RECORD INTEGER,
+ @ENTITY_TABLENAME VARCHAR(50),
+ @SQL NVARCHAR(MAX),
+ @DELETED_OLD BIT,
+ @DELETED BIT,
+ @RECORD_ENTITY_ID BIGINT
+ SELECT @DELETED_OLD = [deleted] FROM deleted
+ SELECT @DELETED = [deleted],@RECORD_ENTITY_ID = RECORD_ENTITY_ID FROM inserted
+ PRINT '@RECORD_ENTITY_ID: ' + CONVERT(VARCHAR(100),@RECORD_ENTITY_ID)
+ IF UPDATE(FORM_ID)
+ BEGIN
+ SELECT
+ @RECORD_ID = GUID
+ FROM INSERTED
+ SELECT @OLD_ENTITY_ID = FORM_ID FROM deleted
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@OLD_ENTITY_ID)
+ --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID
+ END
+ IF UPDATE (PARENT_RECORD)
+ BEGIN
+ SELECT
+ @RECORD_ID = GUID,
+ @PARENT_RECORD = PARENT_RECORD,
+ @ENTITY_ID = FORM_ID
+ FROM INSERTED
+ IF @PARENT_RECORD > 0
+ BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ --RAISERROR(@SQL, 16, 1)
+ EXEC sp_executesql @SQL
+ END
+ END
+ IF UPDATE([DELETED])
+ BEGIN
+ IF @DELETED_OLD = 0 and @DELETED = 1
+ BEGIN
+ Print '@DELETED_OLD = 0 and @DELETED = 1'
+ SET @RECORD_ENTITY_ID = 9999000000 + @RECORD_ENTITY_ID
+ Print '@RECORD_ENTITY_ID: '+ CONVERT(VARCHAR(100),@RECORD_ENTITY_ID)
+ UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @RECORD_ENTITY_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ END
+ END
+
+ UPDATE TBPMO_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.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 PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_RENEW_RECORD](@pENTITY_ID INT,@pRECORD_ID INT)
+AS
+DECLARE @REC_ID INT,
+ @SQL_INSERT_REC NVARCHAR(MAX),
+ @SQL_DELETE NVARCHAR(MAX),
+ @SQL_UPDATE NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @INSERT_COMAMND NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+PRINT 'WORKING ON RECORD ''' + CONVERT(VARCHAR(10),@pRECORD_ID) + ''''
+DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+
+ SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@RECORD_ID',CONVERT(VARCHAR(10),@pRECORD_ID))
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+ PRINT @SQL_DELETE
+ EXEC sp_executesql @SQL_DELETE
+
+ OPEN cursor_Records
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID'
+
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ PRINT @SQL_INSERT_REC
+ EXEC sp_executesql @SQL_INSERT_REC
+ EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID
+
+ DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
+ WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ ORDER BY TAB_INDEX
+
+ BEGIN
+ OPEN cursor_Columns
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID'
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
+ --
+ IF @TYPEID = 6 --Picturebox
+ BEGIN
+ DECLARE @VALUE_VBM VARBINARY(MAX)
+
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ EXEC sp_executesql @SQL_UPDATE
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @VALUE VARCHAR(MAX)
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN TRY
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE IF @TYPEID IN(7,12,14)
+ BEGIN
+ SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ --PRINT @SQL_UPDATE
+ EXEC sp_executesql @SQL_UPDATE
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ END CATCH
+ END
+
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ END
+ CLOSE cursor_Columns
+ DEALLOCATE cursor_Columns
+ END
+
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ END
+ CLOSE cursor_Records
+ DEALLOCATE cursor_Records
+END
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.1.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.1.sql
new file mode 100644
index 0000000..2ab5b86
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.1.sql
@@ -0,0 +1,464 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.8.1' where NAME = 'Record-Organizer'
+GO
+ALTER TABLE TBDD_MODULES ADD AUTO_LOGOUT_USER INT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_CONTROL_VALUE_HISTORY ADD GUID INTEGER IDENTITY(0,1)
+GO
+ALTER TABLE TBPMO_RECORD ADD IN_WORK_WHEN DATETIME
+GO
+ALTER TABLE TBPMO_LOG_ESSENTIALS ADD [ENTITY_ID] INT
+GO
+ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL ADD ADD_RECORDS BIT NOT NULL DEFAULT 1
+GO
+
+CREATE PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_RENEW_RECORD](@pENTITY_ID INT,@pRECORD_ID INT)
+AS
+DECLARE @REC_ID INT,
+ @SQL_INSERT_REC NVARCHAR(MAX),
+ @SQL_DELETE NVARCHAR(MAX),
+ @SQL_UPDATE NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @INSERT_COMAMND NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+PRINT 'WORKING ON RECORD ''' + CONVERT(VARCHAR(10),@pRECORD_ID) + ''''
+DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+
+ SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@RECORD_ID',CONVERT(VARCHAR(10),@pRECORD_ID))
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+ PRINT @SQL_DELETE
+ EXEC sp_executesql @SQL_DELETE
+
+ OPEN cursor_Records
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID'
+
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ PRINT @SQL_INSERT_REC
+ EXEC sp_executesql @SQL_INSERT_REC
+ EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID
+
+ DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
+ WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ ORDER BY TAB_INDEX
+
+ BEGIN
+ OPEN cursor_Columns
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID'
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
+ --
+ IF @TYPEID = 6 --Picturebox
+ BEGIN
+ DECLARE @VALUE_VBM VARBINARY(MAX)
+
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ EXEC sp_executesql @SQL_UPDATE
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @VALUE VARCHAR(MAX)
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN TRY
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE IF @TYPEID IN(7,12,14)
+ BEGIN
+ SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ --PRINT @SQL_UPDATE
+ EXEC sp_executesql @SQL_UPDATE
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ END CATCH
+ END
+
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ END
+ CLOSE cursor_Columns
+ DEALLOCATE cursor_Columns
+ END
+
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ END
+ CLOSE cursor_Records
+ DEALLOCATE cursor_Records
+END
+GO
+ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_UPD] ON [dbo].[TBPMO_RECORD]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CHANGES BIT,
+ @RECORD_ID INTEGER,
+ @OLD_ENTITY_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @PARENT_RECORD INTEGER,
+ @ENTITY_TABLENAME VARCHAR(50),
+ @SQL NVARCHAR(MAX),
+ @DELETED_OLD BIT,
+ @DELETED BIT,
+ @RECORD_ENTITY_ID BIGINT,
+ @INWORK_OLD BIT,
+ @INWORK BIT,
+ @INWORK_WHO VARCHAR(50)
+ SELECT @DELETED_OLD = [deleted],@INWORK_OLD = IN_WORK FROM deleted
+ SELECT @RECORD_ID = GUID, @DELETED = [deleted],@RECORD_ENTITY_ID = RECORD_ENTITY_ID,@INWORK = IN_WORK , @INWORK_WHO = ISNULL(IN_WORK_WHO,'') FROM inserted
+ --PRINT '@RECORD_ENTITY_ID: ' + CONVERT(VARCHAR(100),@RECORD_ENTITY_ID)
+ SET @CHANGES = 0
+ IF UPDATE(IN_WORK)
+ BEGIN
+ IF @INWORK_OLD = 0 and @INWORK = 1
+ BEGIN
+ DECLARE @COMMENT VARCHAR(100)
+ SET @COMMENT = 'RECORD IN_WORK BY: ' + @INWORK_WHO
+ PRINT @COMMENT
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD IN_WORK BY: ' + @INWORK_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ UPDATE TBPMO_RECORD SET IN_WORK_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ END
+ ELSE IF @INWORK_OLD = 1 and @INWORK = 0
+ BEGIN
+ UPDATE TBPMO_RECORD SET IN_WORK_WHEN = NULL FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD UNLOCKED', 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ END
+ END
+ IF UPDATE(VERSION)
+ BEGIN
+ SET @CHANGES = 1
+ END
+ IF UPDATE(FORM_ID)
+ BEGIN
+ SELECT @OLD_ENTITY_ID = FORM_ID FROM deleted
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@OLD_ENTITY_ID)
+ --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID
+ SET @CHANGES = 1
+ END
+ IF UPDATE (PARENT_RECORD)
+ BEGIN
+ SELECT
+ @RECORD_ID = GUID,
+ @PARENT_RECORD = PARENT_RECORD,
+ @ENTITY_ID = FORM_ID
+ FROM INSERTED
+ SET @CHANGES = 1
+ IF @PARENT_RECORD > 0
+ BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ --RAISERROR(@SQL, 16, 1)
+ EXEC sp_executesql @SQL
+ END
+ END
+ IF UPDATE([DELETED])
+ BEGIN
+ IF @DELETED_OLD = 0 and @DELETED = 1
+ BEGIN
+ Print '@DELETED_OLD = 0 and @DELETED = 1'
+ SET @RECORD_ENTITY_ID = 9999000000 + @RECORD_ENTITY_ID
+ Print '@RECORD_ENTITY_ID: '+ CONVERT(VARCHAR(100),@RECORD_ENTITY_ID)
+ UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @RECORD_ENTITY_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ END
+ SET @CHANGES = 1
+ END
+
+ IF @CHANGES = 1
+ UPDATE TBPMO_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.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
+ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD]
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @MAX_ID INTEGER,
+ @FORM_ID INTEGER,
+ @WF_ID INTEGER,
+ @PARENT_ID INTEGER,
+ @ADDED_WHO VARCHAR(50),
+ @INSERT_SQL NVARCHAR(MAX)
+ SELECT
+ @FORM_ID = FORM_ID,
+ @RECORD_ID = GUID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ IF @FORM_ID = 32
+ BEGIN
+ ROLLBACK TRANSACTION
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@FORM_ID,'FORM-ID','INSERT IN ARCHIVE ENTITY NOT ALLOWED ' + CONVERT(VARCHAR(10),@FORM_ID),@ADDED_WHO)
+ RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1)
+ END
+
+ SELECT @MAX_ID = ISNULL(MAX(RECORD_ENTITY_ID) + 1,0) FROM TBPMO_RECORD
+ WHERE FORM_ID = @FORM_ID AND DELETED = 0 AND GUID <> @RECORD_ID
+ SET @INSERT_SQL = 'INSERT INTO TBPMO_ENTITY_TABLE@ENT_ID ([Record-ID],AddedWho,AddedWhen) SELECT GUID,ADDED_WHO,ADDED_WHEN FROM TBPMO_RECORD WHERE GUID = @RECORD_ID'
+ SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@ENT_ID',CONVERT(VARCHAR(10),@FORM_ID))
+ SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@RECORD_ID',@RECORD_ID)
+
+ PRINT @INSERT_SQL
+ EXEC sp_executesql @INSERT_SQL
+ --RAISERROR(@INSERT_SQL, 16, 1);
+ -- ROLLBACK;
+ UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+
+ DECLARE @CONTROL_ID INTEGER,@VALUE VARCHAR(MAX)
+
+ DECLARE cursInsertDefaultValues CURSOR FOR
+ select GUID, DEFAULT_VALUE FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID AND DEFAULT_VALUE IS NOT NULL AND DEFAULT_VALUE <> ''
+ OPEN cursInsertDefaultValues
+ FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ INSERT INTO TBPMO_CONTROL_VALUE (RECORD_ID,CONTROL_ID,VALUE,ADDED_WHO) VALUES (@RECORD_ID,@CONTROL_ID,@VALUE,@ADDED_WHO)
+ FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE
+ END
+ CLOSE cursInsertDefaultValues
+ DEALLOCATE cursInsertDefaultValues
+
+ ----Überprü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
+ AND T1.CREATE_ON_REC_CREATE = 1
+ )
+ 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
+GO
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_CONTROL_VALUE](@pRESULT BIT OUTPUT,@pCONTROL_ID INT,@pRECORD_ID INT,@pVALUE VARCHAR(MAX),@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL)
+--ALTER PROCEDURE PRPMO_CREATE_CONTROL_VALUE(@pRESULT BIT OUTPUT,@pCONTROL_ID INT,@pRECORD_ID INT,@pVALUE VARCHAR(MAX),@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL)
+AS
+DECLARE @FEHLER VARCHAR(4000),
+ @LINE VARCHAR(10)
+
+BEGIN TRY
+ -- DatensatzExistenz überprüfen
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID AND CONTROL_ID = @pCONTROL_ID AND UPPER(LTRIM(RTRIM(VALUE))) = UPPER(LTRIM(RTRIM(@pVALUE))))
+ BEGIN
+ INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES(@pCONTROL_ID,@pRECORD_ID,LTRIM(RTRIM(@pVALUE)),LTRIM(RTRIM(@pADDED_WHO)))
+ SET @pRESULT = 1
+ END
+ ELSE
+ BEGIN
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pRECORD_ID,'RECORD-ID','UNIQUE VIOLATION - VALUE ' + LTRIM(RTRIM(@pVALUE)),LTRIM(RTRIM(@pADDED_WHO)))
+ SET @pRESULT = 0
+ DECLARE @CONTROL_CAPT VARCHAR(100), @ERROR_MSG VARCHAR(500)
+ SELECT @CONTROL_CAPT = [COL_NAME] FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_ID
+ SET @ERROR_MSG = 'UNIQUE VIOLATION FOR CONTROL: ' + @CONTROL_CAPT + CHAR(13) + 'THE VALUE ALREADY EXISTS - MULTIPLE VALUES PER CONTROL NOT ALLOWED!'
+ RAISERROR(@ERROR_MSG,16,1)
+ END
+ RETURN
+END TRY
+BEGIN CATCH --Fehlerbehandlung
+ SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE())
+ SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pRECORD_ID,'RECORD-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO)))
+ RAISERROR(@FEHLER,16,1)
+END CATCH
+GO
+--CREATE PROCEDURE PRPMO_CREATE_RECORD(@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL)
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_RECORD](@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL)
+AS
+DECLARE @RECORD_ENTITY_ID BIGINT,
+ @RECORD_ID INT,
+ @FEHLER VARCHAR(4000),
+ @LINE VARCHAR(10)
+
+DECLARE @OUTPUTDATA TABLE(RECORD_ID INT)
+
+BEGIN TRY
+--RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1)
+ IF @pFORM_ID = 32
+ BEGIN
+ SET @pRESULT = 0
+
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pFORM_ID,'FORM-ID','INSERT IN ARCHIVE ENTITY NOT ALLOWED ' + CONVERT(VARCHAR(10),@pFORM_ID),LTRIM(RTRIM(@pADDED_WHO)))
+ RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1)
+ END
+ ELSE
+ BEGIN
+ SELECT @RECORD_ENTITY_ID = ISNULL(MAX(RECORD_ENTITY_ID),0) + 1 FROM TBPMO_RECORD WHERE FORM_ID = @pFORM_ID AND DELETED = 0
+
+ INSERT INTO TBPMO_RECORD(FORM_ID,RECORD_ENTITY_ID,ADDED_WHO,IN_WORK,IN_WORK_WHO)
+ OUTPUT INSERTED.GUID INTO @OUTPUTDATA
+ VALUES (@pFORM_ID,@RECORD_ENTITY_ID,LTRIM(RTRIM(@pADDED_WHO)),1,LTRIM(RTRIM(@pADDED_WHO)))
+
+ SELECT @pRESULT = RECORD_ID FROM @OUTPUTDATA
+ END
+ RETURN
+END TRY
+BEGIN CATCH --Fehlerbehandlung
+ SET @pRESULT = 0
+
+ SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE())
+ SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pFORM_ID,'FORM-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO)))
+ RAISERROR(@FEHLER,16,1)
+
+ RETURN
+END CATCH
+GO
+ALTER PROCEDURE [dbo].[PRPMO_RECORD_CHECK_INTEGRITY] (@pRECORD_ID INT, @WHO VARCHAR(30),@ISINSERT BIT, @COMMENT VARCHAR(100) = '')
+AS
+ DECLARE @COUNT_REQUIRED INT,@ENTITY_ID INT
+ DECLARE @reas As VARCHAR(250)
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ SET @reas = 'PRPMO_RECORD_CHECK_INTEGRITY'
+ IF @COMMENT <> ''
+ BEGIN
+ SET @reas = @reas + ' - ' + @COMMENT
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@reas,@WHO)
+ END
+
+
+ SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID
+ IF @COUNT_REQUIRED > (SELECT COUNT(*) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID)
+ IF @ISINSERT = 1
+ EXEC PRPMO_DELETE_RECORD @pRECORD_ID,@WHO,'PRPMO_RECORD_CHECK_INTEGRITY-LESS REQUIRED VALUES'
+ ELSE
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','LESS REQUIRED CONTROLS',@WHO)
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30),@COMMENT VARCHAR(100) = '')
+AS
+ DECLARE @DELETE_SQL NVARCHAR(MAX),
+ @ENTITY_ID INT, @COUNT_REQUIRED INT
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID'
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID)
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID)
+ EXEC sp_executesql @DELETE_SQL
+ --DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID
+ DECLARE @reas As VARCHAR(250)
+ SET @reas = 'RECORD DELETED BY USER'
+ IF @COMMENT <> ''
+ BEGIN
+ SET @reas = @reas + ' - ' + @COMMENT
+ END
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@ENTITY_ID, @reas, @WHO)
+
+ SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID
+ IF @COUNT_REQUIRED > (SELECT COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID)
+ BEGIN
+ PRINT 'EXEC PRPMO_DELETE_RECORD_FINALLY - PRE INSERT - LESS REQUIRED VALUES'
+ EXEC PRPMO_DELETE_RECORD_FINALLY @pRECORD_ID,'PRE INSERT - LESS REQUIRED VALUES'
+ 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,
+ T2.ADD_RECORDS,
+ 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
+CREATE FUNCTION [dbo].[FNPMO_CUST_ALLOW_ENTITY_RELINK](@RECORD_ID INTEGER, @USER_ID INTEGER)
+--PROXYRELEVANT COPY ON PROXY
+RETURNS BIT
+AS
+BEGIN
+ DECLARE @RESULT BIT, @ENTITY_ID INTEGER
+ SET @RESULT = 1
+ DECLARE @STATUS VARCHAR(50)
+ --##### RENOLIT INDIVIDUELL
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ IF @ENTITY_ID = 1
+ BEGIN
+ SELECT @STATUS = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 745
+ IF @STATUS <> 'Vertrag beendet'
+ SET @RESULT = 0
+ ELSE
+ SET @RESULT = 1
+ END
+ --#### ENDE
+
+ RETURN @RESULT
+END
+GO
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.2.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.2.sql
new file mode 100644
index 0000000..0e41ebf
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.2.sql
@@ -0,0 +1,81 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.8.2' where NAME = 'Record-Organizer'
+GO
+CREATE PROCEDURE [dbo].[PRPMO_RECORD_CHECK_INTEGRITY] (@pRECORD_ID INT, @WHO VARCHAR(30),@ISINSERT BIT, @COMMENT VARCHAR(100) = '')
+AS
+ DECLARE @COUNT_REQUIRED INT,@ENTITY_ID INT
+ DECLARE @reas As VARCHAR(250)
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ SET @reas = 'PRPMO_RECORD_CHECK_INTEGRITY'
+ IF @COMMENT <> ''
+ BEGIN
+ SET @reas = @reas + ' - ' + @COMMENT
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@reas,@WHO)
+ END
+
+
+ SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID
+ IF @COUNT_REQUIRED > (SELECT COUNT(*) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID)
+ IF @ISINSERT = 1
+ EXEC PRPMO_DELETE_RECORD @pRECORD_ID,@WHO,'PRPMO_RECORD_CHECK_INTEGRITY-LESS REQUIRED VALUES'
+ ELSE
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','LESS REQUIRED CONTROLS',@WHO)
+
+GO
+CREATE FUNCTION [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@pENTITY_ID INT)
+-- =============================================
+-- Author: Digital Data - Schreiber, Marlon
+-- Create date: 22.11.2017
+-- Description: Gets the temptablename for the entity
+-- =============================================
+-- PROXY-RELEVANT
+RETURNS VARCHAR(100)
+AS
+BEGIN
+ DECLARE @RESULT AS VARCHAR(100)
+ DECLARE @ENTITY_TABLENAME AS VARCHAR(100)
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@pENTITY_ID)
+
+ RETURN @ENTITY_TABLENAME
+END
+GO
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD_PMO_TABLE] (@ENTITY_ID INT, @RECORD_ID INT)
+-- =============================================
+-- Author: Digital Data - Schreiber, Marlon
+-- Create date: 22.11.2017
+-- Description: Deletes a record from the temptable
+-- =============================================
+-- PROXY-RELEVANT
+AS
+BEGIN
+ --DECLARE @ENTITY_ID INT, @RECORD_ID INT
+ --SET @ENTITY_ID = 1
+ --SET @RECORD_ID = 7801
+ DECLARE @ENTITY_TABLENAME VARCHAR(100),@SQL VARCHAR(MAX)
+
+ SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID)
+ --PRINT @ENTITY_TABLENAME
+ --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ PRINT @SQL
+ EXEC (@SQL)
+ --DELETE FROM TBPMO_ENTITY_TABLE1 WHERE [Record-ID] = 7801
+END
+GO
+
+CREATE VIEW VWDD_LOGIN_MODULE_COUNT AS
+SELECT TOP 100 PERCENT
+ MODULE,
+ COUNT(USER_ID) COUNT_LOGIN,
+ CONVERT(DATE, [LOGIN]) AS DATE
+FROM TBDD_USER_LOGIN_OUT
+GROUP BY MODULE, [USER_ID], CONVERT(DATE, [LOGIN])
+ORDER BY CONVERT(DATE, [LOGIN]) DESC
+GO
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.3.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.3.sql
new file mode 100644
index 0000000..8dbabe2
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.3.sql
@@ -0,0 +1,37 @@
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.8.3' where NAME = 'Record-Organizer'
+GO
+
+ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD FONT_FAMILY VARCHAR(50) NOT NULL DEFAULT 'Tahoma'
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD FONT_COLOR BIGINT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD FONT_SIZE SMALLINT NOT NULL DEFAULT 10
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD FONT_STYLE SMALLINT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD BACK_COLOR BIGINT NOT NULL DEFAULT 15790320
+GO
+
+ALTER VIEW [dbo].[VWPMO_STRUCTURE_NODES] AS
+select
+ T.*,
+ T1.CONTROL_ID,
+ T1.CREATE_RECORD,
+ T1.ENTITY_ID,
+ T1.NAME,
+ T1.TYPE_NODE,
+ T1.FONT_FAMILY,
+ T1.FONT_COLOR,
+ T1.EXPAND AS EXPAND_NODE,
+T1.FONT_SIZE,
+T1.FONT_STYLE,
+T1.BACK_COLOR
+ from TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1
+WHERE T.NODE_CONFIG_ID = T1.GUID
+GO
+ALTER TABLE tbpmo_Record ALTER COLUMN RECORD_ENTITY_ID bigint
+ALTER TABLE [dbo].[TBPMO_RECORD] ADD DEFAULT ((0)) FOR RECORD_ENTITY_ID
+GO
+
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.4.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.4.sql
new file mode 100644
index 0000000..c817dd7
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.4.sql
@@ -0,0 +1,437 @@
+--select PRODUCT_VERSION FROM TBDD_MODULES where NAME = 'Record-Organizer'
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.8.4' where NAME = 'Record-Organizer'
+GO
+
+
+CREATE VIEW VWPMO_WM_ACCESS_RIGHTS_USER AS
+SELECT AR.dwObjectID,
+ AR.dwUserOrGROUPID,
+ AR.dwAccessRight,
+ AR.dwObjectDBID
+FROM [172.24.12.41\BRAINPOOL].windream60.dbo.AccessRight AR LEFT JOIN [172.24.12.41\BRAINPOOL].windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID
+ INNER JOIN TBPMO_DOC_RECORD_LINK RL ON AR.dwObjectID = RL.DOC_ID
+ INNER JOIN TBPMO_DOCRESULT_LIST DR ON AR.dwObjectID = DR.DocID
+ INNER JOIN TBDD_USER TU ON AR.dwUserOrGroupID = TU.USERID_FK_INT_ECM
+WHERE UG.dwUserOrGroupID IS NULL
+GO
+CREATE VIEW VWPMO_WM_ACCESS_RIGHTS_GROUP AS
+SELECT AR.dwObjectID,
+ UG.dwUserOrGROUPID,
+ AR.dwAccessRight,
+ AR.dwObjectDBID
+FROM [172.24.12.41\BRAINPOOL].windream60.dbo.AccessRight AR LEFT JOIN [172.24.12.41\BRAINPOOL].windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID
+ INNER JOIN TBPMO_DOC_RECORD_LINK RL ON AR.dwObjectID = RL.DOC_ID
+ INNER JOIN TBPMO_DOCRESULT_LIST DR ON AR.dwObjectID = DR.DocID
+ INNER JOIN TBDD_USER TU ON UG.dwUserOrGroupID = TU.USERID_FK_INT_ECM
+WHERE UG.dwUserOrGroupID IS NOT NULL
+GO
+CREATE VIEW VWPMO_WM_ACCESS_RIGHTS AS
+SELECT ARU.dwObjectID,
+ ARU.dwUserOrGROUPID,
+ ARU.dwAccessRight,
+ ARU.dwObjectDBID
+FROM VWPMO_WM_ACCESS_RIGHTS_USER ARU UNION
+SELECT ARG.dwObjectID,
+ ARG.dwUserOrGROUPID,
+ ARG.dwAccessRight,
+ ARG.dwObjectDBID
+FROM VWPMO_WM_ACCESS_RIGHTS_GROUP ARG
+GO
+ALTER VIEW VWPMO_WD_OBJECT_RIGHTS AS
+SELECT dwObjectID,
+ dwUserOrGROUPID,
+ MAX(dwAccessRight) AS dwAccessRight,
+ dwObjectDBID
+FROM VWPMO_WM_ACCESS_RIGHTS
+GROUP BY
+ dwObjectID,
+ dwUserOrGROUPID,
+ dwObjectDBID
+GO
+ALTER TABLE TBDD_USER_GROUPS ADD ECM_FK_ID INT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_RIGHT_GROUP ADD READ_ONLY_DOC BIT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_RECORD ADD IN_WORK_WHEN DATETIME
+GO
+ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_UPD] ON [dbo].[TBPMO_RECORD]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CHANGES BIT,
+ @RECORD_ID INTEGER,
+ @OLD_ENTITY_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @PARENT_RECORD INTEGER,
+ @ENTITY_TABLENAME VARCHAR(50),
+ @SQL NVARCHAR(MAX),
+ @DELETED_OLD BIT,
+ @DELETED BIT,
+ @RECORD_ENTITY_ID BIGINT,
+ @INWORK_OLD BIT,
+ @INWORK BIT,
+ @INWORK_WHO VARCHAR(50),
+ @CHANGED_WHO VARCHAR(50)
+ SELECT
+ @DELETED_OLD = [deleted],
+ @INWORK_OLD = IN_WORK,
+ @OLD_ENTITY_ID = FORM_ID
+ FROM deleted
+ SELECT
+ @RECORD_ID = GUID,
+ @ENTITY_ID = FORM_ID,
+ @DELETED = [deleted],
+ @RECORD_ENTITY_ID = RECORD_ENTITY_ID,
+ @INWORK = IN_WORK ,
+ @INWORK_WHO = ISNULL(IN_WORK_WHO,''),
+ @CHANGED_WHO = ISNULL(CHANGED_WHO,'')
+ FROM inserted
+
+ --PRINT '@RECORD_ENTITY_ID: ' + CONVERT(VARCHAR(100),@RECORD_ENTITY_ID)
+ SET @CHANGES = 0
+ IF UPDATE(IN_WORK)
+ BEGIN
+ IF @INWORK_OLD = 0 and @INWORK = 1
+ BEGIN
+ DECLARE @COMMENT VARCHAR(100)
+ SET @COMMENT = 'RECORD IN_WORK BY: ' + @INWORK_WHO
+ PRINT @COMMENT
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD IN_WORK BY: ' + @INWORK_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ UPDATE TBPMO_RECORD SET IN_WORK_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ END
+ ELSE IF @INWORK_OLD = 1 and @INWORK = 0
+ BEGIN
+ UPDATE TBPMO_RECORD SET IN_WORK_WHEN = NULL FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD UNLOCKED', 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ END
+ END
+ IF UPDATE(VERSION)
+ BEGIN
+ SET @CHANGES = 1
+ END
+ IF UPDATE(FORM_ID)
+ BEGIN
+ --ROLLBACK TRANSACTION
+ --RAISERROR('NOT ALLOWED TEMPORARILY', 16, 1)
+ SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID)
+ --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ EXEC sp_executesql @SQL
+ EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED AND RENEWED ENTITY: ' + CONVERT(VARCHAR(3),@ENTITY_ID), 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ SET @CHANGES = 1
+ END
+ IF UPDATE (PARENT_RECORD)
+ BEGIN
+ SELECT
+ @RECORD_ID = GUID,
+ @PARENT_RECORD = PARENT_RECORD,
+ @ENTITY_ID = FORM_ID
+ FROM INSERTED
+ SET @CHANGES = 1
+ IF @PARENT_RECORD > 0
+ BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ --RAISERROR(@SQL, 16, 1)
+ EXEC sp_executesql @SQL
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED THE PARENT_ID (VARIETY?): ' + @CHANGED_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ END
+ END
+ IF UPDATE([DELETED])
+ BEGIN
+ IF @DELETED_OLD = 0 and @DELETED = 1
+ BEGIN
+ Print '@DELETED_OLD = 0 and @DELETED = 1'
+ SET @RECORD_ENTITY_ID = 9999000000 + @RECORD_ENTITY_ID
+ Print '@RECORD_ENTITY_ID: '+ CONVERT(VARCHAR(100),@RECORD_ENTITY_ID)
+ UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @RECORD_ENTITY_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ END
+ SET @CHANGES = 1
+ END
+
+ IF @CHANGES = 1
+ UPDATE TBPMO_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.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
+ALTER TABLE TBDD_CLIENT_USER
+ADD CONSTRAINT UQ_CLIENT_USER UNIQUE (USER_ID, CLIENT_ID);
+GO
+CREATE PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_REFRESH_RECORDS](@pENTITY_ID INT)
+--ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT)
+AS
+DECLARE @REC_ID INT,
+ @SQL_INSERT_REC NVARCHAR(MAX),
+ @SQL_DELETE NVARCHAR(MAX),
+ @SQL_UPDATE NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @INSERT_COMAMND NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + ''''
+--DELETE ALL RECORDS WHICH ARE NOT ANY MORE PART OF ENTITY
+SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] NOT IN (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @ENT)'
+SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+EXEC sp_executesql @SQL_DELETE
+--DELETE RECORDS WHICH HAVE BEEN MODIFIED IN THE LAST 5 DAYS
+SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] IN (select GUID from TBPMO_RECORD where CONVERT(DATE,CHANGED_WHEN) >= dateadd(dd,-5, cast(GETDATE() as date)) AND FORM_ID = @ENT)'
+SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+EXEC sp_executesql @SQL_DELETE
+
+DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0 AND CONVERT(DATE,CHANGED_WHEN) >= dateadd(dd,-5, cast(GETDATE() as date))
+BEGIN
+ OPEN cursor_Records
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID'
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ --PRINT @SQL_INSERT_REC
+ EXEC sp_executesql @SQL_INSERT_REC
+ EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID
+
+ DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
+ WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ ORDER BY TAB_INDEX
+
+ BEGIN
+ OPEN cursor_Columns
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID'
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
+ --
+ IF @TYPEID = 6 --Picturebox
+ BEGIN
+ DECLARE @VALUE_VBM VARBINARY(MAX)
+
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ EXEC sp_executesql @SQL_UPDATE
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @VALUE VARCHAR(MAX)
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN TRY
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE IF @TYPEID IN(7,12,14)
+ BEGIN
+ SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ --PRINT @SQL_UPDATE
+ EXEC sp_executesql @SQL_UPDATE
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ END CATCH
+ END
+
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ END
+ CLOSE cursor_Columns
+ DEALLOCATE cursor_Columns
+ END
+
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ END
+ CLOSE cursor_Records
+ DEALLOCATE cursor_Records
+END
+GO
+ALTER FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER)
+RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50),USER_OR_GROUP VARCHAR(20))
+AS
+BEGIN
+ DECLARE
+ @RECID INTEGER,
+ @ENT_ID INTEGER,
+ @GUID INTEGER,
+ @RIGHT_USER VARCHAR(50),
+ @RIGHT_USER_INT INTEGER,
+ @RIGHT_USER_ECM_ID INTEGER,
+ @AD_DOMAIN VARCHAR(250)
+ SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME
+
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER','USER')
+ --INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES (1,'Digital Data - windream-Benutzer',2,1,'WM-GRUPPE','GROUP')
+ DECLARE cursorRecords CURSOR FOR
+ select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID
+ OPEN cursorRecords
+ FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID)
+ /*CURSOR 1 RECORDS BEGIN*/
+ -- ENTITY-SUPERVISOR INSERTEN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID
+ AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME
+ -- SUPERVISOR RECORD INSERTEN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND
+ T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME
+
+ /*CURSOR 2 RIGHT-CONTROLS END*/
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_GROUP WHERE ENTITY_ID = @ENT_ID)
+ BEGIN
+ DECLARE
+ @WD_RIGHT INTEGER
+
+ DECLARE c_REDO CURSOR FOR
+ SELECT T.GROUP_ID ,T1.ECM_FK_ID, T1.NAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_GROUP T, TBDD_USER_GROUPS T1 WHERE
+ T.ENTITY_ID = @ENT_ID AND T.GROUP_ID = T1.GUID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT)
+ BEGIN
+ DECLARE @TEMP_RIGHT INT
+ SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT
+ IF @TEMP_RIGHT < @WD_RIGHT
+ UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT,USER_OR_GROUP = 'GROUP' WHERE USR_ID = @RIGHT_USER_INT
+ END
+ ELSE
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES (
+ @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM TBPMO_RIGHT_GROUP','GROUP')
+
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ END
+ CLOSE c_REDO
+ DEALLOCATE c_REDO
+ END
+
+
+
+ /**/
+ DECLARE
+ @VALUE VARCHAR(100),
+ @RIGHT INT,
+ @TYPE_VALUE VARCHAR(50),
+ @CONTR_TYPE_ID INT,
+ @CONTROL_ID INT
+
+ DECLARE cursorRecordRightControls CURSOR FOR
+ SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID
+ FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND
+ T.CONTROL_ID = T2.CONTROL_ID AND
+ T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID
+ OPEN cursorRecordRightControls
+ FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF @TYPE_VALUE = 'USER'
+ BEGIN
+ DECLARE @TEMP_USRID INT
+ SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE)
+ IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID)
+ BEGIN
+ --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @GROUP_USER_ID INTEGER
+ DECLARE cursorUserGroup CURSOR FOR
+ SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE)
+ AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS)
+ OPEN cursorUserGroup
+ FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID)
+ BEGIN
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT)
+ SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID
+ END
+ --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID
+ FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID
+ END
+ CLOSE cursorUserGroup
+ DEALLOCATE cursorUserGroup
+ END
+ FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID
+ END
+ CLOSE cursorRecordRightControls
+ DEALLOCATE cursorRecordRightControls
+ /*CURSOR 2 RIGHT-CONTROLS END*/
+ IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID)
+ BEGIN
+
+ DECLARE c_REDO CURSOR FOR
+ SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_USER T, TBDD_USER T1 WHERE
+ T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT)
+ BEGIN
+ SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT
+ IF @TEMP_RIGHT < @WD_RIGHT
+ UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT
+ END
+ ELSE
+ INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (
+ @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT')
+
+ FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT
+ END
+ CLOSE c_REDO
+ DEALLOCATE c_REDO
+ END
+
+ FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID
+ /*CURSOR 1 RECORDS END*/
+ END
+CLOSE cursorRecords
+DEALLOCATE cursorRecords
+
+RETURN
+END
+
+GO
+
+
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.5.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.5.sql
new file mode 100644
index 0000000..7d25df3
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.5.sql
@@ -0,0 +1,109 @@
+--select PRODUCT_VERSION FROM TBDD_MODULES where NAME = 'Record-Organizer'
+UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.8.5' where NAME = 'Record-Organizer'
+GO
+CREATE VIEW VWPMO_DOC_CHANGES_5MIN
+AS
+SELECT DocID, [Filename], FULL_FILENAME,
+ Doctype, [Version] as [Version], Objecttype,
+ Creation_DateTime, Change_DateTime,'CHANGE GENERAL' as CHANGE_TYPE
+FROM VWPMO_DOC_SYNC
+WHERE
+ Change_DateTime >= DATEADD(MINUTE , -5, GetDate())
+UNION
+SELECT T.DocID, T.[Filename], T.FULL_FILENAME,
+ T.Doctype, T.[Version] as [Version], T.Objecttype,
+ T.Creation_DateTime, T.Change_DateTime,'CHANGE PATHorFILE' as CHANGE_TYPE
+FROM VWPMO_DOC_SYNC T, TBPMO_DOCRESULT_LIST T1
+WHERE
+ T.DocID = T1.DocID AND
+ T.Change_DateTime >= DATEADD(MINUTE , -5, GetDate())
+ AND UPPER(T.FULL_FILENAME) <> UPPER(T1.FULL_FILENAME)
+GO
+
+CREATE PROCEDURE [dbo].[PRPMO_DAILY_JOB_06_12_18]
+AS
+BEGIN
+ --PROCEDURE1
+ PRINT 'PROCEDURE1'
+ --EXEC PRPMO_ZSG_IN_COMOS_SAP;
+
+END
+GO
+CREATE PROCEDURE [dbo].[PRPMO_DOCSYNC_5min]
+AS
+BEGIN TRY
+DECLARE @DocID INTEGER,
+ @DISPLAY_NAME VARCHAR(250),
+ @FULL_FILENAME VARCHAR(5000),
+ @Filename VARCHAR(500),
+ @Doctype VARCHAR(250),
+ @Version SMALLINT,
+ @Objecttype VARCHAR(250),
+ @Creation_DateTime DATETIME,
+ @Change_DateTime DATETIME
+DECLARE c_Values CURSOR LOCAL FOR
+ select DocID, [Filename], FULL_FILENAME,
+ Doctype, [Version] as [Version], Objecttype,
+ Creation_DateTime, Change_DateTime from VWPMO_DOC_CHANGES_5MIN
+ OPEN c_Values
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Doctype,@Version,@Objecttype,
+ @Creation_DateTime,@Change_DateTime
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID)
+ BEGIN
+ PRINT 'INSERT NECESSARY'
+ INSERT INTO TBPMO_DOCRESULT_LIST (
+ [DocID],
+ [DISPLAY_NAME],
+ [FULL_FILENAME],
+ [Filename],
+ [Doctype],
+ [Version],
+ [Objecttype],
+ Creation_DateTime,
+ Change_DateTime)
+ VALUES (
+ @DocID,
+ @Filename,
+ @FULL_FILENAME,
+ @Filename,
+ @Doctype,
+ @Version,
+ @Objecttype,
+ @Creation_DateTime,
+ @Change_DateTime
+ )
+ END
+ ELSE
+ UPDATE TBPMO_DOCRESULT_LIST SET
+ [FULL_FILENAME] = @FULL_FILENAME,
+ [Filename] = @Filename,
+ [Doctype] = @Doctype,
+ [Version] = @Version,
+ [Objecttype] = @Objecttype,
+ Change_DateTime = @Change_DateTime
+ WHERE DocID = @DocID
+
+ --#####
+ FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME,
+ @Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime
+ END
+CLOSE c_Values
+DEALLOCATE c_Values
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+
+GO
+
+CREATE PROCEDURE [dbo].[PRPMO_DAILY_JOB_5MIN]
+AS
+BEGIN
+ EXEC PRPMO_DOCSYNC_5min
+END
+GO
diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/PRPMO_AFTER_UPDATE_VALUES.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/PRPMO_AFTER_UPDATE_VALUES.sql
new file mode 100644
index 0000000..d2ac153
Binary files /dev/null and b/08_ADDI/SQL/UPDATE Archiv (added to main script)/PRPMO_AFTER_UPDATE_VALUES.sql differ
diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/1_windream_related_objects.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/1_windream_related_objects.sql
new file mode 100644
index 0000000..73f3bcb
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE_SCRIPTS/1_windream_related_objects.sql
@@ -0,0 +1,56 @@
+------------------------------------------------------------------------
+--Check Windream-Related Connections and parameters in following objects
+------------------------------------------------------------------------
+/*TRIGGERS
+--TBDD_USER_AFT_INS DatabaseLink und Domain-Einschränkung wenn vorhanden
+--TBDD_USER_AFT_UPD DatabaseLink und Domain-Einschränkung wenn vorhanden
+TABLES
+--TBDD_CONNECTION LoginData if existing
+--TBDD_DOKUMENTART Change name of objecttype
+ UPDATE TBDD_DOKUMENTART SET OBJEKTTYP = 'TestObjekttyp' WHERE OBJEKTTYP = 'YY'
+--TBPMO_WD_OBJECTTYPE Change Indexnames
+--TBDD_INDEX_AUTOM Change name of indices if automatic inices exist for DOKUMENTART
+-- DELETE FROM TBDD_INDEX_AUTOM
+--TB
+FUNCTIONS
+Table-Functions
+--FNPMO_GET_WINDREAM_PATH_PART DatabaseLink
+Scalar-Functions
+--FNPMO_GET_WINDREAM_FILE_PATH DatabaseLink
+--FNPMO_GET_WINDREAM_VKT_INT DatabaseLink
+*/
+/*VIEWS
+--VWPMO_DOC_SYNC DatabaseLink/Indexnames for Columns/ObjecttypeIds
+--VWPMO_WM_ACCESS_RIGHTS_GROUP DatabaseLink
+--VWPMO_WM_ACCESS_RIGHTS_USER DatabaseLink
+*/
+
+/*PROCEDURES
+PRPMO_DOC_CREATE_NEW_DOC DatabaseLink
+PRPMO_RIGHTS_CHECK_INSERT_WORK_RECORD DatabaseLink
+PRPMO_RIGHTS_CHECK_RIGHT DatabaseLink
+PRPMO_RIGHTS_SERVICE_CHECK_USER DatabaseLink
+PRPMO_RIGHTS_SERVICE_CHECK_USER_ENT DatabaseLink
+*/
+
+--TBDD_USER bereinigen
+--DocRecordLinks bereinigen
+--User für Rechte-Setzen konfigurieren - basiseinstellungen
+/*
+DECLARE
+ @DOC_ID INTEGER,
+ @RECORD_ID INTEGER
+
+DECLARE c_REDO CURSOR FOR
+ select DOC_ID,RECORD_ID from TBPMO_DOC_RECORD_LINK
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @DOC_ID,@RECORD_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC PRPMO_DELETE_RESULTFILE @DOC_ID, @RECORD_ID,1
+ FETCH NEXT FROM c_REDO INTO @DOC_ID,@RECORD_ID
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+*/
+
diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.6.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.6.sql
new file mode 100644
index 0000000..3408637
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.6.sql
@@ -0,0 +1,86 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.6' where NAME = 'Record-Organizer'
+GO
+CREATE PROCEDURE [dbo].[PRPMO_CHECK_DOC_RECORD_LINK] (
+ @pRECORD_ID INTEGER,
+ @pDOC_ID INTEGER,
+ @pREASON_CODE VARCHAR(500),
+ @pWHO VARCHAR(50)
+ )
+ AS
+BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECORD_ID AND DOC_ID = @pDOC_ID)
+ BEGIN
+ INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,COMMENT,ADDED_WHO) VALUES
+ (@pRECORD_ID,@pDOC_ID,@pREASON_CODE,@pWHO)
+ END
+ ELSE
+ UPDATE TBPMO_DOC_RECORD_LINK SET CHANGED_WHO = @pWHO WHERE RECORD_ID = @pRECORD_ID AND DOC_ID = @pDOC_ID
+END
+GO
+CREATE TABLE TBPMO_CLIENT_CONNECTION_SWITCH
+(
+ GUID INTEGER IDENTITY(1,1),
+ [DESCRIPTION] VARCHAR(100),
+ SQL_CONNECTION VARCHAR(MAX) NOT NULL,
+ SQL_CONNECTION_PROXY VARCHAR(MAX) DEFAULT '',
+ WM_ALIAS VARCHAR(250) NOT NULL,
+ ACTIVE BIT NOT NULL DEFAULT 1,
+ ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CLIENT_CONNECTION_SWITCH PRIMARY KEY (GUID)
+)
+GO
+ ------------------------------------------------------------------------------
+CREATE TRIGGER TBPMO_CLIENT_CONNECTION_SWITCH_AFT_UPD ON TBPMO_CLIENT_CONNECTION_SWITCH
+FOR UPDATE
+AS
+ UPDATE TBPMO_CLIENT_CONNECTION_SWITCH SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CLIENT_CONNECTION_SWITCH.GUID = INSERTED.GUID
+GO
+
+
+CREATE TABLE TBPMO_CLIENT_CONN_SWITCH_USER
+(
+ GUID INTEGER NOT NULL IDENTITY(1,1),
+ CONN_SWITCH_ID INTEGER NOT NULL,
+ USER_ID INTEGER NOT NULL,
+ ACTIVE BIT NOT NULL DEFAULT 0,
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT',
+ ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(),
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_CLIENT_CONN_SWITCH_USER PRIMARY KEY (GUID),
+ CONSTRAINT UQ_PK_TBPMO_CLIENT_CONN_SWITCH_USER UNIQUE([USER_ID],CONN_SWITCH_ID),
+ CONSTRAINT FK_TBPMO_CLIENT_CONN_SWITCH_USER_SWITCH_ID FOREIGN KEY (CONN_SWITCH_ID) REFERENCES TBPMO_CLIENT_CONNECTION_SWITCH (GUID),
+ CONSTRAINT FK_TBPMO_CLIENT_CONN_SWITCH_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)
+)
+GO
+CREATE TRIGGER TBPMO_CLIENT_CONN_SWITCH_USER_AFT_UPD ON TBPMO_CLIENT_CONN_SWITCH_USER
+FOR UPDATE
+AS
+ DECLARE
+ @GUID INTEGER,
+ @OLD_ACTIVE BIT,
+ @NEW_ACTIVE BIT,
+ --@IS_MAIN BIT,
+ @USER_ID INTEGER
+ SELECT
+ @NEW_ACTIVE = ACTIVE,
+ @USER_ID = USER_ID,
+ --@IS_MAIN = IS_MAIN,
+ @GUID = GUID
+ FROM INSERTED
+ IF UPDATE(ACTIVE)
+ BEGIN
+ SELECT
+ @OLD_ACTIVE = DELETED.ACTIVE
+ FROM DELETED
+
+ IF @NEW_ACTIVE = 1 AND @OLD_ACTIVE = 0
+ UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET ACTIVE = 0 WHERE USER_ID = @USER_ID AND GUID <> @GUID
+ END
+
+ UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CLIENT_CONN_SWITCH_USER.GUID = INSERTED.GUID
+GO
+
diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.7.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.7.sql
new file mode 100644
index 0000000..90eec32
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.7.sql
@@ -0,0 +1,468 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.7' where NAME = 'Record-Organizer'
+GO
+--##########################################################################################
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE](@pENTITY_ID INT)
+--ALTER PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT)
+AS
+DECLARE @SQL_BEGIN NVARCHAR(MAX),
+ @SQL_END NVARCHAR(MAX),
+ @SQL NVARCHAR(MAX),
+ @SQL_DEF_CONSTR NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @RESULT NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @ZAEHLER INT = 1,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+
+ --select Top 10 * from VWTEMP_PMO_FORM1
+DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID AS CONTROL_ID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE 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 = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ --UNION
+ --SELECT T.GUID AS CONTROL_ID,'[' + T3.CAPTION + ']' AS 'COL_NAME',T2.GUID as TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2, TBPMO_CONTROL_LANGUAGE T3
+ --WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T1.GUID = T3.CONTROL_SCREEN_ID AND T.FORM_ID = 13 AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0
+ ORDER BY TAB_INDEX
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+ SET @SQL = 'IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ''@TABLE@ENT'')
+ drop table @TABLE@ENT' + CHAR(13)
+ SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ EXEC sp_executesql @SQL
+ SET @SQL_BEGIN = 'CREATE TABLE @TABLE@ENT(' + CHAR(13) +
+ '[Record-ID] INT NOT NULL,' + CHAR(13) +
+ 'ROW_COLOR VARCHAR(50) NOT NULL DEFAULT '''',' + CHAR(13)
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@TABLE',@ENTITY_TABLENAME)
+
+ --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 = '[file_exists] BIT NOT NULL DEFAULT 0,' + CHAR(13) + '[file_count] INT NOT NULL DEFAULT 0,' + CHAR(13) + 'AddedWho VARCHAR(50)' + CHAR(13) + ',AddedWhen DATETIME' + CHAR(13) + ',ChangedWho VARCHAR(50)' + CHAR(13) + ',ChangedWhen DATETIME' + CHAR(13) + ',RecRefreshedWhen DATETIME,' + CHAR(13) + 'CONSTRAINT PK_@TABLE@ENT PRIMARY KEY([Record-ID]))' + CHAR(13)
+ SET @SQL_END = REPLACE(@SQL_END,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME)
+
+ OPEN c_SPALTENNAMEN
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT
+
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @ZAEHLER = @ZAEHLER + 1
+
+ BEGIN
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ IF @DEFAULT = 'False'
+ SET @DEFAULT = '0'
+ ELSE
+ SET @DEFAULT = '1'
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' BIT NOT NULL DEFAULT ' + @DEFAULT + ',' + CHAR(13)
+ END
+ ELSE IF @TYPEID = 6 --Picturebox
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARBINARY(MAX),' + CHAR(13)
+ ENd
+ ELSE IF @TYPEID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13)
+ END
+ ELSE IF @TYPEID = 1 --Label
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13)
+ END
+ ELSE IF @TYPEID = 4 --DatePicker
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(10),' + CHAR(13)
+ END
+ ELSE
+ BEGIN
+ SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13)
+ IF LEN(ISNULL(@DEFAULT,'')) > 0
+ BEGIN
+ DECLARE @TEMP_COL_NAME VARCHAR(50)
+ SET @TEMP_COL_NAME = REPLACE(@COL_NAME,' ','')
+ SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,'[','')
+ SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,']','')
+ IF LEN(@SQL_DEF_CONSTR) > 0
+ SET @SQL_DEF_CONSTR = @SQL_DEF_CONSTR + CHAR(13) + 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';'
+ ELSE
+ SET @SQL_DEF_CONSTR = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';'
+ BEGIN
+ SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@DEFAULT_VALUE',@DEFAULT)
+ SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@COL_NAME',@TEMP_COL_NAME)
+ SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@TABLE',@ENTITY_TABLENAME)
+ END
+ END
+
+ END
+ END
+
+ FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT
+ END
+
+ CLOSE c_SPALTENNAMEN
+ DEALLOCATE c_SPALTENNAMEN
+
+ SET @RESULT = @SQL + @SQL_BEGIN + @SQL_END
+ --PRINT @RESULT
+ EXEC sp_executesql @RESULT
+
+ IF LEN(@SQL_DEF_CONSTR) > 0
+ BEGIN
+ --PRINT @SQL_DEF_CONSTR
+ EXEC sp_executesql @SQL_DEF_CONSTR
+ END
+END
+GO
+-----------------------------------------------------------------------------------------
+--##########################################################################################
+ALTER PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_IMPORT_RECORDS](@pENTITY_ID INT)
+--ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT)
+AS
+DECLARE @REC_ID INT,
+ @SQL_INSERT_REC NVARCHAR(MAX),
+ @SQL_DELETE NVARCHAR(MAX),
+ @SQL_UPDATE NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @INSERT_COMAMND NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + ''''
+DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+
+ --SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT'
+ --SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ --SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+ --EXEC sp_executesql @SQL_DELETE
+
+ OPEN cursor_Records
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --DELETE the Record
+ SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @REC_ID'
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ EXEC sp_executesql @SQL_DELETE
+
+ SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen,RecRefreshedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN,GETDATE() FROM TBPMO_RECORD WHERE GUID = @REC_ID'
+
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ --PRINT @SQL_INSERT_REC
+ EXEC sp_executesql @SQL_INSERT_REC
+ EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID
+
+ DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
+ WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ ORDER BY TAB_INDEX
+
+ BEGIN
+ OPEN cursor_Columns
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID'
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
+ --
+ IF @TYPEID = 6 --Picturebox
+ BEGIN
+ DECLARE @VALUE_VBM VARBINARY(MAX)
+
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ EXEC sp_executesql @SQL_UPDATE
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @VALUE VARCHAR(MAX)
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN TRY
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE IF @TYPEID IN(7,12,14)
+ BEGIN
+ SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ --PRINT @SQL_UPDATE
+ EXEC sp_executesql @SQL_UPDATE
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ END CATCH
+ END
+
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ END
+ CLOSE cursor_Columns
+ DEALLOCATE cursor_Columns
+ END
+
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ END
+ CLOSE cursor_Records
+ DEALLOCATE cursor_Records
+END
+GO
+--##########################################################################################
+ALTER PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_RENEW_RECORD](@pENTITY_ID INT,@pRECORD_ID INT)
+AS
+DECLARE @REC_ID INT,
+ @SQL_INSERT_REC NVARCHAR(MAX),
+ @SQL_DELETE NVARCHAR(MAX),
+ @SQL_UPDATE NVARCHAR(MAX),
+ @CONTROL_ID INT,
+ @INSERT_COMAMND NVARCHAR(MAX),
+ @TYPEID INT,
+ @TABINDEX INT,
+ @DEFAULT VARCHAR(50),
+ @COL_NAME VARCHAR(50),
+ @ENTITY_TABLENAME VARCHAR(50)
+PRINT 'WORKING ON RECORD ''' + CONVERT(VARCHAR(10),@pRECORD_ID) + ''''
+DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+
+
+ SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@RECORD_ID',CONVERT(VARCHAR(10),@pRECORD_ID))
+ SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME)
+ PRINT @SQL_DELETE
+ EXEC sp_executesql @SQL_DELETE
+
+ OPEN cursor_Records
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen,RecRefreshedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN,GETDATE() FROM TBPMO_RECORD WHERE GUID = @REC_ID'
+
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ PRINT @SQL_INSERT_REC
+ EXEC sp_executesql @SQL_INSERT_REC
+ EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID
+
+ DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
+ WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
+ ORDER BY TAB_INDEX
+
+ BEGIN
+ OPEN cursor_Columns
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID'
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME)
+ --
+ IF @TYPEID = 6 --Picturebox
+ BEGIN
+ DECLARE @VALUE_VBM VARBINARY(MAX)
+
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ EXEC sp_executesql @SQL_UPDATE
+ END
+ END
+ ELSE
+ BEGIN
+ DECLARE @VALUE VARCHAR(MAX)
+ IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)
+ BEGIN TRY
+ IF @TYPEID IN(10,11) --CheckBox,RadioBox
+ BEGIN
+ SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE IF @TYPEID IN(7,12,14)
+ BEGIN
+ SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID)
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE)
+ END
+ ELSE
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)')
+
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID))
+ SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID))
+ --PRINT @SQL_UPDATE
+ EXEC sp_executesql @SQL_UPDATE
+ END TRY
+ BEGIN CATCH
+ PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID)
+ END CATCH
+ END
+
+ FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID
+ END
+ CLOSE cursor_Columns
+ DEALLOCATE cursor_Columns
+ END
+
+ FETCH NEXT FROM cursor_Records INTO @REC_ID
+ END
+ CLOSE cursor_Records
+ DEALLOCATE cursor_Records
+END
+ALTER TABLE TBPMO_STRUCTURE_NODES ADD COLOR VARCHAR(50) NOT NULL DEFAULT ''
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES ALTER COLUMN COLOR VARCHAR(50) NOT NULL
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES ADD CONSTRAINT DF_COLOR DEFAULT '' FOR COLOR;
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ALTER COLUMN BACK_COLOR VARCHAR(50) NOT NULL
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD CONSTRAINT DF_BACK_COLOR DEFAULT N'' FOR BACK_COLOR;
+GO
+UPDATE TBPMO_STRUCTURE_NODES_CONFIGURATION SET BACK_COLOR = ''
+GO
+ALTER PROCEDURE [dbo].[PRPMO_CHECK_DOC_RECORD_LINK] (
+ @pRECORD_ID INTEGER,
+ @pDOC_ID INTEGER,
+ @pREASON_CODE VARCHAR(500),
+ @pWHO VARCHAR(50)
+ )
+ AS
+BEGIN
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECORD_ID AND DOC_ID = @pDOC_ID)
+ BEGIN
+ INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,COMMENT,ADDED_WHO) VALUES
+ (@pRECORD_ID,@pDOC_ID,@pREASON_CODE,@pWHO)
+ END
+ ELSE
+ UPDATE TBPMO_DOC_RECORD_LINK SET CHANGED_WHO = @pWHO WHERE RECORD_ID = @pRECORD_ID AND DOC_ID = @pDOC_ID
+END
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES ADD ACTIVE BIT NOT NULL DEFAULT 1
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES ADD SEQUENCE INTEGER NOT NULL DEFAULT '0'
+GO
+CREATE NONCLUSTERED INDEX [IDX_STRUCTURE_NODES1]
+ON [dbo].[TBPMO_STRUCTURE_NODES] ([NODE_CONFIG_ID],[ACTIVE])
+INCLUDE ([GUID],[RECORD_ID],[NODE_CAPTION],[ID1],[ID2],[ID3],[PARENT_GUID],[BOOL1],[BOOL2],[ADDED_WHO],[ADDED_WHEN],[CHANGED_WHO],[CHANGED_WHEN],[SEQUENCE],[COLOR],[FONT_FAMILY],[FONT_COLOR],[FONT_SIZE],[FONT_STYLE])
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES ADD COMMENT VARCHAR(500)
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES ADD FONT_FAMILY VARCHAR(50) NOT NULL DEFAULT 'Tahoma'
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES ADD FONT_COLOR BIGINT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES ADD FONT_SIZE SMALLINT NOT NULL DEFAULT 10
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES ADD FONT_STYLE SMALLINT NOT NULL DEFAULT 0
+GO
+ALTER VIEW [dbo].[VWPMO_STRUCTURE_NODES] AS
+select
+ T.GUID,
+ T.RECORD_ID,
+ T.NODE_CONFIG_ID,
+ T.NODE_CAPTION,
+ T.ID1,
+ T.ID2,
+ T.ID3,
+ T.PARENT_GUID,
+ T.BOOL1,
+ T.BOOL2,
+ T.ADDED_WHO,
+ T.ADDED_WHEN,
+ T.CHANGED_WHO,
+ T.CHANGED_WHEN,
+ T.SEQUENCE,
+ T1.CONTROL_ID,
+ T1.CREATE_RECORD,
+ T1.ENTITY_ID,
+ T1.NAME,
+ T1.TYPE_NODE,
+ CASE
+ WHEN T.FONT_FAMILY <> T1.FONT_FAMILY THEN T.FONT_FAMILY
+ ELSE T1.FONT_FAMILY END AS FONT_FAMILY,
+ CASE
+ WHEN T.FONT_COLOR <> T1.FONT_COLOR THEN T.FONT_COLOR
+ ELSE T1.FONT_COLOR END AS FONT_COLOR,
+ CASE
+ WHEN T.FONT_SIZE <> T1.FONT_SIZE THEN T.FONT_SIZE
+ ELSE T1.FONT_SIZE END AS FONT_SIZE,
+ CASE
+ WHEN T.FONT_STYLE <> T1.FONT_STYLE THEN T.FONT_STYLE
+ ELSE T1.FONT_STYLE END AS FONT_STYLE,
+ T1.EXPAND AS EXPAND_NODE,
+ CASE
+ WHEN T.COLOR <> '' THEN T.COLOR
+ ELSE T1.BACK_COLOR END AS BACK_COLOR
+ from TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1
+WHERE T.NODE_CONFIG_ID = T1.GUID
+GO
+CREATE NONCLUSTERED INDEX [IDX_PMO_STRUCTURE_NODES]
+ON [dbo].[TBPMO_STRUCTURE_NODES] ([NODE_CONFIG_ID])
+INCLUDE ([GUID],[RECORD_ID],[NODE_CAPTION],[ID1],[ID2],[ID3],[PARENT_GUID],[BOOL1],[BOOL2],[ADDED_WHO],[ADDED_WHEN],[CHANGED_WHO],[CHANGED_WHEN],[SEQUENCE],[COLOR],[FONT_FAMILY],[FONT_COLOR],[FONT_SIZE],[FONT_STYLE])
+GO
+
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD_FINALLY](@pRECORD_ID INT, @WHO VARCHAR(30))
+AS
+ DELETE FROM TBPMO_STRUCTURE_NODES WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID)
+ DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECORD_ID
+ DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID
+
+ DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID'
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID)
+ SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID)
+ EXEC sp_executesql @DELETE_SQL
+ DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ --UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID
+
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD FINALLY DELETED BY USER',@WHO)
+GO
+
+
+
+
+
+
+
+
+
diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.8.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.8.sql
new file mode 100644
index 0000000..6a3e2c7
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.8.sql
@@ -0,0 +1,149 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.8' where NAME = 'Record-Organizer'
+GO
+CREATE PROCEDURE [dbo].[PRPMO_DELETE_NODE](@pNODE_GUID INT,@WHO VARCHAR(50))
+AS
+DECLARE
+ @SUBNODE_ID INTEGER,
+ @RECORD_ID INTEGER
+
+ SELECT @RECORD_ID = RECORD_ID from TBPMO_STRUCTURE_NODES where GUID = @pNODE_GUID
+ IF @RECORD_ID <> NULL
+ BEGIN
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @RECORD_ID
+ EXEC PRPMO_DELETE_RECORD @RECORD_ID, @WHO, 'DELETE NODE'
+ END
+ DELETE FROM TBPMO_STRUCTURE_NODES WHERE GUID = @SUBNODE_ID
+GO
+
+--ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES ADD TARGET_PATH VARCHAR(500) NOT NULL DEFAULT ''
+--GO
+ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES ADD DYNAMIC_FOLDER VARCHAR(500) NOT NULL DEFAULT ''
+GO
+DECLARE
+ @GUID INTEGER,
+ @DOCTYPE_ID INTEGER,
+ @CAPTION VARCHAR(500)
+
+DECLARE c_REDO CURSOR FOR
+ select GUID, DOCTYPE_ID from TBPMO_WD_FORMVIEW_DOKTYPES
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @GUID,@DOCTYPE_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ UPDATE TBPMO_WD_FORMVIEW_DOKTYPES SET DYNAMIC_FOLDER = (SELECT FOLDER_FOR_INDEX FROM TBDD_DOKUMENTART WHERE GUID = @DOCTYPE_ID) WHERE GUID = @GUID
+ FETCH NEXT FROM c_REDO INTO @GUID,@DOCTYPE_ID
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+GO
+CREATE PROCEDURE [dbo].[PRPMO_CREATE_NODE](@pRESULT INT OUTPUT,@pRECORD_ID INT,@pNODE_CONFIG_ID INT, @pNODE_CAPTION VARCHAR(250), @pNODE_ID1 VARCHAR(1000) , @pNODE_PARENT_ID INT, @pADDED_WHO VARCHAR(50))
+AS
+DECLARE @FEHLER VARCHAR(4000),
+ @LINE VARCHAR(10)
+
+DECLARE @OUTPUTDATA TABLE(NODE_ID INT)
+
+BEGIN TRY
+--RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1)
+ INSERT INTO TBPMO_STRUCTURE_NODES (RECORD_ID,NODE_CONFIG_ID, NODE_CAPTION, ID1, PARENT_GUID, ADDED_WHO)
+ OUTPUT INSERTED.GUID INTO @OUTPUTDATA
+ VALUES (@pRECORD_ID,@pNODE_CONFIG_ID,@pNODE_CAPTION,@pNODE_ID1,@pNODE_PARENT_ID,@pADDED_WHO)
+ SELECT @pRESULT = NODE_ID FROM @OUTPUTDATA
+ --##### CUSTOMER ROUTINE ######################
+ --IF @pRESULT > 0
+ -- EXEC PRPMO_CUST_COMOS_CREATE_CONTROL_VALUES @pRESULT, @pNODE_CONFIG_ID, @pRECORD_ID,@pNODE_ID1,@pNODE_CAPTION,@pADDED_WHO
+ --##### END - CUSTOMER #########################
+
+ RETURN
+END TRY
+BEGIN CATCH --Fehlerbehandlung
+ SET @pRESULT = 0
+ SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE())
+ SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE
+ --INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pFORM_ID,'FORM-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO)))
+ RAISERROR(@FEHLER,16,1)
+ RETURN
+END CATCH
+GO
+ALTER TABLE TBPMO_STRUCTURE_NODES ADD DEPTH INTEGER NOT NULL DEFAULT 0
+GO
+CREATE FUNCTION [dbo].[FNPMO_CUST_NODE_EX_UP]
+-- =============================================
+-- Author: DIGITAL DATA, MS
+-- Create date: 24.07.2018
+-- Description:
+-- =============================================
+(@NODE_CONFIG_ID INTEGER,
+ @TPLNR VARCHAR(100),
+ @NODE_CAPTION VARCHAR(250),
+ @PARENT_GUID INTEGER,@NODE_COLOR VARCHAR(50),
+ @SEQUENCE TINYINT,@DEPTH INT
+)
+RETURNS
+@Table TABLE
+ (NODE_GUID INTEGER,CAPTION VARCHAR(250), RESULT VARCHAR(20),COLOR VARCHAR(50),SEQUENCE TINYINT, DEPTH INT, ID INT IDENTITY(1, 1))
+AS
+ BEGIN
+ INSERT INTO @TABLE (NODE_GUID,CAPTION,COLOR,SEQUENCE,DEPTH)
+ SELECT GUID,NODE_CAPTION,COLOR,SEQUENCE,DEPTH FROM TBPMO_STRUCTURE_NODES WHERE ID1 = @TPLNR AND PARENT_GUID = @PARENT_GUID
+
+ IF (SELECT COUNT(*) FROM @TABLE) = 1
+ IF (SELECT CAPTION FROM @TABLE WHERE ID = 1) = @NODE_CAPTION
+ IF (SELECT COLOR FROM @TABLE WHERE ID = 1) <> @NODE_COLOR
+ UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1
+ ELSE IF (SELECT SEQUENCE FROM @TABLE WHERE ID = 1) <> @SEQUENCE
+ UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1
+ ELSE IF (SELECT DEPTH FROM @TABLE WHERE ID = 1) <> @DEPTH
+ UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1
+ ELSE
+ UPDATE @TABLE SET RESULT = 'OK' WHERE ID = 1
+ ELSE
+ UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1
+ ELSE
+ INSERT INTO @TABLE (NODE_GUID,CAPTION,COLOR,SEQUENCE,DEPTH,RESULT) VALUES (0,'','',1,@DEPTH,'INSERT')
+ RETURN
+END
+GO
+/****** Object: StoredProcedure [dbo].[PRPMO_STRUCTURE_NODES_CHECK_NODE] Script Date: 09.11.2018 08:38:32 ******/
+CREATE PROCEDURE [dbo].[PRPMO_STRUCTURE_NODES_CHECK_NODE](@pNODEGUID INTEGER OUTPUT,
+ @NODE_CONFIG_ID INTEGER,@NODE_CAPTION VARCHAR(250),@TPLNR VARCHAR(1000),@PARENT_GUID INTEGER,@NODE_COLOR VARCHAR(50),@DEPTH INTEGER,@SEQUENCE TINYINT)
+AS
+DECLARE @FEHLER VARCHAR(4000),
+ @LINE VARCHAR(10),
+ @PRAEFIX VARCHAR(100),
+ @RESULT_CHECK VARCHAR(250),
+ @SEQUENCE_IST TINYINT,
+ @NC_IST VARCHAR(250)
+
+BEGIN TRY
+ SET @PRAEFIX = REPLICATE(' ', @DEPTH)
+ SELECT @pNODEGUID = NODE_GUID, @NC_IST = CAPTION, @RESULT_CHECK = RESULT,@SEQUENCE_IST = SEQUENCE FROM
+ [dbo].[FNPMO_CUST_NODE_EX_UP] (@NODE_CONFIG_ID, @TPLNR,@NODE_CAPTION,@PARENT_GUID,@NODE_COLOR,@SEQUENCE,@DEPTH)
+ IF @NODE_COLOR = '0'
+ SET @NODE_COLOR = ''
+ IF @RESULT_CHECK = 'UPDATE'
+ BEGIN
+ --PRINT @PRAEFIX + '## UPDATE ' + CONVERT(VARCHAR(10),@pNODEGUID) + ' #' + @NC_IST + '#'
+ UPDATE TBPMO_STRUCTURE_NODES SET NODE_CAPTION = @NODE_CAPTION, ACTIVE = 1,
+ COLOR = @NODE_COLOR,SEQUENCE = @SEQUENCE,DEPTH = @DEPTH,CHANGED_WHO = 'DD PMO_CHECKNODE UPD' WHERE GUID = @pNODEGUID
+ END
+ ELSE IF @RESULT_CHECK = 'INSERT'
+ BEGIN
+ --PRINT @PRAEFIX + '## INSERT - NODE (' + @NODE_CAPTION + ') MUSS ANGELEGT WERDEN'
+ INSERT INTO TBPMO_STRUCTURE_NODES (NODE_CONFIG_ID,NODE_CAPTION,ID1,PARENT_GUID,COLOR,SEQUENCE,DEPTH, ADDED_WHO) VALUES (
+ @NODE_CONFIG_ID,@NODE_CAPTION,@TPLNR,@PARENT_GUID,@NODE_COLOR,@SEQUENCE, @DEPTH, 'DD PMO_CHECKNODE INS')
+ SELECT @pNODEGUID = NODE_GUID, @RESULT_CHECK = RESULT FROM [dbo].[FNPMO_CUST_NODE_EX_UP] (@NODE_CONFIG_ID, @TPLNR,@NODE_CAPTION,@PARENT_GUID,@NODE_COLOR,@SEQUENCE,@DEPTH)
+ END
+ IF NOT EXISTS(SELECT NODE_GUID FROM TBPMO_CUST_CREATED_NODES_IN_RUN WHERE NODE_GUID = @pNODEGUID)
+ INSERT INTO TBPMO_CUST_CREATED_NODES_IN_RUN (NODE_GUID, ENTITY) VALUES (@pNODEGUID,'SAP')
+ RETURN
+END TRY
+BEGIN CATCH --Fehlerbehandlung
+ SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE())
+ SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE
+ RAISERROR(@FEHLER,16,1)
+END CATCH
+GO
+ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES ADD ROOT_FOLDER VARCHAR(1000) NOT NULL DEFAULT ''
+GO
+
diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.9.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.9.sql
new file mode 100644
index 0000000..bb3bf46
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.9.sql
@@ -0,0 +1,270 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.9' where NAME = 'Record-Organizer'
+GO
+CREATE PROCEDURE [dbo].[PRPMO_DOC_CHANGE_DOCID](@pOLD_DOCID INTEGER, @pNEW_DOCID INTEGER,@pWHO As VARCHAR(50))
+AS
+BEGIN TRY
+ UPDATE TBPMO_DOCRESULT_LIST SET DocID = @pNEW_DOCID,CHANGED_WHO = @pWHO WHERE DocID = @pOLD_DOCID
+ UPDATE TBPMO_DOC_RECORD_LINK SET DOC_ID = @pNEW_DOCID,CHANGED_WHO = @pWHO WHERE DOC_ID = @pOLD_DOCID
+ UPDATE TBPMO_DOC_INDICES SET DocID = @pNEW_DOCID,CHANGED_WHO = @pWHO WHERE DocID = @pOLD_DOCID
+ UPDATE TBPMO_DOC_VALUES SET DocID = @pNEW_DOCID,CHANGED_WHO = @pWHO WHERE DocID = @pOLD_DOCID
+
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS
+SELECT TOP 100 PERCENT
+ T.GUID CONTROL_ID,
+ T.FORM_ID CONTROL_ENTITY_ID,
+ T.NAME CONTROL_NAME,
+ T.REQUIRED CONTROL_REQUIRED,
+ T.DEFAULT_VALUE CONTROL_DEF_VALUE,
+ T.READ_ONLY CONTROL_READ_ONLY,
+ T.SELECT_ONLY CONTROL_SELECT_ONLY,
+ T.MULTILINE CONTROL_MULTILINE,
+ T.PARENT_CONTROL_ID CONTROL_PARENT_ID,
+ T.COL_NAME CONTROL_COL_NAME,
+ T.SHOW_COLUMN CONTROL_SHOW_COLUMN,
+ T.CONNECTION_ID_1 CONTROL_CONNID_1,
+ T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1,
+ T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2,
+ T.VISIBLE CONTROL_VISIBLE,
+ T.TREE_VIEW CONTROL_TREE_VIEW,
+ T.STATIC_LIST CONTROL_STATIC_LIST,
+ T.AUTO_SUGGEST CONTROL_AUTO_SUGGEST,
+ T4.GUID CTRLTYPE_ID,
+ T4.TYPE_NAME CTRLTYPE_NAME,
+ T.FORMAT_TYPE CONTROL_FORMAT_TYPE,
+ T.FORM_ID,
+ T3.NAME FORM_NAME,
+ T5.GUID FORM_VIEW_ID,
+ T3.LEVEL FORM_LEVEL,
+ T1.SCREEN_ID SCREEN_ID,
+ T2.NAME SCREEN_NAME,
+ T1.GUID CTRLSCR_ID,
+ T1.CONTROL_TEXT CTRLSCR_CAPTION,
+ T1.X_LOC CTRLSCR_X_LOC,
+ T1.Y_LOC CTRLSCR_Y_LOC,
+ T1.HEIGHT CTRLSCR_HEIGHT,
+ T1.WIDTH CTRLSCR_WIDTH,
+ T1.FONT_FAMILY CTRLSCR_FONT_FAMILY,
+ T1.FONT_COLOR CTRLSCR_FONT_COLOR,
+ T1.FONT_SIZE CTRLSCR_FONT_SIZE,
+ T1.FONT_STYLE CTRLSCR_FONT_STYLE,
+ T1.TAB_INDEX CTRLSCR_TAB_INDEX,
+ T1.TAB_STOP CTRLSCR_TAB_STOP,
+ T1.BACK_COLOR CTRLSCR_BACK_COLOR,
+ T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID
+FROM
+ TBPMO_CONTROL T,
+ TBPMO_CONTROL_SCREEN T1,
+ TBPMO_SCREEN T2,
+ TBPMO_FORM T3,
+ TBPMO_CONTROL_TYPE T4,
+ TBPMO_FORM_VIEW T5
+WHERE
+ T.FORM_ID = T3.GUID AND
+ T3.GUID = T5.FORM_ID AND
+ T.GUID = T1.CONTROL_ID AND
+ T1.SCREEN_ID = T2.GUID AND
+ T.CONTROL_TYPE_ID = T4.GUID
+ORDER BY
+ T1.SCREEN_ID,
+ T.FORM_ID,
+ T1.TAB_STOP
+GO
+
+ALTER VIEW [dbo].[VWPMO_DOC_SYNC] AS
+/*SELECT TOP 100 PERCENT
+ T.dwDocID as DocID
+ ,T.dwParentID
+ ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) AS FULL_FILENAME
+ ,szLongName AS [Filename]
+ ,ISNULL(T.wmVar09,'NO DOCTYPE') AS Doctype
+ ,ISNULL(T.dwVersionNumber,'1') AS [Version]
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime]
+ ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime
+ ,T1.szDocTypeName AS OBJECTTYPE
+ ,T.dwObjectTypeID
+FROM
+ DD_VMP01_APS01_windream60.dbo.BaseAttributes T
+ ,DD_VMP01_APS01_windream60.dbo.ObjectType T1
+WHERE
+ T.dwCatalogID = 1
+ AND T.dwObjectTypeID = 10005
+ AND T.dwObjectTypeID = T1.dwObjectTypeID
+ AND T.szText30 = 'ADDI-RELATION'
+ */
+SELECT TOP 100 PERCENT
+ MAX(T.dwDocID) as DocID
+ ,T.dwParentID
+ ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (MAX(T.dwDocID)) AS FULL_FILENAME
+ ,(SELECT szLongName from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS [Filename]
+
+ ,ISNULL(T.wmVar09,'NO DOCTYPE') AS Doctype
+ ,(SELECT MAX(ISNULL(T.dwVersionNumber,'1')) from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS [Version]
+ ,(SELECT CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),MAX(T.dwCreationDate))) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(MAX(T.dwCreation_Time))) + convert(VARCHAR(6),MAX(T.dwCreation_Time)),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS [Creation_DateTime]
+ ,(SELECT CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),MAX(T.dwChangeDate))) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(MAX(T.dwChange_Time))) + convert(VARCHAR(6),MAX(T.dwChange_Time)),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS Change_DateTime
+ ,T1.szDocTypeName AS OBJECTTYPE
+ ,T.dwObjectTypeID
+FROM
+ DD_VMP01_APS01_windream60.dbo.BaseAttributes T
+ ,DD_VMP01_APS01_windream60.dbo.ObjectType T1
+WHERE
+ --T.dwParentID = 1896955 AND
+ T.dwCatalogID = 1
+ AND T.dwObjectTypeID = 10005
+ AND T.dwObjectTypeID = T1.dwObjectTypeID
+ AND T.szText30 = 'ADDI-RELATION'
+GROUP BY
+ T.dwVersionID
+ ,T.dwParentID
+ --,T.szLongName
+ ,ISNULL(T.wmVar09,'NO DOCTYPE')
+ ,T1.szDocTypeName
+ ,T.dwObjectTypeID
+ORDER BY [Creation_DateTime]
+GO
+
+CREATE TABLE TBPMO_FILE_FORMATS_CHANGE
+(
+ GUID INTEGER IDENTITY(0,1), -- Eindeutiger Tabellenschlüssel
+ FILE_EXT VARCHAR(50),
+ ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL,
+ ADDED_WHEN DATETIME DEFAULT GETDATE() NOT NULL,
+ CHANGED_WHO VARCHAR(50),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_FILE_FORMATS_CHANGE PRIMARY KEY (FILE_EXT)
+)
+GO
+INSERT INTO TBPMO_FILE_FORMATS_CHANGE(FILE_EXT)
+SELECT '.xlsx' UNION
+SELECT '.xls ' UNION
+SELECT '.xlsb ' UNION
+SELECT '.xla ' UNION
+SELECT '.xlsm ' UNION
+SELECT '.doc ' UNION
+SELECT '.dot ' UNION
+SELECT '.wbk ' UNION
+SELECT '.docx ' UNION
+SELECT '.docm ' UNION
+SELECT '.dotm ' UNION
+SELECT '.ppt ' UNION
+SELECT '.pot ' UNION
+SELECT '.pps ' UNION
+SELECT '.pptx ' UNION
+SELECT '.pptm ' UNION
+SELECT '.potx ' UNION
+SELECT '.dwg'
+
+GO
+DROP TABLE TBPMO_DOC_ID_CHANGED
+GO
+CREATE TABLE [dbo].[TBPMO_DOC_ID_CHANGED](
+ [GUID] INTEGER IDENTITY(1,1) NOT NULL,
+ [USER_ID] INTEGER NOT NULL,
+ [PROCESS_ID] VARCHAR(50) NOT NULL,
+ [OLD_DOC_ID] INTEGER NOT NULL,
+ VERSION_ID INTEGER NOT NULL,
+ DOC_PATH VARCHAR(500) NOT NULL,
+ [NEW_DOC_ID] INTEGER NULL,
+ [CREATED_WHEN] DATETIME NULL DEFAULT GETDATE(),
+ CHANGED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_DOC_ID_CHANGED PRIMARY KEY ([GUID])
+) ON [PRIMARY]
+GO
+DROP TABLE TBPMO_DOC_USER_REFRESH_VIEW
+GO
+CREATE TABLE [dbo].[TBPMO_DOC_USER_REFRESH_VIEW](
+ GUID INTEGER IDENTITY(1,1) NOT NULL,
+ [USER_ID] INTEGER NOT NULL,
+ CREATED_WHEN DATETIME NULL DEFAULT GETDATE(),
+ REFRESHED_WHEN DATETIME,
+ CONSTRAINT PK_TBPMO_DOC_USER_REFRESH_VIEW PRIMARY KEY ([GUID])
+) ON [PRIMARY]
+GO
+CREATE PROCEDURE [dbo].[PRPMO_DOC_HANDLE_DOCID_CHANGED] AS
+DECLARE
+ @GUID INTEGER,
+ @OLD_DOC_ID INTEGER,
+ @VERSION_ID INTEGER,
+ @DOC_PATH VARCHAR(500),
+ @USER_ID INTEGER
+
+DECLARE c_REDO CURSOR FOR
+ SELECT GUID,OLD_DOC_ID,VERSION_ID,DOC_PATH,USER_ID FROM TBPMO_DOC_ID_CHANGED WHERE NEW_DOC_ID IS NULL
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @GUID,@OLD_DOC_ID,@VERSION_ID,@DOC_PATH,@USER_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ IF NOT EXISTS(SELECT DocID FROM VWPMO_DOC_SYNC WHERE DocID = @OLD_DOC_ID)
+ BEGIN
+ DECLARE @NEW_DOC_ID INTEGER
+ SELECT @NEW_DOC_ID = MAX(dwDocID) FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwVersionID = @VERSION_ID
+ IF @NEW_DOC_ID > 0
+ BEGIN
+ EXEC PRPMO_DOC_CHANGE_DOCID @OLD_DOC_ID,@NEW_DOC_ID,'DD_HANDLE_DOC_CHANGED'
+ UPDATE TBPMO_DOC_ID_CHANGED SET NEW_DOC_ID = @NEW_DOC_ID, CHANGED_WHEN = GETDATE() WHERE GUID = @GUID
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_USER_REFRESH_VIEW WHERE USER_ID = @USER_ID AND REFRESHED_WHEN IS NULL)
+ INSERT INTO TBPMO_DOC_USER_REFRESH_VIEW (USER_ID) VALUES (@USER_ID)
+ END
+ END
+ FETCH NEXT FROM c_REDO INTO @GUID,@OLD_DOC_ID,@VERSION_ID,@DOC_PATH,@USER_ID
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+GO
+
+ALTER TRIGGER [dbo].[TBPMO_FORM_AFT_INS] ON [dbo].[TBPMO_FORM]
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @FORM_ID INTEGER,
+ @FORM_TYPE INTEGER,
+ @ADDED_WHO VARCHAR(50)
+ --@SQL_RECORD1 VARCHAR(500),
+ --@SQL_RECORD2 VARCHAR(500)
+ SELECT
+ @FORM_ID = GUID,
+ @FORM_TYPE = FORM_TYPE_ID,
+ @ADDED_WHO = ADDED_WHO
+ FROM INSERTED
+
+ IF @FORM_TYPE = 5
+ BEGIN
+ INSERT INTO TBPMO_CONTROL (
+ FORM_ID, CONTROL_TYPE_ID, DEFAULT_VALUE, NAME, [COL_NAME]) VALUES (
+ @FORM_ID,2,'GROUP_RECORD','txtGROUP_RECORD','GROUP_RECORD')
+ DECLARE @CTRL_ID INTEGER
+ SELECT @CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID
+ INSERT INTO TBPMO_CONTROL_SCREEN (
+ CONTROL_ID, SCREEN_ID, CONTROL_TEXT, X_LOC, Y_LOC, HEIGHT, WIDTH, TAB_INDEX) VALUES (
+ @CTRL_ID, 1, 'GROUP_RECORD', 5, 5, 22, 100,1)
+ END
+ EXEC PRPMO_CREATE_ENTITY_TABLE @FORM_ID
+ EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @FORM_ID
+ --EXEC dbo.PRPMO_CREATE_SQL @FORM_ID
+ --EXEC dbo.PRPMO_CREATE_TEMP_VIEWS
+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
+BEGIN TRY
+ INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID)
+ SELECT T.CLIENT_ID,@FORM_ID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO)
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR INSERTING TBPMO_CLIENT_ENTITY-ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+
+
+
diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.9.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.9.sql
new file mode 100644
index 0000000..64e5a4f
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.9.sql
@@ -0,0 +1,326 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.4.9.0' where NAME = 'Record-Organizer'
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_NODE](@pNODE_GUID INT,@WHO VARCHAR(50))
+AS
+DECLARE
+ @SUBNODE_ID INTEGER,
+ @RECORD_ID INTEGER
+
+ SELECT @RECORD_ID = RECORD_ID from TBPMO_STRUCTURE_NODES where GUID = @pNODE_GUID
+ IF @RECORD_ID <> NULL
+ BEGIN
+ DELETE FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @RECORD_ID
+ EXEC PRPMO_DELETE_RECORD @RECORD_ID, @WHO, 'DELETE NODE'
+ END
+ UPDATE TBPMO_STRUCTURE_NODES SET ACTIVE = 0, COMMENT = 'DELETED [PRPMO_DELETE_NODE]', CHANGED_WHO = @WHO WHERE GUID = @pNODE_GUID
+ DECLARE c_REDO CURSOR LOCAL FOR
+ select GUID FROM TBPMO_STRUCTURE_NODES WHERE PARENT_GUID = @pNODE_GUID
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @SUBNODE_ID
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ EXEC [dbo].[PRPMO_DELETE_NODE] @SUBNODE_ID,@WHO
+ FETCH NEXT FROM c_REDO INTO @SUBNODE_ID
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+GO
+ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_UPD] ON [dbo].[TBPMO_RECORD]
+FOR UPDATE
+AS
+BEGIN TRY
+ DECLARE
+ @CHANGES BIT,
+ @RECORD_ID INTEGER,
+ @OLD_ENTITY_ID INTEGER,
+ @ENTITY_ID INTEGER,
+ @PARENT_RECORD INTEGER,
+ @ENTITY_TABLENAME VARCHAR(50),
+ @SQL NVARCHAR(MAX),
+ @DELETED_OLD BIT,
+ @DELETED BIT,
+ @RECORD_ENTITY_ID BIGINT,
+ @INWORK_OLD BIT,
+ @INWORK BIT,
+ @INWORK_WHO VARCHAR(50),
+ @CHANGED_WHO VARCHAR(50)
+
+ SELECT
+ @RECORD_ID = GUID,
+ @ENTITY_ID = FORM_ID,
+ @DELETED = [deleted],
+ @RECORD_ENTITY_ID = RECORD_ENTITY_ID,
+ @INWORK = IN_WORK ,
+ @INWORK_WHO = ISNULL(IN_WORK_WHO,''),
+ @CHANGED_WHO = ISNULL(CHANGED_WHO,'')
+ FROM inserted
+
+ --PRINT '@RECORD_ENTITY_ID: ' + CONVERT(VARCHAR(100),@RECORD_ENTITY_ID)
+ SET @CHANGES = 0
+ IF UPDATE(IN_WORK)
+ BEGIN
+ IF @INWORK_OLD = 0 and @INWORK = 1
+ BEGIN
+ DECLARE @COMMENT VARCHAR(100)
+ SET @COMMENT = 'RECORD IN_WORK BY: ' + @INWORK_WHO
+ PRINT @COMMENT
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD IN_WORK BY: ' + @INWORK_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ UPDATE TBPMO_RECORD SET IN_WORK_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ END
+ ELSE IF @INWORK_OLD = 1 and @INWORK = 0
+ BEGIN
+ UPDATE TBPMO_RECORD SET IN_WORK_WHEN = NULL FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD UNLOCKED', 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ END
+ END
+ IF UPDATE(VERSION)
+ BEGIN
+ SET @CHANGES = 1
+ END
+ IF UPDATE(FORM_ID)
+ BEGIN
+ --ROLLBACK TRANSACTION
+ --RAISERROR('NOT ALLOWED TEMPORARILY', 16, 1)
+ SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID)
+ --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ EXEC sp_executesql @SQL
+ EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED AND RENEWED ENTITY: ' + CONVERT(VARCHAR(3),@ENTITY_ID), 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ SET @CHANGES = 1
+ END
+ IF UPDATE (PARENT_RECORD)
+ BEGIN
+ SELECT
+ @RECORD_ID = GUID,
+ @PARENT_RECORD = PARENT_RECORD,
+ @ENTITY_ID = FORM_ID
+ FROM INSERTED
+ SET @CHANGES = 1
+ IF @PARENT_RECORD > 0
+ BEGIN
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ --RAISERROR(@SQL, 16, 1)
+ EXEC sp_executesql @SQL
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED THE PARENT_ID (VARIETY?): ' + @CHANGED_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ END
+ END
+ IF UPDATE([DELETED])
+ BEGIN
+ IF @DELETED_OLD = 0 and @DELETED = 1
+ BEGIN
+ Print '@DELETED_OLD = 0 and @DELETED = 1'
+ SET @RECORD_ENTITY_ID = 9999000000 + @RECORD_ENTITY_ID
+ Print '@RECORD_ENTITY_ID: '+ CONVERT(VARCHAR(100),@RECORD_ENTITY_ID)
+ UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @RECORD_ENTITY_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID
+ SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1
+ SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID)
+ SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID'
+ SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME)
+ SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID)
+ EXEC sp_executesql @SQL
+ INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','Mark Record as deleted: ' + @CHANGED_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD')
+ END
+ SET @CHANGES = 1
+ END
+
+ IF @CHANGES = 1
+ UPDATE TBPMO_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.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
+ALTER TRIGGER [dbo].[TBPMO_STRUCTURE_NODES_AFT_UPD] ON [dbo].[TBPMO_STRUCTURE_NODES]
+FOR UPDATE
+AS
+ DECLARE
+ @ACTIVE_OLD BIT,
+ @ACTIVE BIT,
+ @RECORD_ID INTEGER,
+ @CHANGED_WHO VARCHAR(50)
+
+ SELECT
+ @ACTIVE_OLD = [ACTIVE]
+ FROM deleted
+ SELECT
+ @RECORD_ID = GUID,
+ @ACTIVE = ACTIVE,
+ @CHANGED_WHO = CHANGED_WHO
+ FROM INSERTED
+
+ IF @RECORD_ID IS NOT NULL AND @ACTIVE_OLD = 1 AND @ACTIVE = 0
+ BEGIN
+ EXEC PRPMO_DELETE_RECORD @RECORD_ID,@CHANGED_WHO,'TBPMO_STRUCTURE_NODES_AFT_UPD ACTIVE = 0'
+ END
+ ELSE IF @RECORD_ID IS NOT NULL AND @ACTIVE_OLD = 1 AND @ACTIVE = 0
+ BEGIN
+ IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID)
+ UPDATE TBPMO_RECORD SET DELETED = 0, CHANGED_WHO = @CHANGED_WHO WHERE GUID = @RECORD_ID AND DELETED = 1
+ END
+
+ UPDATE TBPMO_STRUCTURE_NODES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES.GUID = INSERTED.GUID
+
+GO
+ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30),@COMMENT VARCHAR(100) = '')
+AS
+ DECLARE @ENTITY_ID INT, @COUNT_REQUIRED INT
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID
+ --SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID'
+ --SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID)
+ --SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID)
+ --EXEC sp_executesql @DELETE_SQL
+ UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID
+ DECLARE @reas As VARCHAR(250)
+ SET @reas = 'RECORD DELETED BY USER'
+ IF @COMMENT <> ''
+ BEGIN
+ SET @reas = @reas + ' - ' + @COMMENT
+ END
+ IF @pRECORD_ID <> NULL
+ INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@ENTITY_ID, @reas, @WHO)
+
+ SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID
+ IF @COUNT_REQUIRED > (SELECT COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID)
+ BEGIN
+ PRINT 'EXEC PRPMO_DELETE_RECORD_FINALLY - PRE INSERT - LESS REQUIRED VALUES'
+ EXEC PRPMO_DELETE_RECORD_FINALLY @pRECORD_ID,'PRE INSERT - LESS REQUIRED VALUES'
+ END
+GO
+CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DOC_VALUE](@pDOCID INTEGER, @pRECORDID INTEGER, @pCONFIGID INTEGER)
+RETURNS VARCHAR(250)
+AS
+BEGIN
+ DECLARE @RESULT VARCHAR(250)
+ SELECT DISTINCT @RESULT = ISNULL(VALUE,'NO DATA')
+ FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @pCONFIGID AND RECORD_ID = @pRECORDID
+
+ RETURN @RESULT
+END
+GO
+ALTER TABLE TBPMO_FORM ADD ENTITY_DOC_SEARCH VARCHAR(MAX) NOT NULL DEFAULT ''
+GO
+UPDATE TBPMO_FORM SET ENTITY_DOC_SEARCH =
+'SELECT DISTINCT T.* FROM VWPMO_DOC_SEARCH T WHERE T.DocID IN (select DISTINCT T.DOC_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = @ENTITY_ID) AND T.DocID IN (SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @USER_ECM_ID AND dwObjectID = T.DocID)'
+GO
+--CREATE PROCEDURE PRPMO_CREATE_RECORD(@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL)
+ALTER PROCEDURE [dbo].[PRPMO_CREATE_RECORD](@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL)
+AS
+DECLARE @RECORD_ENTITY_ID BIGINT,
+ @RECORD_ID INT,
+ @FEHLER VARCHAR(4000),
+ @LINE VARCHAR(10)
+
+DECLARE @OUTPUTDATA TABLE(RECORD_ID INT)
+
+BEGIN TRY
+--RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1)
+
+ SELECT @RECORD_ENTITY_ID = ISNULL(MAX(RECORD_ENTITY_ID),0) + 1 FROM TBPMO_RECORD WHERE FORM_ID = @pFORM_ID AND DELETED = 0
+
+ INSERT INTO TBPMO_RECORD(FORM_ID,RECORD_ENTITY_ID,ADDED_WHO)
+ OUTPUT INSERTED.GUID INTO @OUTPUTDATA
+ VALUES (@pFORM_ID,@RECORD_ENTITY_ID,LTRIM(RTRIM(@pADDED_WHO)))
+
+ SELECT @pRESULT = RECORD_ID FROM @OUTPUTDATA
+
+ RETURN
+END TRY
+BEGIN CATCH --Fehlerbehandlung
+ SET @pRESULT = 0
+
+ SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE())
+ SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE
+ RAISERROR(@FEHLER,16,1)
+
+ RETURN
+END CATCH
+GO
+ALTER TABLE TBPMO_CLIENT_CONN_SWITCH_USER ADD [CONN_NAME] VARCHAR(100) NOT NULL DEFAULT ''
+GO
+CREATE TRIGGER [dbo].[TBPMO_CLIENT_CONN_SWITCH_USER_AFT_INS] ON TBPMO_CLIENT_CONN_SWITCH_USER
+WITH EXECUTE AS CALLER
+FOR INSERT
+AS
+BEGIN TRY
+ DECLARE
+ @CONN_ID INTEGER,
+ @GUID INTEGER
+ SELECT
+ @GUID = GUID,
+ @CONN_ID = CONN_SWITCH_ID
+
+ FROM INSERTED
+
+ UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET CONN_NAME = (SELECT DESCRIPTION FROM TBPMO_CLIENT_CONNECTION_SWITCH WHERE GUID = @CONN_ID)
+ FROM INSERTED
+ WHERE TBPMO_CLIENT_CONN_SWITCH_USER.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
+ALTER TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_DEL] ON [dbo].[TBPMO_DOC_RECORD_LINK]
+WITH EXECUTE AS CALLER
+FOR DELETE
+AS
+BEGIN TRY
+ DECLARE
+ @RECORD_ID INTEGER,
+ @DOC_ID INTEGER,
+ @ENTITY_ID INTEGER
+ SELECT
+ @RECORD_ID = RECORD_ID,
+ @DOC_ID = DOC_ID
+ FROM DELETED
+
+ SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID
+ IF @RECORD_ID IS NOT NULL
+ INSERT INTO [dbo].[TBPMO_LOG_ESSENTIALS]
+ ([REFERENCE_KEY]
+ ,[REFERENCE_STRING]
+ ,[COMMENT]
+ ,[ADDED_WHO]
+
+ ,[ENTITY_ID])
+ VALUES
+ (@RECORD_ID,
+ 'RECORD-ID'
+ ,'DocRecord-Link deleted'
+ ,'TBPMO_DOC_RECORD_LINK_AFT_DEL'
+ ,@ENTITY_ID)
+
+ DELETE FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID
+
+ EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
+GO
+-- =============================================
+-- Author: DD-MS
+-- Create date: 25.06.2019
+-- Description: releases inwork-records which are in use more than (check code)
+-- =============================================
+CREATE PROCEDURE PRMO_CUST_RELEASE_IN_WORK_RECORDS
+
+AS
+BEGIN
+ UPDATE TBPMO_RECORD SET IN_WORK = 0, IN_WORK_WHEN = NULL, IN_WORK_WHO = NULL
+ WHERE GUID IN (select GUID from TBPMO_RECORD where IN_WORK = 1 AND (DATEDIFF(MINUTE,IN_WORK_WHEN, GETDATE()) >= 10 OR IN_WORK_WHEN IS NULL ))
+END
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.0.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.0.sql
new file mode 100644
index 0000000..62b4cef
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.0.sql
@@ -0,0 +1,50 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.5.0.0' where NAME = 'Record-Organizer'
+GO
+CREATE TABLE [dbo].[TBPMO_DOC_IN_WORK_HISTORY](
+ [GUID] [bigint] IDENTITY(1,1) NOT NULL,
+ [DOCID] [bigint] NOT NULL,
+ [COMMENT] [varchar](500) NULL,
+ [IN_WORK_WHO] [varchar](50) NOT NULL,
+ [IN_WORK_WHEN] [datetime] NOT NULL,
+ [FREE_WHO] [varchar](50) NULL,
+ [FREE_WHEN] [datetime] NULL,
+ CONSTRAINT [PK_TBPMO_DOC_IN_WORK_HISTORY] 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].[TBPMO_DOC_IN_WORK_HISTORY] ADD DEFAULT ('DEFAULT') FOR [IN_WORK_WHO]
+GO
+ALTER TABLE [dbo].[TBPMO_DOC_IN_WORK_HISTORY] ADD DEFAULT (getdate()) FOR [IN_WORK_WHEN]
+GO
+
+ALTER TRIGGER [dbo].[TBPMO_DOCRESULT_LIST_AFT_UPD] ON [dbo].[TBPMO_DOCRESULT_LIST]
+FOR UPDATE
+AS
+ IF UPDATE (IN_WORK)
+ BEGIN
+ DECLARE @IN_WORK BIT,
+ @IN_WORK_USER VARCHAR(50),
+ @IN_WORK_COMMENT VARCHAR(500),
+ @DocID BIGINT
+
+ SELECT
+ @DocID = DocID,
+ @IN_WORK = IN_WORK,
+ @IN_WORK_USER = IN_WORK_USER,
+ @IN_WORK_COMMENT = IN_WORK_COMMENT
+ FROM INSERTED
+ IF @IN_WORK = 1
+ INSERT INTO TBPMO_DOC_IN_WORK_HISTORY (DOCID,COMMENT,IN_WORK_WHO) VALUES (@DocID,@IN_WORK_COMMENT,@IN_WORK_USER)
+ ELSE
+ BEGIN
+ UPDATE TBPMO_DOC_IN_WORK_HISTORY SET FREE_WHO = @IN_WORK_USER, FREE_WHEN = GETDATE() WHERE DOCID = @DocID AND FREE_WHEN IS NULL
+ UPDATE TBPMO_DOCRESULT_LIST SET IN_WORK_COMMENT = NULL FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID]
+ END
+
+ END
+ UPDATE TBPMO_DOCRESULT_LIST SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID]
+
+
diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.1.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.1.sql
new file mode 100644
index 0000000..2cbf652
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.1.sql
@@ -0,0 +1,68 @@
+UPDATE TBDD_MODULES SET DB_VERSION = '2.5.0.2' where NAME = 'Record-Organizer'
+GO
+
+ALTER TABLE TBPMO_DOC_ID_CHANGED ADD [PARENT_ID] BIGINT NOT NULL DEFAULT 0
+GO
+ALTER TABLE TBPMO_DOC_ID_CHANGED ADD [FILENAME] VARCHAR(200) NOT NULL DEFAULT ''
+GO
+CREATE TRIGGER [dbo].[TBPMO_DOC_ID_CHANGED_UPD] ON [dbo].TBPMO_DOC_ID_CHANGED
+FOR INSERT
+AS
+BEGIN
+ DECLARE @DocID BIGINT, @PARENT_ID BIGINT, @FILENAME VARCHAR(200)
+ SELECT @DocID = OLD_DOC_ID FROM inserted
+
+ DECLARE @ECM_USR_ID INTEGER
+ SELECT @PARENT_ID = dwParentID,@FILENAME = szLongName
+ FROM [DD_VMP01_APS01_windream60].[dbo].BaseAttributes where dwDocID = @DocID
+
+ UPDATE TBPMO_DOC_ID_CHANGED SET [FILENAME] = @FILENAME,[PARENT_ID] = @PARENT_ID
+ FROM INSERTED
+ WHERE TBPMO_DOC_ID_CHANGED.GUID = INSERTED.GUID
+END
+GO
+
+ALTER PROCEDURE [dbo].[PRPMO_DOC_HANDLE_DOCID_CHANGED] AS
+DECLARE
+ @GUID INTEGER,
+ @OLD_DOC_ID INTEGER,
+ @PARENT_ID BIGINT,
+ @FILENAME VARCHAR(200),
+ @DOC_PATH VARCHAR(500),
+ @USER_ID INTEGER,
+ @HOUR_EXIST INTEGER
+ --select * from TBPMO_DOC_ID_CHANGED
+DECLARE c_REDO CURSOR FOR
+ SELECT GUID,OLD_DOC_ID,PARENT_ID,USER_ID,UPPER(FILENAME),DATEDIFF(HOUR,CREATED_WHEN,GETDATE())
+ FROM TBPMO_DOC_ID_CHANGED WHERE
+ NEW_DOC_ID IS NULL --AND PARENT_ID > 0
+ OPEN c_REDO
+ FETCH NEXT FROM c_REDO INTO @GUID,@OLD_DOC_ID,@PARENT_ID,@USER_ID,@FILENAME,@HOUR_EXIST
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+ PRINT CONVERT(VARCHAR(10),@PARENT_ID)
+ PRINT CONVERT(VARCHAR(100),@FILENAME)
+ DECLARE @NEW_DOC_ID INTEGER
+ SELECT @NEW_DOC_ID = DocID FROM VWPMO_DOC_SYNC
+ WHERE UPPER(Filename) = @FILENAME AND dwParentID = @PARENT_ID
+
+
+ IF @NEW_DOC_ID > 0
+ BEGIN
+ PRINT CONVERT(VARCHAR(10),@NEW_DOC_ID)
+ EXEC PRPMO_DOC_CHANGE_DOCID @OLD_DOC_ID,@NEW_DOC_ID,'DD_HANDLE_DOC_CHANGED'
+
+ UPDATE TBPMO_DOC_ID_CHANGED SET NEW_DOC_ID = @NEW_DOC_ID, CHANGED_WHEN = GETDATE() WHERE GUID = @GUID
+ IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_USER_REFRESH_VIEW WHERE USER_ID = @USER_ID AND REFRESHED_WHEN IS NULL)
+ INSERT INTO TBPMO_DOC_USER_REFRESH_VIEW (USER_ID) VALUES (@USER_ID)
+ ELSE
+ UPDATE TBPMO_DOC_USER_REFRESH_VIEW SET REFRESHED_WHEN = NULL WHERE USER_ID = @USER_ID
+ END
+ ELSE
+ IF @HOUR_EXIST > 48
+ UPDATE TBPMO_DOC_ID_CHANGED SET NEW_DOC_ID = 9999, CHANGED_WHEN = GETDATE() WHERE GUID = @GUID
+ FETCH NEXT FROM c_REDO INTO @GUID,@OLD_DOC_ID,@PARENT_ID,@USER_ID,@FILENAME,@HOUR_EXIST
+ END
+CLOSE c_REDO
+DEALLOCATE c_REDO
+GO
\ No newline at end of file
diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/trigger_vladimir_TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS.txt b/08_ADDI/SQL/UPDATE_SCRIPTS/trigger_vladimir_TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS.txt
new file mode 100644
index 0000000..abfc992
--- /dev/null
+++ b/08_ADDI/SQL/UPDATE_SCRIPTS/trigger_vladimir_TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS.txt
@@ -0,0 +1,14 @@
+--CREATE TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS
+ALTER TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS
+ON TBPMO_DOCSEARCH_RESULTLIST_CONFIG
+FOR INSERT
+AS
+BEGIN TRY
+ INSERT INTO TBPMO_DOC_VALUES(DocID,CONFIG_ID,VALUE,ADDED_WHO)
+ SELECT T.DOC_ID,I.GUID,'',I.ADDED_WHO FROM TBPMO_DOC_RECORD_LINK T,TBPMO_RECORD T1,INSERTED I WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = I.ENTITY_ID
+END TRY
+BEGIN CATCH
+ PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
+ + ' - ERROR-MESSAGE: '
+ + CONVERT(VARCHAR(500),ERROR_MESSAGE())
+END CATCH
\ No newline at end of file
diff --git a/08_ADDI/SQL/Weiterentwicklung.xlsx b/08_ADDI/SQL/Weiterentwicklung.xlsx
new file mode 100644
index 0000000..61ffab3
Binary files /dev/null and b/08_ADDI/SQL/Weiterentwicklung.xlsx differ