Back to OIM Explorer

dbo.ADS_TIADSGroupExclusion

Database TriggerSQL_TRIGGERSandbox DB

Database Trigger on ADSGroupExclusion. Bulk DBQueue insert -> ADS-K-ADSAccountInADSGroup / ADS_ZAccountInADSGroup at line 11; Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 11; Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 11; Bulk DBQueue insert -> ADS-K-OrgHasADSGroup / ADS_ZOrgHasADSGroup at line 11

Source: sandbox-db sys.sql_modules

Source size: 3.411 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 11
  • Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 11
  • Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 11
  • Bulk DBQueue insert -> ADS-K-OrgHasADSGroup / ADS_ZOrgHasADSGroup at line 11
  • Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 15
  • Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 15
  • Bulk DBQueue insert -> ADS-K-OrgHasADSGroup / ADS_ZOrgHasADSGroup at line 15
  • Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 18
  • Bulk DBQueue insert -> ADS-K-OrgHasADSGroup / ADS_ZOrgHasADSGroup at line 18
  • Bulk DBQueue insert -> ADS-K-OrgHasADSGroup / ADS_ZOrgHasADSGroup at line 21
  • References QBM_PDBQueueInsert_Bulk
  • Trigger parent table: ADSGroupExclusion

Typed Edges

  • queues DBQueue task ADS_ZAccountInADSGroup at line 11 Bulk DBQueue insert -> ADS-K-ADSAccountInADSGroup / ADS_ZAccountInADSGroup at line 11
  • queues DBQueue task ADS_ZContactInADSGroup at line 11 Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 11
  • queues DBQueue task ADS_ZADSMachineInADSGroup at line 11 Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 11
  • queues DBQueue task ADS_ZOrgHasADSGroup at line 11 Bulk DBQueue insert -> ADS-K-OrgHasADSGroup / ADS_ZOrgHasADSGroup at line 11
  • queues DBQueue task ADS_ZContactInADSGroup at line 15 Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 15
  • queues DBQueue task ADS_ZADSMachineInADSGroup at line 15 Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 15
  • queues DBQueue task ADS_ZOrgHasADSGroup at line 15 Bulk DBQueue insert -> ADS-K-OrgHasADSGroup / ADS_ZOrgHasADSGroup at line 15
  • queues DBQueue task ADS_ZADSMachineInADSGroup at line 18 Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 18
  • queues DBQueue task ADS_ZOrgHasADSGroup at line 18 Bulk DBQueue insert -> ADS-K-OrgHasADSGroup / ADS_ZOrgHasADSGroup at line 18
  • queues DBQueue task ADS_ZOrgHasADSGroup at line 21 Bulk DBQueue insert -> ADS-K-OrgHasADSGroup / ADS_ZOrgHasADSGroup at line 21
  • trigger on table ADSGroupExclusion Trigger parent table: ADSGroupExclusion
  • 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_PSessionErrorAdd source text reference
  • references source dbo.QER_PExclusionCheckCircular source text reference
  • references source dbo.ADS_TIAdsGroup source text reference

Complete Source

SQL143 lines
1CREATE trigger ADS_TIADSGroupExclusion2  ON ADSGroupExclusion FOR3INSERT NOT FOR Replication4AS5BEGIN6  DECLARE @exclusions QBM_YParameterList7  BEGIN TRY8    IF EXISTS(9      SELECT TOP 1 110      FROM inserted)11    GOTO start12    RETURN start:13    DECLARE @GenProcID varchar(38)14    SELECT @GenProcID = dbo.QBM_FGISessionContext('')15    IF dbo.QBM_FGIConfigparmValue('QER\Structures\Inherite\GroupExclusion') = ''16    BEGIN17      RAISERROR('#LDS#Cannot make a definition because exclusion is not enabled by config parm.|',18      18,19      2)20        WITH nowait21    END22    IF EXISTS(23      SELECT TOP 1 124      FROM ADSGroup t25      JOIN inserted i26        ON t.uid_ADSGroup = i.uid_ADSGroupLower AND 1 = t.HasReadOnlyMemberships) OR EXISTS(27    SELECT TOP 1 128    FROM ADSGroup t29    JOIN inserted i30      ON t.uid_ADSGroup = i.uid_ADSGroupHigher AND 1 = t.HasReadOnlyMemberships)31    BEGIN32      RAISERROR('#LDS#Cannot make assignment because groups with read only memberships are involved.|',33      18,34      1)35        WITH nowait36    END37    INSERT INTO @exclusions(Parameter1,38    Parameter2)39    SELECT40      UID_ADSGroupHigher,41      UID_ADSGroupLower42    FROM inserted43    EXEC QER_PExclusionCheckCircular @TargetTable = 'ADSGroupExclusion',44      @HigherColumn = 'UID_ADSGroupHigher',45      @LowerColumn = 'UID_ADSGroupLower',46      @exclusions = @exclusions47    DECLARE @DBQueueElements_01 QBM_YDBQueueRaw48    INSERT INTO @DBQueueElements_01(object,49    subobject,50    genprocid)51    SELECT52      x.uid,53      NULL,54      @GenProcID55    FROM(56    SELECT uig.uid_ADSAccount AS uid57    FROM(58    SELECT UID_ADSGroupLower AS UID_ADSGroup59    FROM inserted60    UNION61    SELECT UID_ADSGroupHigher62    FROM inserted) AS y63    JOIN ADSGroupCollection coll64      ON y.UID_ADSGroup = coll.UID_ADSGroupParent65    JOIN ADSAccountInADSGroup uig66      ON coll.UID_ADSGroupChild = uig.UID_ADSGroup AND uig.XOrigin > 0) AS x67    EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup',68      @DBQueueElements_0169    DECLARE @DBQueueElements_02 QBM_YDBQueueRaw70    INSERT INTO @DBQueueElements_02(object,71    subobject,72    genprocid)73    SELECT74      x.uid,75      NULL,76      @GenProcID77    FROM(78    SELECT uig.UID_ADSContact AS uid79    FROM(80    SELECT UID_ADSGroupLower AS UID_ADSGroup81    FROM inserted82    UNION83    SELECT UID_ADSGroupHigher84    FROM inserted) AS y85    JOIN ADSGroupCollection coll86      ON y.UID_ADSGroup = coll.UID_ADSGroupParent87    JOIN ADSContactInADSGroup uig88      ON coll.UID_ADSGroupChild = uig.UID_ADSGroup AND uig.XOrigin > 0) AS x89    EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup',90      @DBQueueElements_0291    DECLARE @DBQueueElements_03 QBM_YDBQueueRaw92    INSERT INTO @DBQueueElements_03(object,93    subobject,94    genprocid)95    SELECT96      x.uid,97      NULL,98      @GenProcID99    FROM(100    SELECT uig.uid_ADSMachine AS uid101    FROM(102    SELECT UID_ADSGroupLower AS UID_ADSGroup103    FROM inserted104    UNION105    SELECT UID_ADSGroupHigher106    FROM inserted) AS y107    JOIN ADSGroupCollection coll108      ON y.UID_ADSGroup = coll.UID_ADSGroupParent109    JOIN ADSMachineInADSGroup uig110      ON coll.UID_ADSGroupChild = uig.UID_ADSGroup AND uig.XOrigin > 0) AS x111    EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup',112      @DBQueueElements_03113    DECLARE @DBQueueElements_04 QBM_YDBQueueRaw114    INSERT INTO @DBQueueElements_04(object,115    subobject,116    genprocid)117    SELECT118      x.uid,119      NULL,120      @GenProcID121    FROM(122    SELECT g.UID_Org AS uid123    FROM(124    SELECT UID_ADSGroupLower AS UID_ADSGroup125    FROM inserted126    UNION127    SELECT UID_ADSGroupHigher128    FROM inserted) AS y129    JOIN BaseTreeHasADSGroup g130      ON y.UID_ADSGroup = g.UID_ADSGroup) AS x131    EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-OrgHasADSGroup',132      @DBQueueElements_04133  END TRY134  BEGIN CATCH135    EXEC QBM_PSessionErrorAdd DEFAULT136    RAISERROR('',137    18,138    1)139      WITH NOWAIT140  END CATCH141  ende:142  RETURN143END
Open raw exported source
SQL ยท Raw23 lines
1    create   trigger ADS_TIADSGroupExclusion on ADSGroupExclusion  for Insert not for Replication as begin  declare @exclusions QBM_YParameterList2 BEGIN TRY if exists (select top 1 1 from inserted) goto start return start:  declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext3('') if dbo.QBM_FGIConfigparmValue('QER\Structures\Inherite\GroupExclusion') = '' begin raiserror( '#LDS#Cannot make a definition because exclusion is not enabled by config parm.|'4, 18, 2) with nowait end  if exists (select top 1 1 from ADSGroup t join inserted i on t.uid_ADSGroup = i.uid_ADSGroupLower and 1 = t.HasReadOnlyMemberships5 ) or exists (select top 1 1 from ADSGroup t join inserted i on t.uid_ADSGroup = i.uid_ADSGroupHigher and 1 = t.HasReadOnlyMemberships ) begin raiserror6('#LDS#Cannot make assignment because groups with read only memberships are involved.|', 18, 1) with nowait end insert into @exclusions (Parameter1, Parameter27) select UID_ADSGroupHigher, UID_ADSGroupLower from inserted exec QER_PExclusionCheckCircular @TargetTable = 'ADSGroupExclusion' , @HigherColumn = 'UID_ADSGroupHigher'8 , @LowerColumn = 'UID_ADSGroupLower' , @exclusions = @exclusions declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, 9subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.uid_ADSAccount as uid from ( select UID_ADSGroupLower as UID_ADSGroup from inserted10 union select UID_ADSGroupHigher from inserted ) as y  join ADSGroupCollection coll on y.UID_ADSGroup = coll.UID_ADSGroupParent join ADSAccountInADSGroup11 uig on coll.UID_ADSGroupChild = uig.UID_ADSGroup and uig.XOrigin > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSAccountInADSGroup', @DBQueueElements_0112 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select13 uig.UID_ADSContact as uid from ( select UID_ADSGroupLower as UID_ADSGroup from inserted union select UID_ADSGroupHigher from inserted ) as y  join ADSGroupCollection14 coll on y.UID_ADSGroup = coll.UID_ADSGroupParent join ADSContactInADSGroup uig on coll.UID_ADSGroupChild = uig.UID_ADSGroup and uig.XOrigin > 0 ) as x15 exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_02  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_0316 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uig.uid_ADSMachine as uid from ( select UID_ADSGroupLower as UID_ADSGroup 17from inserted union select UID_ADSGroupHigher from inserted ) as y  join ADSGroupCollection coll on y.UID_ADSGroup = coll.UID_ADSGroupParent join ADSMachineInADSGroup18 uig on coll.UID_ADSGroupChild = uig.UID_ADSGroup and uig.XOrigin > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_0319  declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select20 g.UID_Org as uid from ( select UID_ADSGroupLower as UID_ADSGroup from inserted union select UID_ADSGroupHigher from inserted ) as y join BaseTreeHasADSGroup21 g on y.UID_ADSGroup = g.UID_ADSGroup ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-OrgHasADSGroup', @DBQueueElements_04 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd22 default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end 23