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