Back to OIM Explorer

dbo.ADS_TUADSAccountInADSGroup

Database TriggerSQL_TRIGGERSandbox DB

Database Trigger on ADSAccountInADSGroup. 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

Source: sandbox-db sys.sql_modules

Source size: 3.316 characters

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

Complete Source

SQL126 lines
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
SQL ยท Raw22 lines
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