UPDATE TBDD_MODULES SET DB_VERSION = '1.0.1.0' where SHORT_NAME = 'ZF' GO USE [DD_ECM] GO /****** Object: StoredProcedure [dbo].[PRZF_PM_REFRESH_DISPLAY_JOBS] Script Date: 17.05.2022 16:30:38 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: DD MS -- Created: 11.05.2022 -- ============================================= ALTER PROCEDURE [dbo].[PRZF_PM_REFRESH_DISPLAY_JOBS] AS BEGIN DECLARE @USR_ID INT DECLARE @SQL_INDIVIDUAL NVARCHAR(MAX),@SQL_GROUP NVARCHAR(MAX) DECLARE @SQL_COMMAND NVARCHAR(MAX) select @SQL_INDIVIDUAL = SQL_COMMAND From IDB.dbo.TBIDB_COMMON_SQL where TITLE = 'ZF_DISPLAY_PM_JOBS_INDIVIDUAL' select @SQL_GROUP = SQL_COMMAND From IDB.dbo.TBIDB_COMMON_SQL where TITLE = 'ZF_DISPLAY_PM_JOBS_GROUP' DECLARE @INDIV_JOB_TITLE VARCHAR(50),@GROUP_JOB_TITLE VARCHAR(50) SET @INDIV_JOB_TITLE = 'PM_INDIVIDUAL_JOB' SET @GROUP_JOB_TITLE = 'PM_GROUP_JOB' DECLARE @CountResults TABLE (CountReturned INT) DECLARE cursUsersDisplayJobs CURSOR FOR SELECT GUID FROM DD_ECM.dbo.TBDD_USER WHERE ACTIVE = 1 OPEN cursUsersDisplayJobs FETCH NEXT FROM cursUsersDisplayJobs INTO @USR_ID WHILE @@FETCH_STATUS = 0 BEGIN PRINT '##### WORKING ON USERID: '+ CONVERT(VARCHAR(10),@USR_ID) + ' #######' DELETE FROM TBZF_USER_DISPLAY_JOBS WHERE USR_ID = @USR_ID; DELETE FROM @CountResults; IF LEN(@SQL_INDIVIDUAL) > 0 BEGIN SET @SQL_COMMAND = @SQL_INDIVIDUAL DECLARE @COUNT_INDIV INT SET @SQL_COMMAND = REPLACE(@SQL_COMMAND,'@USR_ID',@USR_ID) --EXEC @COUNT_INDIV = sp_executesql @SQL_COMMAND, N'@USR_ID INT', @USR_ID = @USR_ID PRINT @SQL_COMMAND INSERT @CountResults EXEC(@SQL_COMMAND) SET @COUNT_INDIV = (SELECT CountReturned FROM @CountResults) --SELECT @COUNT_INDIV IF @COUNT_INDIV > 0 INSERT INTO [dbo].[TBZF_USER_DISPLAY_JOBS] ([USR_ID] ,[JOB_TITLE] ,[DESCR] ,[ADDED_WHO]) VALUES (@USR_ID ,@INDIV_JOB_TITLE ,@COUNT_INDIV ,'PRZF_PM_REFRESH_DISPLAY_JOBS') END DELETE FROM @CountResults; IF LEN(@SQL_GROUP) > 0 BEGIN PRINT 'WORKING ON GROUP-SQL...' SET @SQL_COMMAND = @SQL_GROUP DECLARE @COUNT_GROUP INT SET @SQL_COMMAND = REPLACE(@SQL_COMMAND,'@USR_ID',@USR_ID) --EXEC @COUNT_INDIV = sp_executesql @SQL_COMMAND, N'@USR_ID INT', @USR_ID = @USR_ID PRINT @SQL_COMMAND DELETE FROM @CountResults; INSERT @CountResults EXEC(@SQL_COMMAND) SET @COUNT_GROUP = (SELECT CountReturned FROM @CountResults) --SELECT @COUNT_GROUP IF @COUNT_GROUP > 0 INSERT INTO [dbo].[TBZF_USER_DISPLAY_JOBS] ([USR_ID] ,[JOB_TITLE] ,[DESCR] ,[ADDED_WHO]) VALUES (@USR_ID ,@GROUP_JOB_TITLE ,@COUNT_GROUP ,'PRZF_PM_REFRESH_DISPLAY_JOBS') END PRINT '################ END USER #########################' FETCH NEXT FROM cursUsersDisplayJobs INTO @USR_ID END CLOSE cursUsersDisplayJobs DEALLOCATE cursUsersDisplayJobs END GO USE [DD_ECM] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: DD MS -- Changed: 11.05.2022 MS ADDED PM -- Changed: 13.08.2020 MS ADDED Zooflow -- ============================================= ALTER FUNCTION [dbo].[FNZF_GET_MODULE_INFO] (@pUSERNAME VARCHAR(100)) RETURNS @Table TABLE (SequentialOrder INT IDENTITY(1, 1), [TYPE] VARCHAR(50), [NAME] VARCHAR(50), [VALUE] VARCHAR(512)) AS BEGIN /* This function checks all user-relevant relations an */ DECLARE @RESULT VARCHAR(500), @USER_ID INTEGER, @USER_PRENAME VARCHAR(50), @USER_SURNAME VARCHAR(50), @USER_SHORTNAME VARCHAR(50), @USER_EMAIL VARCHAR(50), @USER_LANGUAGE VARCHAR(10), @USER_DATE_FORMAT VARCHAR(10), @USER_ECM_ID INTEGER, @IS_IN_MODULE VARCHAR(5), @IS_ADMIN VARCHAR(5), @USER_RIGHT_FILE_DEL BIT, @USERCOUNT_LOGGED_IN INTEGER, @MODULE_NAME VARCHAR(100), @MODULE_GUID INTEGER, @USER_GROUPNAME_CW VARCHAR(100), @ADMIN_GROUPNAME_GLOBIX VARCHAR(100), @USER_GROUPNAME_GLOBIX VARCHAR(100), @ADMIN_GROUPNAME_PM VARCHAR(100), @USER_GROUPNAME_PM VARCHAR(100), @ADMIN_GROUPNAME_CW VARCHAR(100) SET @USER_ID = 0 SET @IS_ADMIN = 'False' SET @IS_IN_MODULE = 'False' SET @USERCOUNT_LOGGED_IN = 0 SET @RESULT = '' SET @USER_GROUPNAME_CW = 'CW_USER' SET @ADMIN_GROUPNAME_CW = 'CW_ADMINS' SET @USER_GROUPNAME_GLOBIX = 'GLOBIX_USER' SET @ADMIN_GROUPNAME_GLOBIX = 'GLOBIX_ADMINS' SET @USER_GROUPNAME_PM = 'PM_USER' SET @ADMIN_GROUPNAME_PM = 'PM_ADMINS' IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)) INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'ERROR','USER NOT CONFIGURED OR LISTED') ELSE BEGIN SELECT @USER_ID = GUID, @USER_ECM_ID = USERID_FK_INT_ECM, @USER_PRENAME = PRENAME, @USER_SURNAME = NAME, @USER_SHORTNAME = SHORTNAME,@USER_EMAIL = EMAIL,@USER_LANGUAGE = LANGUAGE,@USER_DATE_FORMAT = DATE_FORMAT FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME) INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_ID',@USER_ID); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_PRENAME',@USER_PRENAME); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_SURNAME',@USER_SURNAME); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_SHORTNAME',@USER_SHORTNAME); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_EMAIL',@USER_EMAIL); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_DATE_FORMAT',@USER_DATE_FORMAT); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_LANGUAGE',@USER_LANGUAGE); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('USER', 'USER_ECM_ID',@USER_ECM_ID); /*#### ClipboardWatcher ####*/ SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = 'CW' SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = 1 --CHECK USER IS IN MODULE_USER_GROUP IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME_CW) BEGIN SET @IS_IN_MODULE = 'True' SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME_CW + ')' IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) BEGIN SET @RESULT = @RESULT + '| User is also configured in User-Modules' select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID END END ELSE BEGIN SET @RESULT = 'User not part of group (' + @USER_GROUPNAME_CW + ')' IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) BEGIN SET @RESULT = @RESULT + '| BUT User configured in User-Modules' SET @IS_IN_MODULE = 'True' select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID END END IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME_CW) BEGIN SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME_CW + ')' SET @IS_ADMIN = 'True' SET @IS_IN_MODULE = 'True' END INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('CW', 'MODULE_ACCESS',@IS_IN_MODULE); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('CW', 'IS_ADMIN',@IS_ADMIN); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('CW', 'USER_COUNT_LOGGED_IN',@USERCOUNT_LOGGED_IN); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('CW', 'RESULT',@RESULT); /*#### GLOBIX ####*/ SET @RESULT = '' SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = 'GLOBIX' SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = 1 --CHECK USER IS IN MODULE_USER_GROUP IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME_GLOBIX) BEGIN SET @IS_IN_MODULE = 'True' SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME_GLOBIX + ')' IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) BEGIN SET @RESULT = @RESULT + '| User is also configured in User-Modules' SET @IS_IN_MODULE = 'True' select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID END END ELSE BEGIN SET @RESULT = 'User not part of group (' + @USER_GROUPNAME_GLOBIX + ')' IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) BEGIN SET @RESULT = @RESULT + '| BUT User configured in User-Modules' SET @IS_IN_MODULE = 'True' select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID END END IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME_GLOBIX) BEGIN SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME_GLOBIX + ')' SET @IS_ADMIN = 'True' SET @IS_IN_MODULE = 'True' END INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('GLOBIX', 'MODULE_ACCESS',@IS_IN_MODULE); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('GLOBIX', 'IS_ADMIN',@IS_ADMIN); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('GLOBIX', 'USER_COUNT_LOGGED_IN',@USERCOUNT_LOGGED_IN); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('GLOBIX', 'RESULT',@RESULT); /*#### PM ####*/ SET @RESULT = '' SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = 'PM' SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = 1 --CHECK USER IS IN MODULE_USER_GROUP IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME_PM) BEGIN SET @IS_IN_MODULE = 'True' SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME_PM + ')' IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) BEGIN SET @RESULT = @RESULT + '| User is also configured in User-Modules' SET @IS_IN_MODULE = 'True' select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID END END ELSE BEGIN SET @RESULT = 'User not part of group (' + @USER_GROUPNAME_PM + ')' IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) BEGIN SET @RESULT = @RESULT + '| BUT User configured in User-Modules' SET @IS_IN_MODULE = 'True' select @IS_ADMIN = CONVERT(VARCHAR(5),T.IS_ADMIN),@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID END END IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME_GLOBIX) BEGIN SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME_PM + ')' SET @IS_ADMIN = 'True' SET @IS_IN_MODULE = 'True' END INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('PM', 'MODULE_ACCESS',@IS_IN_MODULE); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('PM', 'IS_ADMIN',@IS_ADMIN); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('PM', 'USER_COUNT_LOGGED_IN',@USERCOUNT_LOGGED_IN); INSERT INTO @Table (TYPE,NAME,VALUE) VALUES ('PM', 'RESULT',@RESULT); END RETURN END GO USE [msdb] GO /****** Object: Job [DD_EVERY_MINUTE] Script Date: 11.05.2022 10:28:49 ******/ BEGIN TRANSACTION DECLARE @ReturnCode INT SELECT @ReturnCode = 0 /****** Object: JobCategory [[Uncategorized (Local)]] Script Date: 11.05.2022 10:28:49 ******/ IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1) BEGIN EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback END DECLARE @jobId BINARY(16) EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'DD_EVERY_MINUTE', @enabled=1, @notify_level_eventlog=0, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0, @description=N'Es ist keine Beschreibung verfügbar.', @category_name=N'[Uncategorized (Local)]', @owner_login_name=N'sa', @job_id = @jobId OUTPUT IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback /****** Object: Step [PRZF_PM_REFRESH_DISPLAY_JOBS] Script Date: 11.05.2022 10:28:50 ******/ EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'PRZF_PM_REFRESH_DISPLAY_JOBS', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'TSQL', @command=N'EXEC PRZF_PM_REFRESH_DISPLAY_JOBS; GO', @database_name=N'DD_ECM', @flags=0 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Schedule1', @enabled=1, @freq_type=8, @freq_interval=62, @freq_subday_type=4, @freq_subday_interval=1, @freq_relative_interval=0, @freq_recurrence_factor=1, @active_start_date=20220511, @active_end_date=99991231, @active_start_time=80000, @active_end_time=170000, @schedule_uid=N'4b8cb692-c6aa-4c39-a2d6-ea6192b1202d' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback COMMIT TRANSACTION GOTO EndSave QuitWithRollback: IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION EndSave: GO