Back to OIM Explorer

dbo.ADS_ZADSMachineInADSGroup

Stored ProcedureSQL_STORED_PROCEDURESandbox DB

Stored Procedure.

Source: sandbox-db sys.sql_modules

Source size: 10.660 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.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

Complete Source

SQL405 lines
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
SQL ยท Raw69 lines
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