dbo.QBM_PSlotResetWhileJobRun_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_FGIDBQueueSlotResetType source text reference
- references source dbo.QBM_FGIJobCreateName source text reference
- references source dbo.QBM_FGISessionErrorRethrow source text reference
- references source dbo.QBM_PDBQCS_CurrentMoveSlot source text reference
- references source dbo.QBM_PJournal source text reference
- references source dbo.QBM_PSessionErrorAdd source text reference
References
- dbo.QBM_FGIDBQueueSlotResetType
- dbo.QBM_FGIJobCreateName
- dbo.QBM_FGISessionErrorRethrow
- dbo.QBM_PDBQCS_CurrentMoveSlot
- dbo.QBM_PJournal
- dbo.QBM_PSessionErrorAdd
Referenced By
- dbo.ADS_RAccountInADSGroup
- dbo.ADS_RADSMachineInADSGroup
- dbo.ADS_RBaseTreeOwnsObjectPrepair
- dbo.ADS_RContactInADSGroup
- dbo.ADS_ROrgHasADSGroup
- dbo.ATT_RAttestationAbort
- dbo.ATT_RAttestationCheckValid
- dbo.ATT_RAttestationHelperFill
- dbo.ATT_RAttestationHelperFill_Cfg
- dbo.ATT_RAttestationMakeDecisionCD
- dbo.ATT_RAttestationReminder
- dbo.ATT_RAttestationReset
- dbo.CPL_RComplianceCheckForRule
- dbo.CPL_RITShopMakeDecisionCR
- dbo.CPL_RITShopMakeDecisionOC
- dbo.CPL_RITShopMakeDecisionOH
- dbo.LDP_RAccountInLDAPGroup
- dbo.LDP_RBaseTreeOwnsObjectPrepair
- dbo.LDP_RLDPMachineInLDAPGroup
- dbo.LDP_ROrgHasLDAPGroup
- dbo.POL_RQERPolicyFill
- dbo.QBM_RXDateSubItemUpdate
- dbo.QBM_RXDateSubItemUpdateFU
- dbo.QER_RAllForPersonInBaseTree
- dbo.QER_RDynamicGroupTest
- dbo.QER_RITShopCheckDecision
- dbo.QER_RITShopCheckMethodPR
- dbo.QER_RITShopHelperFill
- dbo.QER_RITShopHelperFill_Cfg
- dbo.QER_RITShopMakeDecisionCD
- dbo.QER_RITShopMakeDecisionRI
- dbo.QER_RITShopOrderAbort
- dbo.QER_RITShopOrderReset
- dbo.QER_RITShopProductNodeCheck
- dbo.QER_ROrgHasQERAssign
- dbo.QER_ROrgHasQERResource
- dbo.QER_ROrgHasQERReuse
- dbo.QER_ROrgHasQERReuseUS
- dbo.QER_RPersonHasQERAssign
- dbo.QER_RPersonHasQERResource
- dbo.QER_RPersonHasQERReuse
- dbo.QER_RPersonHasQERReuseUS
- dbo.RMS_RESetHasEntitlement
- dbo.RMS_ROrgHasESet
- dbo.RMS_RPersonHasESet
- dbo.RMS_RWorkDeskHasESet
- dbo.RPS_ROrgHasRPSReport
- dbo.RPS_RPersonHasRPSReport
- dbo.TSB_RBaseTreeOwnsObjectPrepair
- dbo.TSB_ROrgHasTSBAccountDef
- dbo.TSB_ROrgHasUNSGroupB
- dbo.TSB_ROrgHasUNSGroupB1
- dbo.TSB_ROrgHasUNSGroupB2
- dbo.TSB_ROrgHasUNSGroupB3
- dbo.TSB_RPersonHasTSBAccountDef
- dbo.TSB_RUNSAccountBHasUNSItemB
- dbo.TSB_RUNSAccountBInUNSGroupB
- dbo.TSB_RUNSAccountBInUNSGroupB1
- dbo.TSB_RUNSAccountBInUNSGroupB2
- dbo.TSB_RUNSAccountBInUNSGroupB3
Complete Source
1CREATE PROCEDURE QBM_PSlotResetWhileJobRun_L(2 @DBQueueCurrent QBM_YDBQueueCurrent READONLY,3 @Procid int,4 @ObjectKeysToCheck QBM_YParameterList READONLY,5 @JobChainNameAddOn nvarchar(256) = NULL,6 @CountParameterOfTask int = 1,7 @SlotNumber int = 08)9AS10BEGIN11 DECLARE @erg int = 012 DECLARE @msg nvarchar(1000)13 DECLARE @DebugLevel varchar(1) = 'W'14 DECLARE @SuppressCount int = 3015 DECLARE @UID_Task varchar(38)16 DECLARE @Procedurename nvarchar(64)17 DECLARE @Procedurename_Z nvarchar(64)18 DECLARE @Jobchainname nvarchar(256)19 DECLARE @SlotNumberSource int20 DECLARE @SlotNumberTarget int21 DECLARE @DBQueueToMove QBM_YDBQCSCurrentToMove22 DECLARE @RowsMoved int23 SET XACT_ABORT OFF24 BEGIN TRY25 IF EXISTS(26 SELECT TOP 1 127 FROM DialogConfigParm c28 WHERE29 c.UID_ConfigParm = 'TST-53D4A8BCCE4545BBA3A583F45DD57968')30 BEGIN31 SELECT @Procedurename = OBJECT_NAME(@procid)32 SELECT TOP 1 @UID_Task = t.UID_Task33 FROM QBMDBQueueTaskMetric t34 WITH(nolock)35 WHERE36 t.ProcedureName = @Procedurename37 SELECT38 @msg = 'No resetting for Task ' + isnull(isnull(@UID_Task, @Procedurename),39 'not named') + '.'40 EXEC dbo.QBM_PJournal @msg,41 @@PROCID,42 'W',43 @DebugLevel44 GOTO ende45 END46 SELECT @Jobchainname = NULL47 SELECT TOP 1 @Jobchainname = jq.JobChainName48 FROM @DBQueueCurrent pp49 JOIN @ObjectKeysToCheck oc50 ON pp.UID_Parameter = oc.Parameter151 JOIN QBMElementAffectedByJob ea52 WITH(nolock)53 ON ea.ObjectKeyAffected = oc.Parameter254 JOIN JobQueue jq55 WITH(nolock)56 ON ea.UID_Job = jq.UID_Job AND jq.IsNoDBQueueDefer = 057 WHERE58 jq.Ready2EXE LIKE N '[^DH][^I]%'59 IF @Jobchainname IS NOT NULL60 BEGIN61 DELETE @DBQueueToMove62 INSERT INTO @DBQueueToMove(UID_DialogDBQueue)63 SELECT cul.UID_DialogDBQueue64 FROM @DBQueueCurrent cul65 JOIN @ObjectKeysToCheck oc66 ON cul.UID_Parameter = oc.Parameter1 AND ISNULL(cul.UID_SubParameter,67 '') = CASE @CountParameterOfTask68 WHEN 1 THEN69 ISNULL(cul.UID_SubParameter,70 '')71 WHEN 2 THEN72 oc.Parameter373 ELSE 'x'74 END75 JOIN QBMElementAffectedByJob ea76 WITH(readpast)77 ON ea.ObjectKeyAffected = oc.Parameter278 JOIN JobQueue jq79 WITH(readpast)80 ON ea.UID_Job = jq.UID_Job AND jq.IsNoDBQueueDefer = 081 WHERE82 jq.JobChainName LIKE CASE83 WHEN isnull(@JobChainNameAddOn,84 '') = '' THEN85 '%'86 WHEN @JobChainNameAddOn LIKE '%[%]' THEN87 @JobChainNameAddOn88 ELSE dbo.QBM_FGIJobCreateName(@JobChainNameAddOn) + '%'89 END AND jq.Ready2EXE LIKE N '[^DH][^I]%'90 SELECT @erg = @@rowcount91 IF @erg > 092 BEGIN93 SELECT @SlotNumberSource = @SlotNumber94 SELECT @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType('JobQueue')95 EXEC @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove,96 @SlotNumberSource,97 @SlotnumberTarget98 END99 END100 IF @RowsMoved > 0101 BEGIN102 SELECT @Procedurename = OBJECT_NAME(@procid)103 IF @Procedurename LIKE '___[_]R%'104 BEGIN105 SELECT @Procedurename_Z = CONCAT(106 LEFT(@Procedurename, 4),107 'Z',108 SUBSTRING(@Procedurename, 6, 30))109 END110 ELSE111 BEGIN112 SELECT @Procedurename_Z = @Procedurename113 END114 SELECT TOP 1 @UID_Task = t.UID_Task115 FROM QBMDBQueueTaskMetric t116 WITH(nolock)117 WHERE118 t.ProcedureName = @Procedurename_Z119 SELECT120 @msg = CONCAT('#LDS#Resetting DBQueue tasks {0} because processes {1} related to objects on these tasks are still running in JobQueue.|'121 ,122 isnull(isnull(@UID_Task, @Procedurename_Z), 'not named'),123 '|',124 @Jobchainname,125 '|')126 EXEC dbo.QBM_PJournal @msg,127 @@PROCID,128 'W',129 @DebugLevel,130 @SuppressCount131 END132 END TRY133 BEGIN CATCH134 EXEC QBM_PSessionErrorAdd DEFAULT135 DECLARE @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()136 RAISERROR(@Rethrow,137 18,138 1)139 WITH NOWAIT140 END CATCH141 ende:142 RETURN(@erg)143END
Open raw exported source
1 create procedure QBM_PSlotResetWhileJobRun_L (@DBQueueCurrent QBM_YDBQueueCurrent readonly , @Procid int , @ObjectKeysToCheck QBM_YParameterList2 readonly , @JobChainNameAddOn nvarchar(256) = null , @CountParameterOfTask int = 1 , @SlotNumber int = 0 ) as begin declare @erg int = 0 declare3 @msg nvarchar(1000) declare @DebugLevel varchar(1) = 'W' declare @SuppressCount int = 30 declare @UID_Task varchar(38) declare @Procedurename nvarchar4(64) declare @Procedurename_Z nvarchar(64) declare @Jobchainname nvarchar(256) declare @SlotNumberSource int declare @SlotNumberTarget int declare @DBQueueToMove5 QBM_YDBQCSCurrentToMove declare @RowsMoved int SET XACT_ABORT OFF BEGIN TRY if exists (select top 1 1 from DialogConfigParm c where c.UID_ConfigParm 6= 'TST-53D4A8BCCE4545BBA3A583F45DD57968' ) begin select @Procedurename = OBJECT_NAME(@procid) select top 1 @UID_Task = t.UID_Task from QBMDBQueueTaskMetric7 t with (nolock) where t.ProcedureName = @Procedurename select @msg = 'No resetting for Task '+ isnull(isnull(@UID_Task, @Procedurename) , 'not named')8 + '.' exec dbo.QBM_PJournal @msg, @@PROCID, 'W', @DebugLevel goto ende end select @Jobchainname = null select top 1 @Jobchainname = jq.JobChainName 9from @DBQueueCurrent pp join @ObjectKeysToCheck oc on pp.UID_Parameter = oc.Parameter1 join QBMElementAffectedByJob ea with (nolock) on ea.ObjectKeyAffected10 = oc.Parameter2 join JobQueue jq with (nolock) on ea.UID_Job = jq.UID_Job and jq.IsNoDBQueueDefer = 0 where jq.Ready2EXE like N'[^DH][^I]%' if @Jobchainname11 is not null begin delete @DBQueueToMove insert into @DBQueueToMove(UID_DialogDBQueue) select cul.UID_DialogDBQueue from @DBQueueCurrent cul join 12@ObjectKeysToCheck oc on cul.UID_Parameter = oc.Parameter1 and ISNULL(cul.UID_SubParameter, '') = case @CountParameterOfTask when 1 then ISNULL(cul.UID_SubParameter13, '') when 2 then oc.Parameter3 else 'x' end join QBMElementAffectedByJob ea with (readpast) on ea.ObjectKeyAffected = oc.Parameter2 join JobQueue jq with14 (readpast) on ea.UID_Job = jq.UID_Job and jq.IsNoDBQueueDefer = 0 where jq.JobChainName like case when isnull(@JobChainNameAddOn, '') = '' then '%' when15 @JobChainNameAddOn like '%[%]' then @JobChainNameAddOn else dbo.QBM_FGIJobCreateName(@JobChainNameAddOn) + '%' end and jq.Ready2EXE like N'[^DH][^I]%'16 select @erg = @@rowcount if @erg > 0 begin select @SlotNumberSource = @SlotNumber select @SlotnumberTarget = dbo.QBM_FGIDBQueueSlotResetType('JobQueue'17) exec @RowsMoved = QBM_PDBQCS_CurrentMoveSlot @DBQueueToMove, @SlotNumberSource, @SlotnumberTarget end end if @RowsMoved > 0 begin select @Procedurename18 = OBJECT_NAME(@procid) if @Procedurename like '___[_]R%' begin select @Procedurename_Z = concat(LEFT(@Procedurename, 4) , 'Z' , SUBSTRING(@Procedurename19, 6, 30) ) end else begin select @Procedurename_Z = @Procedurename end select top 1 @UID_Task = t.UID_Task from QBMDBQueueTaskMetric t with (nolock) where20 t.ProcedureName = @Procedurename_Z select @msg = concat('#LDS#Resetting DBQueue tasks {0} because processes {1} related to objects on these tasks are still running in JobQueue.|'21 , isnull(isnull(@UID_Task, @Procedurename_Z) , 'not named') , '|' , @Jobchainname , '|' ) exec dbo.QBM_PJournal @msg, @@PROCID, 'W', @DebugLevel , @SuppressCount22 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 123) WITH NOWAIT END CATCH ende: return (@erg) end 24