Back to OIM Explorer

dbo.ADS_TUADSContactInADSGroup

Database TriggerSQL_TRIGGERSandbox DB

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

Source: sandbox-db sys.sql_modules

Source size: 3.244 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-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

Complete Source

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