SqlScripts/00_IDB/CreateDBObjects.sql

4657 lines
178 KiB
Transact-SQL
Raw Blame History

--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 NONCLUSTERED INDEX IDXTBIDB_OBJECT_METADATA_IDBOBJID
ON [dbo].[TBIDB_OBJECT_METADATA] ([IDB_OBJ_ID])
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 VWIDB_ATTRIBUTE_LANG
AS
select
ATTR.GUID As AttributeID
,TERM.TERM_VALUE as Attribute
,ATTR.TYP_ID as AttributeTypeID
,ATY.NAME_TYPE as AttributeType
,LANG.LANG_CODE
from
TBIDB_ATTRIBUTE ATTR INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE AL On ATTR.GUID = AL.ATTRIBUTE_ID
INNER JOIN TBIDB_LANGUAGE LANG ON AL.LANGUAGE_ID = LANG.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM ON AL.TERM_ID = TERM.GUID
INNER JOIN TBIDB_ATTRIBUTE_TYPE ATY ON ATTR.TYP_ID = ATY.GUID
GO
CREATE VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS
SELECT
T.GUID,
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<EFBFBD>ndert wer],
T.CHANGED_WHEN [Ge<EFBFBD>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_DATETIME] AS
SELECT
T.GUID AS MetadataID,
T.ATTR_ID AS AttributID,
T.IDB_OBJ_ID,
T1.TITLE as Attribut,
T3.TERM_VALUE 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_TERM_VALUE_DATETIME T3 ON T.DATETIME_TERM_ID = T3.GUID
GO
CREATE NONCLUSTERED INDEX [TBIDB_OBJECT_METADATA_DATETIMETERMID]
ON [dbo].[TBIDB_OBJECT_METADATA] ([DATETIME_TERM_ID])
INCLUDE ([IDB_OBJ_ID],[ATTR_ID],[ADDED_WHO],[ADDED_WHEN],[CHANGED_WHO],[CHANGED_WHEN])
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<EFBFBD>schter Wert],
T.DELETED_WHO [Gel<EFBFBD>scht wer],
T.DELETED_WHEN [Gel<EFBFBD>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<EFBFBD>ndert wer],
T.CHANGED_WHEN [Ge<EFBFBD>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<EFBFBD>ndert wann] as LAST_CHANGE
FROM
VWIDB_VALUE_TEXT where [Ge<EFBFBD>ndert wann] IS NOT NULL
UNION
SELECT TOP 100 PERCENT
*, [ADDED_WHEN] as LAST_CHANGE
FROM
VWIDB_VALUE_TEXT where [Ge<EFBFBD>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