Back to OIM Explorer

dbo.ADS_ZContactInADSGroup

Stored ProcedureSQL_STORED_PROCEDURESandbox DB

Stored Procedure.

Source: sandbox-db sys.sql_modules

Source size: 10.246 characters

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

Complete Source

SQL358 lines
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
SQL ยท Raw65 lines
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