dbo.TSB_TIUNSAccountBInUNSGroupB
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 -> TSB-K-UNSAccountBInUNSGroupB / TSB_ZUNSAccountBInUNSGroupB 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: UNSAccountBInUNSGroupB
Typed Edges
- queues DBQueue task TSB_ZUNSAccountBInUNSGroupB at line 16 Bulk DBQueue insert -> TSB-K-UNSAccountBInUNSGroupB / TSB_ZUNSAccountBInUNSGroupB 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 UNSAccountBInUNSGroupB Trigger parent table: UNSAccountBInUNSGroupB
- 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
Complete Source
1CREATE trigger TSB_TIUNSAccountBInUNSGroupB2 ON UNSAccountBInUNSGroupB 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 & 0x01 > 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 UNSGroupB elem37 ON i.uid_UNSGroupB = elem.uid_UNSGroupB38 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 UNSGroupB g51 ON i.UID_UNSGroupB = g.UID_UNSGroupB 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.|UNSAccountBInUNSGroupB|',54 18,55 2)56 WITH nowait57 END58 IF EXISTS(59 SELECT TOP 1 160 FROM inserted i61 JOIN UNSGroupB g62 ON i.UID_UNSGroupB = g.UID_UNSGroupB63 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-UNSAccountBInUNSGroupB',102 @DBQueueElements_01103 IF 'UNSGroupB' = '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
1 create trigger TSB_TIUNSAccountBInUNSGroupB on UNSAccountBInUNSGroupB 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 & 0x01 > 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 UNSGroupB elem on i.uid_UNSGroupB = elem.uid_UNSGroupB 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 UNSGroupB g on i.UID_UNSGroupB = g.UID_UNSGroupB 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.|UNSAccountBInUNSGroupB|'11, 18, 2) with nowait end if exists (select top 1 1 from inserted i join UNSGroupB g on i.UID_UNSGroupB = g.UID_UNSGroupB 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-UNSAccountBInUNSGroupB', @DBQueueElements_01 if 'UNSGroupB' = '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