dbo.TSB_TIUNSAccountBHasUNSGroupB
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 14
- Bulk DBQueue insert -> TSB-K-UNSAccountBHasUNSItemB / TSB_ZUNSAccountBHasUNSItemB at line 14
- Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 14
- Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 14
- Bulk DBQueue insert -> TSB-K-UNSAccountBHasUNSItemB / TSB_ZUNSAccountBHasUNSItemB at line 18
- Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 18
- Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 18
- Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 21
- Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 21
- Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 24
- References QBM_PDBQueueInsert_Bulk
- Trigger parent table: UNSAccountBHasUNSGroupB
Typed Edges
- queues DBQueue task TSB_ZUNSAccountBInUNSGroupB at line 14 Bulk DBQueue insert -> TSB-K-UNSAccountBInUNSGroupB / TSB_ZUNSAccountBInUNSGroupB at line 14
- queues DBQueue task TSB_ZUNSAccountBHasUNSItemB at line 14 Bulk DBQueue insert -> TSB-K-UNSAccountBHasUNSItemB / TSB_ZUNSAccountBHasUNSItemB at line 14
- queues DBQueue task TSB_ZPersonHasObject at line 14 Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 14
- queues DBQueue task TSB_ZUNSAccountBHasUNSItemB at line 18 Bulk DBQueue insert -> TSB-K-UNSAccountBHasUNSItemB / TSB_ZUNSAccountBHasUNSItemB at line 18
- queues DBQueue task TSB_ZPersonHasObject at line 18 Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 18
- queues DBQueue task TSB_ZPersonHasObject at line 21 Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 21
- queues DBQueue task TSB_ZPersonHasObject at line 24 Bulk DBQueue insert -> TSB-K-PersonHasObject / TSB_ZPersonHasObject at line 24
- trigger on table UNSAccountBHasUNSGroupB Trigger parent table: UNSAccountBHasUNSGroupB
- 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_TIUNSAccountBHasUNSGroupB2 ON UNSAccountBHasUNSGroupB 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_UNSGroupB52 JOIN UNSAccountB u53 ON i.UID_UNSAccountB = u.UID_UNSAccountB54 JOIN UNSRootB ru55 ON u.UID_UNSRootB = ru.UID_UNSRootB56 JOIN DPRNameSpace ns57 ON ru.UID_DPRNameSpace = ns.UID_DPRNameSpace58 JOIN UNSRootB rg59 ON g.UID_UNSRootB = rg.UID_UNSRootB60 WHERE61 0 = CASE62 WHEN u.UID_UNSRootB = g.UID_UNSRootB THEN63 164 WHEN ns.IsExtendedInheritance = 0 THEN65 066 WHEN ns.IsExtendedInheritance = 1 AND ns.UID_DPRNameSpace = rg.UID_DPRNameSpace THEN67 168 ELSE 069 END)70 BEGIN71 RAISERROR('#LDS#Assignment is not permitted due to the configuration of related UNSRoots.|',72 18,73 2)74 WITH nowait75 END76 DECLARE @DBQueueElements_01 QBM_YDBQueueRaw77 INSERT INTO @DBQueueElements_01(object,78 subobject,79 genprocid)80 SELECT81 x.uid,82 NULL,83 @GenProcID84 FROM(85 SELECT86 DISTINCT i.UID_UNSAccountB AS uid87 FROM inserted i88 WHERE89 i.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv > 0) AS x90 EXEC QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBInUNSGroupB',91 @DBQueueElements_0192 IF 'UNSGroupB' = 'UNSGroupB'93 BEGIN94 IF EXISTS(95 SELECT TOP 1 196 FROM UNSItemB)97 BEGIN98 DECLARE @DBQueueElements_02 QBM_YDBQueueRaw99 INSERT INTO @DBQueueElements_02(object,100 subobject,101 genprocid)102 SELECT103 x.uid,104 NULL,105 @GenProcID106 FROM(107 SELECT108 DISTINCT i.UID_UNSAccountB AS uid109 FROM inserted i110 WHERE111 i.XIsInEffect = 1 AND EXISTS(112 SELECT TOP 1 1113 FROM UNSItemB b114 JOIN UNSAccountB acc115 ON b.UID_UNSRootB = acc.UID_UNSRootB AND acc.UID_UNSAccountB = i.UID_UNSAccountB)) AS x116 EXEC QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB',117 @DBQueueElements_02118 END119 END120 DECLARE @DBQueueElements_03 QBM_YDBQueueRaw121 INSERT INTO @DBQueueElements_03(object,122 subobject,123 genprocid)124 SELECT125 x.uid,126 NULL,127 @GenProcID128 FROM(129 SELECT130 DISTINCT u.UID_Person AS uid131 FROM inserted i132 JOIN UNSAccountB u133 ON i.UID_UNSAccountB = u.UID_UNSAccountB134 WHERE135 u.UID_Person > ' ' AND i.XIsInEffect = 1) AS x136 EXEC QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject',137 @DBQueueElements_03138 IF '1' = dbo.QBM_FGIConfigparmValue('QER\ComplianceCheck\IncludeTSBPersonUsesAccount')139 BEGIN140 DECLARE @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw141 INSERT INTO @DBQueueElements_PersonUsesAccount(object,142 subobject,143 genprocid)144 SELECT145 x.uid,146 NULL,147 @GenProcID148 FROM(149 SELECT150 DISTINCT t.uid_person AS uid151 FROM inserted i152 JOIN UNSAccountB u153 ON i.UID_UNSAccountB = u.UID_UNSAccountB154 JOIN TSBPersonUsesAccount t155 ON u.XObjectKey = t.ObjectKeyAccount156 WHERE157 i.XIsInEffect = 1) AS x158 EXEC QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject',159 @DBQueueElements_PersonUsesAccount160 END161 END TRY162 BEGIN CATCH163 EXEC QBM_PSessionErrorAdd DEFAULT164 RAISERROR('',165 18,166 1)167 WITH NOWAIT168 END CATCH169 ende:170 RETURN171END
Open raw exported source
1 create trigger TSB_TIUNSAccountBHasUNSGroupB on UNSAccountBHasUNSGroupB 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 exists 9(select top 1 1 from inserted i join UNSGroupB g on i.UID_UNSGroupB = g.UID_UNSGroupB join UNSAccountB u on i.UID_UNSAccountB = u.UID_UNSAccountB10 join UNSRootB ru on u.UID_UNSRootB = ru.UID_UNSRootB join DPRNameSpace ns on ru.UID_DPRNameSpace = ns.UID_DPRNameSpace join UNSRootB rg on g.UID_UNSRootB11 = rg.UID_UNSRootB where 0 = case when u.UID_UNSRootB = g.UID_UNSRootB then 1 when ns.IsExtendedInheritance = 0 then 0 when ns.IsExtendedInheritance =12 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.|'13, 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null14, @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_Bulk15 'TSB-K-UNSAccountBInUNSGroupB', @DBQueueElements_01 if 'UNSGroupB' = 'UNSGroupB' begin if exists (select top 1 1 from UNSItemB ) begin declare 16@DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct17 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_UNSRootB18 and acc.UID_UNSAccountB = i.UID_UNSAccountB) ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-UNSAccountBHasUNSItemB', @DBQueueElements_02 end end declare 19@DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select distinct20 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 21exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_03 if '1' = dbo.QBM_FGIConfigparmValue('QER\ComplianceCheck\IncludeTSBPersonUsesAccount'22) begin declare @DBQueueElements_PersonUsesAccount QBM_YDBQueueRaw insert into @DBQueueElements_PersonUsesAccount (object, subobject, genprocid) select23 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 TSBPersonUsesAccount24 t on u.XObjectKey = t.ObjectKeyAccount where i.XIsInEffect = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'TSB-K-PersonHasObject', @DBQueueElements_PersonUsesAccount25 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end 26