dbo.ADS_ZADSMachineInADSGroup
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.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.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.DPR_FGIProjectionRootRunning
- dbo.QBM_FGIBitPatternXMarkedForDel
- dbo.QBM_FGIBitPatternXOrigin
- dbo.QBM_FGIConfigparmValue
- dbo.QBM_FGIModuleExists
- 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_ZADSMachineInADSGroup(2 @SlotNumber int3)4AS5BEGIN6 DECLARE @Sourcedata QBM_YDataForDelta,7 @CountDeltaQantity int,8 @CountDeltaOrigin int9 DECLARE @GenProcID varchar(38)10 DECLARE @DBQueueCurrent QBM_YDBQueueCurrent11 DECLARE @ObjectKeysToCheck_Projection QBM_YParameterList12 DECLARE @RowsToReset int13 DECLARE @MyName nvarchar(64) = object_name(@@procid)14 DECLARE @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel('|Delay|',15 0)16 DECLARE @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|',17 0)18 DECLARE @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin('|Direct|',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 BEGIN TRY25 INSERT INTO @DBQueueCurrent(UID_DialogDBQueue,26 UID_Parameter,27 UID_SubParameter,28 GenProcID)29 SELECT30 UID_DialogDBQueue,31 UID_Parameter,32 UID_SubParameter,33 GenProcID34 FROM QBMDBQueueCurrent cu35 WITH(readpast)36 WHERE37 cu.SlotNumber = @SlotNumber38 IF @@rowcount = 039 BEGIN40 GOTO EndLabel41 END42 INSERT INTO @SourceData(IsUpcommingContent,43 XOriginAfter,44 Element,45 AssignedElement,46 XOriginBefore,47 XIsInEffectBefore,48 XIsInEffectAfter)49 SELECT50 0,51 0,52 hia.UID_ADSMachine,53 hia.UID_ADSGroup,54 hia.XOrigin,55 hia.XIsInEffect,56 057 FROM @DBQueueCurrent x58 JOIN ADSMachineInADSGroup hia59 ON hia.UID_ADSMachine = x.uid_parameter60 JOIN ADSGroup g61 ON hia.uid_adsGroup = g.uid_adsgroup62 WHERE63 hia.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 AND g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 064 INSERT INTO @SourceData(IsUpcommingContent,65 XOriginBefore,66 XOriginAfter,67 Element,68 AssignedElement,69 XIsInEffectBefore,70 XIsInEffectAfter)71 SELECT72 1,73 0,74 hia.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv,75 hia.UID_ADSMachine,76 hia.UID_ADSGroup,77 0,78 CASE79 WHEN a.UID_ADSGroupPrimary = hia.UID_ADSGroup THEN80 081 ELSE 182 END83 FROM @DBQueueCurrent x84 JOIN ADSMachineInADSGroup hia85 ON hia.UID_ADSMachine = x.uid_parameter86 JOIN ADSGroup g87 ON hia.uid_ADSGroup = g.uid_ADSGroup88 JOIN ADSMachine a89 ON x.UID_Parameter = a.UID_ADSMachine AND g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 090 INSERT INTO @SourceData(IsUpcommingContent,91 XOriginBefore,92 XOriginAfter,93 Element,94 AssignedElement,95 XIsInEffectBefore,96 XIsInEffectAfter)97 SELECT98 1,99 0,100 @QBM_BitPatternXOrigin_Direct,101 a.UID_ADSMachine,102 a.UID_ADSGroupPrimary,103 0,104 0105 FROM ADSMachine a106 JOIN @DBQueueCurrent x107 ON a.UID_ADSMachine = x.uid_parameter108 WHERE109 a.UID_ADSGroupPrimary > ' '110 IF dbo.QBM_FGIConfigparmValue('TargetSystem\ADS\HardwareInGroupFromOrg') > ' '111 BEGIN112 INSERT INTO @SourceData(IsUpcommingContent,113 XOriginBefore,114 Element,115 AssignedElement,116 XOriginAfter,117 XIsInEffectBefore,118 XIsInEffectAfter)119 SELECT120 1,121 0,122 y.UID_ADSMachine,123 y.UID_ADSGroup,124 @QBM_BitPatternXOrigin_Inherit,125 0,126 CASE127 WHEN a.UID_ADSGroupPrimary = y.UID_ADSGroup THEN128 0129 ELSE 1130 END131 FROM(132 SELECT133 nt.UID_ADSMachine,134 ohg.UID_ADSGroup135 FROM ADSMachine nt136 JOIN @DBQueueCurrent x137 ON nt.UID_ADSMachine = x.uid_parameter AND nt.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0138 JOIN Hardware h139 ON nt.uid_Hardware = h.uid_Hardware140 JOIN WorkDesk w141 ON h.uid_WorkDesk = w.uid_WorkDesk AND w.IsNoInherite = 0142 JOIN(143 SELECT144 hpo.uid_WorkDesk, hpo.uid_org145 FROM helperWorkDeskorg hpo146 UNION147 SELECT148 pio.uid_WorkDesk, pio.uid_org149 FROM WorkDeskinBaseTree pio150 JOIN BaseTree ba151 ON pio.UID_Org = ba.UID_Org AND pio.XOrigin > 0152 LEFT153 OUTER154 JOIN DynamicGroup dg155 ON dg.ObjectKeyBaseTree = ba.XObjectKey) AS hwo156 ON hwo.uid_WorkDesk = h.uid_WorkDesk157 JOIN BaseTreeHasADSGroup ohg158 ON ohg.uid_org = hwo.uid_org AND ohg.XOrigin > 0 AND ohg.XIsInEffect = 1159 JOIN BaseTree b160 ON b.uid_org = ohg.uid_org AND b.IsNoInheriteToWorkDesk = 0161 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 EXISTS(170 SELECT TOP 1 1171 FROM ADS_VGroupMemberValid_Machine v172 WHERE173 v.UID_ADSDomainContainer = gg.UID_ADSDomain AND v.uid_adsgroupcontainer = gg.uid_adsgroup AND v.UID_ADSDomainMember = nt.UID_ADSDomain)174 UNION175 SELECT176 nt.UID_ADSMachine,177 ohg.UID_ADSGroup178 FROM(179 SELECT180 m.uid_ADSMachine, hpo.uid_org181 FROM @DBQueueCurrent p182 JOIN ADSMachine m183 ON p.uid_parameter = m.UID_ADSMachine184 JOIN helperHardwareorg hpo185 ON m.uid_Hardware = hpo.uid_Hardware186 UNION187 SELECT188 m.uid_ADSMachine, pio.uid_org189 FROM @DBQueueCurrent p190 JOIN ADSMachine m191 ON p.uid_parameter = m.UID_ADSMachine192 JOIN HardwareinBaseTree pio193 ON m.uid_Hardware = pio.uid_Hardware AND pio.XOrigin > 0194 JOIN BaseTree ba195 ON pio.UID_Org = ba.UID_Org196 LEFT197 OUTER198 JOIN DynamicGroup dg199 ON dg.ObjectKeyBaseTree = ba.XObjectKey) AS hho200 JOIN ADSMachine nt201 ON nt.UID_ADSMachine = hho.UID_ADSMachine AND nt.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0202 JOIN BaseTreeHasADSGroup ohg203 ON ohg.uid_org = hho.uid_org AND ohg.XOrigin > 0 AND ohg.XIsInEffect = 1204 JOIN BaseTree b205 ON b.uid_org = ohg.uid_org AND b.IsNoInheriteToHardware = 0206 JOIN ADSGroup gg207 ON ohg.UID_ADSGroup = gg.UID_ADSGroup AND gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 AND(nt.UID_ADSDomain = gg.UID_ADSDomain OR208 EXISTS(209 SELECT TOP 1 1210 FROM ADS_VDomainTrustExists td211 WHERE212 td.UID_ADSDomainMember = nt.UID_ADSDomain AND td.UID_ADSDomainGroup = gg.UID_ADSDomain))213 WHERE214 EXISTS(215 SELECT TOP 1 1216 FROM ADS_VGroupMemberValid_Machine v217 WHERE218 v.UID_ADSDomainContainer = gg.UID_ADSDomain AND v.uid_adsgroupcontainer = gg.uid_adsgroup AND v.UID_ADSDomainMember = nt.UID_ADSDomain)) AS219 y220 JOIN ADSMachine a221 ON y.UID_ADSMachine = a.UID_ADSMachine222 END223 IF dbo.QBM_FGIModuleExists('RMS') = 1224 BEGIN225 INSERT INTO @SourceData(IsUpcommingContent,226 XOriginBefore,227 Element,228 AssignedElement,229 XOriginAfter,230 XIsInEffectBefore,231 XIsInEffectAfter)232 SELECT233 1,234 0,235 nt.UID_ADSMachine,236 gg.UID_ADSGroup,237 @QBM_BitPatternXOrigin_Inherit AS XOrigin,238 0,239 CASE240 WHEN nt.UID_ADSGroupPrimary = gg.UID_ADSGroup THEN241 0242 ELSE 1243 END244 FROM ADSMachine nt245 JOIN @DBQueueCurrent x246 ON nt.UID_ADSMachine = x.uid_parameter AND nt.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0247 JOIN Hardware h248 ON h.uid_Hardware = nt.uid_Hardware249 JOIN WorkDeskHasESet whe250 ON h.uid_WorkDesk = whe.uid_WorkDesk AND whe.XIsInEffect = 1 AND whe.XOrigin > 0 AND whe.XIsInEffect = 1251 JOIN ESetHasEntitlement ehe252 ON whe.uid_ESet = ehe.UID_ESet AND ehe.XOrigin > 0 AND ehe.XIsInEffect = 1253 JOIN ADSGroup gg254 ON ehe.Entitlement = gg.XObjectKey AND gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 AND(nt.UID_ADSDomain = gg.UID_ADSDomain OR255 EXISTS(256 SELECT TOP 1 1257 FROM ADS_VDomainTrustExists td258 WHERE259 td.UID_ADSDomainMember = nt.UID_ADSDomain AND td.UID_ADSDomainGroup = gg.UID_ADSDomain)) AND EXISTS(260 SELECT TOP 1 1261 FROM ADS_VGroupMemberValid_Machine v262 WHERE263 v.UID_ADSDomainContainer = gg.UID_ADSDomain AND v.uid_adsgroupcontainer = gg.uid_adsgroup AND v.UID_ADSDomainMember = nt.UID_ADSDomain)264 END265 IF 1 = dbo.DPR_FGIProjectionRootRunning('ADSDomain')266 BEGIN267 INSERT INTO @ObjectKeysToCheck_Projection(Parameter1,268 Parameter2)269 SELECT270 cu.UID_Parameter,271 ro.ObjectKeyRoot272 FROM @DBQueueCurrent cu273 JOIN @Sourcedata sd274 ON cu.UID_Parameter = sd.Element275 JOIN AdsGroup g276 ON sd.AssignedElement= g.uid_adsGroup277 JOIN ADS_VElementAndRoot ro278 ON g.XObjectKey = ro.ObjectKeyElement279 JOIN ADSMachine a280 ON cu.UID_Parameter = a.UID_ADSMachine AND a.UID_ADSDomain <> g.UID_ADSDomain281 WHERE282 ro.ElementTable = 'AdsGroup'283 EXEC @RowsToReset = DPR_PSlotResetWhileProj_L @DBQueueCurrent,284 @ObjectKeysToCheck_Projection,285 @MyName,286 @SlotNumber287 IF @RowsToReset > 0288 BEGIN289 DELETE @DBQueueCurrent290 FROM @DBQueueCurrent cu291 LEFT292 OUTER293 JOIN QBMDBQueueCurrent d294 WITH(readpast)295 ON cu.UID_DialogDBQueue = d.UID_DialogDBQueue AND d.SlotNumber = @SlotNumber296 WHERE297 d.UID_DialogDBQueue IS NULL298 DELETE @Sourcedata299 FROM @Sourcedata s300 LEFT301 OUTER302 JOIN @DBQueueCurrent cu303 ON s.Element = cu.UID_Parameter304 WHERE305 cu.UID_DialogDBQueue IS NULL306 END307 END308 IF dbo.QBM_FGIConfigparmValue('QER\Structures\Inherite\GroupExclusion') > ' '309 BEGIN310 IF EXISTS(311 SELECT TOP 1 1312 FROM ADSGroupExclusion ex313 WITH(nolock)314 JOIN @Sourcedata s315 ON ex.UID_ADSGroupLower = s.AssignedElement316 WHERE317 s.IsUpcommingContent = 1 AND s.XOriginAfter > 0 AND s.XIsInEffectAfter = 1)318 BEGIN319 DECLARE @ExcludeCandidate QER_YExcludeCandidate320 INSERT INTO @ExcludeCandidate(Element,321 AssignedElement,322 XIsInEffectAfter)323 SELECT324 s.Element,325 s.AssignedElement,326 1327 FROM @Sourcedata s328 JOIN(329 SELECT exe.UID_ADSGroupLower AS UID_Excluded330 FROM ADSGroupExclusion exe) AS ex331 ON s.AssignedElement = ex.UID_Excluded332 WHERE333 s.IsUpcommingContent = 1 AND s.XOriginAfter > 0 AND s.XIsInEffectAfter = 1334 UNION all335 SELECT336 s.Element,337 s.AssignedElement,338 1339 FROM @Sourcedata s340 JOIN(341 SELECT exe.UID_ADSGroupHigher AS UID_Excluding342 FROM ADSGroupExclusion exe) AS ex343 ON s.AssignedElement = ex.UID_Excluding344 WHERE345 s.IsUpcommingContent = 1 AND s.XOriginAfter > 0 AND s.XIsInEffectAfter = 1346 UPDATE @ExcludeCandidate347 SET XIsInEffectAfter = 0348 FROM @ExcludeCandidate l349 JOIN(350 SELECT351 exe.UID_ADSGroupLower AS UID_Excluded,352 exe.UID_ADSGroupHigher AS UID_Excluding353 FROM ADSGroupExclusion exe) AS ex354 ON l.AssignedElement = ex.UID_Excluded355 JOIN(356 SELECT sh.*357 FROM @ExcludeCandidate sh) AS h358 ON l.Element = h.Element AND h.AssignedElement = ex.UID_Excluding359 IF @@ROWCOUNT > 0360 BEGIN361 UPDATE @Sourcedata362 SET XIsInEffectAfter = 0363 FROM @Sourcedata l364 JOIN @ExcludeCandidate k365 ON l.Element = k.Element AND l.AssignedElement = k.AssignedElement AND k.XIsInEffectAfter = 0366 WHERE367 l.IsUpcommingContent = 1 AND l.XOriginAfter > 0 AND l.XIsInEffectAfter = 1368 END369 END370 END371 EXEC QBM_PDBQueueCalculateDelta @SourceData,372 @DeltaQuantity = 0,373 @DeltaDelete = 0,374 @DeltaInsert = 1,375 @DeltaOrigin = 1,376 @CountDeltaQantity = @CountDeltaQantity OUTPUT,377 @CountDeltaOrigin = @CountDeltaOrigin OUTPUT,378 @UseIsInEffect = 1,379 @SlotNumber = @SlotNumber,380 @DBQueueCurrentExtern = @DBQueueCurrent381 IF @CountDeltaOrigin > 0382 BEGIN383 EXEC QBM_PMNTableOriginUpdate 'ADSMachineInADSGroup',384 'uid_ADSMachine',385 'uid_ADSgroup'386 END387 IF @CountDeltaQantity > 0388 BEGIN389 EXEC QBM_PMNTableInsert 'ADSMachineInADSGroup',390 'uid_ADSMachine',391 'uid_ADSgroup',392 @TargetIsView = 0,393 @FKTableNameElement = 'ADSMachine',394 @FKColumnNameElement = 'uid_ADSMachine'395 END396 END TRY397 BEGIN CATCH398 EXEC QBM_PSessionErrorAdd DEFAULT399 RAISERROR('',400 18,401 1)402 WITH NOWAIT403 END CATCH404 endLabel:405END
Open raw exported source
1 create procedure ADS_ZADSMachineInADSGroup (@SlotNumber int) AS begin declare @Sourcedata QBM_YDataForDelta , @CountDeltaQantity int , 2@CountDeltaOrigin int declare @GenProcID varchar(38) declare @DBQueueCurrent QBM_YDBQueueCurrent declare @ObjectKeysToCheck_Projection QBM_YParameterList3 declare @RowsToReset int declare @MyName nvarchar(64) = object_name(@@procid) declare @QBM_BitPatternXMarkedForDel_Delay int = dbo.QBM_FGIBitPatternXMarkedForDel4('|Delay|', 0) declare @QBM_BitPatternXMarkedForDel_Out int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|', 0) declare @QBM_BitPatternXOrigin_Direct5 int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 0) declare @QBM_BitPatternXOrigin_Inherit int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 0) declare @QBM_BitPatternXOrigin_Inherit_inv6 int = dbo.QBM_FGIBitPatternXOrigin('|Inherit|', 1) BEGIN TRY insert into @DBQueueCurrent(UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID7) select UID_DialogDBQueue, UID_Parameter, UID_SubParameter, GenProcID from QBMDBQueueCurrent cu with (readpast) where cu.SlotNumber = @SlotNumber if @@rowcount8 = 0 begin goto EndLabel end insert into @SourceData( IsUpcommingContent, XOriginAfter , Element, AssignedElement, XOriginBefore , XIsInEffectBefore, 9XIsInEffectAfter ) select 0, 0 , hia.UID_ADSMachine, hia.UID_ADSGroup, hia.XOrigin , hia.XIsInEffect, 0 from @DBQueueCurrent x join ADSMachineInADSGroup10 hia on hia.UID_ADSMachine = x.uid_parameter join ADSGroup g on hia.uid_adsGroup = g.uid_adsgroup where hia.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay11 = 0 and g.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out = 0 insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element12, AssignedElement , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0, hia.XOrigin & @QBM_BitPatternXOrigin_Inherit_inv , hia.UID_ADSMachine, hia.UID_ADSGroup13 , 0 , case when a.UID_ADSGroupPrimary = hia.UID_ADSGroup then 0 else 1 end from @DBQueueCurrent x join ADSMachineInADSGroup hia on hia.UID_ADSMachine14 = x.uid_parameter join ADSGroup g on hia.uid_ADSGroup = g.uid_ADSGroup join ADSMachine a on x.UID_Parameter = a.UID_ADSMachine and g.XMarkedForDeletion15 & @QBM_BitPatternXMarkedForDel_Out = 0 insert into @SourceData( IsUpcommingContent, XOriginBefore, XOriginAfter , Element, AssignedElement , XIsInEffectBefore16, XIsInEffectAfter ) select 1, 0, @QBM_BitPatternXOrigin_Direct , a.UID_ADSMachine, a.UID_ADSGroupPrimary , 0, 0 from ADSMachine a join @DBQueueCurrent17 x on a.UID_ADSMachine = x.uid_parameter where a.UID_ADSGroupPrimary > ' ' if dbo.QBM_FGIConfigparmValue('TargetSystem\ADS\HardwareInGroupFromOrg') > 18' ' begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) 19select 1, 0 , y.UID_ADSMachine , y.UID_ADSGroup, @QBM_BitPatternXOrigin_Inherit , 0, case when a.UID_ADSGroupPrimary = y.UID_ADSGroup then 0 else 1 end20 from ( select nt.UID_ADSMachine , ohg.UID_ADSGroup from ADSMachine nt join @DBQueueCurrent x on nt.UID_ADSMachine = x.uid_parameter and nt.XMarkedForDeletion21 & @QBM_BitPatternXMarkedForDel_Delay = 0 join Hardware h on nt.uid_Hardware = h.uid_Hardware join WorkDesk w on h.uid_WorkDesk = w.uid_WorkDesk and w.IsNoInherite22 = 0 join ( select hpo.uid_WorkDesk , hpo.uid_org from helperWorkDeskorg hpo union select pio.uid_WorkDesk , pio.uid_org from WorkDeskinBaseTree pio join23 BaseTree ba on pio.UID_Org = ba.UID_Org and pio.XOrigin > 0 left outer join DynamicGroup dg on dg.ObjectKeyBaseTree = ba.XObjectKey ) as hwo on hwo.uid_WorkDesk24 = h.uid_WorkDesk join BaseTreeHasADSGroup ohg on ohg.uid_org = hwo.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join BaseTree b on b.uid_org = 25ohg.uid_org and b.IsNoInheriteToWorkDesk = 0 join ADSGroup gg on ohg.UID_ADSGroup = gg.UID_ADSGroup and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out26 = 0 and ( nt.UID_ADSDomain = gg.UID_ADSDomain or exists (select top 1 1 from ADS_VDomainTrustExists td where td.UID_ADSDomainMember = nt.UID_ADSDomain27 and td.UID_ADSDomainGroup = gg.UID_ADSDomain ) ) where exists (select top 1 1 from ADS_VGroupMemberValid_Machine v where v.UID_ADSDomainContainer =28 gg.UID_ADSDomain and v.uid_adsgroupcontainer = gg.uid_adsgroup and v.UID_ADSDomainMember = nt.UID_ADSDomain ) union select nt.UID_ADSMachine , ohg.UID_ADSGroup29 from ( select m.uid_ADSMachine , hpo.uid_org from @DBQueueCurrent p join ADSMachine m on p.uid_parameter = m.UID_ADSMachine join helperHardwareorg hpo30 on m.uid_Hardware = hpo.uid_Hardware union select m.uid_ADSMachine , pio.uid_org from @DBQueueCurrent p join ADSMachine m on p.uid_parameter = m.UID_ADSMachine31 join HardwareinBaseTree pio on m.uid_Hardware = pio.uid_Hardware and pio.XOrigin > 0 join BaseTree ba on pio.UID_Org = ba.UID_Org left outer join DynamicGroup32 dg on dg.ObjectKeyBaseTree = ba.XObjectKey ) as hho join ADSMachine nt on nt.UID_ADSMachine = hho.UID_ADSMachine and nt.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay33 = 0 join BaseTreeHasADSGroup ohg on ohg.uid_org = hho.uid_org and ohg.XOrigin > 0 and ohg.XIsInEffect = 1 join BaseTree b on b.uid_org = ohg.uid_org 34and b.IsNoInheriteToHardware = 0 join ADSGroup gg on ohg.UID_ADSGroup = gg.UID_ADSGroup and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out =35 0 and ( nt.UID_ADSDomain = gg.UID_ADSDomain or exists (select top 1 1 from ADS_VDomainTrustExists td where td.UID_ADSDomainMember = nt.UID_ADSDomain36 and td.UID_ADSDomainGroup = gg.UID_ADSDomain ) ) where exists (select top 1 1 from ADS_VGroupMemberValid_Machine v where v.UID_ADSDomainContainer =37 gg.UID_ADSDomain and v.uid_adsgroupcontainer = gg.uid_adsgroup and v.UID_ADSDomainMember = nt.UID_ADSDomain ) ) as y join ADSMachine a on y.UID_ADSMachine38 = a.UID_ADSMachine end if dbo.QBM_FGIModuleExists('RMS') = 1 begin insert into @SourceData( IsUpcommingContent, XOriginBefore , Element, AssignedElement39, XOriginAfter , XIsInEffectBefore, XIsInEffectAfter ) select 1, 0 , nt.UID_ADSMachine , gg.UID_ADSGroup , @QBM_BitPatternXOrigin_Inherit as XOrigin , 400, case when nt.UID_ADSGroupPrimary = gg.UID_ADSGroup then 0 else 1 end from ADSMachine nt join @DBQueueCurrent x on nt.UID_ADSMachine = x.uid_parameter41 and nt.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Delay = 0 join Hardware h on h.uid_Hardware = nt.uid_Hardware join WorkDeskHasESet whe on h.uid_WorkDesk42 = whe.uid_WorkDesk and whe.XIsInEffect = 1 and whe.XOrigin > 0 and whe.XIsInEffect = 1 join ESetHasEntitlement ehe on whe.uid_ESet = ehe.UID_ESet and 43ehe.XOrigin > 0 and ehe.XIsInEffect = 1 join ADSGroup gg on ehe.Entitlement = gg.XObjectKey and gg.XMarkedForDeletion & @QBM_BitPatternXMarkedForDel_Out44 = 0 and ( nt.UID_ADSDomain = gg.UID_ADSDomain or exists (select top 1 1 from ADS_VDomainTrustExists td where td.UID_ADSDomainMember = nt.UID_ADSDomain45 and td.UID_ADSDomainGroup = gg.UID_ADSDomain ) ) and exists (select top 1 1 from ADS_VGroupMemberValid_Machine v where v.UID_ADSDomainContainer = gg.UID_ADSDomain46 and v.uid_adsgroupcontainer = gg.uid_adsgroup and v.UID_ADSDomainMember = nt.UID_ADSDomain ) end if 1 = dbo.DPR_FGIProjectionRootRunning ('ADSDomain'47) begin insert into @ObjectKeysToCheck_Projection(Parameter1, Parameter2) select cu.UID_Parameter, ro.ObjectKeyRoot from @DBQueueCurrent cu join @Sourcedata48 sd on cu.UID_Parameter = sd.Element join AdsGroup g on sd.AssignedElement= g.uid_adsGroup join ADS_VElementAndRoot ro on g.XObjectKey = ro.ObjectKeyElement49 join ADSMachine a on cu.UID_Parameter = a.UID_ADSMachine and a.UID_ADSDomain <> g.UID_ADSDomain where ro.ElementTable = 'AdsGroup' exec @RowsToReset50 = DPR_PSlotResetWhileProj_L @DBQueueCurrent, @ObjectKeysToCheck_Projection, @MyName, @SlotNumber if @RowsToReset > 0 begin delete @DBQueueCurrent from51 @DBQueueCurrent cu left outer join QBMDBQueueCurrent d with (readpast) on cu.UID_DialogDBQueue = d.UID_DialogDBQueue and d.SlotNumber = @SlotNumber where52 d.UID_DialogDBQueue is null delete @Sourcedata from @Sourcedata s left outer join @DBQueueCurrent cu on s.Element = cu.UID_Parameter where cu.UID_DialogDBQueue53 is null end end if dbo.QBM_FGIConfigparmValue('QER\Structures\Inherite\GroupExclusion') > ' ' begin if exists (select top 1 1 from ADSGroupExclusion ex54 with (nolock) join @Sourcedata s on ex.UID_ADSGroupLower = s.AssignedElement where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter55 = 1 ) begin declare @ExcludeCandidate QER_YExcludeCandidate insert into @ExcludeCandidate(Element, AssignedElement, XIsInEffectAfter) select s.Element56, s.AssignedElement, 1 from @Sourcedata s join ( select exe.UID_ADSGroupLower as UID_Excluded from ADSGroupExclusion exe ) as ex on s.AssignedElement =57 ex.UID_Excluded where s.IsUpcommingContent = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 union all select s.Element, s.AssignedElement, 1 from58 @Sourcedata s join ( select exe.UID_ADSGroupHigher as UID_Excluding from ADSGroupExclusion exe ) as ex on s.AssignedElement = ex.UID_Excluding where s.IsUpcommingContent59 = 1 and s.XOriginAfter > 0 and s.XIsInEffectAfter = 1 update @ExcludeCandidate set XIsInEffectAfter = 0 from @ExcludeCandidate l join ( select exe.UID_ADSGroupLower60 as UID_Excluded, exe.UID_ADSGroupHigher as UID_Excluding from ADSGroupExclusion exe ) as ex on l.AssignedElement = ex.UID_Excluded join (select sh.* from61 @ExcludeCandidate sh ) as h on l.Element = h.Element and h.AssignedElement = ex.UID_Excluding if @@ROWCOUNT > 0 begin update @Sourcedata set XIsInEffectAfter62 = 0 from @Sourcedata l join @ExcludeCandidate k on l.Element = k.Element and l.AssignedElement = k.AssignedElement and k.XIsInEffectAfter = 0 where l.IsUpcommingContent63 = 1 and l.XOriginAfter > 0 and l.XIsInEffectAfter = 1 end end end exec QBM_PDBQueueCalculateDelta @SourceData, @DeltaQuantity = 0, @DeltaDelete = 0,64 @DeltaInsert = 1, @DeltaOrigin = 1, @CountDeltaQantity = @CountDeltaQantity output , @CountDeltaOrigin = @CountDeltaOrigin output , @UseIsInEffect = 165 , @SlotNumber = @SlotNumber , @DBQueueCurrentExtern = @DBQueueCurrent if @CountDeltaOrigin > 0 begin exec QBM_PMNTableOriginUpdate 'ADSMachineInADSGroup'66, 'uid_ADSMachine', 'uid_ADSgroup' end if @CountDeltaQantity > 0 begin exec QBM_PMNTableInsert 'ADSMachineInADSGroup', 'uid_ADSMachine', 'uid_ADSgroup'67, @TargetIsView = 0 , @FKTableNameElement = 'ADSMachine' , @FKColumnNameElement = 'uid_ADSMachine' end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default68 RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: end 69