dbo.QBM_PDialogUserInGroupCorrect

SQL_STORED_PROCEDURE

Created 2025-06-27T17:57:29.747 · modified 2026-04-14T23:20:26.523 · source: live DB sys.objects/sys.sql_expression_dependencies.

Open formatted source/search result

Parameters

NameTypeOutput
@UID_DialogUserPatternvarcharno

Referenced objects

SchemaObjectColumn/minorClass
DialogGroupOBJECT_OR_COLUMN
DialogUserOBJECT_OR_COLUMN
DialogUserInGroupOBJECT_OR_COLUMN
QBM_PSessionContextSetOBJECT_OR_COLUMN
QBM_PSessionErrorAddOBJECT_OR_COLUMN
QBM_VSchemaColumnsOBJECT_OR_COLUMN
dboQBM_FCVElementToObjectKey2OBJECT_OR_COLUMN
dboQBM_FGISessionContextOBJECT_OR_COLUMN
dboQBM_FGISessionErrorRethrowOBJECT_OR_COLUMN

Source excerpt

First extracted SQL definition lines from the exported source. Use the full source page for complete context.

Open full formatted source

1   create   procedure QBM_PDialogUserInGroupCorrect (@UID_DialogUserPattern varchar(38) = '%' ) as begin declare @XUser nvarchar(64) = object_name
2(@@procid) declare @XDate datetime = getutcdate() declare @defaultGroup varchar(38) = 'QBM-1CA5B3F72AD35643BEDB25511BB6DBF5' declare @Debugswitch int =
3 0 declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @cmd nvarchar
4(max) SET XACT_ABORT OFF BEGIN TRY if @Debugswitch > 0 begin print 'entry : ' + @XUser end exec QBM_PSessionContextSet 'XUSER', @XUser  insert into DialogUserInGroup
5 ( UID_DialogGroup, UID_DialogUser, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey) select distinct G.UID_DialogGroup, U.UID_DialogUser
6, @XDate, @XDate, @XUser, @XUser , dbo.QBM_FCVElementToObjectKey2('DialogUserInGroup', 'UID_DialogGroup', G.UID_DialogGroup, 'UID_DialogUser', U.UID_DialogUser
7)  from DialogUser U join DialogGroup G on G.UID_DialogGroup = @defaultGroup where not exists (select top 1 1 from DialogUserInGroup UiG where UiG.UID_DialogUser
8 = U.UID_DialogUser and UiG.UID_DialogGroup = G.UID_DialogGroup ) if exists (select top 1 1 from QBM_VSchemaColumns c where c.TABLE_NAME = 'DialogGroup'
9 and c.COLUMN_NAME = 'IsRoleBasedOnly' ) begin if @Debugswitch > 0 begin print 'rolebased only exists : ' + @XUser end select @cmd = '
10	declare @XDate datetime = getutcdate()
11
12  insert into DialogUserInGroup ( UID_DialogGroup, UID_DialogUser, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey)
13      select distinct G.UID_DialogGroup, U.UID_DialogUser, @XDate, @XDate, '''
14 + @XUser + ''', ''' + @XUser + '''
15				  , dbo.QBM_FCVElementToObjectKey2(''DialogUserInGroup'', ''UID_DialogGroup'', G.UID_DialogGroup, ''UID_DialogUser'', U.UID_DialogUser)
16	  -- select g.GroupName, u.UserName, u.IsAdmin, u.IsDynamicUser 
17  from DialogUser U join DialogGroup G on 1=1
18   where u.IsAdmin = 1
19	      and u.IsDynamicUser = 0
20		  and u.IsServiceAccount = 0
21	      and u.UID_DialogUser like '''
22 + @UID_DialogUserPattern + '''
23	      -- diese Zeile ist der einzige Unterschied
24	      and g.IsRoleBasedOnly = 0
25	      and not exists (select top 1 1
26						      from DialogUserInGroup UiG
27						      where UiG.UID_DialogUser = U.UID_DialogUser
28							      and UiG.UID_DialogGroup = G.UID_DialogGroup
29					      )
30	'
31 exec sp_executesql @cmd end else begin if @Debugswitch > 0 begin print 'rolebased only not exists : ' + @XUser end insert into DialogUserInGroup ( UID_DialogGroup
32, UID_DialogUser, XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey) select distinct G.UID_DialogGroup, U.UID_DialogUser, @XDate, @XDate
33, @XUser, @XUser , dbo.QBM_FCVElementToObjectKey2('DialogUserInGroup', 'UID_DialogGroup', G.UID_DialogGroup, 'UID_DialogUser', U.UID_DialogUser)  from 
34DialogUser U join DialogGroup G on 1=1 where u.IsAdmin = 1 and u.IsDynamicUser = 0 and u.IsServiceAccount = 0 and u.UID_DialogUser like @UID_DialogUserPattern
35 and not exists (select top 1 1 from DialogUserInGroup UiG where UiG.UID_DialogUser = U.UID_DialogUser and UiG.UID_DialogGroup = G.UID_DialogGroup ) end
36   if exists (select top 1 1 from QBM_VSchemaColumns c where c.TABLE_NAME = 'DialogGroup' and c.COLUMN_NAME = 'IsRoleBasedOnly' ) begin select @cmd = '
37    delete DialogUserInGroup 
38		    from DialogUserInGroup uig join DialogUser u on uig.UID_DialogUser = u.UID_DialogUser
39								    join DialogGroup g on uig.UID_DialogGroup = g.UID_DialogGroup
40		    where ((u.IsDynamicUser <> G.IsRoleBasedOnly 
41					)
42				  or u.IsServiceAccount = 1
43				  )
44				and u.UID_DialogUser like '''
45 + rtrim(@UID_DialogUserPattern) + '''
46		     and g.UID_DialogGroup <> ''' + @defaultGroup + '''		-- default rights
47		  ' exec sp_executesql @cmd end
48 else  begin delete DialogUserInGroup  from DialogUserInGroup uig join DialogUser u on uig.UID_DialogUser = u.UID_DialogUser join DialogGroup g on uig.UID_DialogGroup
49 = g.UID_DialogGroup where ( u.IsDynamicUser = 1 or u.IsServiceAccount = 1 ) and u.UID_DialogUser like rtrim(@UID_DialogUserPattern) and g.UID_DialogGroup
50 <> @defaultGroup  end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR
51 (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: if @Debugswitch > 0 begin print 'exit : ' + @XUser end exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R
52 exec QBM_PSessionContextSet 'XUser', @XUser_R return end 
53

Module relation graph

Loading module relation graph…

Source-derived context

Generated from exported SQL module definitions plus read-only sandbox sys.objects/sys.parameters/sys.sql_expression_dependencies metadata. This is factual source evidence, not a semantic guess.

provenance: SQL definition export provenance: sandbox DB metadata modified: 2026-04-14T23:20:26.523

uses session context values has TRY/CATCH error handling

Summary: calls QBM_PSessionContextSet, QBM_PSessionErrorAdd; writes INSERT DialogUserInGroup, DELETE DialogUserInGroup; reads/joins DialogUser, DialogGroup, DialogUserInGroup, QBM_VSchemaColumns; uses session context XUser, XUSER, GenProcID

Declared parameters

ParameterTypeDirection
@UID_DialogUserPatternvarchar(38)input

DML targets

INSERT DialogUserInGroup DELETE DialogUserInGroup

Config/session

Config: None extracted.

Session: XUser XUSER GenProcID

DBQueue/tasks

None extracted.

Temp tables / referenced variables

Temp: None extracted.

Variables: @UID_DialogUserPattern @XUser @procid @XDate @defaultGroup @Debugswitch @GenProcID_R @XUser_R @cmd @Rethrow

Referenced by / reverse dependencies

Generated from live DB metadata, FK rows, and exported SQL dependency/source extraction. This is factual linkage evidence, not inferred behavior.

Referencing objectRelationEvidence
dbo.QBM_ZDialogUserInGroupSQL expression dependencyOBJECT_OR_COLUMN
dbo.QBM_ZDialogUserInGroupsource text referencehas TRY/CATCH error handling