Back to OIM Explorer

dbo.TSB_TIUNSAccountBInUNSGroupB2

Database TriggerSQL_TRIGGERSandbox DB

Database Trigger on UNSAccountBInUNSGroupB2. Bulk DBQueue insert -> TSB-K-UNSAccountBInUNSGroupB2 / TSB_ZUNSAccountBInUNSGroupB2 at line 16; Bulk DBQueue insert -> TSB-K-UNSAccountBHasUNSItemB / TSB_ZUNSAccountBHasUNSItemB at line 16; Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 16; Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 16

Source: sandbox-db sys.sql_modules

Source size: 4.276 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 -> TSB-K-UNSAccountBInUNSGroupB2 / TSB_ZUNSAccountBInUNSGroupB2 at line 16
  • Bulk DBQueue insert -> TSB-K-UNSAccountBHasUNSItemB / TSB_ZUNSAccountBHasUNSItemB at line 16
  • Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 16
  • Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 16
  • Bulk DBQueue insert -> TSB-K-UNSAccountBHasUNSItemB / TSB_ZUNSAccountBHasUNSItemB at line 20
  • Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 20
  • Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 20
  • Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 23
  • Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 23
  • Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 26
  • References QBM_PDBQueueInsert_Bulk
  • Trigger parent table: UNSAccountBInUNSGroupB2

Typed Edges

  • queues DBQueue task TSB_ZUNSAccountBInUNSGroupB2 at line 16 Bulk DBQueue insert -> TSB-K-UNSAccountBInUNSGroupB2 / TSB_ZUNSAccountBInUNSGroupB2 at line 16
  • queues DBQueue task TSB_ZUNSAccountBHasUNSItemB at line 16 Bulk DBQueue insert -> TSB-K-UNSAccountBHasUNSItemB / TSB_ZUNSAccountBHasUNSItemB at line 16
  • queues DBQueue task TSB_ZPersonHasObject at line 16 Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 16
  • queues DBQueue task TSB_ZUNSAccountBHasUNSItemB at line 20 Bulk DBQueue insert -> TSB-K-UNSAccountBHasUNSItemB / TSB_ZUNSAccountBHasUNSItemB at line 20
  • queues DBQueue task TSB_ZPersonHasObject at line 20 Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 20
  • queues DBQueue task TSB_ZPersonHasObject at line 23 Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 23
  • queues DBQueue task TSB_ZPersonHasObject at line 26 Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 26
  • trigger on table UNSAccountBInUNSGroupB2 Trigger parent table: UNSAccountBInUNSGroupB2
  • references source dbo.QBM_FGIBitPatternXOrigin source text reference
  • references source dbo.QBM_FGIConfigparmValue source text reference
  • references source dbo.QBM_FGISessionContext source text reference
  • references source dbo.QER_FGIITShopFlagCombineValid source text reference
  • references source dbo.QBM_PDBQueueInsert_Bulk source text reference
  • references source dbo.QBM_PSessionErrorAdd source text reference
  • references source dbo.TSB_TIUNSAccountB source text reference
  • references source dbo.TSB_TIUNSAccountBInUNSGroupB source text reference

Complete Source

SQL182 lines
1CREATE trigger TSB_TIUNSAccountBInUNSGroupB22  ON UNSAccountBInUNSGroupB2 FOR3INSERT NOT FOR Replication4AS5BEGIN6  DECLARE @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin('|Direct|',7  0)8  DECLARE @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|',9  1)10  BEGIN TRY11    IF EXISTS(12      SELECT TOP 1 113      FROM inserted)14    GOTO start15    RETURN start:16    DECLARE @GenProcID varchar(38)17    SELECT @GenProcID = dbo.QBM_FGISessionContext('')18    IF EXISTS(19      SELECT TOP 1 120      FROM inserted i21      JOIN UNSAccountB u22        ON i.UID_UNSAccountB = u.UID_UNSAccountB23      JOIN UNSRootB r24        ON u.UID_UNSRootB = r.UID_UNSRootB25      WHERE26        r.UserContainsGroupList & 0x04 > 0)27    BEGIN28      RAISERROR('#LDS#Assignment is not permitted due to the Value of UNSRootB.UserContainsGroupList.|',29      18,30      2)31        WITH nowait32    END33    IF EXISTS(34      SELECT TOP 1 135      FROM inserted i36      JOIN UNSGroupB2 elem37        ON i.uid_UNSGroupB2 = elem.uid_UNSGroupB238      WHERE39        dbo.QER_FGIITShopFlagCombineValid(i.XObjectKey, NULL, NULL, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0 AND i.XOrigin & @QBM_BitPatternXOrigin_Direct40    > 0 AND dbo.QBM_FGISessionContext('Fullsync') = '')41    BEGIN42      RAISERROR('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|',43      18,44      2)45        WITH nowait46    END47    IF EXISTS(48      SELECT TOP 1 149      FROM inserted i50      JOIN UNSGroupB2 g51        ON i.UID_UNSGroupB2 = g.UID_UNSGroupB2 AND g.HasReadOnlyMemberships = 1 AND dbo.QBM_FGISessionContext('Fullsync') = '')52    BEGIN53      RAISERROR('#LDS#Cannot add {0} because assignments for groups with read only memberships are not permitted.|UNSAccountBInUNSGroupB2|',54      18,55      2)56        WITH nowait57    END58    IF EXISTS(59      SELECT TOP 1 160      FROM inserted i61      JOIN UNSGroupB2 g62        ON i.UID_UNSGroupB2 = g.UID_UNSGroupB263      JOIN UNSAccountB u64        ON i.UID_UNSAccountB = u.UID_UNSAccountB65      JOIN UNSRootB ru66        ON u.UID_UNSRootB = ru.UID_UNSRootB67      JOIN DPRNameSpace ns68        ON ru.UID_DPRNameSpace = ns.UID_DPRNameSpace69      JOIN UNSRootB rg70        ON g.UID_UNSRootB = rg.UID_UNSRootB71      WHERE72        0 = CASE73    WHEN u.UID_UNSRootB = g.UID_UNSRootB THEN74    175    WHEN ns.IsExtendedInheritance = 0 THEN76    077    WHEN ns.IsExtendedInheritance = 1 AND ns.UID_DPRNameSpace = rg.UID_DPRNameSpace THEN78    179    ELSE 080    END)81    BEGIN82      RAISERROR('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|',83      18,84      2)85        WITH nowait86    END87    DECLARE @DBQueueElements_01 QBM_YDBQueueRaw88    INSERT INTO @DBQueueElements_01(object,89    subobject,90    genprocid)91    SELECT92      x.uid,93      NULL,94      @GenProcID95    FROM(96    SELECT97      DISTINCT i.UID_UNSAccountB AS uid98    FROM inserted i99    WHERE100      i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0) AS x101    EXEC QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB2',102      @DBQueueElements_01103    IF 'UNSGroupB2' = 'UNSGroupB'104    BEGIN105      IF EXISTS(106        SELECT TOP 1 1107        FROM UNSItemB)108      BEGIN109        DECLARE @DBQueueElements_02 QBM_YDBQueueRaw110        INSERT INTO @DBQueueElements_02(object,111        subobject,112        genprocid)113        SELECT114          x.uid,115          NULL,116          @GenProcID117        FROM(118        SELECT119          DISTINCT i.UID_UNSAccountB AS uid120        FROM inserted i121        WHERE122          i.XIsInEffect = 1 AND EXISTS(123        SELECT TOP 1 1124        FROM UNSItemB b125        JOIN UNSAccountB acc126          ON b.UID_UNSRootB = acc.UID_UNSRootB AND acc.UID_UNSAccountB = i.UID_UNSAccountB)) AS x127        EXEC QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB',128          @DBQueueElements_02129      END130    END131    DECLARE @DBQueueElements_03 QBM_YDBQueueRaw132    INSERT INTO @DBQueueElements_03(object,133    subobject,134    genprocid)135    SELECT136      x.uid,137      NULL,138      @GenProcID139    FROM(140    SELECT141      DISTINCT u.UID_Person AS uid142    FROM inserted i143    JOIN UNSAccountB u144      ON i.UID_UNSAccountB = u.UID_UNSAccountB145    WHERE146      u.UID_Person > ' ' AND i.XIsInEffect = 1) AS x147    EXEC QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject',148      @DBQueueElements_03149    IF '1' = dbo.QBM_FGIConfigparmValue('QER\ComplianceCheck\IncludeTSBPersonUsesAccount')150    BEGIN151      DECLARE @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw152      INSERT INTO @DBQueueElements_PersonUsesAccount(object,153      subobject,154      genprocid)155      SELECT156        x.uid,157        NULL,158        @GenProcID159      FROM(160      SELECT161        DISTINCT t.uid_person AS uid162      FROM inserted i163      JOIN UNSAccountB u164        ON i.UID_UNSAccountB = u.UID_UNSAccountB165      JOIN TSBPersonUsesAccount t166        ON u.XObjectKey = t.ObjectKeyAccount167      WHERE168        i.XIsInEffect = 1) AS x169      EXEC QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject',170        @DBQueueElements_PersonUsesAccount171    END172  END TRY173  BEGIN CATCH174    EXEC QBM_PSessionErrorAdd DEFAULT175    RAISERROR('',176    18,177    1)178      WITH NOWAIT179  END CATCH180  ende:181  RETURN182END
Open raw exported source
SQL ยท Raw28 lines
1  create   trigger TSB_TIUNSAccountBInUNSGroupB2 on UNSAccountBInUNSGroupB2  for Insert not for Replication as begin  declare @QBM_BitPatternXOrigin_Direct2 int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1)  BEGIN3 TRY if exists (select top 1 1 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')4  if exists (select top 1 1 from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB r on u.UID_UNSRootB = r.UID_UNSRootB5 where r.UserContainsGroupList & 0x04 > 0 ) begin raiserror ('#LDS#Assignment is not permitted due to the Value of UNSRootB.UserContainsGroupList.|'6, 18, 2) with nowait end   if exists (select top 1 1 from inserted i   join UNSGroupB2 elem on i.uid_UNSGroupB2 = elem.uid_UNSGroupB2 where dbo.QER_FGIITShopFlagCombineValid7(i.XObjectKey, null, null, elem.XObjectKey, elem.IsForITShop, elem.IsITShopOnly) = 0  and i.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 and dbo.QBM_FGISessionContext8 ('Fullsync') = '' ) begin  raiserror ('#LDS#Assignment is not permitted due to the combination of IT Shop flags.|', 18, 2) with nowait end   if exists9 (select top 1 1 from inserted i join UNSGroupB2 g on i.UID_UNSGroupB2 = g.UID_UNSGroupB2 and g.HasReadOnlyMemberships = 1 and dbo.QBM_FGISessionContext10 ('Fullsync') = '' ) begin  raiserror( '#LDS#Cannot add {0} because assignments for groups with read only memberships are not permitted.|UNSAccountBInUNSGroupB2|'11, 18, 2) with nowait end   if exists (select top 1 1 from inserted i join UNSGroupB2 g on i.UID_UNSGroupB2 = g.UID_UNSGroupB2 join UNSAccountB u 12on i.UID_UNSAccountB = u.UID_UNSAccountB join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace = ns.UID_DPRNameSpace13 join UNSRootB rg on g.UID_UNSRootB = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1  when ns.IsExtendedInheritance = 0 then14 0 when ns.IsExtendedInheritance = 1 and ns.UID_DPRNameSpace = rg.UID_DPRNameSpace then 1 else 0 end ) begin raiserror ('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|'15, 18, 2) with nowait end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null16, @GenProcID from (  select distinct i.UID_UNSAccountB as uid from inserted i   where i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0 ) as x exec QBM_PDBQueueInsert_Bulk17 'TSB-K-UNSAccountBInUNSGroupB2', @DBQueueElements_01 if 'UNSGroupB2' = 'UNSGroupB'  begin if exists (select top 1 1 from UNSItemB ) begin declare 18@DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from (  select distinct19 i.UID_UNSAccountB as uid from inserted i where i.XIsInEffect = 1 and exists (select top 1 1 from UNSItemB b join UNSAccountB acc on b.UID_UNSRootB = acc.UID_UNSRootB20 and acc.UID_UNSAccountB = i.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB', @DBQueueElements_02 end end  declare 21@DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct22 u.UID_Person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB where u.UID_Person > ' ' and i.XIsInEffect = 1 ) as x 23exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_03  if '1' = dbo.QBM_FGIConfigparmValue('QER\ComplianceCheck\IncludeTSBPersonUsesAccount'24) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select25 x.uid, null, @GenProcID from ( select distinct t.uid_person as uid from inserted i join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB join TSBPersonUsesAccount26 t on u.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount27 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end 28