From 047e8e814468529c65734cdbd7170fafcf13aef1 Mon Sep 17 00:00:00 2001 From: Developer01 Date: Tue, 15 Sep 2026 12:50:47 +0200 Subject: [PATCH] taskFLOW 3.7 --- 01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.7.sql | 817 ++++++++++-------- 1 file changed, 462 insertions(+), 355 deletions(-) diff --git a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.7.sql b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.7.sql index db37a11..ea09147 100644 --- a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.7.sql +++ b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/3.7.sql @@ -1,370 +1,231 @@ UPDATE TBDD_MODULES SET DB_VERSION = '3.7' where NAME = 'Process-Manager'; GO -/* - Freitag, 21. August 202611:47:09 - Benutzende Person: sa - Server: sDD-VHP04-SQL19\DD_TESTING01 - Datenbank: DD_ECM - Anwendung: -*/ +--- MK / V3 dieses Update Skripts BEGIN TRANSACTION -SET QUOTED_IDENTIFIER ON -SET ARITHABORT ON -SET NUMERIC_ROUNDABORT OFF -SET CONCAT_NULL_YIELDS_NULL ON -SET ANSI_NULLS ON -SET ANSI_PADDING ON -SET ANSI_WARNINGS ON + SET QUOTED_IDENTIFIER ON + SET ARITHABORT ON + SET NUMERIC_ROUNDABORT OFF + SET CONCAT_NULL_YIELDS_NULL ON + SET ANSI_NULLS ON + SET ANSI_PADDING ON + SET ANSI_WARNINGS ON COMMIT -BEGIN TRANSACTION -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE -GO -ALTER TABLE dbo.TBPM_PROFILE SET (LOCK_ESCALATION = TABLE) -GO -COMMIT -BEGIN TRANSACTION -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT FK_TBTF_CFG_COCKPIT_DEFINITION_TBTF_CFG_COCKPIT -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT SET (LOCK_ESCALATION = TABLE) -GO -COMMIT -BEGIN TRANSACTION -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ACTIVE -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_PARENT_ID -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_TYPE -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ICON -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHO -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHEN -GO -CREATE TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION - ( - PK_CFG_COCKPIT_DEFINITION_ID bigint NOT NULL IDENTITY (1, 1), - FK_CFG_COCKPIT_ID bigint NOT NULL, - ACTIVE bit NOT NULL, - PARENT_ID int NOT NULL, - TYPE_ID tinyint NOT NULL, - ICON_ID smallint NOT NULL, - NAME nvarchar(150) NULL, - FK_PROFILE_ID int NULL, - FK_CHART_ID int NULL, - FK_MONITOR_ID int NULL, - SQL_QUERY nvarchar(MAX) NOT NULL, - SQL_QUERY_COUNT nvarchar(MAX) NULL, - COMMENT nvarchar(500) NULL, - CFG_SEQUENCE smallint NOT NULL, - ADDED_WHO nvarchar(50) NOT NULL, - ADDED_WHEN datetime NOT NULL, - CHANGED_WHO nvarchar(50) NULL, - CHANGED_WHEN datetime NULL - ) ON [PRIMARY] - TEXTIMAGE_ON [PRIMARY] -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION SET (LOCK_ESCALATION = TABLE) -GO -DECLARE @v sql_variant -SET @v = N'Primary key' -EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'PK_CFG_COCKPIT_DEFINITION_ID' -GO -DECLARE @v sql_variant -SET @v = N'On / Off Switch' -EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'ACTIVE' -GO -DECLARE @v sql_variant -SET @v = N'0 = Overview, 1 = Profile, 2 = Monitoring, 3 = Chart' -EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'TYPE_ID' -GO -DECLARE @v sql_variant -SET @v = N'Zahlenwerte für Symbole' -EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'ICON_ID' -GO -DECLARE @v sql_variant -SET @v = N'Optional name' -EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'NAME' -GO -DECLARE @v sql_variant -SET @v = N'Optional description' -EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'COMMENT' -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_ACTIVE DEFAULT ((1)) FOR ACTIVE -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_PARENT_ID DEFAULT ((0)) FOR PARENT_ID -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_TYPE DEFAULT ((0)) FOR TYPE_ID -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_ICON DEFAULT ((0)) FOR ICON_ID -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_CFG_SEQUENCE DEFAULT ((0)) FOR CFG_SEQUENCE -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHO DEFAULT (N'DEFAULT') FOR ADDED_WHO -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHEN DEFAULT (getdate()) FOR ADDED_WHEN -GO -SET IDENTITY_INSERT dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ON -GO -IF EXISTS(SELECT * FROM dbo.TBTF_CFG_COCKPIT_DEFINITION) - EXEC('INSERT INTO dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION (PK_CFG_COCKPIT_DEFINITION_ID, FK_CFG_COCKPIT_ID, ACTIVE, PARENT_ID, TYPE_ID, ICON_ID, NAME, FK_PROFILE_ID, FK_CHART_ID, FK_MONITOR_ID, SQL_QUERY, SQL_QUERY_COUNT, COMMENT, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN) - SELECT PK_CFG_COCKPIT_DEFINITION_ID, FK_CFG_COCKPIT_ID, ACTIVE, PARENT_ID, TYPE_ID, ICON_ID, NAME, FK_PROFILE_ID, FK_CHART_ID, FK_MONITOR_ID, SQL_QUERY, SQL_QUERY_COUNT, COMMENT, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM dbo.TBTF_CFG_COCKPIT_DEFINITION WITH (HOLDLOCK TABLOCKX)') -GO -SET IDENTITY_INSERT dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION OFF -GO -DROP TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION -GO -EXECUTE sp_rename N'dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'TBTF_CFG_COCKPIT_DEFINITION', 'OBJECT' -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - PK_TBTF_CFG_COCKPIT_DEFINITION_PK_COCKPIT_ID PRIMARY KEY CLUSTERED - ( - PK_CFG_COCKPIT_DEFINITION_ID - ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - FK_TBTF_CFG_COCKPIT_DEFINITION_TBTF_CFG_COCKPIT FOREIGN KEY - ( - FK_CFG_COCKPIT_ID - ) REFERENCES dbo.TBTF_CFG_COCKPIT - ( - PK_CFG_COCKPIT_ID - ) ON UPDATE NO ACTION - ON DELETE NO ACTION +---------------------------- MAP Tabelle ---------------------------- +IF ( + SELECT count(*) + FROM sys.columns + WHERE name = 'SEQUENCE' + AND object_id = OBJECT_ID('TBTF_MAP_COCKPIT') +) > 0 BEGIN + + BEGIN TRANSACTION + PRINT 'Tabelle TBTF_MAP_COCKPIT wird angepasst!' + EXECUTE sp_rename N'dbo.TBTF_MAP_COCKPIT.SEQUENCE', N'Tmp_MAP_SEQUENCE', 'COLUMN' + EXECUTE sp_rename N'dbo.TBTF_MAP_COCKPIT.Tmp_MAP_SEQUENCE', N'MAP_SEQUENCE', 'COLUMN' + ALTER TABLE dbo.TBTF_MAP_COCKPIT SET (LOCK_ESCALATION = TABLE) + COMMIT + +END ELSE BEGIN + + PRINT 'Tabelle TBTF_MAP_COCKPIT wird nicht angepasst!' + +END + +---------------------------- CFG Tabelle ---------------------------- + +IF ( + SELECT count(*) + FROM sys.columns + WHERE name = 'CFG_SEQUENCE' + AND object_id = OBJECT_ID('TBTF_CFG_COCKPIT_DEFINITION') +) = 0 BEGIN + + PRINT 'Tabelle TBTF_CFG_COCKPIT_DEFINITION wird angepasst!' + + ALTER TABLE dbo.TBTF_CFG_COCKPIT SET (LOCK_ESCALATION = TABLE) + ALTER TABLE dbo.TBPM_PROFILE SET (LOCK_ESCALATION = TABLE) + + + BEGIN TRY + + ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION + DROP CONSTRAINT FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE + + ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION + DROP CONSTRAINT FK_TBTF_CFG_COCKPIT_DEFINITION_TBTF_CFG_COCKPIT + + ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION + DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ACTIVE + + ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION + DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_PARENT_ID + + ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION + DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_TYPE + + ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION + DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ICON + + ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION + DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHO + + ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION + DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHEN + + END TRY BEGIN CATCH + + PRINT 'WARNING! Old contraints cannot be droped' + PRINT ERROR_MESSAGE() + + END CATCH + + + + DROP TABLE IF EXISTS dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION; + + CREATE TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION + ( + PK_CFG_COCKPIT_DEFINITION_ID bigint NOT NULL IDENTITY (1, 1), + FK_CFG_COCKPIT_ID bigint NOT NULL, + ACTIVE bit NOT NULL, + PARENT_ID int NOT NULL, + TYPE_ID tinyint NOT NULL, + ICON_ID smallint NOT NULL, + NAME nvarchar(150) NULL, + FK_PROFILE_ID int NULL, + FK_CHART_ID int NULL, + FK_MONITOR_ID int NULL, + SQL_QUERY nvarchar(MAX) NOT NULL, + SQL_QUERY_COUNT nvarchar(MAX) NULL, + COMMENT nvarchar(500) NULL, + CFG_SEQUENCE smallint NOT NULL, + ADDED_WHO nvarchar(50) NOT NULL, + ADDED_WHEN datetime NOT NULL, + CHANGED_WHO nvarchar(50) NULL, + CHANGED_WHEN datetime NULL + ) ON [PRIMARY] + TEXTIMAGE_ON [PRIMARY] + + ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION SET (LOCK_ESCALATION = TABLE) + DECLARE @v1 sql_variant, @v2 sql_variant, @v3 sql_variant, @v4 sql_variant, @v5 sql_variant, @v6 sql_variant + + SET @v1 = N'Primary key' + EXECUTE sp_addextendedproperty N'MS_Description', @v1, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'PK_CFG_COCKPIT_DEFINITION_ID' + + SET @v2 = N'On / Off Switch' + EXECUTE sp_addextendedproperty N'MS_Description', @v2, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'ACTIVE' + + SET @v3 = N'0 = Overview, 1 = Profile, 2 = Monitoring, 3 = Chart' + EXECUTE sp_addextendedproperty N'MS_Description', @v3, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'TYPE_ID' + + SET @v4 = N'Zahlenwerte für Symbole' + EXECUTE sp_addextendedproperty N'MS_Description', @v4, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'ICON_ID' + + SET @v5 = N'Optional name' + EXECUTE sp_addextendedproperty N'MS_Description', @v5, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'NAME' + + SET @v6 = N'Optional description' + EXECUTE sp_addextendedproperty N'MS_Description', @v6, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'COMMENT' + + + BEGIN TRY + + ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT + PK_TBTF_CFG_COCKPIT_DEFINITION_PK_COCKPIT_ID PRIMARY KEY CLUSTERED + ( + PK_CFG_COCKPIT_DEFINITION_ID + ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + + ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT + FK_TBTF_CFG_COCKPIT_DEFINITION_TBTF_CFG_COCKPIT FOREIGN KEY + ( + FK_CFG_COCKPIT_ID + ) REFERENCES dbo.TBTF_CFG_COCKPIT + ( + PK_CFG_COCKPIT_ID + ) ON UPDATE NO ACTION + ON DELETE NO ACTION -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION WITH NOCHECK ADD CONSTRAINT - FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE FOREIGN KEY - ( - FK_PROFILE_ID - ) REFERENCES dbo.TBPM_PROFILE - ( - GUID - ) ON UPDATE NO ACTION - ON DELETE NO ACTION + ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION WITH NOCHECK ADD CONSTRAINT + FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE FOREIGN KEY + ( + FK_PROFILE_ID + ) REFERENCES dbo.TBPM_PROFILE + ( + GUID + ) ON UPDATE NO ACTION + ON DELETE NO ACTION -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - NOCHECK CONSTRAINT FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE -GO -COMMIT -/* - Freitag, 21. August 202614:14:45 - Benutzende Person: sa - Server: sDD-VHP04-SQL19\DD_TESTING01 - Datenbank: DD_ECM - Anwendung: -*/ + ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION + NOCHECK CONSTRAINT FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE -/* Überprüfen Sie das Skript gründlich, bevor Sie es außerhalb des Datenbank-Designer-Kontexts ausführen, um potenzielle Datenverluste zu vermeiden.*/ -BEGIN TRANSACTION -SET QUOTED_IDENTIFIER ON -SET ARITHABORT ON -SET NUMERIC_ROUNDABORT OFF -SET CONCAT_NULL_YIELDS_NULL ON -SET ANSI_NULLS ON -SET ANSI_PADDING ON -SET ANSI_WARNINGS ON -COMMIT -BEGIN TRANSACTION -GO -EXECUTE sp_rename N'dbo.TBTF_MAP_COCKPIT.SEQUENCE', N'Tmp_MAP_SEQUENCE', 'COLUMN' -GO -EXECUTE sp_rename N'dbo.TBTF_MAP_COCKPIT.Tmp_MAP_SEQUENCE', N'MAP_SEQUENCE', 'COLUMN' -GO -ALTER TABLE dbo.TBTF_MAP_COCKPIT SET (LOCK_ESCALATION = TABLE) -GO -COMMIT -/* - Freitag, 21. August 202611:47:09 - Benutzende Person: sa - Server: sDD-VHP04-SQL19\DD_TESTING01 - Datenbank: DD_ECM - Anwendung: -*/ + ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT + DF_TBTF_CFG_COCKPIT_DEFINITION_ACTIVE DEFAULT ((1)) FOR ACTIVE -BEGIN TRANSACTION -SET QUOTED_IDENTIFIER ON -SET ARITHABORT ON -SET NUMERIC_ROUNDABORT OFF -SET CONCAT_NULL_YIELDS_NULL ON -SET ANSI_NULLS ON -SET ANSI_PADDING ON -SET ANSI_WARNINGS ON -COMMIT -BEGIN TRANSACTION -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE -GO -ALTER TABLE dbo.TBPM_PROFILE SET (LOCK_ESCALATION = TABLE) -GO -COMMIT -BEGIN TRANSACTION -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT FK_TBTF_CFG_COCKPIT_DEFINITION_TBTF_CFG_COCKPIT -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT SET (LOCK_ESCALATION = TABLE) -GO -COMMIT -BEGIN TRANSACTION -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ACTIVE -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_PARENT_ID -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_TYPE -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ICON -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHO -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHEN -GO -CREATE TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION - ( - PK_CFG_COCKPIT_DEFINITION_ID bigint NOT NULL IDENTITY (1, 1), - FK_CFG_COCKPIT_ID bigint NOT NULL, - ACTIVE bit NOT NULL, - PARENT_ID int NOT NULL, - TYPE_ID tinyint NOT NULL, - ICON_ID smallint NOT NULL, - NAME nvarchar(150) NULL, - FK_PROFILE_ID int NULL, - FK_CHART_ID int NULL, - FK_MONITOR_ID int NULL, - SQL_QUERY nvarchar(MAX) NOT NULL, - SQL_QUERY_COUNT nvarchar(MAX) NULL, - COMMENT nvarchar(500) NULL, - CFG_SEQUENCE smallint NOT NULL, - ADDED_WHO nvarchar(50) NOT NULL, - ADDED_WHEN datetime NOT NULL, - CHANGED_WHO nvarchar(50) NULL, - CHANGED_WHEN datetime NULL - ) ON [PRIMARY] - TEXTIMAGE_ON [PRIMARY] -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION SET (LOCK_ESCALATION = TABLE) -GO -DECLARE @v sql_variant -SET @v = N'Primary key' -EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'PK_CFG_COCKPIT_DEFINITION_ID' -GO -DECLARE @v sql_variant -SET @v = N'On / Off Switch' -EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'ACTIVE' -GO -DECLARE @v sql_variant -SET @v = N'0 = Overview, 1 = Profile, 2 = Monitoring, 3 = Chart' -EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'TYPE_ID' -GO -DECLARE @v sql_variant -SET @v = N'Zahlenwerte für Symbole' -EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'ICON_ID' -GO -DECLARE @v sql_variant -SET @v = N'Optional name' -EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'NAME' -GO -DECLARE @v sql_variant -SET @v = N'Optional description' -EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'COLUMN', N'COMMENT' -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_ACTIVE DEFAULT ((1)) FOR ACTIVE -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_PARENT_ID DEFAULT ((0)) FOR PARENT_ID -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_TYPE DEFAULT ((0)) FOR TYPE_ID -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_ICON DEFAULT ((0)) FOR ICON_ID -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_CFG_SEQUENCE DEFAULT ((0)) FOR CFG_SEQUENCE -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHO DEFAULT (N'DEFAULT') FOR ADDED_WHO -GO -ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHEN DEFAULT (getdate()) FOR ADDED_WHEN -GO -SET IDENTITY_INSERT dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ON -GO -IF EXISTS(SELECT * FROM dbo.TBTF_CFG_COCKPIT_DEFINITION) - EXEC('INSERT INTO dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION (PK_CFG_COCKPIT_DEFINITION_ID, FK_CFG_COCKPIT_ID, ACTIVE, PARENT_ID, TYPE_ID, ICON_ID, NAME, FK_PROFILE_ID, FK_CHART_ID, FK_MONITOR_ID, SQL_QUERY, SQL_QUERY_COUNT, COMMENT, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN) - SELECT PK_CFG_COCKPIT_DEFINITION_ID, FK_CFG_COCKPIT_ID, ACTIVE, PARENT_ID, TYPE_ID, ICON_ID, NAME, FK_PROFILE_ID, FK_CHART_ID, FK_MONITOR_ID, SQL_QUERY, SQL_QUERY_COUNT, COMMENT, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM dbo.TBTF_CFG_COCKPIT_DEFINITION WITH (HOLDLOCK TABLOCKX)') -GO -SET IDENTITY_INSERT dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION OFF -GO -DROP TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION -GO -EXECUTE sp_rename N'dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'TBTF_CFG_COCKPIT_DEFINITION', 'OBJECT' -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - PK_TBTF_CFG_COCKPIT_DEFINITION_PK_COCKPIT_ID PRIMARY KEY CLUSTERED - ( - PK_CFG_COCKPIT_DEFINITION_ID - ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT + DF_TBTF_CFG_COCKPIT_DEFINITION_PARENT_ID DEFAULT ((0)) FOR PARENT_ID + ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT + DF_TBTF_CFG_COCKPIT_DEFINITION_TYPE DEFAULT ((0)) FOR TYPE_ID + + ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT + DF_TBTF_CFG_COCKPIT_DEFINITION_ICON DEFAULT ((0)) FOR ICON_ID + + ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT + DF_TBTF_CFG_COCKPIT_DEFINITION_CFG_SEQUENCE DEFAULT ((0)) FOR CFG_SEQUENCE + + ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT + DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHO DEFAULT (N'DEFAULT') FOR ADDED_WHO + + ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT + DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHEN DEFAULT (getdate()) FOR ADDED_WHEN + + + END TRY BEGIN CATCH + + PRINT 'ERROR! New contraints cannot be created' + PRINT ERROR_MESSAGE() + + END CATCH + + + + BEGIN TRY + + SET IDENTITY_INSERT dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ON + + IF EXISTS(SELECT * FROM dbo.TBTF_CFG_COCKPIT_DEFINITION) + EXEC('INSERT INTO dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION (PK_CFG_COCKPIT_DEFINITION_ID, FK_CFG_COCKPIT_ID, ACTIVE, PARENT_ID, TYPE_ID, ICON_ID, NAME, FK_PROFILE_ID, FK_CHART_ID, FK_MONITOR_ID, SQL_QUERY, SQL_QUERY_COUNT, COMMENT, CFG_SEQUENCE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN) + SELECT PK_CFG_COCKPIT_DEFINITION_ID, FK_CFG_COCKPIT_ID, ACTIVE, PARENT_ID, TYPE_ID, ICON_ID, NAME, FK_PROFILE_ID, FK_CHART_ID, FK_MONITOR_ID, SQL_QUERY, SQL_QUERY_COUNT, COMMENT, 0, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM dbo.TBTF_CFG_COCKPIT_DEFINITION WITH (HOLDLOCK TABLOCKX)') + + SET IDENTITY_INSERT dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION OFF + + + DROP TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION + + EXECUTE sp_rename N'dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION', N'TBTF_CFG_COCKPIT_DEFINITION', 'OBJECT' + + + END TRY BEGIN CATCH + + PRINT 'ERROR! Transering data' + PRINT ERROR_MESSAGE() + + END CATCH + + +END ELSE BEGIN + + PRINT 'Tabelle TBTF_CFG_COCKPIT_DEFINITION wird NICHT angepasst!' + +END GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT - FK_TBTF_CFG_COCKPIT_DEFINITION_TBTF_CFG_COCKPIT FOREIGN KEY - ( - FK_CFG_COCKPIT_ID - ) REFERENCES dbo.TBTF_CFG_COCKPIT - ( - PK_CFG_COCKPIT_ID - ) ON UPDATE NO ACTION - ON DELETE NO ACTION - -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION WITH NOCHECK ADD CONSTRAINT - FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE FOREIGN KEY - ( - FK_PROFILE_ID - ) REFERENCES dbo.TBPM_PROFILE - ( - GUID - ) ON UPDATE NO ACTION - ON DELETE NO ACTION - -GO -ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION - NOCHECK CONSTRAINT FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE -GO -COMMIT -GO + +---------------------------- Funktionen ---------------------------- + -- [PRTF_DEL_COCKPIT_DEFINITION] -- ================================================================= -- Deletes a cockpit an all relations @@ -387,4 +248,250 @@ BEGIN DELETE FROM TBTF_MAP_COCKPIT WHERE FK_CFG_COCKPIT_ID = @COCKPIT_ID; DELETE FROM TBTF_CFG_COCKPIT_DEFINITION WHERE FK_CFG_COCKPIT_ID = @COCKPIT_ID; DELETE FROM TBTF_CFG_COCKPIT WHERE PK_CFG_COCKPIT_ID = @COCKPIT_ID; -END \ No newline at end of file +END +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO + +-- [FNTF_GET_COCKPIT_DEFINITION] +-- ================================================================= +-- Returns a table with user allocated cockpits +-- User cockpits will be returned at first +-- +-- Returns: TABLE +-- ================================================================= +-- Copyright (c) 2026 by Digital Data GmbH +-- +-- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim +-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works +-- ================================================================= +-- Creation Date / Author: 23.04.2026 / MK +-- Version Date / Editor: 03.09.2026 / MK +-- Version Number: 1.4.1.0 +-- ================================================================= +-- History: +-- 23.04.2026 / MK - First Version +-- 02.06.2026 / MK - Inaktive TF Profile werden gefiltert +-- 10.07.2026 / MK - Aktiv/Inaktiv Anzeige verbessert +-- 03.09.2026 / MK - SEQUENCE Spalte integriert und danach sortiert + +CREATE OR ALTER FUNCTION [dbo].[FNTF_GET_COCKPIT_DEFINITION]( + @pUSER_ID BIGINT, -- GUID from [TBDD_USER] + @pLANGUAGE NVARCHAR(10) = NULL -- OPTIONAL: Set Language if you want to Override setting in Profile table. Failsafe is getting data from [TBDD_USERS] +) +RETURNS @RESULT TABLE ( [PK_RESULT_ID] [bigint] Identity(1,1) NOT NULL, + [PK_CFG_COCKPIT_DEFINITION_ID] [bigint] NOT NULL, + [FK_CFG_COCKPIT_ID] [bigint] NOT NULL, + [PARENT_ID] [bigint] NOT NULL, + [MAP_SEQUENCE] [smallint] NULL, + [CFG_SEQUENCE] [smallint] NOT NULL, + [ACTIVE] [bit] NOT NULL, + [TYPE_ID] [tinyint] NOT NULL, + [ICON_INDEX] [smallint] NOT NULL, + [NAME] [nvarchar](150) NULL, + [FK_PROFILE_ID] [bigint] NULL, + [FK_CHART_ID] [bigint] NULL, + [FK_MONITOR_ID] [bigint] NULL, + [SQL_QUERY] [nvarchar](max) NOT NULL, + [SQL_QUERY_COUNT] [nvarchar](max) NULL, + [COMMENT] [nvarchar](500) NULL, + [ADDED_WHO] [nvarchar](50) NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL, + [CHANGED_WHO] [nvarchar](50) NULL, + [CHANGED_WHEN] [datetime] NULL) +AS +BEGIN + + --=========================================-- Parameter copies (avoid sniffing) --========================================-- + DECLARE @USER_ID BIGINT = @pUSER_ID, + @LANGUAGE NVARCHAR(10) = @pLANGUAGE; + ---------------------------------------------------------------------------------------------------------------------------- + + + --===============================================-- declare runtime vars --===============================================-- + DECLARE @MY_FUNCTION_NAME NVARCHAR(128) = OBJECT_NAME(@@PROCID); + DECLARE @MODULE_SHORT_NAME NVARCHAR(10) = 'PM'; + ---------------------------------------------------------------------------------------------------------------------------- + + + --===================================================-- Failsafe settings --====================================================-- + SET @LANGUAGE = CASE + WHEN ((LEN(@LANGUAGE) = 0) AND (SELECT count([LANGUAGE]) FROM [TBDD_USER] WITH (NOLOCK) WHERE [GUID] = @USER_ID) = 1) + THEN (SELECT [LANGUAGE] FROM [TBDD_USER] WITH (NOLOCK) WHERE [GUID] = @USER_ID) + ELSE @LANGUAGE + END; + ----------------------------------------------------------------------------------------------------------------------------------- + + + --===============================================-- get user allocated cockpits --===============================================-- + INSERT INTO @RESULT([PK_CFG_COCKPIT_DEFINITION_ID], + [FK_CFG_COCKPIT_ID], + [PARENT_ID], + [MAP_SEQUENCE], + [CFG_SEQUENCE], + [ACTIVE], + [TYPE_ID], + [ICON_INDEX], + [NAME], + [FK_PROFILE_ID], + [FK_CHART_ID], + [FK_MONITOR_ID], + [SQL_QUERY], + [SQL_QUERY_COUNT], + [COMMENT], + [ADDED_WHO], + [ADDED_WHEN], + [CHANGED_WHO], + [CHANGED_WHEN]) + + SELECT DISTINCT TOP 100 PERCENT + [CCP].[PK_CFG_COCKPIT_DEFINITION_ID], + [CCP].[FK_CFG_COCKPIT_ID], + [CCP].[PARENT_ID], + [MC].[MAP_SEQUENCE], + [CCP].[CFG_SEQUENCE], + CASE + WHEN [CCP].[TYPE_ID] = 0 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0) + THEN 0 + WHEN [CCP].[TYPE_ID] = 1 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0 OR [TFP].[ACTIVE] = 0) + THEN 0 + WHEN [CCP].[TYPE_ID] = 2 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0) + THEN 0 + WHEN [CCP].[TYPE_ID] = 3 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0) + THEN 0 + ELSE [CCP].[ACTIVE] + END as [ACTIVE], + [CCP].[TYPE_ID], + [CCP].[ICON_ID], + CASE + WHEN ((SELECT COUNT(*) FROM [dbo].[TBDD_GUI_LANGUAGE_PHRASE] WITH (NOLOCK) WHERE [MODULE] IN (@MODULE_SHORT_NAME) AND [LANGUAGE] = @LANGUAGE AND [TITLE] = [CCP].[NAME]) = 1) + THEN (SELECT [STRING1] FROM [dbo].[TBDD_GUI_LANGUAGE_PHRASE] WITH (NOLOCK) WHERE [MODULE] IN (@MODULE_SHORT_NAME) AND [LANGUAGE] = @LANGUAGE AND [TITLE] = [CCP].[NAME]) + ELSE [CCP].[NAME] + END as [NAME], + [CCP].[FK_PROFILE_ID], + [CCP].[FK_CHART_ID], + [CCP].[FK_MONITOR_ID], + [CCP].[SQL_QUERY], + [CCP].[SQL_QUERY_COUNT], + [CCP].[COMMENT], + [CCP].[ADDED_WHO], + [CCP].[ADDED_WHEN], + [CCP].[CHANGED_WHO], + [CCP].[CHANGED_WHEN] + + FROM [dbo].[TBTF_CFG_COCKPIT_DEFINITION] as [CCP] WITH (NOLOCK) + INNER JOIN [dbo].[TBTF_CFG_COCKPIT] as [CC] WITH (NOLOCK) ON [CCP].[FK_CFG_COCKPIT_ID] = [CC].[PK_CFG_COCKPIT_ID] + INNER JOIN [dbo].[TBTF_MAP_COCKPIT] as [MC] WITH (NOLOCK) ON [CCP].[FK_CFG_COCKPIT_ID] = [MC].[FK_CFG_COCKPIT_ID] + AND [MC].[FK_CFG_USER_ID] = @USER_ID + LEFT JOIN [dbo].[TBPM_PROFILE] as [TFP] WITH (NOLOCK) ON [CCP].[FK_PROFILE_ID] = [TFP].[GUID] + + WHERE (([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 0) -- Overview + OR ([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 1) -- Profile + OR ([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 2) -- Monitor + OR ([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 3)) -- Chart + + AND [CCP].[FK_CFG_COCKPIT_ID] NOT IN (SELECT [FK_CFG_COCKPIT_ID] FROM @RESULT) -- Allow no duplicates + + ORDER BY [MC].[MAP_SEQUENCE] ASC, [CCP].[FK_CFG_COCKPIT_ID] ASC, [CCP].[PARENT_ID] ASC, [CCP].[TYPE_ID] ASC, [CCP].[CFG_SEQUENCE] ASC, [NAME] ASC; + ----------------------------------------------------------------------------------------------------------------------------------- + + + --===============================================-- get group allocated cockpits --==============================================-- + INSERT INTO @RESULT([PK_CFG_COCKPIT_DEFINITION_ID], + [FK_CFG_COCKPIT_ID], + [PARENT_ID], + [MAP_SEQUENCE], + [CFG_SEQUENCE], + [ACTIVE], + [TYPE_ID], + [ICON_INDEX], + [NAME], + [FK_PROFILE_ID], + [FK_CHART_ID], + [FK_MONITOR_ID], + [SQL_QUERY], + [SQL_QUERY_COUNT], + [COMMENT], + [ADDED_WHO], + [ADDED_WHEN], + [CHANGED_WHO], + [CHANGED_WHEN]) + + SELECT DISTINCT TOP 100 PERCENT + [CCP].[PK_CFG_COCKPIT_DEFINITION_ID], + [CCP].[FK_CFG_COCKPIT_ID], + [CCP].[PARENT_ID], + [MC].[MAP_SEQUENCE], + [CCP].[CFG_SEQUENCE], + CASE + WHEN [CCP].[TYPE_ID] = 0 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0) + THEN 0 + WHEN [CCP].[TYPE_ID] = 1 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0 OR [TFP].[ACTIVE] = 0) + THEN 0 + WHEN [CCP].[TYPE_ID] = 2 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0) + THEN 0 + WHEN [CCP].[TYPE_ID] = 3 AND ([CC].[ACTIVE] = 0 OR [CCP].[ACTIVE] = 0) + THEN 0 + ELSE [CCP].[ACTIVE] + END as [ACTIVE], + [CCP].[TYPE_ID], + [CCP].[ICON_ID], + CASE + WHEN ((SELECT COUNT(*) FROM [dbo].[TBDD_GUI_LANGUAGE_PHRASE] WITH (NOLOCK) WHERE [MODULE] IN (@MODULE_SHORT_NAME) AND [LANGUAGE] = @LANGUAGE AND [TITLE] = [CCP].[NAME]) = 1) + THEN (SELECT [STRING1] FROM [dbo].[TBDD_GUI_LANGUAGE_PHRASE] WITH (NOLOCK) WHERE [MODULE] IN (@MODULE_SHORT_NAME) AND [LANGUAGE] = @LANGUAGE AND [TITLE] = [CCP].[NAME]) + ELSE [CCP].[NAME] + END as [NAME], + [CCP].[FK_PROFILE_ID], + [CCP].[FK_CHART_ID], + [CCP].[FK_MONITOR_ID], + [CCP].[SQL_QUERY], + [CCP].[SQL_QUERY_COUNT], + [CCP].[COMMENT], + [CCP].[ADDED_WHO], + [CCP].[ADDED_WHEN], + [CCP].[CHANGED_WHO], + [CCP].[CHANGED_WHEN] + + FROM [dbo].[TBTF_CFG_COCKPIT_DEFINITION] as [CCP] WITH (NOLOCK) + INNER JOIN [dbo].[TBTF_CFG_COCKPIT] as [CC] WITH (NOLOCK) ON [CCP].[FK_CFG_COCKPIT_ID] = [CC].PK_CFG_COCKPIT_ID + INNER JOIN ( + SELECT [FK_CFG_COCKPIT_ID], + MIN([MAP_SEQUENCE]) AS [MAP_SEQUENCE] + FROM [dbo].[TBTF_MAP_COCKPIT] WITH (NOLOCK) + WHERE [FK_CFG_GROUP_ID] IN ( + SELECT DISTINCT [GROUP_ID] + FROM [dbo].[TBDD_GROUPS_USER] WITH (NOLOCK) + WHERE [USER_ID] = @USER_ID + ) + OR [FK_CFG_USER_ID] = @USER_ID + GROUP BY [FK_CFG_COCKPIT_ID] + ) as [MC] ON [CCP].[FK_CFG_COCKPIT_ID] = [MC].[FK_CFG_COCKPIT_ID] + LEFT JOIN [dbo].[TBPM_PROFILE] as [TFP] WITH (NOLOCK) ON [CCP].[FK_PROFILE_ID] = [TFP].[GUID] + + WHERE (([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 0) -- Overview + OR ([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 1) -- Profile + OR ([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 2) -- Monitor + OR ([CC].[ACTIVE] IN (0,1) AND [CCP].[TYPE_ID] = 3)) -- Chart + + AND [CCP].[FK_CFG_COCKPIT_ID] NOT IN (SELECT [FK_CFG_COCKPIT_ID] FROM @RESULT) -- Allow no duplicates + + ORDER BY [MC].[MAP_SEQUENCE] ASC, [CCP].[FK_CFG_COCKPIT_ID] ASC, [CCP].[PARENT_ID] ASC, [CCP].[TYPE_ID] ASC, [CCP].[CFG_SEQUENCE] ASC, [NAME] ASC; + ---------------------------------------------------------------------------------------------------------------------------- + + + RETURN; + +END; +GO + +/*** +-- TEST: + + SELECT * FROM [FNTF_GET_COCKPIT_DEFINITION](1,NULL) + SELECT * FROM [FNTF_GET_COCKPIT_DEFINITION](2,'en-us') + SELECT * FROM [FNTF_GET_COCKPIT_DEFINITION](5,'en-us') + +***/ \ No newline at end of file