dbo.ADS_TUADSContactInADSGroup
Database TriggerSQL_TRIGGERSandbox DB
Interpretation
- Database trigger. Treat parent table and enqueue/object-layer calls as the main relation points.
- DBQueue relation detected. Follow the task procedure and referenced-by list for async processing.
Relations
- Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 10
- Bulk DBQueue insert -> ADS-K-PersonHasObject / ADS_ZPersonHasObject at line 10
- Bulk DBQueue insert -> ADS-K-PersonHasObject / ADS_ZPersonHasObject at line 10
- Bulk DBQueue insert -> ADS-K-PersonHasObject / ADS_ZPersonHasObject at line 15
- Bulk DBQueue insert -> ADS-K-PersonHasObject / ADS_ZPersonHasObject at line 15
- Bulk DBQueue insert -> ADS-K-PersonHasObject / ADS_ZPersonHasObject at line 20
- References QBM_PDBQueueInsert_Bulk
- Trigger parent table: ADSContactInADSGroup
Typed Edges
- queues DBQueue task ADS_ZContactInADSGroup at line 10 Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 10
- queues DBQueue task ADS_ZPersonHasObject at line 10 Bulk DBQueue insert -> ADS-K-PersonHasObject / ADS_ZPersonHasObject at line 10
- queues DBQueue task ADS_ZPersonHasObject at line 15 Bulk DBQueue insert -> ADS-K-PersonHasObject / ADS_ZPersonHasObject at line 15
- queues DBQueue task ADS_ZPersonHasObject at line 20 Bulk DBQueue insert -> ADS-K-PersonHasObject / ADS_ZPersonHasObject at line 20
- trigger on table ADSContactInADSGroup Trigger parent table: ADSContactInADSGroup
- references source dbo.QBM_FGIBitPatternXMarkedForDel source text reference
- references source dbo.QBM_FGIConfigparmValue source text reference
- references source dbo.QBM_FGISessionContext source text reference
- references source dbo.QBM_FGIXOriginChanged_Effect source text reference
- references source dbo.QBM_FGIXOriginChanged_Except2 source text reference
- references source dbo.QER_FCVXOriginToInheritInfo source text reference
- references source dbo.QBM_PDBQueueInsert_Bulk source text reference
- references source dbo.QBM_PSessionErrorAdd source text reference
- references source dbo.ADS_TUADSContact source text reference
References
- dbo.QBM_FGIBitPatternXMarkedForDel
- dbo.QBM_FGIConfigparmValue
- dbo.QBM_FGISessionContext
- dbo.QBM_FGIXOriginChanged_Effect
- dbo.QBM_FGIXOriginChanged_Except2
- dbo.QER_FCVXOriginToInheritInfo
- dbo.QBM_PDBQueueInsert_Bulk
- dbo.QBM_PSessionErrorAdd
- dbo.ADS_TUADSContact
Referenced By
- No direct source references extracted.
Complete Source
1CREATE trigger ADS_TUADSContactInADSGroup2 ON ADSContactInADSGroup FOR3UPDATE NOT FOR Replication4AS5BEGIN6 DECLARE @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')7 DECLARE @XUser nvarchar(64) = dbo.QBM_FGISessionContext('XUser')8 DECLARE @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|',9 0)10 BEGIN TRY11 IF EXISTS(12 SELECT TOP 1 113 FROM inserted)14 GOTO start15 IF EXISTS(16 SELECT TOP 1 117 FROM deleted)18 GOTO start19 RETURN start:20 IF21 UPDATE(XOrigin) OR22 UPDATE(XIsInEffect)23 BEGIN24 IF EXISTS(25 SELECT TOP 1 126 FROM deleted d27 JOIN ADSContactInADSGroup dd28 ON d.XObjectKey = dd.XObjectKey29 JOIN ADSGroup g30 ON d.UID_ADSGroup = g.UID_ADSGroup31 WHERE32 1 = g.HasReadOnlyMemberships AND d.XOrigin <> dd.XOrigin AND dbo.QBM_FGISessionContext('Fullsync') = '' AND EXISTS(33 SELECT TOP 1 134 FROM ADSContact a35 WHERE36 a.UID_ADSContact = d.UID_ADSContact AND a.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0))37 BEGIN38 RAISERROR('#LDS#Cannot update {0} because assignment to groups with read only memberships are not permitted.|ADSContactInADSGroup|',39 18,40 2)41 WITH nowait42 END43 DECLARE @DBQueueElements_01 QBM_YDBQueueRaw44 INSERT INTO @DBQueueElements_01(object,45 subobject,46 genprocid)47 SELECT48 x.uid,49 NULL,50 @GenProcID51 FROM(52 SELECT53 DISTINCT d.UID_ADSContact AS uid54 FROM deleted d55 JOIN ADSContactInADSGroup dd56 ON d.XObjectKey = dd.XObjectKey57 WHERE58 dbo.QBM_FGIXOriginChanged_Except2(d.XOrigin, dd.XOrigin) = 1 OR(d.XIsInEffect <> dd.XIsInEffect AND dbo.QBM_FGISessionContext('Fullsync'59 ) > ' ')) AS x60 EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup',61 @DBQueueElements_0162 END63 IF64 UPDATE(XIsInEffect) OR65 UPDATE(XOrigin)66 BEGIN67 DECLARE @DBQueueElements_02 QBM_YDBQueueRaw68 INSERT INTO @DBQueueElements_02(object,69 subobject,70 genprocid)71 SELECT72 x.uid,73 NULL,74 @GenProcID75 FROM(76 SELECT77 DISTINCT x.UID_Person AS uid78 FROM ADSContactInADSGroup a79 JOIN deleted d80 ON a.XObjectKey = d.XObjectKey81 JOIN ADSContact x82 ON a.UID_ADSContact = x.UID_ADSContact83 WHERE84 x.UID_Person > ' ' AND(dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 OR dbo.QER_FCVXOriginToInheritInfo85 (d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin))) AS x86 EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject',87 @DBQueueElements_0288 IF '1' = dbo.QBM_FGIConfigparmValue('QER\ComplianceCheck\IncludeTSBPersonUsesAccount')89 BEGIN90 DECLARE @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw91 INSERT INTO @DBQueueElements_PersonUsesAccount(object,92 subobject,93 genprocid)94 SELECT95 x.uid,96 NULL,97 @GenProcID98 FROM(99 SELECT100 DISTINCT t.uid_person AS uid101 FROM ADSContactInADSGroup aig102 JOIN deleted d103 ON aig.XObjectKey = d.XObjectKey104 JOIN ADSContact a105 ON aig.UID_ADSContact = a.UID_ADSContact106 JOIN TSBPersonUsesAccount t107 ON a.XObjectKey = t.ObjectKeyAccount108 WHERE109 (dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 OR dbo.QER_FCVXOriginToInheritInfo(d.XOrigin110 ) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin))) AS x111 EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject',112 @DBQueueElements_PersonUsesAccount113 END114 END115 END TRY116 BEGIN CATCH117 EXEC QBM_PSessionErrorAdd DEFAULT118 RAISERROR('',119 18,120 1)121 WITH NOWAIT122 END CATCH123 ende:124 RETURN125END
Open raw exported source
1create trigger ADS_TUADSContactInADSGroup on ADSContactInADSGroup for Update not for Replication as begin declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext2('') declare @XUser nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel3('|OutStanding|', 0) BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted) goto start return start: if4 update(XOrigin) or update(XIsInEffect) begin if exists (select top 1 1 from deleted d join ADSContactInADSGroup dd on d.XObjectKey = dd.XObjectKey join5 ADSGroup g on d.UID_ADSGroup = g.UID_ADSGroup where 1 = g.HasReadOnlyMemberships and d.XOrigin <> dd.XOrigin and dbo.QBM_FGISessionContext ('Fullsync'6) = '' and exists (select top 1 1 from ADSContact a where a.UID_ADSContact = d.UID_ADSContact and a.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding7 = 0 ) ) begin raiserror( '#LDS#Cannot update {0} because assignment to groups with read only memberships are not permitted.|ADSContactInADSGroup|', 188, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID9 from ( select distinct d.UID_ADSContact as uid from deleted d join ADSContactInADSGroup dd on d.XObjectKey = dd.XObjectKey where dbo.QBM_FGIXOriginChanged_Except210(d.XOrigin, dd.XOrigin) = 1 or (d.XIsInEffect <> dd.XIsInEffect and dbo.QBM_FGISessionContext ('Fullsync') > ' ' ) ) as x exec QBM_PDBQueueInsert_Bulk11 'ADS-K-ADSContactInADSGroup', @DBQueueElements_01 end if update(XIsInEffect) or update(XOrigin) begin declare @DBQueueElements_02 QBM_YDBQueueRaw insert12 into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct x.UID_Person as uid from ADSContactInADSGroup13 a join deleted d on a.XObjectKey = d.XObjectKey join ADSContact x on a.UID_ADSContact = x.UID_ADSContact where x.UID_Person > ' ' and ( dbo.QBM_FGIXOriginChanged_Effect14(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin) ) 15) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_02 if '1' = dbo.QBM_FGIConfigparmValue('QER\ComplianceCheck\IncludeTSBPersonUsesAccount'16) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select17 x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from ADSContactInADSGroup aig join deleted d on aig.XObjectKey = d.XObjectKey join 18ADSContact a on aig.UID_ADSContact = a.UID_ADSContact join TSBPersonUsesAccount t on a.XObjectKey = t.ObjectKeyAccount where ( dbo.QBM_FGIXOriginChanged_Effect19(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 or dbo.QER_FCVXOriginToInheritInfo(d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin20) ) ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_PersonUsesAccount end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd21 default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end 22