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.
Parameters
| Name | Type | Output |
|---|---|---|
@StartTable | varchar | no |
Referenced objects
| Schema | Object | Column/minor | Class |
|---|---|---|---|
| DialogColumn | OBJECT_OR_COLUMN | ||
| DialogTable | OBJECT_OR_COLUMN | ||
| DialogValidDynamicRef | OBJECT_OR_COLUMN | ||
| QBM_PSessionErrorAdd | OBJECT_OR_COLUMN | ||
| QBM_YCursorBuffer | TYPE | ||
| QBM_YParameterList | TYPE | ||
| dbo | QBM_FGIColumnExists | OBJECT_OR_COLUMN | |
| dbo | QBM_FGIPrimaryKeyName | OBJECT_OR_COLUMN | |
| dbo | QBM_FGISessionErrorRethrow | OBJECT_OR_COLUMN |
Source excerpt
First extracted SQL definition lines from the exported source. Use the full source page for complete context.
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
| Parameter | Type | Direction |
|---|---|---|
@StartTable | varchar(30) | input |
DML targets
INSERT intoCalled routines
Read/join references
SQL dependency metadata
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 object | Relation | Evidence |
|---|---|---|
| dbo.QBM_PGUIDReplaceLighter | SQL expression dependency | OBJECT_OR_COLUMN |
| dbo.QBM_PGUIDReplaceLighter | source text reference | has TRY/CATCH error handling |