dbo.QBM_PFDA25F6EA8E748702E6D119_2

SQL_STORED_PROCEDURE

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

Open formatted source/search result

Parameters

NameTypeOutput
@StartTablevarcharno

Referenced objects

SchemaObjectColumn/minorClass
DialogColumnOBJECT_OR_COLUMN
DialogTableOBJECT_OR_COLUMN
DialogValidDynamicRefOBJECT_OR_COLUMN
QBM_PSessionErrorAddOBJECT_OR_COLUMN
QBM_YCursorBufferTYPE
QBM_YParameterListTYPE
dboQBM_FGIColumnExistsOBJECT_OR_COLUMN
dboQBM_FGIPrimaryKeyNameOBJECT_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_PFDA25F6EA8E748702E6D119_2 (@StartTable varchar(30) ) as begin SET XACT_ABORT OFF BEGIN TRY declare @cmd nvarchar(max) declare
2 @ObjectKeysToReplace QBM_YParameterList     declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int declare @TableName
3 varchar(30) declare @ColumnName varchar(30) declare @DebugSwitch int = 0  insert into @ElementBuffer(ContentFull, Ident1, Ident2) select concat( convert
4(nvarchar(max), ''), '
5			select ''', t.TableName ,''', ''', c.ColumnName, '''
6				 where exists (
7								select top 1 1
8								from ', t.TableName
9 ,'
10								where ', c.ColumnName , ' like ''<Key><T>', @StartTable , '</T><P>%''
11							)
12
13				 ' )  , t.TableName, c.ColumnName from DialogColumn
14 c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable and t.TableType in ('B', 'T') left outer join DialogValidDynamicRef r on r.UID_DialogColumn
15 = c.UID_DialogColumn where c.IsDynamicFK = 1 and r.UID_DialogColumn is null select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex
16 <= @ElementCount begin select top 1 @cmd = bu.ContentFull , @TableName = bu.Ident1 , @ColumnName = bu.Ident2 from @ElementBuffer bu where bu.ElementIndex
17 = @ElementIndex if @DebugSwitch > 0 begin print @cmd end   insert into @ObjectKeysToReplace(Parameter1, Parameter2) exec sp_executesql @cmd if @@ROWCOUNT
18 > 0 begin   if @DebugSwitch > 0 begin print 'wird ausgewertet' end end  select @ElementIndex += 1 end  insert into @ObjectKeysToReplace(Parameter1, Parameter2
19) select x.Tablename, x.Columnname from ( select 'QBMTaggedChange' as Tablename, 'ObjectKey' as Columnname union select 'QBMBufferConfig', 'ObjectKeyOfRow'
20 union  select tr.TableName, c.ColumnName from DialogValidDynamicRef r join DialogTable t on r.UID_DialogTableReference = t.UID_DialogTable join DialogColumn
21 c on r.UID_DialogColumn = c.UID_DialogColumn join DialogTable tr on c.UID_DialogTable = tr.UID_DialogTable where t.TableName = @StartTable ) as x where
22 not exists (select top 1 1 from @ObjectKeysToReplace e where e.Parameter1 = x.Tablename and e.Parameter2 = x.Columnname ) insert into #FinaleStatements
23(ContentFull) select x.SQLStatement from ( select 1000 as Sortorder, CONCAT('update ', @StartTable,'
24		set ', dbo.QBM_FGIPrimaryKeyName(@StartTable,1)
25,'  = z.PK_New
26			, XObjectKey = z.XO_New ' ,case dbo.QBM_FGIColumnExists(@Starttable, 'XDateUpdated') when 1 then ', XDateUpdated = GETUTCDATE(), XUserUpdated = ''QBM_PGUIDReplaceLighter'' '
27 else '' end, '	
28	from ', @StartTable,' t join #Zwischenstand z on t.', dbo.QBM_FGIPrimaryKeyName(@StartTable,1),' = z.PK_Old
29									where not exists (select top 1 1
30														from '
31, @StartTable,' te
32														where te.XObjectKey = z.XO_New
33													)
34				') as SQLStatement union select 1 as Sortorder, concat( 'update '
35, r.Parameter1,'
36										set ', r.Parameter2,' = y.XO_New ' ,case dbo.QBM_FGIColumnExists( r.Parameter1, 'XDateUpdated') when 1 then ', XDateUpdated = GETUTCDATE(), XUserUpdated = ''QBM_PGUIDReplaceLighter'' '
37 else '' end, '
38									from ', r.Parameter1,' t join #Zwischenstand y on t.', r.Parameter2,' = y.XO_Old
39									where not exists (select top 1 1
40														from '
41, r.Parameter1,' te
42														where te.', r.Parameter2,' = y.XO_New
43													)' ) as SQLStatement  from @ObjectKeysToReplace r ) as x order by
44 x.Sortorder END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow
45, 18, 1) WITH NOWAIT END CATCH endLabel: return end 
46

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:27.353

has TRY/CATCH error handling

Summary: calls QBM_PSessionErrorAdd; writes INSERT into; reads/joins DialogColumn, DialogTable, DialogValidDynamicRef

Declared parameters

ParameterTypeDirection
@StartTablevarchar(30)input

DML targets

INSERT into

Called routines

Config/session

Config: None extracted.

Session: None extracted.

DBQueue/tasks

None extracted.

Temp tables / referenced variables

Temp: #FinaleStatements #Zwischenstand

Variables: @StartTable @cmd @ObjectKeysToReplace @ElementBuffer @ElementCount @ElementIndex @TableName @ColumnName @DebugSwitch @ROWCOUNT @Starttable @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_PGUIDReplaceLighterSQL expression dependencyOBJECT_OR_COLUMN
dbo.QBM_PGUIDReplaceLightersource text referencehas TRY/CATCH error handling