dbo.QER_TIPersonWantsOrg
Database TriggerSQL_TRIGGERSandbox DB
Interpretation
- Database trigger. Treat parent table and enqueue/object-layer calls as the main relation points.
- Object-layer bridge detected through QBM_PJobCreate helper usage.
- DBQueue relation detected. Follow the task procedure and referenced-by list for async processing.
Relations
- HOCallMethod -> PersonWantsOrg.MakeDecisionOnInsertAsync at line 21
- Bulk DBQueue insert -> QER-K-ShoppingRackPWOHelperPWO / QER_ZITShopHelperFill at line 21
- Bulk DBQueue insert -> QER-K-ShoppingRackPersonHasObject / QER_ZITShopPersonHasObjectFill at line 21
- Bulk DBQueue insert -> QER-K-ShoppingRackPWOHelperPWO / QER_ZITShopHelperFill at line 25
- Bulk DBQueue insert -> QER-K-ShoppingRackPersonHasObject / QER_ZITShopPersonHasObjectFill at line 25
- References QBM_PJobCreate*
- References QBM_PJobCreate_HOCallMethod*
- References QBM_PDBQueueInsert_Bulk
- Trigger parent table: PersonWantsOrg
Typed Edges
- calls object method PersonWantsOrg.MakeDecisionOnInsertAsync HOCallMethod -> PersonWantsOrg.MakeDecisionOnInsertAsync at line 21
- queues DBQueue task QER_ZITShopHelperFill at line 21 Bulk DBQueue insert -> QER-K-ShoppingRackPWOHelperPWO / QER_ZITShopHelperFill at line 21
- queues DBQueue task QER_ZITShopPersonHasObjectFill at line 21 Bulk DBQueue insert -> QER-K-ShoppingRackPersonHasObject / QER_ZITShopPersonHasObjectFill at line 21
- queues DBQueue task QER_ZITShopHelperFill at line 25 Bulk DBQueue insert -> QER-K-ShoppingRackPWOHelperPWO / QER_ZITShopHelperFill at line 25
- queues DBQueue task QER_ZITShopPersonHasObjectFill at line 25 Bulk DBQueue insert -> QER-K-ShoppingRackPersonHasObject / QER_ZITShopPersonHasObjectFill at line 25
- trigger on table PersonWantsOrg Trigger parent table: PersonWantsOrg
- references source dbo.QBM_FGIConfigparmValue source text reference
- references source dbo.QBM_FGISessionContext source text reference
- references source dbo.QBM_PDBQueueInsert_Bulk source text reference
- references source dbo.QBM_PJobCreate source text reference
- references source dbo.QBM_PJobCreate_HOCallMethod source text reference
- references source dbo.QBM_PJobCreate_HOCallMethod_L source text reference
- references source dbo.QBM_PSessionErrorAdd source text reference
- references source dbo.QER_PITShopPersonHasObjFill_b source text reference
- references source dbo.QER_TIPerson source text reference
References
- dbo.QBM_FGIConfigparmValue
- dbo.QBM_FGISessionContext
- dbo.QBM_PDBQueueInsert_Bulk
- dbo.QBM_PJobCreate
- dbo.QBM_PJobCreate_HOCallMethod
- dbo.QBM_PJobCreate_HOCallMethod_L
- dbo.QBM_PSessionErrorAdd
- dbo.QER_PITShopPersonHasObjFill_b
- dbo.QER_TIPerson
Referenced By
- No direct source references extracted.
Complete Source
1CREATE trigger QER_TIPersonWantsOrg2 ON PersonWantsOrg FOR3INSERT NOT FOR Replication4AS5BEGIN6 DECLARE @DecisionOnInsert int = 07 DECLARE @uid_personwantsorg varchar(38)8 DECLARE @isMassInsert BIT = 09 DECLARE @XUser nvarchar(64)10 DECLARE @heute datetime = getutcdate()11 DECLARE @Processes QBM_YParameterList12 DECLARE @PWOsToFillObject QBM_YParameterlist13 BEGIN TRY14 IF EXISTS(15 SELECT TOP 1 116 FROM inserted)17 GOTO start18 RETURN start:19 DECLARE @GenProcID varchar(38)20 SELECT @GenProcID = dbo.QBM_FGISessionContext('')21 SELECT @XUser = dbo.QBM_FGISessionContext('XUser')22 IF EXISTS(23 SELECT TOP 1 124 FROM inserted i25 JOIN PersonWantsOrg pwo26 ON i.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg27 JOIN QER_VPWOOrderState s28 ON pwo.OrderState = s.OrderState29 WHERE30 sign(len(isnull(pwo.UID_QERWorkingMethod, ''))) ^ s.HasWorkingMethod = 1)31 BEGIN32 RAISERROR('#LDS#Invalid combination of Orderstate and QERWorkingMethod.|',33 18,34 1)35 WITH nowait36 END37 IF dbo.QBM_FGIConfigparmValue('Common\ProcessState') > ' '38 BEGIN39 IF dbo.QBM_FGIConfigparmValue('Common\ProcessState\UseGenProcIDFromPWO') > ' '40 BEGIN41 INSERT INTO @Processes(Parameter1,42 Parameter2)43 SELECT44 isnull(i.GenProcID,45 @GenProcID),46 min(i.XObjectKey)47 FROM inserted i48 GROUP BY i.GenProcID49 END50 ELSE51 BEGIN52 INSERT INTO @Processes(Parameter1,53 Parameter2)54 SELECT55 @GenProcID,56 min(i.XObjectKey)57 FROM inserted i58 END59 DELETE @Processes60 FROM @Processes p61 WHERE62 EXISTS(63 SELECT TOP 1 164 FROM DialogProcess e65 WITH(nolock)66 WHERE67 e.GenProcID = p.Parameter1)68 IF EXISTS(69 SELECT TOP 1 170 FROM @Processes)71 BEGIN72 INSERT INTO DialogProcess(GenProcID,73 BasisObjectType,74 ObjectKey,75 ProcessState,76 XDateInserted,77 XDateUpdated,78 XUserInserted,79 XUserUpdated,80 CustomComment,81 DisplayName)82 SELECT83 p.Parameter1,84 'PersonWantsOrg' AS BasisObjectType,85 p.Parameter2 AS ObjectKey,86 'E',87 @heute,88 @heute,89 @XUser,90 @XUser,91 '' AS CustomComment,92 'Insert PersonWantsOrg' AS DisplayName93 FROM @Processes p94 WHERE95 NOT EXISTS(96 SELECT TOP 1 197 FROM Dialogprocess98 WHERE99 GenProcID = p.Parameter1)100 END101 END102 IF dbo.QBM_FGIConfigparmValue('QER\ITShop\DecisionOnInsert') > ' '103 BEGIN104 SELECT @DecisionOnInsert = 1105 END106 IF(107 SELECT count(*)108 FROM inserted) > 500109 BEGIN110 SELECT @isMassInsert = 1111 END112 IF EXISTS(113 SELECT TOP 1 1114 FROM inserted i115 WHERE116 i.UID_ITShopOrgFinal IS NULL)117 BEGIN118 UPDATE personwantsorg119 SET UID_ITShopOrgFinal = Personwantsorg.uid_Org,120 XDateUpdated = @heute,121 XUserUpdated = @XUser122 FROM Personwantsorg123 JOIN inserted i124 ON Personwantsorg.uid_personwantsorg = i.uid_Personwantsorg125 WHERE126 i.UID_ITShopOrgFinal IS NULL127 END128 IF @isMassInsert = 0129 BEGIN130 DELETE @PWOsToFillObject131 INSERT INTO @PWOsToFillObject(Parameter1,132 Parameter2,133 Parameter3,134 HasContentFull)135 SELECT136 UID_PersonWantsOrg,137 @GenProcID,138 '1' AS CurrentLevelOnly,139 1 AS isNewDecisionLevel140 FROM inserted141 WHERE142 OrderState IN('OrderProduct',143 'OrderProlongate',144 'OrderUnsubscribe')145 EXEC QER_PITShopPersonHasObjFill_b @PWOsToFillObject,146 @IsCalledFromTrigger = 1147 END148 IF @DecisionOnInsert = 1149 BEGIN150 DECLARE @PWOsToFire QBM_YParameterList151 INSERT INTO @PWOsToFire(Parameter1)152 SELECT i.XObjectKey153 FROM inserted i154 WHERE155 OrderState IN('OrderProduct',156 'OrderProlongate',157 'OrderUnsubscribe')158 EXEC QBM_PJobCreate_HOCallMethod_L @objecttype = 'PersonWantsOrg',159 @XObjectKeys = @PWOsToFire,160 @save = 1,161 @MethodName = 'MakeDecisionOnInsertAsync',162 @GenProcID = @GenProcID,163 @AdditionalObjectKeysAffected = DEFAULT,164 @Retries = 3,165 @isToFreezeOnError = 1,166 @WhereClauseAdditional = 'DecisionLevel = 0 and OrderState in (''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')',167 @checkForExisting = 1168 END169 IF @DecisionOnInsert = 0 OR @isMassInsert = 1170 BEGIN171 DECLARE @DBQueueElements_01 QBM_YDBQueueRaw172 INSERT INTO @DBQueueElements_01(object,173 subobject,174 genprocid)175 SELECT176 x.uid,177 NULL,178 @GenProcID179 FROM(180 SELECT i.UID_PersonWantsOrg AS uid181 FROM inserted i182 WHERE183 i.OrderState IN('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe')) AS x184 EXEC QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO',185 @DBQueueElements_01186 EXEC QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPersonHasObject',187 @DBQueueElements_01188 END189 END TRY190 BEGIN CATCH191 EXEC QBM_PSessionErrorAdd DEFAULT192 RAISERROR('',193 18,194 1)195 WITH NOWAIT196 END CATCH197 ende:198 RETURN199END
Open raw exported source
1 create trigger QER_TIPersonWantsOrg on PersonWantsOrg for Insert not for Replication as begin declare @DecisionOnInsert int = 0 declare 2@uid_personwantsorg varchar(38) declare @isMassInsert bit = 0 declare @XUser nvarchar(64) declare @heute datetime = getutcdate() declare @Processes QBM_YParameterList3 declare @PWOsToFillObject QBM_YParameterlist BEGIN TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar4(38) select @GenProcID = dbo.QBM_FGISessionContext('') select @XUser = dbo.QBM_FGISessionContext('XUser') if exists (select top 1 1 from inserted i join5 PersonWantsOrg pwo on i.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg join QER_VPWOOrderState s on pwo.OrderState = s.OrderState where sign(len(isnull(pwo.UID_QERWorkingMethod6, ''))) ^ s.HasWorkingMethod = 1 ) begin raiserror('#LDS#Invalid combination of Orderstate and QERWorkingMethod.|', 18, 1) with nowait end if dbo.QBM_FGIConfigparmValue7('Common\ProcessState') > ' ' begin if dbo.QBM_FGIConfigparmValue('Common\ProcessState\UseGenProcIDFromPWO') > ' ' begin insert into @Processes(Parameter18, Parameter2) select isnull(i.GenProcID, @GenProcID) , min(i.XObjectKey) from inserted i group by i.GenProcID end else begin insert into @Processes(Parameter19, Parameter2) select @GenProcID , min(i.XObjectKey) from inserted i end delete @Processes from @Processes p where exists (select top 1 1 from DialogProcess10 e with (nolock) where e.GenProcID = p.Parameter1 ) if exists (select top 1 1 from @Processes ) begin insert into DialogProcess (GenProcID, BasisObjectType11 , ObjectKey, ProcessState , XDateInserted, XDateUpdated , XUserInserted , XUserUpdated , CustomComment, DisplayName ) select p.Parameter1 , 'PersonWantsOrg'12 as BasisObjectType , p.Parameter2 as ObjectKey, 'E' , @heute, @heute , @XUser , @XUser , '' as CustomComment, 'Insert PersonWantsOrg' as DisplayName 13from @Processes p where not exists (select top 1 1 from Dialogprocess where GenProcID = p.Parameter1) end end if dbo.QBM_FGIConfigparmValue('QER\ITShop\DecisionOnInsert'14) > ' ' begin select @DecisionOnInsert = 1 end if (select count(*) from inserted) > 500 begin select @isMassInsert = 1 end if exists (select top 1 1 from15 inserted i where i.UID_ITShopOrgFinal is null ) begin update personwantsorg set UID_ITShopOrgFinal = Personwantsorg.uid_Org , XDateUpdated = @heute ,16 XUserUpdated = @XUser from Personwantsorg join inserted i on Personwantsorg.uid_personwantsorg = i.uid_Personwantsorg where i.UID_ITShopOrgFinal is null17 end if @isMassInsert = 0 begin delete @PWOsToFillObject insert into @PWOsToFillObject(Parameter1, Parameter2, Parameter3, HasContentFull) select UID_PersonWantsOrg18, @GenProcID , '1' as CurrentLevelOnly , 1 as isNewDecisionLevel from inserted where OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe'19) exec QER_PITShopPersonHasObjFill_b @PWOsToFillObject, @IsCalledFromTrigger = 1 end if @DecisionOnInsert = 1 begin declare @PWOsToFire QBM_YParameterList20 insert into @PWOsToFire(Parameter1) select i.XObjectKey from inserted i where OrderState in ('OrderProduct', 'OrderProlongate', 'OrderUnsubscribe') exec21 QBM_PJobCreate_HOCallMethod_L @objecttype = 'PersonWantsOrg' , @XObjectKeys = @PWOsToFire , @save = 1 , @MethodName = 'MakeDecisionOnInsertAsync' , @GenProcID22 = @GenProcID , @AdditionalObjectKeysAffected = default , @Retries = 3 , @isToFreezeOnError = 1 , @WhereClauseAdditional = 'DecisionLevel = 0 and OrderState in (''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'')'23 , @checkForExisting = 1 end if @DecisionOnInsert = 0 or @isMassInsert = 1 begin declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_0124 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select i.UID_PersonWantsOrg as uid from inserted i where i.OrderState in ('OrderProduct'25, 'OrderProlongate', 'OrderUnsubscribe') ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO', @DBQueueElements_01 exec QBM_PDBQueueInsert_Bulk26 'QER-K-ShoppingRackPersonHasObject', @DBQueueElements_01 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT27 END CATCH ende: return end 28