taskFLOW 3.7

This commit is contained in:
Developer01
2026-09-15 12:50:47 +02:00
parent 8698df4e12
commit 047e8e8144

View File

@@ -1,60 +1,92 @@
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
---------------------------- 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
GO
ALTER TABLE dbo.TBPM_PROFILE SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION
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
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION
DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ACTIVE
GO
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION
DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_PARENT_ID
GO
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION
DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_TYPE
GO
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION
DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ICON
GO
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION
DROP CONSTRAINT DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHO
GO
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION
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
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,
@@ -76,74 +108,38 @@ CREATE TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION
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
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]
GO
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT
ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT
FK_TBTF_CFG_COCKPIT_DEFINITION_TBTF_CFG_COCKPIT FOREIGN KEY
(
FK_CFG_COCKPIT_ID
@@ -153,8 +149,7 @@ ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION ADD CONSTRAINT
) ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION WITH NOCHECK ADD CONSTRAINT
ALTER TABLE dbo.Tmp_TBTF_CFG_COCKPIT_DEFINITION WITH NOCHECK ADD CONSTRAINT
FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE FOREIGN KEY
(
FK_PROFILE_ID
@@ -164,207 +159,73 @@ ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION WITH NOCHECK ADD CONSTRAINT
) ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
ALTER TABLE dbo.TBTF_CFG_COCKPIT_DEFINITION
ALTER TABLE dbo.Tmp_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:
*/
/* Ü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:
*/
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
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
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
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
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
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
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
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
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
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
NOCHECK CONSTRAINT FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE
GO
COMMIT
GO
---------------------------- Funktionen ----------------------------
-- [PRTF_DEL_COCKPIT_DEFINITION]
-- =================================================================
-- Deletes a cockpit an all relations
@@ -388,3 +249,249 @@ BEGIN
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
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')
***/