dbo.ADS_TUADSAccountInADSGroup
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-ADSAccountInADSGroup / ADS_ZAccountInADSGroup 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: ADSAccountInADSGroup
Typed Edges
- queues DBQueue task ADS_ZAccountInADSGroup at line 10 Bulk DBQueue insert -> ADS-K-ADSAccountInADSGroup / ADS_ZAccountInADSGroup 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 ADSAccountInADSGroup Trigger parent table: ADSAccountInADSGroup
- 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_TUADSAccount 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_TUADSAccount
Referenced By
- No direct source references extracted.
Complete Source
1CREATE trigger ADS_TUADSAccountInADSGroup2 ON ADSAccountInADSGroup 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 ADSAccountInADSGroup 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 d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding33 = 0 AND EXISTS(34 SELECT TOP 1 135 FROM ADSAccount a36 WHERE37 a.UID_ADSAccount = d.UID_ADSAccount AND a.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0))38 BEGIN39 RAISERROR('#LDS#Cannot update {0} because assignment to groups with read only memberships are not permitted.|ADSAccountInADSGroup|',40 18,41 2)42 WITH nowait43 END44 DECLARE @DBQueueElements_01 QBM_YDBQueueRaw45 INSERT INTO @DBQueueElements_01(object,46 subobject,47 genprocid)48 SELECT49 x.uid,50 NULL,51 @GenProcID52 FROM(53 SELECT54 DISTINCT d.UID_ADSAccount AS uid55 FROM deleted d56 JOIN ADSAccountInADSGroup dd57 ON d.XObjectKey = dd.XObjectKey58 WHERE59 dbo.QBM_FGIXOriginChanged_Except2(d.XOrigin, dd.XOrigin) = 1 OR(d.XIsInEffect <> dd.XIsInEffect AND dbo.QBM_FGISessionContext('Fullsync'60 ) > ' ')) AS x61 EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup',62 @DBQueueElements_0163 END64 IF65 UPDATE(XIsInEffect) OR66 UPDATE(XOrigin)67 BEGIN68 DECLARE @DBQueueElements_02 QBM_YDBQueueRaw69 INSERT INTO @DBQueueElements_02(object,70 subobject,71 genprocid)72 SELECT73 x.uid,74 NULL,75 @GenProcID76 FROM(77 SELECT78 DISTINCT x.UID_Person AS uid79 FROM ADSAccountInADSGroup a80 JOIN deleted d81 ON a.XObjectKey = d.XObjectKey82 JOIN ADSAccount x83 ON a.UID_ADSAccount = x.UID_ADSAccount84 WHERE85 x.UID_Person > ' ' AND(dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, a.XOrigin, d.XIsInEffect, a.XIsInEffect) = 1 OR dbo.QER_FCVXOriginToInheritInfo86 (d.XOrigin) <> dbo.QER_FCVXOriginToInheritInfo(a.XOrigin))) AS x87 EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject',88 @DBQueueElements_0289 IF '1' = dbo.QBM_FGIConfigparmValue('QER\ComplianceCheck\IncludeTSBPersonUsesAccount')90 BEGIN91 DECLARE @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw92 INSERT INTO @DBQueueElements_PersonUsesAccount(object,93 subobject,94 genprocid)95 SELECT96 x.uid,97 NULL,98 @GenProcID99 FROM(100 SELECT101 DISTINCT t.uid_person AS uid102 FROM ADSAccountInADSGroup aig103 JOIN deleted d104 ON aig.XObjectKey = d.XObjectKey105 JOIN ADSAccount a106 ON aig.UID_ADSAccount = a.UID_ADSAccount107 JOIN TSBPersonUsesAccount t108 ON a.XObjectKey = t.ObjectKeyAccount109 WHERE110 (dbo.QBM_FGIXOriginChanged_Effect(d.XOrigin, aig.XOrigin, d.XIsInEffect, aig.XIsInEffect) = 1 OR dbo.QER_FCVXOriginToInheritInfo(d.XOrigin111 ) <> dbo.QER_FCVXOriginToInheritInfo(aig.XOrigin))) AS x112 EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject',113 @DBQueueElements_PersonUsesAccount114 END115 END116 END TRY117 BEGIN CATCH118 EXEC QBM_PSessionErrorAdd DEFAULT119 RAISERROR('',120 18,121 1)122 WITH NOWAIT123 END CATCH124 ende:125 RETURN126END
Open raw exported source
1create trigger ADS_TUADSAccountInADSGroup on ADSAccountInADSGroup 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 ADSAccountInADSGroup 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 d.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0 and exists (select top 1 1 from ADSAccount a where a.UID_ADSAccount = d.UID_ADSAccount7 and a.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_OutStanding = 0 ) ) begin raiserror( '#LDS#Cannot update {0} because assignment to groups with read only memberships are not permitted.|ADSAccountInADSGroup|'8, 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,9 @GenProcID from ( select distinct d.UID_ADSAccount as uid from deleted d join ADSAccountInADSGroup 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-ADSAccountInADSGroup', @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 ADSAccountInADSGroup13 a join deleted d on a.XObjectKey = d.XObjectKey join ADSAccount x on a.UID_ADSAccount = x.UID_ADSAccount 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 ADSAccountInADSGroup aig join deleted d on aig.XObjectKey = d.XObjectKey join 18ADSAccount a on aig.UID_ADSAccount = a.UID_ADSAccount 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