MS task und orgFLOW. Vor allem COckpit in taskFLOW

This commit is contained in:
Developer01
2026-05-13 14:30:46 +02:00
parent 7d85665368
commit d7ee5d3e83
4 changed files with 473 additions and 8 deletions

View File

@@ -0,0 +1,454 @@
UPDATE TBDD_MODULES SET DB_VERSION = '3.1' where NAME = 'Process-Manager';
GO
ALTER TABLE dbo.TBPM_CHART
ADD COCKPIT_CHART_ID INT NOT NULL DEFAULT 0;
GO
ALTER VIEW [dbo].[VWPM_CHART_INVOICE_MONITOR_SERIES]
AS
select 'Alle Rechnungen' as Title
,15 Anzahl
,500000 NettoSumme
,1 SEQ
,1 COCKPIT_CHART_ID
--,convert(varchar,format(SUM(500000),'###,###,###.00','de-de')) NettoSumme
UNION
SELECT 'Posteingang' as Title
,10 Anzahl
,12000 NettoSumme
,2 SEQ
,1 COCKPIT_CHART_ID
--,convert(varchar,format(SUM(12000),'###,###,###.00','de-de')) NettoSumme
UNION
SELECT 'Fachliche Freigabe' as Title
,5 Anzahl
,13658.5 NettoSumme
,3 SEQ
,1 COCKPIT_CHART_ID
--,convert(varchar,format(13658.5,'###,###,###.00','de-de')) NettoSumme
UNION
SELECT 'Finale Freigabe' as Title
,53 Anzahl
,658555.65 NettoSumme
,4 SEQ
,1 COCKPIT_CHART_ID
--,convert(varchar,format(658555.65,'###,###,###.00','de-de')) NettoSumme
UNION
SELECT 'Zeitkritisch' as Title
,0 Anzahl
,'0.000' NettoSumme
,5 SEQ
,1 COCKPIT_CHART_ID
--ORDER BY SEQ
GO
ALTER view [dbo].[VWPM_CHART_TOP5] as
SELECT 'Kreditor1' as KRED_NAME
,56 as ANZ_BELEG
,convert(decimal(19,2),125565478.8) as Netto
,convert(decimal(19,2),10000) as Skonto
,1 COCKPIT_CHART_ID
UNION
SELECT 'Kreditor2' as KRED_NAME
,49 as ANZ_BELEG
,convert(decimal(19,2),8575222.48) as Netto
,convert(decimal(19,2),8555.4) as Skonto
,1 COCKPIT_CHART_ID
UNION
SELECT 'Kreditor3' as KRED_NAME
,43 as ANZ_BELEG
,convert(decimal(19,2),2582222.8) as Netto
,convert(decimal(19,2),5647.2) as Skonto
,1 COCKPIT_CHART_ID
UNION
SELECT 'Kreditor4' as KRED_NAME
,3 as ANZ_BELEG
,convert(decimal(19,2),68589.89) as Netto
,convert(decimal(19,2),48.96) as Skonto
,1 COCKPIT_CHART_ID
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TBTF_CFG_COCKPIT](
[PK_CFG_COCKPIT_ID] [bigint] IDENTITY(1,1) NOT NULL,
[ACTIVE] [bit] NOT NULL,
[NAME] [nvarchar](150) NOT 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,
CONSTRAINT [PK_TBTF_CFG_COCKPIT_ID] PRIMARY KEY CLUSTERED
(
[PK_CFG_COCKPIT_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_ACTIVE] DEFAULT ((1)) FOR [ACTIVE]
GO
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_ADDED_WHO] DEFAULT (N'DEFAULT') FOR [ADDED_WHO]
GO
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Primary key' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT', @level2type=N'COLUMN',@level2name=N'PK_CFG_COCKPIT_ID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'On / Off Switch' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT', @level2type=N'COLUMN',@level2name=N'ACTIVE'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Optional name' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT', @level2type=N'COLUMN',@level2name=N'NAME'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Optional description' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT', @level2type=N'COLUMN',@level2name=N'COMMENT'
GO
USE [DD_ECM]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TBTF_MAP_COCKPIT](
[PK_MAP_COCKPIT_ID] [bigint] IDENTITY(1,1) NOT NULL,
[FK_CFG_COCKPIT_ID] [bigint] NOT NULL,
[FK_CFG_USER_ID] [int] NULL,
[FK_CFG_GROUP_ID] [int] NULL,
[SEQUENCE] [smallint] NOT NULL,
[ADDED_WHO] [nvarchar](50) NOT NULL,
[ADDED_WHEN] [datetime] NOT NULL,
[CHANGED_WHO] [nvarchar](50) NULL,
[CHANGED_WHEN] [datetime] NULL,
CONSTRAINT [PK_TBTF_MAP_COCKPIT_ID] PRIMARY KEY CLUSTERED
(
[PK_MAP_COCKPIT_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] ADD CONSTRAINT [DF_TBTF_MAP_COCKPIT_SEQUENCE] DEFAULT ((0)) FOR [SEQUENCE]
GO
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] ADD CONSTRAINT [DF_TBTF_MAP_COCKPIT_ADDED_WHO] DEFAULT (N'DEFAULT') FOR [ADDED_WHO]
GO
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] ADD CONSTRAINT [DF_TBTF_MAP_COCKPIT_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
GO
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] WITH CHECK ADD CONSTRAINT [FK_TBTF_MAP_COCKPIT_TBDD_GROUPS] FOREIGN KEY([FK_CFG_GROUP_ID])
REFERENCES [dbo].[TBDD_GROUPS] ([GUID])
GO
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] CHECK CONSTRAINT [FK_TBTF_MAP_COCKPIT_TBDD_GROUPS]
GO
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] WITH CHECK ADD CONSTRAINT [FK_TBTF_MAP_COCKPIT_TBDD_USER] FOREIGN KEY([FK_CFG_USER_ID])
REFERENCES [dbo].[TBDD_USER] ([GUID])
GO
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] CHECK CONSTRAINT [FK_TBTF_MAP_COCKPIT_TBDD_USER]
GO
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] WITH CHECK ADD CONSTRAINT [FK_TBTF_MAP_COCKPIT_TBTF_CFG_COCKPIT] FOREIGN KEY([FK_CFG_COCKPIT_ID])
REFERENCES [dbo].[TBTF_CFG_COCKPIT] ([PK_CFG_COCKPIT_ID])
GO
ALTER TABLE [dbo].[TBTF_MAP_COCKPIT] CHECK CONSTRAINT [FK_TBTF_MAP_COCKPIT_TBTF_CFG_COCKPIT]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Primary key' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_MAP_COCKPIT', @level2type=N'COLUMN',@level2name=N'PK_MAP_COCKPIT_ID'
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION](
[PK_CFG_COCKPIT_DEFINITION_ID] [bigint] IDENTITY(1,1) NOT NULL,
[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,
[ADDED_WHO] [nvarchar](50) NOT NULL,
[ADDED_WHEN] [datetime] NOT NULL,
[CHANGED_WHO] [nvarchar](50) NULL,
[CHANGED_WHEN] [datetime] NULL,
CONSTRAINT [PK_TBTF_CFG_COCKPIT_DEFINITION_PK_COCKPIT_ID] PRIMARY KEY CLUSTERED
(
[PK_CFG_COCKPIT_DEFINITION_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_DEFINITION_ACTIVE] DEFAULT ((1)) FOR [ACTIVE]
GO
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_DEFINITION_PARENT_ID] DEFAULT ((0)) FOR [PARENT_ID]
GO
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_DEFINITION_TYPE] DEFAULT ((0)) FOR [TYPE_ID]
GO
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_DEFINITION_ICON] DEFAULT ((0)) FOR [ICON_ID]
GO
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHO] DEFAULT (N'DEFAULT') FOR [ADDED_WHO]
GO
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] ADD CONSTRAINT [DF_TBTF_CFG_COCKPIT_DEFINITION_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
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])
GO
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] NOCHECK CONSTRAINT [FK_TBTF_CFG_COCKPIT_DEFINITION_TBPM_PROFILE]
GO
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] WITH CHECK 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])
GO
ALTER TABLE [dbo].[TBTF_CFG_COCKPIT_DEFINITION] CHECK CONSTRAINT [FK_TBTF_CFG_COCKPIT_DEFINITION_TBTF_CFG_COCKPIT]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Primary key' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT_DEFINITION', @level2type=N'COLUMN',@level2name=N'PK_CFG_COCKPIT_DEFINITION_ID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'On / Off Switch' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT_DEFINITION', @level2type=N'COLUMN',@level2name=N'ACTIVE'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0 = Overview, 1 = Profile, 2 = Monitoring, 3 = Chart' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT_DEFINITION', @level2type=N'COLUMN',@level2name=N'TYPE_ID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Zahlenwerte für Symbole' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT_DEFINITION', @level2type=N'COLUMN',@level2name=N'ICON_ID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Optional name' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT_DEFINITION', @level2type=N'COLUMN',@level2name=N'NAME'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Optional description' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TBTF_CFG_COCKPIT_DEFINITION', @level2type=N'COLUMN',@level2name=N'COMMENT'
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- [FNTF_GET_COCKPIT_DEFINITION]
-- =================================================================
-- Returns a table with user allocated cockpits
--
-- 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: 23.04.2026 / MK
-- Version Number: 1.0.0.0
-- =================================================================
-- History:
-- 23.04.2026 / MK - First Version
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,
[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],
[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
[CCP].[PK_CFG_COCKPIT_DEFINITION_ID],
[CCP].[FK_CFG_COCKPIT_ID],
[CCP].[PARENT_ID],
[CCP].[ACTIVE],
[CCP].[TYPE_ID],
[CCP].[ICON_ID] ,
CASE
WHEN ((SELECT COUNT(1) 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]
WHERE [CC].[ACTIVE] in (0,1)
AND [CCP].[ACTIVE] in (0,1)
AND [CCP].[FK_CFG_COCKPIT_ID] IN
(SELECT TOP 100 PERCENT [FK_CFG_COCKPIT_ID]
FROM [dbo].[TBTF_MAP_COCKPIT] WITH (NOLOCK)
WHERE [FK_CFG_USER_ID] = @USER_ID
ORDER BY [SEQUENCE] ASC);
-----------------------------------------------------------------------------------------------------------------------------------
--===============================================-- get group allocated cockpits --==============================================--
INSERT INTO @RESULT([PK_CFG_COCKPIT_DEFINITION_ID],
[FK_CFG_COCKPIT_ID],
[PARENT_ID],
[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
[CCP].[PK_CFG_COCKPIT_DEFINITION_ID],
[CCP].[FK_CFG_COCKPIT_ID],
[CCP].[PARENT_ID],
[CCP].[ACTIVE],
[CCP].[TYPE_ID],
[CCP].[ICON_ID] ,
CASE
WHEN ((SELECT COUNT(1) 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
WHERE [CC].[ACTIVE] in (0,1)
AND [CCP].[ACTIVE] in (0,1)
AND [CCP].[FK_CFG_COCKPIT_ID] IN
(SELECT TOP 100 PERCENT [FK_CFG_COCKPIT_ID]
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)
ORDER BY [SEQUENCE] ASC)
AND [FK_CFG_COCKPIT_ID] NOT IN (SELECT [FK_CFG_COCKPIT_ID] FROM @RESULT); -- Allow no duplicates
----------------------------------------------------------------------------------------------------------------------------
RETURN;
END;
/***
-- 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')
***/
GO