This commit is contained in:
SchreiberM 2022-03-25 14:30:43 +01:00
parent 6d47c2a0a3
commit e3c44d9396
5 changed files with 350 additions and 68 deletions

View File

@ -451,6 +451,7 @@ CREATE TABLE TBIDB_OBJECT_KIND
GO
INSERT INTO TBIDB_OBJECT_KIND (KIND_NAME) VALUES ('DOC');
INSERT INTO TBIDB_OBJECT_KIND (KIND_NAME) VALUES ('OBJECT');
INSERT INTO TBIDB_OBJECT_KIND (KIND_NAME) VALUES ('DYNAMIC_FOLDER');
GO
CREATE TRIGGER TBIDB_OBJECT_KIND_AFT_UPD ON TBIDB_OBJECT_KIND
FOR UPDATE
@ -526,8 +527,9 @@ CREATE TABLE TBIDB_OBJECT
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),
CHANGED_WHEN_SUBSTRUCTURE DATETIME,
CHANGED_WHO_SUBSTRUCTURE VARCHAR(100),
CONSTRAINT PK_TBIDB_OBJECT PRIMARY KEY (IDB_OBJ_ID),
CONSTRAINT FK_KIND_TYPE_ID FOREIGN KEY (KIND_TYPE_ID) REFERENCES TBIDB_OBJECT_KIND (GUID)
)
GO
@ -584,12 +586,15 @@ AS
FROM INSERTED
WHERE TBIDB_STRUCTURE_TYPE.GUID = INSERTED.GUID
GO
INSERT INTO TBIDB_STRUCTURE_TYPE (TITLE) VALUES ('DOC_DOCTYPE');
GO
CREATE TABLE TBIDB_OBJECT_STRUCTURE_TYPE
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
IDB_OBJ_ID BIGINT NOT NULL,
STRUCTURE_ID INTEGER NOT NULL,
PARENT_OBJ_ID BIGINT NOT NULL DEFAULT 0,
RELATION_ID INTEGER NOT NULL,
COMMENT VARCHAR(1000),
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYSTEM',
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
@ -609,6 +614,10 @@ AS
WHERE TBIDB_OBJECT_STRUCTURE_TYPE.GUID = INSERTED.GUID
GO
INSERT INTO TBIDB_OBJECT_STRUCTURE_TYPE (IDB_OBJ_ID,STRUCTURE_ID,RELATION_ID) VALUES (12031,1 ,(SELECT GUID FROM TBIDB_DOCTYPE WHERE TITLE = 'Projektunterlage'))
INSERT INTO TBIDB_OBJECT_STRUCTURE_TYPE (IDB_OBJ_ID,STRUCTURE_ID,RELATION_ID) VALUES (12037,1 ,(SELECT GUID FROM TBIDB_DOCTYPE WHERE TITLE = 'Lieferschein'))
INSERT INTO TBIDB_OBJECT_STRUCTURE_TYPE (IDB_OBJ_ID,STRUCTURE_ID,RELATION_ID) VALUES (12035,1 ,(SELECT GUID FROM TBIDB_DOCTYPE WHERE TITLE = 'Gutschrift'))
CREATE TABLE TBIDB_DOC_INFO
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
@ -699,7 +708,7 @@ AS
WHERE TBIDB_ATTRIBUTE.GUID = INSERTED.GUID
GO
CREATE TRIGGER [dbo].[TBIDB_ATTRIBUTE_AFT_INS] ON [dbo].[TBIDB_ATTRIBUTE]
CREATE OR ALTER TRIGGER [dbo].[TBIDB_ATTRIBUTE_AFT_INS] ON [dbo].[TBIDB_ATTRIBUTE]
FOR INSERT
AS
DECLARE
@ -737,16 +746,14 @@ AS
,@LANG_ID
,@NEW_TERM_ID
,@ADDED_WHO);
--BEGIN TRY
-- EXEC PRIDB_CREATE_VIEW_DOC_DATA @LANG_CODE
--END TRY
--BEGIN CATCH
--END CATCH
EXEC PRIDB_CREATE_VIEW_DOC_DATA @LANG_CODE,'DEFAULT'
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
@ -1351,7 +1358,7 @@ CREATE TABLE TBIDB_COMMON_SQL
CONSTRAINT PK_TBIDB_COMMON_SQL PRIMARY KEY (GUID)
)
GO
DELETE FROM [TBIDB_COMMON_SQL] WHERE TITLE = 'FLOW_SEARCH_SQL_BASE';
INSERT INTO [dbo].[TBIDB_COMMON_SQL]
([TITLE]
,[SQL_COMMAND]
@ -1359,16 +1366,24 @@ INSERT INTO [dbo].[TBIDB_COMMON_SQL]
VALUES
('FLOW_SEARCH_SQL_BASE'
,'SELECT
DOC.*
FROM
TBIDB_SEARCH_RESULT_USER RES INNER JOIN VWIDB_LANGUAGE_TERM VWLTERM ON RES.MD_GUID = VWLTERM.MD_ID
INNER JOIN VWIDB_DOCRESULT_DE DOC ON VWLTERM.IDB_OBJ_ID = DOC.DocID
WHERE
RES.USR_ID = @USER_ID AND VWLTERM.LANG_CODE = ''@LANG_CODE''','SYSTEM')
DOC.*
FROM
TBIDB_SEARCH_RESULT_TERM_USER RES INNER JOIN VWIDB_LANGUAGE_TERM VWLTERM ON RES.MD_GUID = VWLTERM.MD_ID
INNER JOIN VWIDB_DOCRESULT_DE DOC ON VWLTERM.IDB_OBJ_ID = DOC.DocID
WHERE
RES.USR_ID = @USER_ID AND VWLTERM.LANG_CODE = ''@LANG_CODE''' + CHAR(10)
+ 'UNION
SELECT
DOC.*
FROM
TBIDB_SEARCH_RESULT_STRUCT_TYPE_USER RES INNER JOIN VWIDB_DOC_DOCTYPE VWDT ON RES.STRUCTURE_ID = VWDT.STRUCTURE_ID AND RES.IDB_OBJ_ID = VWDT.IDB_OBJ_ID
INNER JOIN VWIDB_DOCRESULT_DE DOC ON RES.IDB_OBJ_ID = DOC.DocID
WHERE
RES.USR_ID = @USER_ID AND VWDT.LANG_CODE = ''@LANG_CODE''','SYSTEM')
GO
CREATE TABLE TBIDB_SEARCH_RESULT_USER
CREATE TABLE TBIDB_SEARCH_RESULT_TERM_USER
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
MD_GUID BIGINT
@ -1376,6 +1391,16 @@ CREATE TABLE TBIDB_SEARCH_RESULT_USER
CONSTRAINT FK_TBIDB_SEARCH_RESULT_USER_MD_GUID FOREIGN KEY (MD_GUID) REFERENCES TBIDB_OBJECT_METADATA (GUID)
)
GO
CREATE TABLE TBIDB_SEARCH_RESULT_STRUCT_TYPE_USER
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
IDB_OBJ_ID BIGINT NOT NULL,
STRUCTURE_ID INTEGER NOT NULL,
USR_ID INTEGER
CONSTRAINT FK_TBIDB_SEARCH_RESULT_STRUCT_TYPE_USER_IDBOBJID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
CONSTRAINT FK_TBIDB_SEARCH_RESULT_STRUCT_TYPE_USER_STRUCTURE_ID FOREIGN KEY (STRUCTURE_ID) REFERENCES TBIDB_STRUCTURE_TYPE (GUID)
)
GO
CREATE TABLE TBIDB_SEARCH_DATE_VALUE_USER
(
@ -1938,7 +1963,52 @@ AS
FROM INSERTED
WHERE TBIDB_TERM_TYPE.GUID = INSERTED.GUID
GO
CREATE TABLE TBIDB_OBJECT_DYNAMIC_FOLDER
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
IDB_OBJ_ID BIGINT NOT NULL,
DYN_FOLD_ID BIGINT NOT NULL,
COMMENT VARCHAR(1000),
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYSTEM',
ADDED_WHEN DATETIME DEFAULT (GETDATE()),
CHANGED_WHO VARCHAR(100),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_OBJECT_DYNAMIC_FOLDER PRIMARY KEY (GUID),
CONSTRAINT UQ_TBIDB_OBJECT_DYNAMIC_FOLDER UNIQUE (IDB_OBJ_ID,DYN_FOLD_ID),
CONSTRAINT FK_TBIDB_OBJECT_DYNAMIC_FOLDER_IDBOBJID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID),
CONSTRAINT FK_TBIDB_OBJECT_DYNAMIC_FOLDER_DYNFOLDID FOREIGN KEY (DYN_FOLD_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID)
)
GO
CREATE TRIGGER TBIDB_OBJECT_DYNAMIC_FOLDER_AFT_UPD ON TBIDB_OBJECT_DYNAMIC_FOLDER
FOR UPDATE
AS
UPDATE TBIDB_OBJECT_DYNAMIC_FOLDER SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBIDB_OBJECT_DYNAMIC_FOLDER.GUID = INSERTED.GUID
GO
DROP TABLE TBIDB_OBJECT_CHECK_IN_OUT
CREATE TABLE TBIDB_OBJECT_CHECK_IN_OUT
(
GUID BIGINT NOT NULL IDENTITY (1, 1),
IDB_OBJ_ID BIGINT NOT NULL,
CHECKED_OUT_WHEN DATETIME NOT NULL,
CHECKED_IN_WHEN DATETIME,
COMMENT VARCHAR(1000),
ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'SYSTEM',
ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()),
CHANGED_WHO VARCHAR(100),
CHANGED_WHEN DATETIME,
CONSTRAINT PK_TBIDB_OBJECT_CHECK_IN_OUT PRIMARY KEY (GUID),
CONSTRAINT FK_TBIDB_OBJECT_CHECK_IN_OUT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID)
)
GO
CREATE TRIGGER TBIDB_OBJECT_CHECK_IN_OUT_AFT_UPD ON TBIDB_OBJECT_CHECK_IN_OUT
FOR UPDATE
AS
UPDATE TBIDB_OBJECT_CHECK_IN_OUT SET CHANGED_WHEN = GETDATE()
FROM INSERTED
WHERE TBIDB_OBJECT_CHECK_IN_OUT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID
GO
/*###########################
######### FUNCTIONS #########
#############################*/
@ -3308,6 +3378,7 @@ SELECT
LT.GUID as ID
,LT.OBJECT_ID as Doctype_ID
,DT.TITLE AS SYS_TITLE
,LT.TERM_ID
,TERM.TERM_VALUE AS Doctype
,LT.LANG_ID
,LANG.LANG_CODE
@ -3370,6 +3441,53 @@ FROM
WHERE
C.KIND_TYPE = 3
GO
CREATE OR ALTER VIEW VWIDB_DOC_DOCTYPE AS
SELECT A.GUID,
A.IDB_OBJ_ID
,A.STRUCTURE_ID
,B.TITLE AS STRUCTURE_TITLE
,C.SYS_TITLE
,C.Doctype_ID
,C.Doctype
,C.TERM_ID
,C.LANG_CODE
,C.LANG_ID
,A.ADDED_WHO
,A.ADDED_WHEN
,B.CHANGED_WHO
,B.CHANGED_WHEN
,OBJ.ADDED_WHEN OBJ_ADDED_WHEN
,OBJ.CHANGED_WHEN OBJ_CHANGED_WHEN
,OBJ.ACTIVE OBJ_ACTIVE
FROM
TBIDB_OBJECT_STRUCTURE_TYPE A INNER JOIN TBIDB_STRUCTURE_TYPE B ON A.STRUCTURE_ID = B.GUID
INNER JOIN VWIDB_DOCTYPE_LANGUAGE C ON A.RELATION_ID = C.Doctype_ID
INNER JOIN TBIDB_OBJECT OBJ ON A.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
WHERE B.TITLE = 'DOC_DOCTYPE'
GO
CREATE OR ALTER VIEW VWIDB_STRUCTURE_NODES AS
select
T.GUID AS MetadataID,
T1.GUID AS AttributID,
T.IDB_OBJ_ID,
OBJ.PARENT_OBJ_ID,
T1.TITLE as Attribut,
T3.GUID as TERM_GUID,
T3.TERM_VALUE,
T4.LANG_CODE,
T.ADDED_WHO,
T.ADDED_WHEN,
T.CHANGED_WHO [Geändert wer],
T.CHANGED_WHEN [Geändert wann]
from TBIDB_OBJECT_METADATA T
INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID
INNER JOIN TBIDB_LANGUAGE_TERM T2 ON T.GUID = T2.[OBJECT_ID]
INNER JOIN TBIDB_OBJECT OBJ ON T.IDB_OBJ_ID = OBJ.IDB_OBJ_ID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TERM_ID = T3.GUID
INNER JOIN TBIDB_LANGUAGE T4 ON T2.LANG_ID = T4.GUID
WHERE OBJ.ACTIVE = 1 AND OBJ.KIND_TYPE_ID = 3 AND T1.GUID = (SELECT GUID FROM TBIDB_ATTRIBUTE WHERE TITLE = 'VIRTUAL_FOLDER_PART')
GO
/*###########################################
############## PROCEDURES ###################
#############################################*/
@ -3438,6 +3556,7 @@ GO
CREATE OR ALTER VIEW [dbo].[VWIDB_STATES_LANGUAGE] AS
SELECT
A.GUID AS STATE_ID,
B.GUID LANG_TERM_ID,
A.TITLE AS STATE_TITLE,
D.TERM_VALUE AS STATE_TERM,
B.LANG_ID,
@ -3455,6 +3574,7 @@ INNER JOIN TBIDB_TERM_VALUE_VARCHAR D ON B.TERM_ID = D.GUID
INNER JOIN TBIDB_LANGUAGE C ON B.LANG_ID = C.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR E ON A.ADDED_WHO = E.GUID
INNER JOIN TBIDB_TERM_VALUE_VARCHAR F ON B.CHANGED_WHO = F.GUID
WHERE B.KIND_TYPE = 3
GO
-- =============================================
-- Author: DD MS
@ -3554,6 +3674,7 @@ BEGIN
INSERT INTO TBIDB_LANGUAGE_TERM (KIND_TYPE, [OBJECT_ID],TERM_ID,LANG_ID,ADDED_WHO) VALUES(3, @STATE_ID,@STATE_TERM_ID,@LANG_ID,@ADDED_WHO_TERM_ID);
ELSE
UPDATE TBIDB_LANGUAGE_TERM SET TERM_ID = @STATE_TERM_ID,CHANGED_WHO = @ADDED_WHO_TERM_ID WHERE [OBJECT_ID] = @STATE_ID AND LANG_ID = @LANG_ID
AND TERM_ID <> @STATE_TERM_ID;
FETCH NEXT FROM c_PRIDB_NEW_IDB_OBJECT_STATE INTO @LANG_ID,@pLANG_CODE
END
@ -3562,19 +3683,23 @@ BEGIN
END
GO
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SET_IDB_STATE] @pSTATE_ID INTEGER, @pSTATE VARCHAR(100), @pLANG_CODE VARCHAR(5),@pWHO VARCHAR(100)
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_SET_IDB_STATE_LANG] @pSTATE VARCHAR(100),@pSTATE_LANG VARCHAR(100), @pLANG_CODE VARCHAR(5),@pWHO VARCHAR(100)
AS
BEGIN
DECLARE
@LANG_ID INTEGER
@LANG_ID INTEGER,
@pSTATE_ID INTEGER
SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE;
SELECT @pSTATE_ID = GUID FROM TBIDB_STATES WHERE TITLE = @pSTATE
DECLARE @STATE_TERM_ID BIGINT,@LANG_STATE_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT;
EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE_LANG,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT;
DECLARE @CHANGED_WHO_TERM_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @CHANGED_WHO_TERM_ID OUTPUT;
UPDATE TBIDB_LANGUAGE_TERM SET TERM_ID = @STATE_TERM_ID,CHANGED_WHO = @CHANGED_WHO_TERM_ID WHERE [OBJECT_ID] = @pSTATE_ID AND LANG_ID = @LANG_ID
IF NOT EXISTS(SELECT GUID FROM TBIDB_LANGUAGE_TERM WHERE [OBJECT_ID] = @pSTATE_ID AND LANG_ID = @LANG_ID AND KIND_TYPE = 3)
INSERT INTO TBIDB_LANGUAGE_TERM (KIND_TYPE, [OBJECT_ID],TERM_ID,LANG_ID,ADDED_WHO) VALUES(3, @pSTATE_ID,@STATE_TERM_ID,@LANG_ID,@CHANGED_WHO_TERM_ID);
ELSE
UPDATE TBIDB_LANGUAGE_TERM SET TERM_ID = @STATE_TERM_ID,CHANGED_WHO = @CHANGED_WHO_TERM_ID WHERE KIND_TYPE = 3 AND [OBJECT_ID] = @pSTATE_ID AND LANG_ID = @LANG_ID AND TERM_ID <> @STATE_TERM_ID;
END
GO
EXEC PRIDB_NEW_IDB_STATE 'Started', 'SYSTEM';
@ -3587,13 +3712,13 @@ EXEC PRIDB_NEW_IDB_STATE 'Metadata changed','SYSTEM';
EXEC PRIDB_NEW_IDB_STATE 'Attributevalue deleted','SYSTEM';
EXEC PRIDB_NEW_IDB_STATE 'File opened', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE 3,'Datei versioniert', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE 4,'Datei erstellt', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE 5,'Datei geändert', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE 6,'Datei gelöscht', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE 7,'Attributwert geändert', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE 8,'Attributwert gelöscht', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE 9,'Datei geöffnet', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE_LANG 'File Versioned','Datei versioniert', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE_LANG 'File added','Datei erstellt', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE_LANG 'File changed','Datei geändert', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE_LANG 'File deleted','Datei gelöscht', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE_LANG 'Metadata changed','Attributwert geändert', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE_LANG 'Attributevalue deleted','Attributwert gelöscht', 'de-DE', 'SYSTEM';
EXEC PRIDB_SET_IDB_STATE_LANG 'File opened','Datei geöffnet', 'de-DE', 'SYSTEM';
GO
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_DELETE_ATTRIBUTE_DATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @WHO VARCHAR(100)
@ -3982,9 +4107,9 @@ BEGIN
,@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
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
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
ELSE IF @TYP_ID = 6 --DATETIME
BEGIN
@ -3999,20 +4124,18 @@ BEGIN
(@IDB_OBJ_ID
,@ATTR_ID
,@MY_TERM_ID
,@WHO)
,@WHO);
END
ELSE
UPDATE TBIDB_OBJECT_METADATA SET [DATETIME_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
UPDATE TBIDB_OBJECT_METADATA SET [DATETIME_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID;
EXEC PRIDB_OBJECT_CHANGED_SUBSTRUCTURE @IDB_OBJ_ID,@WHO;
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 OR ALTER PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5) ,@pVar VARCHAR(15) = 'DEFAULT'
ALTER PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5) ,@pVar VARCHAR(15) = 'DEFAULT'
AS
DECLARE
@ATTR_ID INT,
@ -4037,6 +4160,8 @@ DECLARE
SET @SQL1 += +'T.IDB_OBJ_ID' + char(10)
ELSE
SET @SQL1 += +'T.IDB_OBJ_ID as DocID' + char(10)
SET @SQL1 += char(9) + ',DT.Doctype as Doctype' + char(10)
BEGIN
DECLARE c_PRIDB_CREATE_VIEW_DOC_DATA CURSOR FOR
SELECT DISTINCT ATTR_ID,ATTR_TITLE,TYPE_ID,VIEW_SEQUENCE
@ -4097,19 +4222,23 @@ BEGIN
END
SET @SQL1 += char(9) + ',T.ADDED_WHEN AS [Added when]' + char(10)
+ char(9) + ',T.ADDED_WHO AS [Added who]' + char(10)
+ char(9) + ',T.CHANGED_WHEN AS [Changed when]' + char(10)
+ char(9) + ',T.CHANGED_WHO AS [Changed who]' + char(10)
+ char(9) + ',T.CHANGED_WHEN_SUBSTRUCTURE AS [Changed when]' + char(10)
+ char(9) + ',T.CHANGED_WHO_SUBSTRUCTURE AS [Changed who]' + char(10)
SET @SQL1 += 'FROM' + char(10)
IF @pVar = 'DEFAULT'
SET @SQL1 += 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 VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.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)
ELSE
SET @SQL1 += char(9) + 'TBIDB_OBJECT T ' + char(10)
+ char(9) + 'INNER JOIN VWIDB_DOC_DOCTYPE DT ON T.IDB_OBJ_ID = DT.IDB_OBJ_ID' + char(10)
SET @SQL1 += 'WHERE ' + char(10) + char(9) + 'T.KIND_TYPE_ID = 1 AND T.DELETED = 0 AND T.ACTIVE = 1'
SET @SQL1 += 'WHERE' + char(10)
+ char(9) + 'DT.LANG_CODE = ''' + @pLANGCODE + ''' AND' + char(10)
+ char(9) + 'T.KIND_TYPE_ID = 1 AND T.DELETED = 0 AND T.ACTIVE = 1'
PRINT @SQL1
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @NAME_VIEW + UPPER(LEFT(@pLANGCODE,2)))
BEGIN
@ -4120,7 +4249,6 @@ BEGIN
EXEC sp_executesql @SQL1
END
GO
GO
--EXEC PRIDB_CREATE_VIEW_DOC_DATA 'de-DE','DEFAULT'
--GO
--EXEC PRIDB_CREATE_VIEW_DOC_DATA 'de-DE',''
@ -4913,44 +5041,68 @@ GO
-- ,@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 OR ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJECT] @KIND_TYPE VARCHAR(20),@WHO VARCHAR(100),@IDB_DOCTYPE_ID INTEGER,@FOREIGN_REFID Bigint = 0, @IDB_OBJ_ID BIGINT OUTPUT
ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJECT] @KIND_TYPE VARCHAR(20),@WHO VARCHAR(100),@FOREIGN_REFID Bigint = 0,@PARENT_OBJ_ID BIGINT = 0, @IDB_OBJ_ID BIGINT OUTPUT
AS
BEGIN
DECLARE
@KINDTYPE_ID TINYINT
SELECT @KINDTYPE_ID = GUID FROM TBIDB_OBJECT_KIND WHERE UPPER(KIND_NAME) = UPPER(@KIND_TYPE);
SELECT @KINDTYPE_ID = GUID FROM TBIDB_OBJECT_KIND WHERE KIND_NAME = @KIND_TYPE;
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
BEGIN
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],PARENT_OBJ_ID,[ADDED_WHO]) VALUES (@KINDTYPE_ID,@FOREIGN_REFID,@PARENT_OBJ_ID,@WHO);
END
END
ELSE
BEGIN
INSERT INTO [dbo].[TBIDB_OBJECT]
([KIND_TYPE_ID],[ADDED_WHO]) VALUES (@KINDTYPE_ID,@WHO);
([KIND_TYPE_ID],[REFERENCE_KEY],PARENT_OBJ_ID,[ADDED_WHO]) VALUES (@KINDTYPE_ID,@FOREIGN_REFID,@PARENT_OBJ_ID,@WHO);
END
SELECT @IDB_OBJ_ID = MAX(IDB_OBJ_ID) FROM TBIDB_OBJECT WHERE ADDED_WHO = @WHO;
INSERT INTO TBIDB_OBJECT_BE (IDB_OBJ_ID,BE_ID, ADDED_WHO)
SELECT @IDB_OBJ_ID,BE_ID,@WHO FROM TBIDB_DOCTYPE_BE WHERE DOCTYPE_ID = @IDB_DOCTYPE_ID;
END
GO
-- =============================================
-- Author: DD MS
-- =============================================
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_DOC_DOCTYPE] @pIDB_OBJ_ID BIGINT,@pDoctypeID INTEGER, @pWHO VARCHAR(100)
AS
BEGIN
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_STRUCTURE_TYPE WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND STRUCTURE_ID = 1 AND RELATION_ID = @pDoctypeID )
INSERT INTO TBIDB_OBJECT_STRUCTURE_TYPE (IDB_OBJ_ID,STRUCTURE_ID,RELATION_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,1 ,@pDoctypeID,@pWHO);
UPDATE TBIDB_OBJECT_STRUCTURE_TYPE SET RELATION_ID = @pDoctypeID,CHANGED_WHO = @pWHO
WHERE
IDB_OBJ_ID = @pIDB_OBJ_ID AND STRUCTURE_ID = 1
AND RELATION_ID <> @pDoctypeID;
EXEC PRIDB_OBJECT_CHANGED_SUBSTRUCTURE @pIDB_OBJ_ID,@pWHO
END
GO
-- =============================================
-- Author: DD MS
-- =============================================
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_OBJECT_CHANGED_SUBSTRUCTURE] @pIDB_OBJ_ID BIGINT,@pWHO VARCHAR(100)
AS
BEGIN
UPDATE TBIDB_OBJECT SET
CHANGED_WHEN_SUBSTRUCTURE = GETDATE()
,CHANGED_WHO_SUBSTRUCTURE = @pWHO WHERE IDB_OBJ_ID = @pIDB_OBJ_ID
END
GO
-- =============================================
-- Author: DD MS 15.03.2021
-- Change: 13.07.2021 Filesize
-- =============================================
CREATE 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
CREATE OR 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,@IDB_DOCTYPE_ID INTEGER
AS
BEGIN
DECLARE
@ -4969,7 +5121,11 @@ BEGIN
--SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@REL_PATH);
--SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH));
--PRINT 'PRIDB_NEW_IDBFO: ' + @REL_PATH
INSERT INTO TBIDB_OBJECT_BE (IDB_OBJ_ID,BE_ID, ADDED_WHO)
SELECT @IDB_OBJ_ID,BE_ID,@WHO FROM TBIDB_DOCTYPE_BE WHERE DOCTYPE_ID = @IDB_DOCTYPE_ID;
--ADD THE DOCTYPE
EXEC PRIDB_NEW_DOC_DOCTYPE @IDB_OBJ_ID,@IDB_DOCTYPE_ID, @WHO;
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]
@ -5298,7 +5454,7 @@ GO
-- 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
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT
AS
BEGIN
DECLARE
@ -5333,7 +5489,7 @@ BEGIN
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;
EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, 0,@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)
@ -5441,10 +5597,69 @@ BEGIN
END
GO
-- =============================================
-- Author: DD MS
-- Changed:
-- =============================================
CREATE PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER_FOR_OBJECT @pIDB_OBJ_ID BIGINT, @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5)
AS
DECLARE
@FOLD_PART VARCHAR(250)
BEGIN
DECLARE @FOLDER_DEPTH TINYINT,@FOLDER_PART VARCHAR(900)
SET @FOLDER_DEPTH = 0
DECLARE @PARENT_OBJ_ID BIGINT
--SPLIT FOR FOLDER PARTS
DECLARE cursSplitFolder CURSOR FOR
SELECT Item FROM [dbo].[FN_SPLIT_STRING] (@pDYNAMIC_FOLDER,'\')
OPEN cursSplitFolder
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
WHILE @@FETCH_STATUS = 0
BEGIN
--EACH FOLDER PART WORKED SEPERATELY
IF @FOLDER_DEPTH = 0
BEGIN
SET @PARENT_OBJ_ID = 0
SET @FOLDER_PART = @FOLD_PART
END
ELSE
BEGIN
SET @FOLDER_PART += '\' + @FOLD_PART
END
PRINT '##############################'
PRINT '@FOLDER_PART: ' + @FOLDER_PART
DECLARE @PATH_PART_ID BIGINT,@FOLDER_PART_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLD_PART,@pWHO,@TERM_ID = @PATH_PART_ID OUTPUT;
--EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLDER_PART,'DD MS',@TERM_ID = @FOLDER_PART_ID OUTPUT;
DECLARE @FOLD_PART_IDB_OBJ_ID BIGINT
IF NOT EXISTS(SELECT * FROM VWIDB_STRUCTURE_NODES WHERE TERM_GUID = @PATH_PART_ID AND PARENT_OBJ_ID = @PARENT_OBJ_ID)
BEGIN
PRINT 'FOLDER-PART ' + @FOLD_PART + ' muss angelegt werden'
EXEC PRIDB_NEW_OBJECT 'DYNAMIC_FOLDER',@pWHO,0, @PARENT_OBJ_ID, @IDB_OBJ_ID = @FOLD_PART_IDB_OBJ_ID OUTPUT;
DECLARE @NEW_OBJ_MD_ID BIGINT
EXEC PRIDB_NEW_OBJ_DATA @FOLD_PART_IDB_OBJ_ID, 'VIRTUAL_FOLDER_PART', @pWHO, @FOLD_PART, @pLANG_CODE, 0, @OMD_ID = @NEW_OBJ_MD_ID OUTPUT
END
ELSE
BEGIN
SELECT @FOLD_PART_IDB_OBJ_ID = MAX(IDB_OBJ_ID) FROM VWIDB_STRUCTURE_NODES WHERE TERM_GUID = @PATH_PART_ID AND PARENT_OBJ_ID = @PARENT_OBJ_ID
PRINT 'FOLDER-PART ' + @FOLD_PART + ' EXISTIERT BEREITS'
END
SET @PARENT_OBJ_ID = @FOLD_PART_IDB_OBJ_ID
SET @FOLDER_DEPTH += 1
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
END
CLOSE cursSplitFolder
DEALLOCATE cursSplitFolder
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_DYNAMIC_FOLDER WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND DYN_FOLD_ID = @FOLD_PART_IDB_OBJ_ID)
INSERT INTO TBIDB_OBJECT_DYNAMIC_FOLDER (IDB_OBJ_ID,DYN_FOLD_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@FOLD_PART_IDB_OBJ_ID,@pWHO);
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 ('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);
@ -5456,6 +5671,8 @@ INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailSubject',
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_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,MULTI_CONTEXT) VALUES ('PM-LOGGING',8,0,1);
INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('VIRTUAL_FOLDER',1,1);
INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('VIRTUAL_FOLDER_PART',1,1);
--INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE,MULTI_CONTEXT) VALUES ('ObjectEvents',1,1,1);
INSERT INTO TBIDB_BE_ATTRIBUTE (BE_ID,ATTR_ID,DEFAULT_SEARCH_ATTRIBUTE) SELECT 1,GUID, 1 FROM TBIDB_ATTRIBUTE WHERE TITLE NOT IN ('PM-LOGGING','ObjectEvents') ;
@ -5478,7 +5695,7 @@ BEGIN
@USRID,'GLOBIX_DROPAREA','PROGRESSIVE','System');
END
GO
ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCTYPE] @pDoctypeUnique VARCHAR(100),@pDoctype_Lang VARCHAR(100),@pWHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE'
CREATE OR ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCTYPE] @pDoctypeUnique VARCHAR(100),@pDoctype_Lang VARCHAR(100),@pWHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE'
AS
BEGIN
DECLARE
@ -5520,7 +5737,7 @@ BEGIN
IF EXISTS(SELECT GUID FROM TBIDB_LANGUAGE_TERM WHERE OBJECT_ID = @DOCTYPE_ID AND LANG_ID = @LANG_ID AND TERM_ID <> @MY_DOCTYPE_TERM_ID AND KIND_TYPE = 2)
BEGIN
UPDATE [dbo].[TBIDB_LANGUAGE_TERM] SET TERM_ID = @MY_DOCTYPE_TERM_ID, CHANGED_WHO = @WHO_TERM_ID
WHERE OBJECT_ID = @DOCTYPE_ID AND LANG_ID = @LANG_ID AND KIND_TYPE = 2;
WHERE OBJECT_ID = @DOCTYPE_ID AND LANG_ID = @LANG_ID AND KIND_TYPE = 2 AND TERM_ID <> @MY_DOCTYPE_TERM_ID;
END
END

BIN
00_IDB/Search_Logic.sql Normal file

Binary file not shown.

BIN
00_IDB/Search_TEST.sql Normal file

Binary file not shown.

59
00_IDB/StructureNode.sql Normal file
View File

@ -0,0 +1,59 @@
-- =============================================
-- Author: DD MS
-- Changed:
-- =============================================
CREATE PROCEDURE PRIDB_NEW_DYNAMIC_FOLDER_FOR_OBJECT @pIDB_OBJ_ID BIGINT, @pDYNAMIC_FOLDER VARCHAR(900),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5)
AS
DECLARE
@FOLD_PART VARCHAR(250)
BEGIN
DECLARE @FOLDER_DEPTH TINYINT,@FOLDER_PART VARCHAR(900)
SET @FOLDER_DEPTH = 0
DECLARE @PARENT_OBJ_ID BIGINT
--SPLIT FOR FOLDER PARTS
DECLARE cursSplitFolder CURSOR FOR
SELECT Item FROM [dbo].[FN_SPLIT_STRING] (@pDYNAMIC_FOLDER,'\')
OPEN cursSplitFolder
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
WHILE @@FETCH_STATUS = 0
BEGIN
--EACH FOLDER PART WORKED SEPERATELY
IF @FOLDER_DEPTH = 0
BEGIN
SET @PARENT_OBJ_ID = 0
SET @FOLDER_PART = @FOLD_PART
END
ELSE
BEGIN
SET @FOLDER_PART += '\' + @FOLD_PART
END
PRINT '##############################'
PRINT '@FOLDER_PART: ' + @FOLDER_PART
DECLARE @PATH_PART_ID BIGINT,@FOLDER_PART_ID BIGINT
EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLD_PART,@pWHO,@TERM_ID = @PATH_PART_ID OUTPUT;
--EXEC PRIDB_NEW_TERM 'VARCHAR',@FOLDER_PART,'DD MS',@TERM_ID = @FOLDER_PART_ID OUTPUT;
DECLARE @FOLD_PART_IDB_OBJ_ID BIGINT
IF NOT EXISTS(SELECT * FROM VWIDB_STRUCTURE_NODES WHERE TERM_GUID = @PATH_PART_ID AND PARENT_OBJ_ID = @PARENT_OBJ_ID)
BEGIN
PRINT 'FOLDER-PART ' + @FOLD_PART + ' muss angelegt werden'
EXEC PRIDB_NEW_OBJECT 'DYNAMIC_FOLDER',@pWHO,0, @PARENT_OBJ_ID, @IDB_OBJ_ID = @FOLD_PART_IDB_OBJ_ID OUTPUT;
DECLARE @NEW_OBJ_MD_ID BIGINT
EXEC PRIDB_NEW_OBJ_DATA @FOLD_PART_IDB_OBJ_ID, 'VIRTUAL_FOLDER_PART', @pWHO, @FOLD_PART, @pLANG_CODE, 0, @OMD_ID = @NEW_OBJ_MD_ID OUTPUT
END
ELSE
BEGIN
SELECT @FOLD_PART_IDB_OBJ_ID = MAX(IDB_OBJ_ID) FROM VWIDB_STRUCTURE_NODES WHERE TERM_GUID = @PATH_PART_ID AND PARENT_OBJ_ID = @PARENT_OBJ_ID
PRINT 'FOLDER-PART ' + @FOLD_PART + ' EXISTIERT BEREITS'
END
SET @PARENT_OBJ_ID = @FOLD_PART_IDB_OBJ_ID
SET @FOLDER_DEPTH += 1
FETCH NEXT FROM cursSplitFolder INTO @FOLD_PART
END
CLOSE cursSplitFolder
DEALLOCATE cursSplitFolder
IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_DYNAMIC_FOLDER WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND DYN_FOLD_ID = @FOLD_PART_IDB_OBJ_ID)
INSERT INTO TBIDB_OBJECT_DYNAMIC_FOLDER (IDB_OBJ_ID,DYN_FOLD_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@FOLD_PART_IDB_OBJ_ID,@pWHO);
END

View File

@ -260,6 +260,12 @@ INSERT INTO [dbo].[TBAPPSERV_CRON_DETAIL](
CRON_ID, CON_ID, TITLE ,DT_NAME, RUN_ON_STARTUP, COMMAND) VALUES (
3, 2, 'TBIDB_CATALOG_USER', 'TBIDB_CATALOG_USER', 1,'SELECT * FROM TBIDB_CATALOG_USER');
GO
INSERT INTO [dbo].[TBAPPSERV_CRON_DETAIL](
CRON_ID, CON_ID, TITLE ,DT_NAME, RUN_ON_STARTUP, COMMAND) VALUES (
3, 1, 'VWGI_DOCTYPE_USER', 'VWGI_DOCTYPE_USER', 1,'SELECT A.DOCTYPE_ID,A.USERNAME,DL.Doctype,A.OBJECT_ST_NAME, DL.Doctype_ID as IDBDoctype_ID,DL.LANG_CODE,A.SEQUENCE
FROM VWGI_DOCTYPE_USER A INNER JOIN TBDD_DOKUMENTART DT ON A.DOCTYPE_ID = DT.GUID
INNER JOIN IDB.dbo.VWIDB_DOCTYPE_LANGUAGE DL ON DT.IDB_DOCTYPE_ID = DL.Doctype_ID WHERE A.AKTIV = 1');
GO