From 01e0c726e501dfc087733ce695fecb72a2b3dca3 Mon Sep 17 00:00:00 2001 From: Developer01 Date: Tue, 10 Mar 2026 12:43:37 +0100 Subject: [PATCH] DD_ECM und taskOrgFLOW --- 00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql | 2 +- 00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.4.sql | 17 ++ 00_DB_SETUP_SINGLE/01_IDB/Update/1.2.sql | 130 ++++++++ 01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.9.sql | 282 ++++++++++++++++++ .../08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.8.0.sql | Bin 6612 -> 6772 bytes .../Vorlagen (Cursor, Reseed etc).sql | 2 +- 6 files changed, 431 insertions(+), 2 deletions(-) create mode 100644 00_DB_SETUP_SINGLE/01_IDB/Update/1.2.sql create mode 100644 01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.9.sql diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql index 4e372f8..d97c311 100644 --- a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql +++ b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql @@ -4,7 +4,7 @@ GO SET QUOTED_IDENTIFIER ON GO IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES - WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'MeinTabellenName') + WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'TBDD_USER_KEY_VALUE_PAIR') BEGIN DROP TABLE [TBDD_USER_KEY_VALUE_PAIR]; END diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.4.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.4.sql index 3083005..1cc84d4 100644 --- a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.4.sql +++ b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.4.sql @@ -1,2 +1,19 @@ UPDATE TBDD_BASECONFIG SET DB_VERSION = '2.4.0'; +GO +-- Changed 20.02.2026 Nolock +ALTER VIEW [dbo].[VWDD_USER_CLIENT] +AS + SELECT + T1.GUID AS CLIENT_ID + ,T1.CLIENT_NAME + ,T.USER_ID + ,T2.USERNAME + FROM + TBDD_CLIENT_USER T WITH (NOLOCK) + ,TBDD_CLIENT T1 WITH (NOLOCK) + ,TBDD_USER T2 WITH (NOLOCK) + WHERE + T1.ACTIVE = 1 + AND T.CLIENT_ID = T1.GUID + AND T.USER_ID = T2.GUID GO \ No newline at end of file diff --git a/00_DB_SETUP_SINGLE/01_IDB/Update/1.2.sql b/00_DB_SETUP_SINGLE/01_IDB/Update/1.2.sql new file mode 100644 index 0000000..9bc092e --- /dev/null +++ b/00_DB_SETUP_SINGLE/01_IDB/Update/1.2.sql @@ -0,0 +1,130 @@ +UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.2' where CONFIG_NAME = 'DB_VERSION' +GO + +-- Changed 20.02.2026 MS Nolock +-- Changed 20.10.2023 LANG_ID +ALTER VIEW [dbo].[VWIDB_VALUE_TEXT] AS +select + T.GUID AS MetadataID, + T1.GUID AS AttributID, + T.IDB_OBJ_ID, + T1.TITLE as Attribut, + T3.TERM_VALUE, + T3.GUID TERM_GUID, + T4.LANG_CODE, + T4.GUID as LANG_ID, + T.ADDED_WHO, + T.ADDED_WHEN, + T.CHANGED_WHO [Geändert wer], + T.CHANGED_WHEN [Geändert wann], + T2.GUID TBIDB_TERM_LANGUAGE_GUID +from + TBIDB_OBJECT_METADATA T WITH (NOLOCK) + INNER JOIN TBIDB_ATTRIBUTE T1 WITH (NOLOCK) ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_TERM_LANGUAGE T2 WITH (NOLOCK) ON T.TEXT_TERM_LANG_ID = T2.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 WITH (NOLOCK) ON T2.TEXT_TERM_ID = T3.GUID + INNER JOIN TBIDB_LANGUAGE T4 WITH (NOLOCK) ON T2.LANGUAGE_ID = T4.GUID +GO + +-- Changed 20.02.2026 MS Nolock +ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS +SELECT + [BE_ID] + ,T2.TITLE AS BE + ,[ATTR_ID] + ,T1.TITLE AS ATTR_TITLE + ,T1.TYP_ID + ,T1.TYP_ID as [TYPE_ID] + ,T3.NAME_TYPE AS [TYPE_NAME] + , T1.SYS_ATTRIBUTE + ,'de-DE' LANG_CODE + FROM + TBIDB_BE_ATTRIBUTE T WITH (NOLOCK) INNER JOIN + TBIDB_ATTRIBUTE T1 WITH (NOLOCK) ON T.ATTR_ID = T1.GUID INNER JOIN + TBIDB_BUSINESS_ENTITY T2 WITH (NOLOCK) ON T.BE_ID = T2.GUID INNER JOIN + TBIDB_ATTRIBUTE_TYPE T3 WITH (NOLOCK) ON T1.TYP_ID = T3.GUID + WHERE + T1.DELETED = 0 + +GO + + +CREATE NONCLUSTERED INDEX [IDX_TBIDB_DOC_INFO_ADDEDWHEN] +ON [dbo].[TBIDB_DOC_INFO] ([ADDED_WHEN]) +INCLUDE ([IDB_OBJ_ID],[OBJ_ST_ID],[FILENAME_ONLY],[FILENAME_EXT],[EXTENSION],[RELATIVE_PATH],[ADDED_WHO]) +GO +USE [IDB] +GO +/****** Object: UserDefinedFunction [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_DT] Script Date: 20.02.2026 12:43:37 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- Changed 20.02.2026 MS NoLock +-- Changed 30.12.2022 MS UNIQUE LANGID INTEGRATED +ALTER FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_DT] (@DocID BIGINT, @ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10), @DocID_ISFOREIGN as BIT = False) +RETURNS @Output TABLE (MDGUID BIGINT,TERM_VALUE VARCHAR(900),ADDED_WHEN DATETIME,ADDED_WHO VARCHAR(200)) +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT, + @TERM_RESULT VARCHAR(900) + SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE,@LANG_ID = T.[UNIFIED_LANG_ID] + FROM TBIDB_ATTRIBUTE T WITH (NOLOCK) , TBIDB_ATTRIBUTE_TYPE T1 WITH (NOLOCK) + WHERE T.TYP_ID = T1.GUID AND TITLE = @ATTRIBUTE + BEGIN + IF @LANG_ID = 0 + BEGIN + IF @LANG_CODE = 'de-DE' + SET @LANG_ID = 1 + ELSE + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WITH (NOLOCK) WHERE LANG_CODE = @LANG_CODE + END + END + + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + DECLARE @TL_ID BIGINT + INSERT INTO @Output (MDGUID,TERM_VALUE,ADDED_WHEN,ADDED_WHO) + SELECT MD.GUID, TERM.TERM_VALUE,MD.ADDED_WHEN,MD.ADDED_WHO FROM + TBIDB_TERM_VALUE_VARCHAR TERM WITH (NOLOCK) INNER JOIN TBIDB_TERM_LANGUAGE TLANG WITH (NOLOCK) ON TERM.GUID = TLANG.TEXT_TERM_ID + INNER JOIN TBIDB_OBJECT_METADATA MD WITH (NOLOCK) 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 --ORDER BY MD.GUID + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + INSERT INTO @Output (MDGUID,TERM_VALUE,ADDED_WHEN,ADDED_WHO) + SELECT MD.GUID, TERM.TERM_VALUE,MD.ADDED_WHEN,MD.ADDED_WHO FROM TBIDB_TERM_VALUE_INTEGER TERM WITH (NOLOCK) , TBIDB_OBJECT_METADATA MD WITH (NOLOCK) WHERE MD.INT_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID-- ORDER BY MD.GUID + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + INSERT INTO @Output (MDGUID,TERM_VALUE,ADDED_WHEN,ADDED_WHO) + SELECT MD.GUID, TERM.TERM_VALUE,MD.ADDED_WHEN,MD.ADDED_WHO FROM TBIDB_TERM_VALUE_FLOAT TERM WITH (NOLOCK), TBIDB_OBJECT_METADATA MD WITH (NOLOCK) WHERE MD.FLOAT_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID-- ORDER BY MD.GUID + END + ELSE IF @TYP_ID = 4 + BEGIN + INSERT INTO @Output (MDGUID,TERM_VALUE,ADDED_WHEN,ADDED_WHO) + SELECT MD.GUID, TERM.TERM_VALUE,MD.ADDED_WHEN,MD.ADDED_WHO FROM TBIDB_TERM_VALUE_DECIMAL TERM WITH (NOLOCK), TBIDB_OBJECT_METADATA MD WITH (NOLOCK) WHERE MD.DEC_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID-- ORDER BY MD.GUID + END + ELSE IF @TYP_ID = 5 + BEGIN + INSERT INTO @Output (MDGUID,TERM_VALUE,ADDED_WHEN,ADDED_WHO) + SELECT MD.GUID, TERM.TERM_VALUE,MD.ADDED_WHEN,MD.ADDED_WHO FROM TBIDB_TERM_VALUE_DATE TERM WITH (NOLOCK), TBIDB_OBJECT_METADATA MD WITH (NOLOCK) WHERE MD.DATE_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID-- ORDER BY MD.GUID + END +RETURN +END +GO + + + + diff --git a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.9.sql b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.9.sql new file mode 100644 index 0000000..e422afb --- /dev/null +++ b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.9.sql @@ -0,0 +1,282 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.9' where NAME = 'Process-Manager'; +GO +USE [DD_ECM] +GO + +/****** Object: View [dbo].[VWPM_CONTROL_INDEX] Script Date: 20.02.2026 10:00:05 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO +-- Changed 20.02.2026 Nolock +ALTER VIEW [dbo].[VWPM_CONTROL_INDEX] AS + SELECT TOP 100 PERCENT + T1.GUID, + T.GUID PROFIL_ID, + T.NAME PROFIL_NAME, + T.LOG_INDEX, + T1.NAME CTRL_NAME, + T1.CTRL_TYPE, + T1.CTRL_TEXT, + T1.X_LOC, + T1.Y_LOC, + T1.FONT_COLOR, + T1.FONT_FAMILY, + T1.FONT_SIZE, + T1.FONT_STYLE, + T1.WIDTH, + T1.HEIGHT, + COALESCE(T1.INDEX_NAME,'') INDEX_NAME, + 0 AS IDB_TYP, + T1.VALIDATION, + T1.CHOICE_LIST, + T1.TYP, + T1.CONNECTION_ID, + CASE WHEN T1.[SQL_UEBERPRUEFUNG] IS NULL THEN '' ELSE T1.[SQL_UEBERPRUEFUNG] END AS [SQL_UEBERPRUEFUNG], + T1.[READ_ONLY], + T1.LOAD_IDX_VALUE, + T1.DEFAULT_VALUE, + T1.REGEX_MATCH, + T1.REGEX_MESSAGE_DE, + T1.REGEX_MESSAGE_EN, + T1.OVERWRITE_DATA, + T1.SET_CONTROL_DATA, + T1.SAVE_CHANGE_ON_ENABLED, + T1.FORMAT_STRING CTRL_FORMAT_STRING, + T1.BACKCOLOR_IF CTRL_BACKCOLOR_IF, + T1.VKT_ADD_ITEM + FROM + TBPM_PROFILE T WITH (NOLOCK), + TBPM_PROFILE_CONTROLS T1 WITH (NOLOCK) + WHERE + T.GUID = T1.PROFIL_ID + AND T1.CONTROL_ACTIVE = 1 + ORDER BY + T.GUID, + T1.X_LOC, + T1.Y_LOC +GO +USE [DD_ECM] +GO +-- Changed 20.02.2026 MS Nolock +-- Changed: 30.11.2022 MS SHOW_DOC +ALTER VIEW [dbo].[VWPM_PROFILE_ACTIVE] AS +SELECT + T1.[GUID] + ,T1.[NAME] + ,T1.[TITLE] + ,T1.[WD_OBJECTTYPE] + ,T1.[PRIORITY] + ,T1.[DESCRIPTION] + ,T1.[TYPE] + ,T1.[LOG_INDEX] + ,T1.[IN_WORK] + ,T1.[ACTIVE] + ,T1.[WD_SEARCH] + ,T1.[PM_VEKTOR_INDEX] + ,T1.[NO_OF_DOCUMENTS] + ,T1.[FINAL_PROFILE] + ,T1.[FINAL_TEXT] + ,T1.[MOVE2FOLDER] + ,T1.[SORT_BY_LATEST] + ,T1.[WORK_HISTORY_ENTRY] + ,T1.[ANNOTATE_ALL_WORK_HISTORY_ENTRIES] + ,T1.[ANNOTATE_WORK_HISTORY_ENTRY] + ,T1.[SQL_VIEW] + ,T1.[ADDED_WHO] + ,T1.[ADDED_WHEN] + ,T1.[CHANGED_WHO] + ,T1.[CHANGED_WHEN] + ,T1.[DISPLAY_MODE] + ,T1.SHOW_DOCUMENT + + + ,(SELECT COUNT(GUID) FROM TBPM_PROFILE_FILES WITH (READPAST) WHERE PROFIL_ID = T1.GUID) AS FILE_COUNT, + [dbo].[FNPM_PROFILE_GROUP_COLOR] (T1.GUID) AS 'GROUP_COLOR', + dbo.FNPM_PROFILE_GROUP_FONT_COLOR (T1.GUID) AS 'GROUP_FONT_COLOR', + [dbo].[FNPM_PROFILE_GROUP_TEXT] (T1.GUID) AS 'GROUP_TEXT' +FROM + TBPM_PROFILE T1 WITH (NOLOCK) +WHERE + T1.ACTIVE = 1 + +GO +--DROP TABLE TBPM_PROFILE_QUEUE; +CREATE TABLE dbo.TBPM_PROFILE_QUEUE +( + QUEUE_ID BIGINT IDENTITY(1,1) NOT NULL, + FILE_GUID BIGINT NOT NULL, + DOC_ID BIGINT NOT NULL, + PROFIL_ID INT NOT NULL, + STATUS TINYINT NOT NULL DEFAULT 0, -- 0=READY, 1=WORKING, 2=DONE, 3=ERROR + TRY_COUNT SMALLINT NOT NULL DEFAULT 0, + CREATED_WHEN DATETIME2(3) NOT NULL DEFAULT SYSDATETIME(), + STARTED_WHEN DATETIME2(3) NULL, + FINISHED_WHEN DATETIME2(3) NULL, + ERROR_MSG NVARCHAR(2000) NULL, + CONSTRAINT PK_TBPM_PROFILE_QUEUE + PRIMARY KEY CLUSTERED (QUEUE_ID) +); +GO +CREATE NONCLUSTERED INDEX IX_QUEUE_READY +ON dbo.TBPM_PROFILE_QUEUE (PROFIL_ID, QUEUE_ID) +INCLUDE (FILE_GUID, DOC_ID) +WHERE STATUS = 0 +WITH (FILLFACTOR = 90); +GO +CREATE UNIQUE INDEX UX_QUEUE_ACTIVE +ON dbo.TBPM_PROFILE_QUEUE (FILE_GUID, PROFIL_ID) +WHERE STATUS IN (0,1); +GO +CREATE NONCLUSTERED INDEX IX_QUEUE_WORKING_TIMEOUT +ON dbo.TBPM_PROFILE_QUEUE (STATUS, STARTED_WHEN) +WHERE STATUS = 1; +GO +CREATE OR ALTER PROCEDURE dbo.PRTF_CUST_WORKFLOW_WORKER + @ProfilFilter NVARCHAR(200) = NULL, @BatchSize INT = 20 +AS +BEGIN + IF @BatchSize IS NULL OR @BatchSize < 1 + SET @BatchSize = 1; + + IF @BatchSize > 100 + SET @BatchSize = 100; -- harte Obergrenze + SET NOCOUNT ON; + SET XACT_ABORT ON; + + CREATE TABLE #Batch + ( + QUEUE_ID BIGINT, + FILE_GUID BIGINT, + DOC_ID BIGINT, + PROFIL_ID INT + ); + + WHILE 1 = 1 + BEGIN + DELETE FROM #Batch; + + BEGIN TRAN; + + ;WITH cte AS + ( + SELECT TOP (@BatchSize) QUEUE_ID + FROM dbo.TBPM_PROFILE_QUEUE WITH (ROWLOCK, READPAST, UPDLOCK) + WHERE STATUS = 0 + AND ( + @ProfilFilter IS NULL + OR PROFIL_ID IN ( + SELECT TRY_CAST(value AS INT) + FROM STRING_SPLIT(@ProfilFilter, ',') + ) + ) + ORDER BY QUEUE_ID + ) + UPDATE q + SET STATUS = 1, + STARTED_WHEN = SYSDATETIME() + OUTPUT INSERTED.QUEUE_ID, INSERTED.FILE_GUID, INSERTED.DOC_ID ,INSERTED.PROFIL_ID + INTO #Batch + FROM dbo.TBPM_PROFILE_QUEUE q + INNER JOIN cte ON q.QUEUE_ID = cte.QUEUE_ID; + + IF @@ROWCOUNT = 0 + BEGIN + COMMIT; + BREAK; + END + + COMMIT; + + ------------------------------------------------ + -- Verarbeitung außerhalb der Transaktion + ------------------------------------------------ + DECLARE + @QueueId BIGINT, + @FileGuid BIGINT, + @DocID BIGINT, + @ProfilId INT; + + DECLARE cur CURSOR LOCAL FAST_FORWARD FOR + SELECT QUEUE_ID, FILE_GUID, DOC_ID, PROFIL_ID FROM #Batch; + + OPEN cur; + FETCH NEXT FROM cur INTO @QueueId, @FileGuid, @DocID, @ProfilId; + + WHILE @@FETCH_STATUS = 0 + BEGIN + BEGIN TRY + DECLARE @MSG NVARCHAR(250) = 'WORKING ON @DocID: ' + CONVERT(NVARCHAR(100),@DocID) + RAISERROR (@MSG, 0, 1) WITH NOWAIT; + ------------------------------------------------ + -- HIER DEINE BUSINESS LOGIK EINSETZEN + -- z.B. PRCUST_ADD_OBJECT_JOB + ------------------------------------------------ + IF @ProfilId = 64 + BEGIN + PRINT 'PROFIL 64'; + END + ELSE + BEGIN + IF @ProfilId IN (6,10,11,12,13) + BEGIN + SET @MSG = 'CREATE_WF_OVERVIEW_RECORD_MB...' + RAISERROR (@MSG, 0, 1) WITH NOWAIT; + EXEC PRCUST_ADD_OBJECT_JOB + @DocId, + 'CREATE_WF_OVERVIEW_RECORD_MB', + 'PRTF_CUST_WORKFLOW_WORKER_OPT', + @ProfilId, + @FileGuid; + END + + IF @ProfilId = 12 + BEGIN + EXEC PRCUST_ADD_OBJECT_JOB + @DocId, + 'CREATE_WF41_RECORD', + 'PRTF_CUST_WORKFLOW_WORKER_OPT'; + END + + IF @ProfilId <> 12 + BEGIN + SET @MSG = 'CREATE_WF_OVERVIEW_RECORD...' + RAISERROR (@MSG, 0, 1) WITH NOWAIT; + EXEC PRCUST_ADD_OBJECT_JOB + @DocId, + 'CREATE_WF_OVERVIEW_RECORD', + 'PRTF_CUST_WORKFLOW_WORKER_OPT', + @ProfilId, + @FileGuid; + END + END + + UPDATE dbo.TBPM_PROFILE_QUEUE + SET STATUS = 2, + FINISHED_WHEN = SYSDATETIME() + WHERE QUEUE_ID = @QueueId; + + END TRY + BEGIN CATCH + + UPDATE dbo.TBPM_PROFILE_QUEUE + SET STATUS = 3, + TRY_COUNT = TRY_COUNT + 1, + ERROR_MSG = ERROR_MESSAGE() + WHERE QUEUE_ID = @QueueId; + + END CATCH + + FETCH NEXT FROM cur INTO @QueueId, @FileGuid, @DocID, @ProfilId; + END + + CLOSE cur; + DEALLOCATE cur; + + END +END; +GO + + + diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.8.0.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.8.0.sql index da7c92dbe55292cf352860be4756a1a10c21d9c9..56dc665cbba0f08828cec03187248a7401813b27 100644 GIT binary patch delta 144 zcmca&{KaI$70F0m1}+9i1|NnH23Lk41_dDP$lwIzyMozH3;_(j4E_x93~mgbV9{V8 zJCq?9tQw-%g~0`=7A7Ch-~lutn89OmI-{(X0)rn=cL-4452(ur2o->;U4g0{!F-U6 JIuKej001U)7H$9l delta 7 Ocmexja>aPV6-fXPtOLye diff --git a/Scripts_General/Vorlagen (Cursor, Reseed etc).sql b/Scripts_General/Vorlagen (Cursor, Reseed etc).sql index 334d267..1ae2bb3 100644 --- a/Scripts_General/Vorlagen (Cursor, Reseed etc).sql +++ b/Scripts_General/Vorlagen (Cursor, Reseed etc).sql @@ -28,7 +28,7 @@ End SELECT type, * FROM sys.objects -WHERE OBJECT_DEFINITION(object_id) LIKE '%TBCUST_WM_FOLDERS%' +WHERE OBJECT_DEFINITION(object_id) LIKE '%TBTF_PROFILE_FILES_WORK%' --AND type IN ('V') ORDER BY name