dbo.ADS_ZContactInADSGroup
Stored ProcedureSQL_STORED_PROCEDURESandbox DB
Interpretation
- Database routine. Review parameters, called procedures, DBQueue inserts, and QBM_PJobCreate helper calls before assuming side effects.
Relations
- No extracted relations.
Typed Edges
- references source dbo.QER_FTAccountInheritFromOrg_L source text reference
- references source dbo.DPR_FGIProjectionRootRunning source text reference
- references source dbo.QBM_FGIBitPatternXMarkedForDel source text reference
- references source dbo.QBM_FGIBitPatternXOrigin source text reference
- references source dbo.QBM_FGIConfigparmValue source text reference
- references source dbo.QBM_FGIModuleExists source text reference
- references source dbo.TSB_FGIGroupAccountMatching source text reference
- references source dbo.TSB_FGIUserInGroupValid source text reference
- references source dbo.TSB_FGIUserInGroupValid_OVR source text reference
- references source dbo.TSB_FGIUserInGroupValid_OVR_Ke source text reference
- references source dbo.DPR_PSlotResetWhileProj_L source text reference
- references source dbo.QBM_PDBQueueCalculateDelta source text reference
- references source dbo.QBM_PMNTableInsert source text reference
- references source dbo.QBM_PMNTableOriginUpdate source text reference
- references source dbo.QBM_PSessionErrorAdd source text reference
References
- dbo.QER_FTAccountInheritFromOrg_L
- dbo.DPR_FGIProjectionRootRunning
- dbo.QBM_FGIBitPatternXMarkedForDel
- dbo.QBM_FGIBitPatternXOrigin
- dbo.QBM_FGIConfigparmValue
- dbo.QBM_FGIModuleExists
- dbo.TSB_FGIGroupAccountMatching
- dbo.TSB_FGIUserInGroupValid
- dbo.TSB_FGIUserInGroupValid_OVR
- dbo.TSB_FGIUserInGroupValid_OVR_Ke
- dbo.DPR_PSlotResetWhileProj_L
- dbo.QBM_PDBQueueCalculateDelta
- dbo.QBM_PMNTableInsert
- dbo.QBM_PMNTableOriginUpdate
- dbo.QBM_PSessionErrorAdd
Referenced By
- No direct source references extracted.
Complete Source
1CREATE PROCEDURE ADS_ZContactInADSGroup(2 @SlotNumber int3)4AS5BEGIN6 DECLARE @Sourcedata QBM_YDataForDelta,7 @CountDeltaQantity int,8 @CountDeltaOrigin int9 DECLARE @GenProcID varchar(38)10 DECLARE @PersonToCheck_L QBM_YSingleGUID11 DECLARE @UID_BaseTreeAssignToUse varchar(38) = 'ADS-AsgnBT-ADSGroup'12 DECLARE @DBQueueCurrent QBM_YDBQueueCurrent13 DECLARE @ObjectKeysToCheck_Projection QBM_YParameterList14 DECLARE @RowsToReset int15 DECLARE @MyName nvarchar(64) = object_name(@@procid)16 DECLARE @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|',17 0)18 DECLARE @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|',19 0)20 DECLARE @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|',21 0)22 DECLARE @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|',23 1)24 DECLARE @PMDKeepMembershipsOfLinkedAccount varchar(16) =25 LEFT(dbo.QBM_FGIConfigparmValue('QER\Person\User\KeepMembershipsOfLinkedAccount'),26 16)27 BEGIN TRY28 INSERT INTO @DBQueueCurrent(UID_DialogDBQueue,29 UID_Parameter,30 UID_SubParameter,31 GenProcID)32 SELECT33 UID_DialogDBQueue,34 UID_Parameter,35 UID_SubParameter,36 GenProcID37 FROM QBMDBQueueCurrent cu38 WITH(readpast)39 WHERE40 cu.SlotNumber = @SlotNumber41 IF @@rowcount = 042 BEGIN43 GOTO EndLabel44 END45 INSERT INTO @PersonToCheck_L(UID_SingleGuid)46 SELECT47 DISTINCT a.UID_Person48 FROM @DBQueueCurrent cu49 JOIN ADSContact a50 ON cu.UID_Parameter = a.UID_ADSContact51 WHERE52 a.UID_Person > ' '53 INSERT INTO @SourceData(IsUpcommingContent,54 XOriginAfter,55 Element,56 AssignedElement,57 XOriginBefore,58 XIsInEffectBefore,59 XIsInEffectAfter)60 SELECT61 0,62 0,63 aig.uid_ADSContact,64 aig.uid_ADSgroup,65 aig.XOrigin,66 aig.XIsInEffect,67 068 FROM ADSContactInADSGroup aig69 JOIN @DBQueueCurrent x70 ON uid_adsContact = x.uid_parameter71 JOIN ADSGroup g72 ON aig.uid_adsGroup = g.uid_adsgroup73 WHERE74 aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 AND g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 075 INSERT INTO @SourceData(IsUpcommingContent,76 XOriginBefore,77 XOriginAfter,78 Element,79 AssignedElement,80 XIsInEffectBefore,81 XIsInEffectAfter)82 SELECT83 1,84 0,85 aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv,86 aig.uid_ADSContact,87 aig.uid_ADSGroup,88 0,89 dbo.TSB_FGIUserInGroupValid_OVR_Ke(p.IsInActive,90 p.IsTemporaryDeactivated,91 p.XMarkedForDeletion,92 bh.PFDInheritGroup,93 bh.PTDInheritGroup,94 bh.PMDInheritGroup,95 1,96 p.IsSecurityIncident,97 bh.PSIInheritGroup,98 0,99 bh.ADAInheritGroup,100 ovr.PFDInheritOverwrite,101 ovr.PTDInheritOverwrite,102 ovr.PSIInheritOverwrite,103 ovr.PMDInheritOverwrite,104 ovr.ADAInheritOverwrite,105 @PMDKeepMembershipsOfLinkedAccount)106 FROM ADSContactInADSGroup aig107 JOIN @DBQueueCurrent x108 ON aig.uid_adsContact = x.uid_parameter109 JOIN ADSGroup g110 ON aig.uid_adsGroup = g.uid_adsgroup AND g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0111 JOIN ADSContact n112 ON aig.uid_ADSContact = n.uid_ADSContact113 JOIN ADSDomain d114 ON n.UID_ADSDomain = d.UID_ADSDomain115 LEFT116 OUTER117 JOIN TSBSpecificGroupBehavior ovr118 ON ovr.ObjectKeyGroup = g.XObjectKey119 LEFT120 OUTER121 JOIN person p122 ON n.uid_person = p.uid_person123 LEFT124 OUTER125 JOIN TSBBehavior bh126 ON n.UID_TSBBehavior = bh.UID_TSBBehavior127 INSERT INTO @SourceData(IsUpcommingContent,128 XOriginBefore,129 Element,130 AssignedElement,131 XOriginAfter,132 XIsInEffectBefore,133 XIsInEffectAfter)134 SELECT135 1,136 0,137 uid_ADSContact,138 uid_ADSgroup,139 @QBM_BitPatternXOrigin_Inherit,140 0,141 y.XIsInEffect142 FROM(143 SELECT144 x.uid_ADSContact,145 x.uid_ADSgroup,146 dbo.TSB_FGIUserInGroupValid_OVR_Ke(p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup,147 bh.PTDInheritGroup, bh.PMDInheritGroup, 0, p.IsSecurityIncident, bh.PSIInheritGroup, 0, bh.ADAInheritGroup,148 ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite,149 @PMDKeepMembershipsOfLinkedAccount) AS XIsInEffect150 FROM(151 SELECT152 nt.uid_ADSContact, ohg.uid_ADSgroup, nt.UID_ADSDomain, nt.uid_person, 0 AS AccountDisabled, nt.UID_TSBAccountDef,153 nt.UID_TSBBehavior, gg.XObjectKey154 FROM @DBQueueCurrent x155 JOIN ADSContact nt156 ON nt.uid_ADSContact = x.uid_parameter AND nt.isGroupAccount = 1157 JOIN dbo.QER_FTAccountInheritFromOrg_L(@PersonToCheck_L, @UID_BaseTreeAssignToUse) pfo158 ON pfo.UID_Person = nt.UID_Person159 JOIN BaseTreeHasADSGroup ohg160 ON pfo.uid_org = ohg.uid_org AND ohg.XOrigin > 0 AND ohg.XIsInEffect = 1161 JOIN ADSgroup gg162 ON ohg.uid_ADSgroup = gg.uid_ADSGroup AND gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 AND(nt.UID_ADSDomain = gg.UID_ADSDomain OR163 EXISTS(164 SELECT TOP 1 1165 FROM ADS_VDomainTrustExists td166 WHERE167 td.UID_ADSDomainMember = nt.UID_ADSDomain AND td.UID_ADSDomainGroup = gg.UID_ADSDomain))168 WHERE169 dbo.TSB_FGIGroupAccountMatching(gg.MatchPatternForMembership, nt.MatchPatternForMembership) = 1 AND EXISTS(170 SELECT TOP 1 1171 FROM ADS_VGroupMemberValid_Contact v172 WHERE173 v.UID_ADSDomainContainer = gg.UID_ADSDomain AND v.uid_adsgroupcontainer = gg.uid_adsgroup AND v.UID_ADSDomainMember = nt.UID_ADSDomain)174 UNION all175 SELECT176 nt.uid_ADSContact, gg.uid_ADSgroup, nt.UID_ADSDomain, nt.uid_person, 0 AS AccountDisabled, nt.UID_TSBAccountDef,177 nt.UID_TSBBehavior, gg.XObjectKey178 FROM @DBQueueCurrent x179 JOIN ADSContact nt180 ON nt.uid_ADSContact = x.uid_parameter AND nt.isGroupAccount = 1181 JOIN person px182 ON nt.UID_Person = px.uid_person AND px.isNoInherite = 0183 JOIN personHasESet phe184 ON nt.uid_person = phe.uid_person AND phe.XOrigin > 0 AND phe.XIsInEffect = 1185 JOIN ESetHasEntitlement ehe186 ON phe.uid_ESet = ehe.uid_ESet AND ehe.XOrigin > 0 AND ehe.XIsInEffect = 1187 JOIN ADSgroup gg188 ON ehe.Entitlement = gg.XObjectKey AND gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 AND(nt.UID_ADSDomain = gg.UID_ADSDomain OR189 EXISTS(190 SELECT TOP 1 1191 FROM ADS_VDomainTrustExists td192 WHERE193 td.UID_ADSDomainMember = nt.UID_ADSDomain AND td.UID_ADSDomainGroup = gg.UID_ADSDomain))194 WHERE195 dbo.TSB_FGIGroupAccountMatching(gg.MatchPatternForMembership, nt.MatchPatternForMembership) = 1 AND EXISTS(196 SELECT TOP 1 1197 FROM ADS_VGroupMemberValid_Contact v198 WHERE199 v.UID_ADSDomainContainer = gg.UID_ADSDomain AND v.uid_adsgroupcontainer = gg.uid_adsgroup AND v.UID_ADSDomainMember = nt.UID_ADSDomain) AND200 dbo.QBM_FGIModuleExists('RMS') = 1) AS x201 JOIN ADSDomain d202 ON x.UID_ADSDomain = d.UID_ADSDomain203 LEFT204 OUTER205 JOIN TSBSpecificGroupBehavior ovr206 ON ovr.ObjectKeyGroup = x.XObjectKey207 LEFT208 OUTER209 JOIN person p210 ON x.uid_person = p.uid_person211 LEFT212 OUTER213 JOIN TSBBehavior bh214 ON x.UID_TSBBehavior = bh.UID_TSBBehavior215 WHERE216 (NOT(isnull(p.XMarkedForDeletion, 0) & @QBM_BitPatternXMarkedForDel_Delay > 0 AND bh.PMDInheritGroup IS NULL AND @PMDKeepMembershipsOfLinkedAccount217 <> 'ALL' AND ovr.PMDInheritOverwrite IS NULL))) AS y218 IF 1 = dbo.DPR_FGIProjectionRootRunning('ADSDomain')219 BEGIN220 INSERT INTO @ObjectKeysToCheck_Projection(Parameter1,221 Parameter2)222 SELECT223 cu.UID_Parameter,224 ro.ObjectKeyRoot225 FROM @DBQueueCurrent cu226 JOIN @Sourcedata sd227 ON cu.UID_Parameter = sd.Element228 JOIN AdsGroup g229 ON sd.AssignedElement = g.uid_adsGroup230 JOIN ADS_VElementAndRoot ro231 ON g.XObjectKey = ro.ObjectKeyElement232 JOIN ADSContact a233 ON cu.UID_Parameter = a.UID_ADSContact AND a.UID_ADSDomain <> g.UID_ADSDomain234 WHERE235 ro.ElementTable = 'AdsGroup'236 EXEC @RowsToReset = DPR_PSlotResetWhileProj_L @DBQueueCurrent,237 @ObjectKeysToCheck_Projection,238 @MyName,239 @SlotNumber240 IF @RowsToReset > 0241 BEGIN242 DELETE @DBQueueCurrent243 FROM @DBQueueCurrent cu244 LEFT245 OUTER246 JOIN QBMDBQueueCurrent d247 WITH(readpast)248 ON cu.UID_DialogDBQueue = d.UID_DialogDBQueue AND d.SlotNumber = @SlotNumber249 WHERE250 d.UID_DialogDBQueue IS NULL251 DELETE @Sourcedata252 FROM @Sourcedata s253 LEFT254 OUTER255 JOIN @DBQueueCurrent cu256 ON s.Element = cu.UID_Parameter257 WHERE258 cu.UID_DialogDBQueue IS NULL259 END260 END261 IF dbo.QBM_FGIConfigparmValue('QER\Structures\Inherite\GroupExclusion') > ' '262 BEGIN263 IF EXISTS(264 SELECT TOP 1 1265 FROM ADSGroupExclusion ex266 WITH(nolock)267 JOIN @Sourcedata s268 ON ex.UID_ADSGroupLower = s.AssignedElement269 WHERE270 s.IsUpcommingContent = 1 AND s.XOriginAfter > 0 AND s.XIsInEffectAfter = 1)271 BEGIN272 DECLARE @ExcludeCandidate QER_YExcludeCandidate273 INSERT INTO @ExcludeCandidate(Element,274 AssignedElement,275 XIsInEffectAfter)276 SELECT277 s.Element,278 s.AssignedElement,279 1280 FROM @Sourcedata s281 JOIN(282 SELECT exe.UID_ADSGroupLower AS UID_Excluded283 FROM ADSGroupExclusion exe) AS ex284 ON s.AssignedElement = ex.UID_Excluded285 WHERE286 s.IsUpcommingContent = 1 AND s.XOriginAfter > 0 AND s.XIsInEffectAfter = 1287 UNION all288 SELECT289 s.Element,290 s.AssignedElement,291 1292 FROM @Sourcedata s293 JOIN(294 SELECT exe.UID_ADSGroupHigher AS UID_Excluding295 FROM ADSGroupExclusion exe) AS ex296 ON s.AssignedElement = ex.UID_Excluding297 WHERE298 s.IsUpcommingContent = 1 AND s.XOriginAfter > 0 AND s.XIsInEffectAfter = 1299 UPDATE @ExcludeCandidate300 SET XIsInEffectAfter = 0301 FROM @ExcludeCandidate l302 JOIN(303 SELECT304 exe.UID_ADSGroupLower AS UID_Excluded,305 exe.UID_ADSGroupHigher AS UID_Excluding306 FROM ADSGroupExclusion exe) AS ex307 ON l.AssignedElement = ex.UID_Excluded308 JOIN(309 SELECT sh.*310 FROM @ExcludeCandidate sh) AS h311 ON l.Element = h.Element AND h.AssignedElement = ex.UID_Excluding312 IF @@ROWCOUNT > 0313 BEGIN314 UPDATE @Sourcedata315 SET XIsInEffectAfter = 0316 FROM @Sourcedata l317 JOIN @ExcludeCandidate k318 ON l.Element = k.Element AND l.AssignedElement = k.AssignedElement AND k.XIsInEffectAfter = 0319 WHERE320 l.IsUpcommingContent = 1 AND l.XOriginAfter > 0 AND l.XIsInEffectAfter = 1321 END322 END323 END324 EXEC QBM_PDBQueueCalculateDelta @SourceData,325 @DeltaQuantity = 0,326 @DeltaDelete = 0,327 @DeltaInsert = 1,328 @DeltaOrigin = 1,329 @CountDeltaQantity = @CountDeltaQantity OUTPUT,330 @CountDeltaOrigin = @CountDeltaOrigin OUTPUT,331 @UseIsInEffect = 1,332 @SlotNumber = @SlotNumber,333 @DBQueueCurrentExtern = @DBQueueCurrent334 IF @CountDeltaOrigin > 0335 BEGIN336 EXEC QBM_PMNTableOriginUpdate 'ADSContactInADSGroup',337 'UID_ADSContact',338 'UID_ADSGroup'339 END340 IF @CountDeltaQantity > 0341 BEGIN342 EXEC QBM_PMNTableInsert 'ADSContactInADSGroup',343 'UID_ADSContact',344 'UID_ADSGroup',345 @TargetIsView = 0,346 @FKTableNameElement = 'ADSContact',347 @FKColumnNameElement = 'UID_ADSContact'348 END349 END TRY350 BEGIN CATCH351 EXEC QBM_PSessionErrorAdd DEFAULT352 RAISERROR('',353 18,354 1)355 WITH NOWAIT356 END CATCH357 endLabel:358END
Open raw exported source
1 create procedure ADS_ZContactInADSGroup (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , @CountDeltaOrigin2 int declare @GenProcID varchar(38) declare @PersonToCheck_L QBM_YSingleGUID declare @UID_BaseTreeAssignToUse varchar(38) = 'ADS-AsgnBT-ADSGroup' declare3 @DBQueueCurrent QBM_YDBQueueCurrent declare @ObjectKeysToCheck_Projection QBM_YParameterList declare @RowsToReset int declare @MyName nvarchar(64) = object_name4(@@procid) declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|', 0) declare @QBM_BitPatternXMarkedForDel_Out int5 = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0) declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare6 @QBM_BitPatternXOrigin_Inherit_inv int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1) declare @PMDKeepMembershipsOfLinkedAccount varchar(16) = left(dbo.QBM_FGIConfigparmValue7('QER\Person\User\KeepMembershipsOfLinkedAccount'), 16) BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID8) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount9 = 0 begin goto EndLabel end insert into @PersonToCheck_L(UID_SingleGuid) select distinct a.UID_Person from @DBQueueCurrent cu join ADSContact a on cu.UID_Parameter10 = a.UID_ADSContact where a.UID_Person > ' ' insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore11, XIsInEffectAfter ) select 0, 0 , aig.uid_ADSContact, aig.uid_ADSgroup, aig.XOrigin , aig.XIsInEffect, 0 from ADSContactInADSGroup aig join @DBQueueCurrent12 x on uid_adsContact = x.uid_parameter join ADSGroup g on aig.uid_adsGroup = g.uid_adsgroup where aig.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay13 = 0 and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter14 , Element, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, aig.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , aig.uid_ADSContact,15 aig.uid_ADSGroup , 0, dbo.TSB_FGIUserInGroupValid_OVR_Ke ( p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup16, bh.PMDInheritGroup, 1, p.IsSecurityIncident, bh.PSIInheritGroup, 0 , bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite17, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite, @PMDKeepMembershipsOfLinkedAccount) from ADSContactInADSGroup aig join @DBQueueCurrent x on aig.uid_adsContact18 = x.uid_parameter join ADSGroup g on aig.uid_adsGroup = g.uid_adsgroup and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 join ADSContact19 n on aig.uid_ADSContact = n.uid_ADSContact join ADSDomain d on n.UID_ADSDomain = d.UID_ADSDomain left outer join TSBSpecificGroupBehavior ovr on ovr.ObjectKeyGroup20 = g.XObjectKey left outer join person p on n.uid_person = p.uid_person left outer join TSBBehavior bh on n.UID_TSBBehavior = bh.UID_TSBBehavior insert21 into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , uid_ADSContact22, uid_ADSgroup, @QBM_BitPatternXOrigin_Inherit , 0, y.XIsInEffect from ( select x.uid_ADSContact, x.uid_ADSgroup, dbo.TSB_FGIUserInGroupValid_OVR_Ke ( 23p.IsInActive, p.IsTemporaryDeactivated, p.XMarkedForDeletion, bh.PFDInheritGroup, bh.PTDInheritGroup, bh.PMDInheritGroup, 0, p.IsSecurityIncident, bh.PSIInheritGroup24, 0 , bh.ADAInheritGroup , ovr.PFDInheritOverwrite, ovr.PTDInheritOverwrite, ovr.PSIInheritOverwrite, ovr.PMDInheritOverwrite, ovr.ADAInheritOverwrite25, @PMDKeepMembershipsOfLinkedAccount ) as XIsInEffect from ( select nt.uid_ADSContact , ohg.uid_ADSgroup , nt.UID_ADSDomain , nt.uid_person, 0 as 26AccountDisabled , nt.UID_TSBAccountDef , nt.UID_TSBBehavior, gg.XObjectKey from @DBQueueCurrent x join ADSContact nt on nt.uid_ADSContact = x.uid_parameter27 and nt.isGroupAccount = 1 join dbo.QER_FTAccountInheritFromOrg_L(@PersonToCheck_L , @UID_BaseTreeAssignToUse ) pfo on pfo.UID_Person = nt.UID_Person28 join BaseTreeHasADSGroup ohg on pfo.uid_org = ohg.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join ADSgroup gg on ohg.uid_ADSgroup = gg.uid_ADSGroup29 and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 and ( nt.UID_ADSDomain = gg.UID_ADSDomain or exists (select top 1 1 from ADS_VDomainTrustExists30 td where td.UID_ADSDomainMember = nt.UID_ADSDomain and td.UID_ADSDomainGroup = gg.UID_ADSDomain ) ) where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership31, nt.MatchPatternForMembership) = 1 and exists (select top 1 1 from ADS_VGroupMemberValid_Contact v where v.UID_ADSDomainContainer = gg.UID_ADSDomain32 and v.uid_adsgroupcontainer = gg.uid_adsgroup and v.UID_ADSDomainMember = nt.UID_ADSDomain ) union all select nt.uid_ADSContact , gg.uid_ADSgroup , nt.UID_ADSDomain33 , nt.uid_person , 0 as AccountDisabled , nt.UID_TSBAccountDef , nt.UID_TSBBehavior, gg.XObjectKey from @DBQueueCurrent x join ADSContact nt on nt.uid_ADSContact34 = x.uid_parameter and nt.isGroupAccount = 1 join person px on nt.UID_Person = px.uid_person and px.isNoInherite = 0 join personHasESet phe on nt.uid_person35 = phe.uid_person and phe.XOrigin > 0 and phe.XIsInEffect = 1 join ESetHasEntitlement ehe on phe.uid_ESet = ehe.uid_ESet and ehe.XOrigin > 0 and ehe.XIsInEffect36 = 1 join ADSgroup gg on ehe.Entitlement = gg.XObjectKey and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 and ( nt.UID_ADSDomain = 37gg.UID_ADSDomain or exists (select top 1 1 from ADS_VDomainTrustExists td where td.UID_ADSDomainMember = nt.UID_ADSDomain and td.UID_ADSDomainGroup 38= gg.UID_ADSDomain ) ) where dbo.TSB_FGIGroupAccountMatching( gg.MatchPatternForMembership, nt.MatchPatternForMembership) = 1 and exists (select top39 1 1 from ADS_VGroupMemberValid_Contact v where v.UID_ADSDomainContainer = gg.UID_ADSDomain and v.uid_adsgroupcontainer = gg.uid_adsgroup and v.UID_ADSDomainMember40 = nt.UID_ADSDomain ) and dbo.QBM_FGIModuleExists('RMS') = 1 ) as x join ADSDomain d on x.UID_ADSDomain = d.UID_ADSDomain left outer join TSBSpecificGroupBehavior41 ovr on ovr.ObjectKeyGroup = x.XObjectKey left outer join person p on x.uid_person = p.uid_person left outer join TSBBehavior bh on x.UID_TSBBehavior42 = bh.UID_TSBBehavior where (not (isnull(p.XMarkedForDeletion, 0) & @QBM_BitPatternXMarkedForDel_Delay > 0 and bh.PMDInheritGroup is null and @PMDKeepMembershipsOfLinkedAccount43 <> 'ALL' and ovr.PMDInheritOverwrite is null ) ) ) as y if 1 = dbo.DPR_FGIProjectionRootRunning ('ADSDomain') begin insert into @ObjectKeysToCheck_Projection44(Parameter1, Parameter2) select cu.UID_Parameter, ro.ObjectKeyRoot from @DBQueueCurrent cu join @Sourcedata sd on cu.UID_Parameter = sd.Element join AdsGroup45 g on sd.AssignedElement = g.uid_adsGroup join ADS_VElementAndRoot ro on g.XObjectKey = ro.ObjectKeyElement join ADSContact a on cu.UID_Parameter = a.UID_ADSContact46 and a.UID_ADSDomain <> g.UID_ADSDomain where ro.ElementTable = 'AdsGroup' exec @RowsToReset = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection47, @MyName, @SlotNumber if @RowsToReset > 0 begin delete @DBQueueCurrent from @DBQueueCurrent cu left outer join QBMDBQueueCurrent d with (readpast) on48 cu.UID_DialogDBQueue = d.UID_DialogDBQueue and d.SlotNumber = @SlotNumber where d.UID_DialogDBQueue is null delete @Sourcedata from @Sourcedata s left49 outer join @DBQueueCurrent cu on s.Element = cu.UID_Parameter where cu.UID_DialogDBQueue is null end end if dbo.QBM_FGIConfigparmValue('QER\Structures\Inherite\GroupExclusion'50) > ' ' begin if exists (select top 1 1 from ADSGroupExclusion ex with (nolock) join @Sourcedata s on ex.UID_ADSGroupLower = s.AssignedElement where s.IsUpcommingContent51 = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement52, XIsInEffectAfter) select s.Element, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_ADSGroupLower as UID_Excluded from ADSGroupExclusion53 exe ) as ex on s.AssignedElement = ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element54, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_ADSGroupHigher as UID_Excluding from ADSGroupExclusion exe ) as ex on s.AssignedElement55 = ex.UID_Excluding where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 update @ExcludeCandidate set XIsInEffectAfter = 0 56from @ExcludeCandidate l join ( select exe.UID_ADSGroupLower as UID_Excluded, exe.UID_ADSGroupHigher as UID_Excluding from ADSGroupExclusion exe ) as 57ex on l.AssignedElement = ex.UID_Excluded join (select sh.* from @ExcludeCandidate sh ) as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding58 if @@ROWCOUNT > 0 begin update @Sourcedata set XIsInEffectAfter = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement59 = k.AssignedElement and k.XIsInEffectAfter = 0 where l.IsUpcommingContent = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end end exec QBM_PDBQueueCalculateDelta60 @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0, @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin61 = @CountDeltaOrigin output , @UseIsInEffect = 1 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec62 QBM_PMNTableOriginUpdate 'ADSContactInADSGroup', 'UID_ADSContact', 'UID_ADSGroup' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'ADSContactInADSGroup'63, 'UID_ADSContact', 'UID_ADSGroup', @TargetIsView = 0 , @FKTableNameElement = 'ADSContact' , @FKColumnNameElement = 'UID_ADSContact' end END TRY64 BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end 65