dbo.QBM_PWorkDBQueueDelete

SQL_STORED_PROCEDURE

Created 2025-06-27T17:57:37.260 · modified 2026-04-14T23:16:09 · source: live DB sys.objects/sys.sql_expression_dependencies.

Open formatted source/search result

Parameters

NameTypeOutput
@PartToDeleteintno
@RunningSecondsMaxintno
@TimeLimitReachedintyes

Referenced objects

SchemaObjectColumn/minorClass
QBM_PDBQueueAgentInfoSetOBJECT_OR_COLUMN
QBM_PDialogDBQueueDeleteOBJECT_OR_COLUMN
QBM_PQBMDBQueueCurrentDeleteOBJECT_OR_COLUMN
QBM_PQBMDBQueuePondDeleteOBJECT_OR_COLUMN
QBM_PSessionContextSetOBJECT_OR_COLUMN
QBM_PSessionErrorAddOBJECT_OR_COLUMN
QBM_PSessionErrorCleanOBJECT_OR_COLUMN
QBM_PTransactionLevelCheckOBJECT_OR_COLUMN
QBM_PWaitForSecondsOBJECT_OR_COLUMN
dboQBM_FGIDBQueueActivityDisabledOBJECT_OR_COLUMN
dboQBM_FGISessionContextOBJECT_OR_COLUMN
dboQBM_FGISessionErrorIsDeadlockOBJECT_OR_COLUMN
dboQBM_FGISessionErrorIsMissingCoOBJECT_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_PWorkDBQueueDelete (@PartToDelete int    , @RunningSecondsMax int , @TimeLimitReached int output ) as begin declare @procname
2 nvarchar(256) = concat(object_name(@@procid), trim(str(@PartToDelete))) declare @Starttime datetime = getutcdate() select @TimeLimitReached = 0  declare
3 @AnzahlDialogDBQueue int = 0 declare @AnzahlQBMDBQueueCurrent int = 0 declare @AnzahlQBMDBQueuePond int = 0  if @PartToDelete = 1 begin select @AnzahlDialogDBQueue
4 = 1 end if @PartToDelete = 2 begin select @AnzahlQBMDBQueueCurrent = 1 end if @PartToDelete = 3 begin select @AnzahlQBMDBQueuePond = 1 end if @PartToDelete
5 not in (1,2,3) begin goto endlabel end declare @XUser nvarchar(64) = object_name(@@procid) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext
6('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') SET XACT_ABORT OFF BEGIN TRY exec QBM_PSessionContextSet 'XUser', @XUser       
7  if 0 = (select min(sign(len(ISNULL(p.name, '')))) as StartBisHierGeschafft from ( values ('QBMModuleDef')   , ('QBM_PSessionErrorAdd')   , ('QBM_FGISessionErrorIsDeadlock'
8)   , ('QBM_FGISessionErrorIsMissingCo')   , ('QBM_FGIDBQueueActivityDisabled') , ('QBM_PDialogDBQueueDelete') , ('QBM_PQBMDBQueueCurrentDelete')  , ('QBM_PTransactionLevelCheck'
9) , ('QBM_PWaitForSeconds') , ('QBMDBQueueCurrent')   , ('QBM_PQBMDBQueuePondDelete') ) as v (ProcedureName) left outer join sys.objects p with (readpast
10) on p.name = v.ProcedureName ) begin goto EndLabel end   exec QBM_PDBQueueAgentInfoSet @procname exec QBM_PTransactionLevelCheck 0, @@procid, 'at start'
11 set deadlock_priority -10  set lock_timeout 50                      while (@AnzahlQBMDBQueueCurrent + @AnzahlDialogDBQueue + @AnzahlQBMDBQueuePond) > 
120 and @TimeLimitReached = 0 and dbo.QBM_FGIDBQueueActivityDisabled() = 0 begin set lock_timeout 50     if @AnzahlQBMDBQueueCurrent > 0 and @PartToDelete
13 = 2  begin BEGIN TRY   exec @AnzahlQBMDBQueueCurrent = QBM_PQBMDBQueueCurrentDelete END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock
14(default) = 0 and dbo.QBM_FGISessionErrorIsMissingCo(default) = 0   begin RAISERROR ('', 18, 1) WITH NOWAIT end else begin select @AnzahlQBMDBQueueCurrent
15 = 1 exec QBM_PSessionErrorClean end END CATCH end      if @AnzahlDialogDBQueue > 0 and @PartToDelete = 1  begin BEGIN TRY exec @AnzahlDialogDBQueue = 
16QBM_PDialogDBQueueDelete END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 and dbo.QBM_FGISessionErrorIsMissingCo
17(default) = 0   begin RAISERROR ('', 18, 1) WITH NOWAIT end else begin select @AnzahlDialogDBQueue = 1 exec QBM_PSessionErrorClean end END CATCH end   
18   if @AnzahlQBMDBQueuePond > 0 and @PartToDelete = 3  begin BEGIN TRY exec @AnzahlQBMDBQueuePond = QBM_PQBMDBQueuePondDelete END TRY BEGIN CATCH exec 
19QBM_PSessionErrorAdd default if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 and dbo.QBM_FGISessionErrorIsMissingCo(default) = 0   begin RAISERROR (''
20, 18, 1) WITH NOWAIT end else begin select @AnzahlQBMDBQueuePond = 1 exec QBM_PSessionErrorClean end END CATCH end   exec QBM_PWaitForSeconds 0.040 if 
21DATEDIFF(ss, @Starttime, getutcdate()) > @RunningSecondsMax begin select @TimeLimitReached = 1 end end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default
22 if dbo.QBM_FGISessionErrorIsDeadlock(default) = 0 and dbo.QBM_FGISessionErrorIsMissingCo(default) = 0 begin declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow
23() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT end else begin exec QBM_PSessionErrorClean end END CATCH endLabel: exec QBM_PSessionContextSet 'GenProcID', 
24@GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R  exec QBM_PDBQueueAgentInfoSet @procname, 1 set lock_timeout -1 return end 
25

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:16:09

uses session context values has TRY/CATCH error handling

Summary: calls QBM_PSessionContextSet, QBM_PDBQueueAgentInfoSet, QBM_PTransactionLevelCheck, QBM_PQBMDBQueueCurrentDelete, QBM_PSessionErrorAdd…; reads/joins sys; uses session context XUser, GenProcID

Declared parameters

ParameterTypeDirection
@PartToDeleteintinput
@RunningSecondsMaxintinput
@TimeLimitReachedintOUTPUT

DML targets

None extracted.

Read/join references

Config/session

Config: None extracted.

Session: XUser GenProcID

DBQueue/tasks

None extracted.

Temp tables / referenced variables

Temp: None extracted.

Variables: @PartToDelete @RunningSecondsMax @TimeLimitReached @procname @procid @Starttime @AnzahlDialogDBQueue @AnzahlQBMDBQueueCurrent @AnzahlQBMDBQueuePond @XUser @GenProcID_R @XUser_R @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.

No reverse dependencies extracted.