dbo.QER_PSlotResetOnInvalidRoot_L
Stored ProcedureSQL_STORED_PROCEDURESandbox DB
Interpretation
- Database routine. Review parameters, called procedures, DBQueue inserts, and QBM_PJobCreate helper calls before assuming side effects.
Relations
- No extracted relations.
Typed Edges
- references source dbo.QBM_FGICodeName source text reference
- references source dbo.QBM_FGISessionErrorRethrow source text reference
- references source dbo.QBM_FSQProcedureDef source text reference
- references source dbo.QBM_PDBQCS_CurrentMoveSlot source text reference
- references source dbo.QBM_PSessionErrorAdd source text reference
- references source dbo.QBM_PSQLCreate source text reference
- references source dbo.QBM_PWaitForSeconds source text reference
References
- dbo.QBM_FGICodeName
- dbo.QBM_FGISessionErrorRethrow
- dbo.QBM_FSQProcedureDef
- dbo.QBM_PDBQCS_CurrentMoveSlot
- dbo.QBM_PSessionErrorAdd
- dbo.QBM_PSQLCreate
- dbo.QBM_PWaitForSeconds
Referenced By
- dbo.ADS_ROrgHasADSGroup
- dbo.LDP_ROrgHasLDAPGroup
- dbo.QER_ROrgHasQERAssign
- dbo.QER_ROrgHasQERResource
- dbo.QER_ROrgHasQERReuse
- dbo.QER_ROrgHasQERReuseUS
- dbo.RMS_ROrgHasESet
- dbo.RPS_ROrgHasRPSReport
- dbo.TSB_ROrgHasTSBAccountDef
- dbo.TSB_ROrgHasUNSGroupB
- dbo.TSB_ROrgHasUNSGroupB1
- dbo.TSB_ROrgHasUNSGroupB2
- dbo.TSB_ROrgHasUNSGroupB3
Complete Source
1CREATE PROCEDURE QER_PSlotResetOnInvalidRoot_L(2 @DBQueueCurrent QBM_YDBQueueCurrent READONLY,3 @UID_BasetreeAssignToUse varchar(38),4 @SlotNumber int5)6AS7BEGIN8 DECLARE @erg int = 09 DECLARE @DebugSwitch int = 010 DECLARE @UnComment BIT = 1,11 @Unformat BIT = 112 DECLARE @DebugLevel char(1) = 'W'13 DECLARE @ProcName varchar(30)14 DECLARE @ProcDef nvarchar(max)15 DECLARE @ProcBody nvarchar(max)16 DECLARE @OutstandingTest nvarchar(1000)17 DECLARE @SourceName nvarchar(1000)18 DECLARE @anlegenklappt BIT = 019 DECLARE @waitTime float20 SET XACT_ABORT OFF21 BEGIN TRY22 SELECT23 @ProcName = dbo.QBM_FGICodeName('PSR',24 @UID_BasetreeAssignToUse)25 IF @DebugSwitch > 026 BEGIN27 SELECT28 @UnComment = 0,29 @Unformat = 0 print @ProcName30 END31 WHILE NOT EXISTS(32 SELECT TOP 1 133 FROM sys.objects o34 WHERE35 o.name = @ProcName)36 BEGIN37 IF @DebugSwitch > 038 BEGIN39 print 'dann bauen wir eine'40 END41 SELECT42 @waitTime = convert(float,43 @@spid) / 1000.044 EXEC QBM_PWaitForSeconds @waittime45 SELECT46 @ProcBody = CONCAT('47 declare @SlotNumberSource int48 declare @SlotNumberTarget int49 declare @DBQueueToMove QBM_YDBQCSCurrentToMove 50 51 SET XACT_ABORT OFF5253 -- befüllen mit den interessanten Einträgen54 insert into @DBQueueToMove(UID_DialogDBQueue)55 select cul.UID_DialogDBQueue56 from @DBQueueCurrent cul -- Suchbedingung57 join BaseTree b with (readpast) on cul.UID_Parameter = b.UID_Org58 left outer join OrgRootAssign ra with (readpast) on ra.UID_OrgRoot = b.UID_OrgRoot59 and ra.UID_BaseTreeAssign = '''60 ,61 @UID_BasetreeAssignToUse,62 '''63 and ra.IsAssignmentAllowed = 164 where ra.UID_OrgRoot is null6566 if @@ROWCOUNT > 067 begin6869 select @SlotNumberSource = @SlotNumber -- die übergebene Slotnummer70 select @SlotnumberTarget = 071 72 exec @ret = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget7374 end7576 '77 )78 SELECT79 @SourceName = CONCAT('QER_PSlotResetOnInvalidRoot_L',80 '(',81 @UID_BasetreeAssignToUse,82 ')')83 SELECT84 @procdef = dbo.QBM_FSQProcedureDef(@ProcName,85 '@DBQueueCurrent QBM_YDBQueueCurrent readonly86 , @SlotNumber int ',87 @ProcBody,88 @SourceName)89 IF @DebugSwitch > 090 BEGIN91 print @procdef92 END93 BEGIN94 TRANSACTION95 IF NOT EXISTS(96 SELECT TOP 1 197 FROM sys.objects o98 WHERE99 o.name = @ProcName)100 BEGIN101 BEGIN TRY102 EXEC QBM_PSQLCreate @Procname,103 'P',104 @procDef,105 @UnComment = @UnComment,106 @Unformat = @Unformat107 SELECT @anlegenklappt = 1108 END TRY109 BEGIN CATCH110 IF @DebugSwitch > 0111 BEGIN112 print 'catch beim Anlegen?'113 END114 SELECT @anlegenklappt = 0115 END CATCH116 END117 IF @anlegenklappt = 1118 BEGIN119 COMMIT120 END121 ELSE122 BEGIN123 ROLLBACK124 END125 SELECT126 @waitTime =(convert(float, @@spid) / 1000.0) + 0.4127 EXEC QBM_PWaitForSeconds @waittime128 END129 EXEC @erg = @ProcName @DBQueueCurrent,130 @SlotNumber131 END TRY132 BEGIN CATCH133 EXEC QBM_PSessionErrorAdd DEFAULT134 DECLARE @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()135 RAISERROR(@Rethrow,136 18,137 1)138 WITH NOWAIT139 END CATCH140 endLabel:141 RETURN(@erg)142 END
Open raw exported source
1create procedure QER_PSlotResetOnInvalidRoot_L (@DBQueueCurrent QBM_YDBQueueCurrent readonly , @UID_BasetreeAssignToUse varchar(38) , @SlotNumber2 int ) as begin declare @erg int = 0 declare @DebugSwitch int = 0 declare @UnComment bit = 1 ,@Unformat bit = 1 declare @DebugLevel char(1) = 'W' declare3 @ProcName varchar(30) declare @ProcDef nvarchar(max) declare @ProcBody nvarchar(max) declare @OutstandingTest nvarchar(1000) declare @SourceName nvarchar4(1000) declare @anlegenklappt bit = 0 declare @waitTime float SET XACT_ABORT OFF BEGIN TRY select @ProcName = dbo.QBM_FGICodeName('PSR', @UID_BasetreeAssignToUse5) if @DebugSwitch > 0 begin select @UnComment = 0 , @Unformat = 0 print @ProcName end while not exists (select top 1 1 from sys.objects o where o.name6 = @ProcName ) begin if @DebugSwitch > 0 begin print 'dann bauen wir eine' end select @waitTime = convert(float, @@spid) / 1000.0 exec QBM_PWaitForSeconds7 @waittime select @ProcBody = CONCAT( '8 declare @SlotNumberSource int9 declare @SlotNumberTarget int10 declare @DBQueueToMove QBM_YDBQCSCurrentToMove 11 12 SET XACT_ABORT OFF1314 -- befüllen mit den interessanten Einträgen15 insert into @DBQueueToMove(UID_DialogDBQueue)16 select cul.UID_DialogDBQueue17 from @DBQueueCurrent cul -- Suchbedingung18 join BaseTree b with (readpast) on cul.UID_Parameter = b.UID_Org19 left outer join OrgRootAssign ra with (readpast) on ra.UID_OrgRoot = b.UID_OrgRoot20 and ra.UID_BaseTreeAssign = '''21, @UID_BasetreeAssignToUse, '''22 and ra.IsAssignmentAllowed = 123 where ra.UID_OrgRoot is null2425 if @@ROWCOUNT > 026 begin2728 select @SlotNumberSource = @SlotNumber -- die übergebene Slotnummer29 select @SlotnumberTarget = 030 31 exec @ret = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget3233 end3435 '36 ) select @SourceName = concat('QER_PSlotResetOnInvalidRoot_L' , '(' , @UID_BasetreeAssignToUse , ')' ) select @procdef = dbo.QBM_FSQProcedureDef(@ProcName37 , '@DBQueueCurrent QBM_YDBQueueCurrent readonly38 , @SlotNumber int ' , @ProcBody , @SourceName ) if @DebugSwitch > 0 begin print @procdef 39end begin transaction if not exists (select top 1 1 from sys.objects o where o.name = @ProcName ) begin BEGIN TRY exec QBM_PSQLCreate @Procname, 'P'40, @procDef, @UnComment = @UnComment, @Unformat = @Unformat select @anlegenklappt = 1 END TRY BEGIN CATCH if @DebugSwitch > 0 begin print 'catch beim Anlegen?'41 end select @anlegenklappt = 0 END CATCH end if @anlegenklappt = 1 begin commit end else begin rollback end select @waitTime = (convert(float, @@spid42) / 1000.0) + 0.4 exec QBM_PWaitForSeconds @waittime end exec @erg = @ProcName @DBQueueCurrent, @SlotNumber END TRY BEGIN CATCH exec QBM_PSessionErrorAdd43 default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return (@erg) end44 45