8
0

FNDD_GET_LICENSE_COUNT: Safty improvements added

This commit is contained in:
2026-02-25 16:54:09 +01:00
parent b8b7ac6584
commit 9a84040199

View File

@@ -15,12 +15,13 @@ GO
-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works -- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
-- ================================================================= -- =================================================================
-- Creation Date / Author: 13.06.2023 / MS -- Creation Date / Author: 13.06.2023 / MS
-- Version Date / Editor: 15.09.2025 / MK -- Version Date / Editor: 26.09.2025 / MK
-- Version Number: 2.0.0.0 -- Version Number: 2.0.1.0
-- ================================================================= -- =================================================================
-- History: -- History:
-- 13.06.2023 / MS - First Version -- 13.06.2023 / MS - First Version
-- 15.09.2025 / MK - Enhanced functionality and parameters -- 15.09.2025 / MK - Enhanced functionality and parameters
-- 26.09.2025 / MK - Minor fixes
CREATE OR ALTER FUNCTION [dbo].[FNDD_GET_LICENSE_COUNT]( CREATE OR ALTER FUNCTION [dbo].[FNDD_GET_LICENSE_COUNT](
@pCLIENT_ID TINYINT, -- Give the mandator ID from [TBDD_CLIENT] or 0, for all mandators. @pCLIENT_ID TINYINT, -- Give the mandator ID from [TBDD_CLIENT] or 0, for all mandators.
@@ -44,6 +45,12 @@ BEGIN
@MODULE_SHORT_NAME NVARCHAR(50) = NULL, @MODULE_SHORT_NAME NVARCHAR(50) = NULL,
@CATALOG_TITLE_TERM NVARCHAR(50) = '_LICENSE_LOOKBACK_IN_DAYS'; @CATALOG_TITLE_TERM NVARCHAR(50) = '_LICENSE_LOOKBACK_IN_DAYS';
--===========================================-- Exit because of missing table --===========================================--
IF NOT (EXISTS (SELECT * FROM [INFORMATION_SCHEMA].[TABLES] (NOLOCK) WHERE [TABLE_NAME] = 'TBDD_USER_LOGIN_OUT')) BEGIN
RETURN ISNULL(@USED_LICENSE_COUNT,0);
END;
-----------------------------------------------------------------------------------------------------------------------------
--=================================================-- Get module name --===================================================-- --=================================================-- Get module name --===================================================--
SELECT @MODULE_NAME = [NAME], SELECT @MODULE_NAME = [NAME],
@MODULE_SHORT_NAME = [SHORT_NAME] @MODULE_SHORT_NAME = [SHORT_NAME]
@@ -60,7 +67,7 @@ BEGIN
--===================================-- Determ how long in the past we need to check --===================================-- --===================================-- Determ how long in the past we need to check --===================================--
IF (@LOOKBACK_IN_DAYS = 0) BEGIN IF (@LOOKBACK_IN_DAYS = 0) BEGIN
IF (EXISTS (SELECT * FROM [INFORMATION_SCHEMA].[TABLES] WHERE [TABLE_NAME] = 'TBDD_CATALOG')) BEGIN IF (EXISTS (SELECT * FROM [INFORMATION_SCHEMA].[TABLES] (NOLOCK) WHERE [TABLE_NAME] = 'TBDD_CATALOG')) BEGIN
SELECT TOP (1) @LOOKBACK_IN_DAYS = CONVERT(INTEGER,[CAT_STRING]) SELECT TOP (1) @LOOKBACK_IN_DAYS = CONVERT(INTEGER,[CAT_STRING])
FROM [TBDD_CATALOG] (NOLOCK) FROM [TBDD_CATALOG] (NOLOCK)
WHERE [CAT_TITLE] IN (CONCAT(@MODULE_NAME,@CATALOG_TITLE_TERM),CONCAT(@MODULE_SHORT_NAME,@CATALOG_TITLE_TERM)); WHERE [CAT_TITLE] IN (CONCAT(@MODULE_NAME,@CATALOG_TITLE_TERM),CONCAT(@MODULE_SHORT_NAME,@CATALOG_TITLE_TERM));
@@ -73,12 +80,6 @@ BEGIN
END; END;
----------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------
--===========================================-- Exit because of missing table --===========================================--
IF NOT (EXISTS (SELECT * FROM [INFORMATION_SCHEMA].[TABLES] WHERE [TABLE_NAME] = 'TBDD_USER_LOGIN_OUT')) BEGIN
RETURN ISNULL(@USED_LICENSE_COUNT,0);
END;
-----------------------------------------------------------------------------------------------------------------------------
--=====================================================-- main part --=====================================================-- --=====================================================-- main part --=====================================================--
IF (@CLIENT_ID = 0) BEGIN IF (@CLIENT_ID = 0) BEGIN