Back to OIM Explorer

dbo.QER_ZAllForPersonInBaseTree

Stored ProcedureSQL_STORED_PROCEDURESandbox DB

Stored Procedure. HOCallMethod -> personwantsorg.Abort at line 17; HOCallMethod -> personwantsorg.Abort at line 19; HOCallMethod -> personwantsorg.Abort at line 24; HOCallMethod -> personwantsorg.Abort at line 31

Source: sandbox-db sys.sql_modules

Source size: 10.715 characters

Interpretation

  • Database routine. Review parameters, called procedures, DBQueue inserts, and QBM_PJobCreate helper calls before assuming side effects.
  • Object-layer bridge detected through QBM_PJobCreate helper usage.
  • DBQueue relation detected. Follow the task procedure and referenced-by list for async processing.

Relations

  • HOCallMethod -> personwantsorg.Abort at line 17
  • HOCallMethod -> personwantsorg.Abort at line 19
  • HOCallMethod -> personwantsorg.Abort at line 24
  • HOCallMethod -> personwantsorg.Abort at line 31
  • Single DBQueue insert -> QBM-K-Commonrecalculate / QBM_ZRecalculate at line 17
  • Bulk DBQueue insert -> QER-K-ShoppingRackPWOHelperPWO-Cfg / QER_ZITShopHelperFill_Cfg at line 17
  • Bulk DBQueue insert -> QER-K-PersonCheckDynUser / QER_ZPersonCheckDynUser at line 17
  • Bulk DBQueue insert -> QER-K-AllForOnePerson / QER_ZAllForOnePerson at line 17
  • Bulk DBQueue insert -> QER-K-PersonHasObject / QER_ZPersonHasObject at line 17
  • Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 17
  • Bulk DBQueue insert -> QER-K-ShoppingRackPWOHelperPWO-Cfg / QER_ZITShopHelperFill_Cfg at line 19
  • Bulk DBQueue insert -> QER-K-PersonCheckDynUser / QER_ZPersonCheckDynUser at line 19
  • Bulk DBQueue insert -> QER-K-AllForOnePerson / QER_ZAllForOnePerson at line 19
  • Bulk DBQueue insert -> QER-K-PersonHasObject / QER_ZPersonHasObject at line 19
  • Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 19
  • Bulk DBQueue insert -> QER-K-PersonCheckDynUser / QER_ZPersonCheckDynUser at line 24
  • Bulk DBQueue insert -> QER-K-AllForOnePerson / QER_ZAllForOnePerson at line 24
  • Bulk DBQueue insert -> QER-K-PersonHasObject / QER_ZPersonHasObject at line 24
  • Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 24
  • Bulk DBQueue insert -> QER-K-AllForOnePerson / QER_ZAllForOnePerson at line 31
  • Bulk DBQueue insert -> QER-K-PersonHasObject / QER_ZPersonHasObject at line 31
  • Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 31
  • Bulk DBQueue insert -> QER-K-AllForOnePerson / QER_ZAllForOnePerson at line 37
  • Bulk DBQueue insert -> QER-K-PersonHasObject / QER_ZPersonHasObject at line 37
  • Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 37
  • Single DBQueue insert -> QER-K-ShoppingRackPWODecisionMaker / QER_ZITShopDecisionMakerFill at line 37
  • Bulk DBQueue insert -> at line 37
  • Bulk DBQueue insert -> QER-K-PersonHasObject / QER_ZPersonHasObject at line 38
  • Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 38
  • Single DBQueue insert -> QER-K-ShoppingRackPWODecisionMaker / QER_ZITShopDecisionMakerFill at line 38
  • Bulk DBQueue insert -> at line 38
  • Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 42
  • Single DBQueue insert -> QER-K-ShoppingRackPWODecisionMaker / QER_ZITShopDecisionMakerFill at line 42
  • Bulk DBQueue insert -> at line 42
  • Single DBQueue insert -> QER-K-ShoppingRackPWODecisionMaker / QER_ZITShopDecisionMakerFill at line 63
  • Bulk DBQueue insert -> at line 63
  • Bulk DBQueue insert -> at line 66
  • References QBM_PJobCreate*
  • References QBM_PJobCreate_HOCallMethod*
  • References QBM_PDBQueueInsert_Single
  • References QBM_PDBQueueInsert_Bulk

Typed Edges

  • calls object method personwantsorg.Abort HOCallMethod -> personwantsorg.Abort at line 17
  • queues DBQueue task QBM_ZRecalculate at line 17 Single DBQueue insert -> QBM-K-Commonrecalculate / QBM_ZRecalculate at line 17
  • queues DBQueue task QER_ZITShopHelperFill_Cfg at line 17 Bulk DBQueue insert -> QER-K-ShoppingRackPWOHelperPWO-Cfg / QER_ZITShopHelperFill_Cfg at line 17
  • queues DBQueue task QER_ZPersonCheckDynUser at line 17 Bulk DBQueue insert -> QER-K-PersonCheckDynUser / QER_ZPersonCheckDynUser at line 17
  • queues DBQueue task QER_ZAllForOnePerson at line 17 Bulk DBQueue insert -> QER-K-AllForOnePerson / QER_ZAllForOnePerson at line 17
  • queues DBQueue task QER_ZPersonHasObject at line 17 Bulk DBQueue insert -> QER-K-PersonHasObject / QER_ZPersonHasObject at line 17
  • queues DBQueue task QER_ZITShopMemberDelete at line 17 Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 17
  • queues DBQueue task QER_ZITShopHelperFill_Cfg at line 19 Bulk DBQueue insert -> QER-K-ShoppingRackPWOHelperPWO-Cfg / QER_ZITShopHelperFill_Cfg at line 19
  • queues DBQueue task QER_ZPersonCheckDynUser at line 19 Bulk DBQueue insert -> QER-K-PersonCheckDynUser / QER_ZPersonCheckDynUser at line 19
  • queues DBQueue task QER_ZAllForOnePerson at line 19 Bulk DBQueue insert -> QER-K-AllForOnePerson / QER_ZAllForOnePerson at line 19
  • queues DBQueue task QER_ZPersonHasObject at line 19 Bulk DBQueue insert -> QER-K-PersonHasObject / QER_ZPersonHasObject at line 19
  • queues DBQueue task QER_ZITShopMemberDelete at line 19 Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 19
  • queues DBQueue task QER_ZPersonCheckDynUser at line 24 Bulk DBQueue insert -> QER-K-PersonCheckDynUser / QER_ZPersonCheckDynUser at line 24
  • queues DBQueue task QER_ZAllForOnePerson at line 24 Bulk DBQueue insert -> QER-K-AllForOnePerson / QER_ZAllForOnePerson at line 24
  • queues DBQueue task QER_ZPersonHasObject at line 24 Bulk DBQueue insert -> QER-K-PersonHasObject / QER_ZPersonHasObject at line 24
  • queues DBQueue task QER_ZITShopMemberDelete at line 24 Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 24
  • queues DBQueue task QER_ZAllForOnePerson at line 31 Bulk DBQueue insert -> QER-K-AllForOnePerson / QER_ZAllForOnePerson at line 31
  • queues DBQueue task QER_ZPersonHasObject at line 31 Bulk DBQueue insert -> QER-K-PersonHasObject / QER_ZPersonHasObject at line 31
  • queues DBQueue task QER_ZITShopMemberDelete at line 31 Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 31
  • queues DBQueue task QER_ZAllForOnePerson at line 37 Bulk DBQueue insert -> QER-K-AllForOnePerson / QER_ZAllForOnePerson at line 37
  • queues DBQueue task QER_ZPersonHasObject at line 37 Bulk DBQueue insert -> QER-K-PersonHasObject / QER_ZPersonHasObject at line 37
  • queues DBQueue task QER_ZITShopMemberDelete at line 37 Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 37
  • queues DBQueue task QER_ZITShopDecisionMakerFill at line 37 Single DBQueue insert -> QER-K-ShoppingRackPWODecisionMaker / QER_ZITShopDecisionMakerFill at line 37
  • queues DBQueue task at line 37 Bulk DBQueue insert -> at line 37
  • queues DBQueue task QER_ZPersonHasObject at line 38 Bulk DBQueue insert -> QER-K-PersonHasObject / QER_ZPersonHasObject at line 38
  • queues DBQueue task QER_ZITShopMemberDelete at line 38 Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 38
  • queues DBQueue task QER_ZITShopDecisionMakerFill at line 38 Single DBQueue insert -> QER-K-ShoppingRackPWODecisionMaker / QER_ZITShopDecisionMakerFill at line 38
  • queues DBQueue task at line 38 Bulk DBQueue insert -> at line 38
  • queues DBQueue task QER_ZITShopMemberDelete at line 42 Bulk DBQueue insert -> QER-K-ShoppingRackMemberDel / QER_ZITShopMemberDelete at line 42
  • queues DBQueue task QER_ZITShopDecisionMakerFill at line 42 Single DBQueue insert -> QER-K-ShoppingRackPWODecisionMaker / QER_ZITShopDecisionMakerFill at line 42
  • queues DBQueue task at line 42 Bulk DBQueue insert -> at line 42
  • queues DBQueue task QER_ZITShopDecisionMakerFill at line 63 Single DBQueue insert -> QER-K-ShoppingRackPWODecisionMaker / QER_ZITShopDecisionMakerFill at line 63
  • queues DBQueue task at line 63 Bulk DBQueue insert -> at line 63
  • queues DBQueue task at line 66 Bulk DBQueue insert -> at line 66
  • references source dbo.QBM_FCVElementToObjectKey2 source text reference
  • references source dbo.QBM_FCVStringToBit source text reference
  • references source dbo.QBM_FGIBitPatternXOrigin source text reference
  • references source dbo.QBM_FGIConfigparmValue source text reference
  • references source dbo.QER_FGIGenProcIDForPWO source text reference
  • references source dbo.QER_FGIOrgRootName source text reference

Complete Source

SQL511 lines
1CREATE PROCEDURE QER_ZAllForPersonInBaseTree(2  @SlotNumber int3)4AS5BEGIN6  DECLARE @IsCUNode BIT7  DECLARE @IsOrgNode BIT8  SELECT @IsCUNode = 09  SELECT @IsOrgNode = 010  DECLARE @uid_personwantsorg varchar(38)11  DECLARE @SQLCmd nvarchar(2000)12  DECLARE @BasisObjectKey varchar(138)13  DECLARE @GenProcID varchar(38)14  DECLARE @CfgUseGenProcID BIT = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\ProcessState\UseGenProcIDFromPWO'))15  DECLARE @BitpatternDynInv int = dbo.QBM_FGIBitPatternXOrigin('|Dynamic|',16  1)17  DECLARE @UID_PWOStateFinalError varchar(38)18  DECLARE @Parameter nvarchar(1000)19  DECLARE @Ident_OrgRoot nvarchar(64)20  DECLARE @EntryAll QBM_YCursorBuffer21  DECLARE @ElementLast int22  DECLARE @ElementCount int23  DECLARE @ElementIndex int24  DECLARE @XUser nvarchar(64) = object_name(@@procid)25  DECLARE @Xdate datetime = getutcdate()26  DECLARE @UID_TaskFollow varchar(38)27  BEGIN TRY28    INSERT INTO @EntryAll(UID1,29    UID2,30    ObjectKey1,31    Bit1,32    UID3,33    Int1)34    SELECT35      cu.UID_Parameter,36      cu.UID_SubParameter,37      pio.XObjectKey,38      sign(len(isnull(pio.UID_Person, ''))) ^1,39      cu.GenProcID,40      isnull(pio.XOrigin,41      0)42    FROM QBMDBQueueCurrent cu43      WITH(readpast)44    LEFT45    OUTER46    JOIN PersonInBaseTree pio47      ON cu.UID_Parameter = pio.UID_Person AND cu.UID_SubParameter = pio.UID_Org AND pio.XOrigin > 048    WHERE49      cu.SlotNumber = @SlotNumber50    UPDATE @EntryAll51    SET ObjectKey1 = dbo.QBM_FCVElementToObjectKey2('PersonIn' +dbo.QER_FGIOrgRootName(b.uid_orgroot),52    'uid_person',53    d.UID1,54    'UID_' + dbo.QER_FGIOrgRootName(b.uid_orgroot),55    b.uid_org)56    FROM @EntryAll d57    JOIN BaseTree b58      ON d.UID2 = b.UID_Org59    WHERE60      d.Bit1 = 161    IF EXISTS(62      SELECT TOP 1 163      FROM @EntryAll pio64      JOIN BaseTree b65        ON pio.UID2 = b.UID_Org66      JOIN DynamicGroup dg67        ON dg.ObjectKeyBaseTree = b.XObjectKey68      JOIN QERDynamicGroupBlackList bl69        ON bl.UID_DynamicGroup = dg.UID_DynamicGroup AND bl.UID_Person = pio.UID1)70    BEGIN71      UPDATE QERDynamicGroupBlackList72      SET IsAssignedByOthers = CASE73      WHEN pio.Bit1 = 1 THEN74      075      WHEN pio.Int1 & @BitpatternDynInv > 0 THEN76      177      ELSE bl.IsAssignedByOthers78      END,79      XDateUpdated = @Xdate,80      XUserUpdated = @XUser81      FROM @EntryAll pio82      JOIN BaseTree b83        ON pio.UID2 = b.UID_Org84      JOIN DynamicGroup dg85        ON dg.ObjectKeyBaseTree = b.XObjectKey86      JOIN QERDynamicGroupBlackList bl87        ON bl.UID_DynamicGroup = dg.UID_DynamicGroup AND bl.UID_Person = pio.UID188    END89    IF EXISTS(90      SELECT TOP 1 191      FROM @EntryAll a92      WHERE93        a.UID2 = 'QER-AEROLE-ITSHOP-INTERVENTION')94    BEGIN95      SELECT TOP 1 @GenProcID = a.UID396      FROM @EntryAll a97      WHERE98        a.UID2 = 'QER-AEROLE-ITSHOP-INTERVENTION'99      EXEC QBM_PDBQueueInsert_Single 'QBM-K-Commonrecalculate',100      'QER-K-ShoppingRackPWOHelperPWO',101      '',102        @GenprocID103    END104    DECLARE @DBQueueElements_01 QBM_YDBQueueRaw105    INSERT INTO @DBQueueElements_01(Object,106    SubObject,107    GenProcID)108    SELECT109      DISTINCT h.UID_PersonWantsOrg,110      '',111      cu.UID3112    FROM @EntryAll cu113    JOIN QERWorkingStep s114      ON s.UID_AERoleFallBack = cu.UID2115    JOIN PWOHelperPWO h116      ON h.UID_QERWorkingStep = s.UID_QERWorkingStep117    IF @@ROWCOUNT > 0118    BEGIN119      EXEC QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackPWOHelperPWO-Cfg',120        @DBQueueElements_01121    END122    IF EXISTS(123      SELECT TOP 1 1124      FROM BaseTree b125      JOIN @EntryAll i126        ON b.uid_org = i.UID2127      WHERE128        b.uid_Orgroot = 'QER-V-ITShopOrg' AND b.itShopInfo = 'CU')129    BEGIN130      SELECT @IsCUNode = 1131    END132    IF EXISTS(133      SELECT TOP 1 1134      FROM BaseTree b135      JOIN @EntryAll i136        ON b.uid_org = i.UID2137      WHERE138        (b.uid_orgroot LIKE '____[^V]%'))139    BEGIN140      SELECT @IsOrgNode = 1141    END142    DECLARE @DBQueueElements_02 QBM_YDBQueueRaw143    INSERT INTO @DBQueueElements_02(object,144    subobject,145    genprocid)146    SELECT147      x.uid,148      NULL,149      x.GenProcID150    FROM(151    SELECT152      DISTINCT d.UID1 AS uid,153      d.UID3 AS GenProcID154    FROM @EntryAll d155    JOIN BaseTree b156      ON d.UID2 = b.uid_org157    WHERE158      b.uid_orgroot = 'QER-V-AERole') AS x159    EXEC QBM_PDBQueueInsert_Bulk 'QER-K-PersonCheckDynUser',160      @DBQueueElements_02161    DECLARE @ElementClosing QBM_YCursorBuffer162    INSERT INTO @ElementClosing(UID1,163    ObjectKey1,164    UID2)165    SELECT166      pwo.uid_personwantsorg,167      pwo.XObjectKey,168      dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID,169      x.UID3,170      @CfgUseGenProcID) AS GenProcID171    FROM @EntryAll x172    JOIN Delegation d173      ON d.ObjectKeyDelegated = x.ObjectKey1 AND x.Bit1 = 1174    JOIN personwantsorg pwo175      ON d.uid_personwantsorg = pwo.uid_personwantsorg176    WHERE177      pwo.OrderState IN('Assigned',178    'Granted',179    'New',180    'OrderProduct',181    'OrderProlongate',182    'OrderUnsubscribe',183    'Waiting')184    SELECT @ElementCount = @@ROWCOUNT185    SELECT @ElementIndex = @@IDENTITY - @ElementCount +1186    SELECT @ElementLast = @@IDENTITY187    WHILE @ElementIndex <= @ElementLast188    BEGIN189      SELECT190        TOP 1 @uid_personwantsorg = bu.UID1,191        @BasisObjectKey = bu.ObjectKey1,192        @GenProcID = bu.UID2193      FROM @ElementClosing bu194      WHERE195        bu.ElementIndex = @ElementIndex196      SELECT @SQLcmd = N 'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg) + N ''''197      SELECT @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg)198      EXEC QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg',199        @whereclause = @SQLcmd,200        @save = 1,201        @MethodName = 'Abort',202        @GenProcID = @GenprocID,203        @ObjectKeysAffected = DEFAULT,204        @param1 = '#LDS#Closing delegation because its source was was deleted.|',205        @Param2 = @UID_PWOStateFinalError,206        @Retries = 3,207        @isToFreezeOnError = 1,208        @WhereClauseAdditional = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'209      ,210      @BasisObjectKey = @BasisObjectKey,211      @checkForExisting = 1212      SELECT @ElementIndex += 1213    END214    DECLARE @DBQueueElements_03 QBM_YDBQueueRaw215    INSERT INTO @DBQueueElements_03(object,216    subobject,217    genprocid)218    SELECT219      x.uid,220      NULL,221      x.GenProcID222    FROM(223    SELECT224      DISTINCT d.UID1 AS uid,225      d.UID3 AS GenProcID226    FROM @EntryAll d227    LEFT228    OUTER229    JOIN BaseTree b230      ON d.UID2 = b.uid_org231    WHERE232      isnull(b.uid_orgroot, '') <> 'CPL-V-NonCompliance' AND isnull(b.IsNoInheriteToPerson, 0) = 0) AS x233    EXEC QBM_PDBQueueInsert_Bulk 'QER-K-AllForOnePerson',234      @DBQueueElements_03235    DECLARE @DBQueueElements_04 QBM_YDBQueueRaw236    INSERT INTO @DBQueueElements_04(object,237    subobject,238    genprocid)239    SELECT240      x.uid,241      NULL,242      x.GenProcID243    FROM(244    SELECT245      DISTINCT d.UID1 AS uid,246      d.UID3 AS GenProcID247    FROM @EntryAll d) AS x248    EXEC QBM_PDBQueueInsert_Bulk 'QER-K-PersonHasObject',249      @DBQueueElements_04250    IF @IsCUNode = 1251    BEGIN252      DECLARE @DBQueueElements_05 QBM_YDBQueueRaw253      INSERT INTO @DBQueueElements_05(object,254      subobject,255      genprocid)256      SELECT257        x.uid,258        x.subobject,259        x.GenProcID260      FROM(261      SELECT262        DISTINCT pio.UID1 AS uid,263        o.uid_parentorg AS subobject,264        pio.UID3 AS GenProcID265      FROM @EntryAll pio266      JOIN BaseTree o267        ON pio.UID2 = o.uid_Org AND o.ITShopInfo = 'CU' AND o.uid_orgroot = 'QER-V-ITShopOrg' AND pio.Bit1 = 1) AS x268      EXEC QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackMemberDel',269        @DBQueueElements_05270    END271    DECLARE @ElementNacharbeit QBM_YCursorBuffer272    DECLARE @ObjectKeyOrg varchar(138)273    INSERT INTO @ElementNacharbeit(Ident1,274    UID3,275    ObjectKey1)276    SELECT277      DISTINCT dbo.QER_FGIOrgRootName(b.UID_OrgRoot),278      p.UID3,279      b.XObjectKey280    FROM @EntryAll p281    JOIN BaseTree b282      ON p.UID2 = b.UID_Org283    SELECT @ElementCount = @@ROWCOUNT284    SELECT @ElementIndex = @@IDENTITY - @ElementCount +1285    SELECT @ElementLast = @@IDENTITY286    WHILE @ElementIndex <= @ElementLast287    BEGIN288      SELECT289        TOP 1 @Ident_OrgRoot = bu.Ident1,290        @GenProcID = bu.UID3,291        @ObjectKeyOrg = bu.ObjectKey1292      FROM @ElementNacharbeit bu293      WHERE294        bu.ElementIndex = @ElementIndex295      DECLARE @RecalcParameter_01 QBM_YCursorBuffer296      INSERT INTO @RecalcParameter_01(UID1,297      ObjectKey1,298      Ident1)299      SELECT300        'QER-PWODecisionRule-OR',301        @ObjectKeyOrg,302        'I'303      EXEC QER_PITShopHelperFill_Recalc @RecalcParameter_01,304        @GenprocID305      IF @Ident_OrgRoot = 'AERole'306      BEGIN307        DECLARE @RecalcParameter_02 QBM_YCursorBuffer308        INSERT INTO @RecalcParameter_02(UID1,309        ObjectKey1,310        Ident1)311        SELECT312          'QER-PWODecisionRule-OA',313          @ObjectKeyOrg,314          'I'315        UNION316        SELECT317          'TSB-PWODecisionRule-TO',318          @ObjectKeyOrg,319          'I'320        UNION321        SELECT322          'AOB-PWODecisionRule-BA',323          @ObjectKeyOrg,324          'I'325        UNION326        SELECT327          'AOB-PWODecisionRule-BE',328          @ObjectKeyOrg,329          'I'330        UNION331        SELECT332          'ARS-ITShopRule-KA',333          @ObjectKeyOrg,334          'I'335        UNION336        SELECT337          'ARS-ITShopRule-PA',338          @ObjectKeyOrg,339          'I'340        UNION341        SELECT342          'PAG-PWODecisionRule-PG',343          @ObjectKeyOrg,344          'I'345        UNION346        SELECT347          'QER-PWODecisionRule-DI',348          @ObjectKeyOrg,349          'I'350        UNION351        SELECT352          'QER-PWODecisionRule-DR',353          @ObjectKeyOrg,354          'I'355        UNION356        SELECT357          'QER-PWODecisionRule-ID',358          @ObjectKeyOrg,359          'I'360        UNION361        SELECT362          'QER-PWODecisionRule-IL',363          @ObjectKeyOrg,364          'I'365        UNION366        SELECT367          'QER-PWODecisionRule-IP',368          @ObjectKeyOrg,369          'I'370        UNION371        SELECT372          'QER-PWODecisionRule-PI',373          @ObjectKeyOrg,374          'I'375        UNION376        SELECT377          'QER-PWODecisionRule-PR',378          @ObjectKeyOrg,379          'I'380        UNION381        SELECT382          'QER-PWODecisionRule-RD',383          @ObjectKeyOrg,384          'I'385        UNION386        SELECT387          'QER-PWODecisionRule-RL',388          @ObjectKeyOrg,389          'I'390        UNION391        SELECT392          'QER-PWODecisionRule-RP',393          @ObjectKeyOrg,394          'I'395        UNION396        SELECT397          'QER-PWODecisionRule-OX',398          @ObjectKeyOrg,399          'I'400        EXEC QER_PITShopHelperFill_Recalc @RecalcParameter_02,401          @GenprocID402      END403      IF @Ident_OrgRoot = 'Department'404      BEGIN405        DECLARE @RecalcParameter_03 QBM_YCursorBuffer406        INSERT INTO @RecalcParameter_03(UID1,407        ObjectKey1,408        Ident1)409        SELECT410          'QER-PWODecisionRule-DI',411          @ObjectKeyOrg,412          'I'413        UNION414        SELECT415          'QER-PWODecisionRule-DR',416          @ObjectKeyOrg,417          'I'418        UNION419        SELECT420          'QER-PWODecisionRule-ID',421          @ObjectKeyOrg,422          'I'423        EXEC QER_PITShopHelperFill_Recalc @RecalcParameter_03,424          @GenprocID425      END426      IF @Ident_OrgRoot = 'ProfitCenter'427      BEGIN428        DECLARE @RecalcParameter_04 QBM_YCursorBuffer429        INSERT INTO @RecalcParameter_04(UID1,430        ObjectKey1,431        Ident1)432        SELECT433          'QER-PWODecisionRule-IP',434          @ObjectKeyOrg,435          'I'436        UNION437        SELECT438          'QER-PWODecisionRule-PI',439          @ObjectKeyOrg,440          'I'441        UNION442        SELECT443          'QER-PWODecisionRule-PR',444          @ObjectKeyOrg,445          'I'446        EXEC QER_PITShopHelperFill_Recalc @RecalcParameter_04,447          @GenprocID448      END449      IF @Ident_OrgRoot = 'Locality'450      BEGIN451        DECLARE @RecalcParameter_05 QBM_YCursorBuffer452        INSERT INTO @RecalcParameter_05(UID1,453        ObjectKey1,454        Ident1)455        SELECT456          'QER-PWODecisionRule-IL',457          @ObjectKeyOrg,458          'I'459        EXEC QER_PITShopHelperFill_Recalc @RecalcParameter_05,460          @GenprocID461      END462      SELECT @ElementIndex += 1463    END464    IF @IsOrgNode = 1465    BEGIN466      IF EXISTS(467        SELECT TOP 1 1468        FROM @EntryAll p469        JOIN BaseTree b470          ON p.UID2 = b.UID_Org471        JOIN pwodecisionstep s472          ON b.XObjectKey = s.ObjectKeyOfAssignedOrg)473      BEGIN474        EXEC QBM_PDBQueueInsert_Single 'QER-K-ShoppingRackPWODecisionMaker',475        '',476        '',477          @GenprocID478      END479    END480    DECLARE @DBQueueElements_06 QBM_YDBQueueRaw481    INSERT INTO @DBQueueElements_06(object,482    subobject,483    genprocid)484    SELECT485      x.uid,486      x.subobject,487      x.GenProcID488    FROM(489    SELECT490      DISTINCT pio.UID1 AS uid,491      NULL AS subobject,492      pio.UID3 AS GenProcID493    FROM @EntryAll pio494    WHERE495      EXISTS(496    SELECT TOP 1 1497    FROM BaseTree o498    WHERE499      o.UID_AERoleManager = pio.UID2)) AS x500    SELECT @UID_TaskFollow = 'QER-K-HelperHeadOrg'501    EXEC QBM_PDBQueueInsert_Bulk @UID_TaskFollow,502      @DBQueueElements_06503  END TRY504  BEGIN CATCH505    EXEC QBM_PSessionErrorAdd DEFAULT506    RAISERROR('',507    18,508    1)509      WITH NOWAIT510  END CATCH511END
Open raw exported source
SQL ยท Raw68 lines
1     create   procedure QER_ZAllForPersonInBaseTree (@SlotNumber int) as begin  declare @IsCUNode bit declare @IsOrgNode bit select @IsCUNode = 20 select @IsOrgNode = 0 declare @uid_personwantsorg varchar(38) declare @SQLCmd nvarchar(2000) declare @BasisObjectKey varchar(138) declare @GenProcID 3varchar(38) declare @CfgUseGenProcID bit = dbo.QBM_FCVStringToBit(dbo.QBM_FGIConfigparmValue('Common\ProcessState\UseGenProcIDFromPWO')) declare @BitpatternDynInv4 int = dbo.QBM_FGIBitPatternXOrigin('|Dynamic|', 1) declare @UID_PWOStateFinalError varchar(38) declare @Parameter nvarchar(1000)  declare @Ident_OrgRoot5 nvarchar(64) declare @EntryAll QBM_YCursorBuffer      declare @ElementLast int declare @ElementCount int declare @ElementIndex int declare @XUser nvarchar6(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() declare @UID_TaskFollow varchar(38) BEGIN TRY  insert into @EntryAll (UID1  , UID2 7 , ObjectKey1 , Bit1 , UID3  , Int1  ) select cu.UID_Parameter, cu.UID_SubParameter, pio.XObjectKey, sign(len(isnull(pio.UID_Person, ''))) ^1, cu.GenProcID8 , isnull(pio.XOrigin, 0) from QBMDBQueueCurrent cu with (readpast) left outer join PersonInBaseTree pio on cu.UID_Parameter = pio.UID_Person and cu.UID_SubParameter9 = pio.UID_Org and pio.XOrigin > 0 where cu.SlotNumber = @SlotNumber update @EntryAll set ObjectKey1  = dbo.QBM_FCVElementToObjectKey2('PersonIn'+dbo.QER_FGIOrgRootName10(b.uid_orgroot), 'uid_person', d.UID1 , 'UID_' + dbo.QER_FGIOrgRootName(b.uid_orgroot) , b.uid_org) from @EntryAll d join BaseTree b on d.UID2  = b.UID_Org11 where d.Bit1  = 1   if exists (select top 1 1 from @EntryAll pio join BaseTree b on pio.UID2  = b.UID_Org join DynamicGroup dg on dg.ObjectKeyBaseTree12 = b.XObjectKey join QERDynamicGroupBlackList bl on bl.UID_DynamicGroup = dg.UID_DynamicGroup and bl.UID_Person = pio.UID1  ) begin update QERDynamicGroupBlackList13 set IsAssignedByOthers = case when pio.Bit1  = 1 then 0 when pio.Int1  & @BitpatternDynInv > 0 then 1 else bl.IsAssignedByOthers end  , XDateUpdated =14 @Xdate , XUserUpdated = @XUser from @EntryAll pio join BaseTree b on pio.UID2  = b.UID_Org join DynamicGroup dg on dg.ObjectKeyBaseTree = b.XObjectKey15 join QERDynamicGroupBlackList bl on bl.UID_DynamicGroup = dg.UID_DynamicGroup and bl.UID_Person = pio.UID1  end if exists (select top 1 1 from @EntryAll16 a where a.UID2  = 'QER-AEROLE-ITSHOP-INTERVENTION' ) begin select top 1 @GenProcID = a.UID3  from @EntryAll a where a.UID2  = 'QER-AEROLE-ITSHOP-INTERVENTION'17   exec QBM_PDBQueueInsert_Single 'QBM-K-Commonrecalculate', 'QER-K-ShoppingRackPWOHelperPWO', '', @GenprocID end declare @DBQueueElements_01 QBM_YDBQueueRaw18 insert into @DBQueueElements_01(Object, SubObject, GenProcID) select distinct h.UID_PersonWantsOrg, '', cu.UID3  from @EntryAll cu join QERWorkingStep19 s on s.UID_AERoleFallBack = cu.UID2  join PWOHelperPWO h on h.UID_QERWorkingStep = s.UID_QERWorkingStep if @@ROWCOUNT > 0 begin   exec QBM_PDBQueueInsert_Bulk20 'QER-K-ShoppingRackPWOHelperPWO-Cfg', @DBQueueElements_01 end        if exists (select top 1 1 from BaseTree b join @EntryAll i on b.uid_org = i.UID2 21 where b.uid_Orgroot = 'QER-V-ITShopOrg' and b.itShopInfo = 'CU' ) begin select @IsCUNode = 1 end      if exists (select top 1 1 from BaseTree b join @EntryAll22 i on b.uid_org = i.UID2  where (b.uid_orgroot like '____[^V]%' ) ) begin select @IsOrgNode = 1 end  declare @DBQueueElements_02 QBM_YDBQueueRaw insert23 into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, x.GenProcID from    ( select distinct d.UID1  as uid, d.UID3 as GenProcID 24from @EntryAll d join BaseTree b on d.UID2  = b.uid_org where b.uid_orgroot = 'QER-V-AERole' ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-PersonCheckDynUser'25, @DBQueueElements_02                  declare @ElementClosing QBM_YCursorBuffer insert into @ElementClosing (UID1, ObjectKey1, UID2) select pwo.uid_personwantsorg26, pwo.XObjectKey ,dbo.QER_FGIGenProcIDForPWO(pwo.GenProcID, x.UID3  , @CfgUseGenProcID) as GenProcID from @EntryAll x join Delegation d on d.ObjectKeyDelegated27 = x.ObjectKey1  and x.Bit1  = 1  join personwantsorg pwo on d.uid_personwantsorg = pwo.uid_personwantsorg      where pwo.OrderState in ('Assigned', 'Granted'28, 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount29 +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @uid_personwantsorg = bu.UID1 , @BasisObjectKey = bu.ObjectKey130 , @GenProcID = bu.UID2 from @ElementClosing bu where bu.ElementIndex = @ElementIndex select @SQLcmd = N'uid_personwantsorg = ''' + rtrim(@uid_personwantsorg31) + N'''' select @UID_PWOStateFinalError = dbo.QER_FGIPWOStateFinalError(@UID_PersonWantsOrg) exec QBM_PJobCreate_HOCallMethod @objecttype = 'personwantsorg'32 , @whereclause = @SQLcmd , @save = 1 , @MethodName = 'Abort' , @GenProcID = @GenprocID  , @ObjectKeysAffected = DEFAULT , @param1 = '#LDS#Closing delegation because its source was was deleted.|'33 , @Param2 = @UID_PWOStateFinalError , @Retries = 3 , @isToFreezeOnError = 1  , @WhereClauseAdditional = ' OrderState in (''Assigned'', ''Granted'', ''New'', ''OrderProduct'', ''OrderProlongate'', ''OrderUnsubscribe'', ''Waiting'')'34  , @BasisObjectKey = @BasisObjectKey , @checkForExisting = 1 select @ElementIndex += 1 end  declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_0335 (object, subobject, genprocid) select x.uid, null, x.GenProcID  from     ( select distinct d.UID1  as uid, d.UID3 as GenProcID from @EntryAll d left outer36 join BaseTree b on d.UID2  = b.uid_org where isnull(b.uid_orgroot, '') <> 'CPL-V-NonCompliance'  and isnull(b.IsNoInheriteToPerson, 0) = 0  ) as x exec37 QBM_PDBQueueInsert_Bulk 'QER-K-AllForOnePerson', @DBQueueElements_03   declare @DBQueueElements_04 QBM_YDBQueueRaw insert into @DBQueueElements_04 (object38, subobject, genprocid) select x.uid, null, x.GenProcID from ( select distinct d.UID1  as uid, d.UID3 as GenProcID from @EntryAll d ) as x exec QBM_PDBQueueInsert_Bulk39 'QER-K-PersonHasObject', @DBQueueElements_04  if @IsCUNode = 1 begin  declare @DBQueueElements_05 QBM_YDBQueueRaw insert into @DBQueueElements_05 (object40, subobject, genprocid) select x.uid, x.subobject, x.GenProcID       from ( select distinct pio.UID1  as uid, o.uid_parentorg as subobject, pio.UID3 as41 GenProcID from @EntryAll pio join BaseTree o on pio.UID2  = o.uid_Org and o.ITShopInfo = 'CU' and o.uid_orgroot = 'QER-V-ITShopOrg' and pio.Bit1  = 1 42 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-ShoppingRackMemberDel', @DBQueueElements_05  end    declare @ElementNacharbeit QBM_YCursorBuffer declare @ObjectKeyOrg43 varchar(138)  insert into @ElementNacharbeit (Ident1, UID3, ObjectKey1)  select distinct dbo.QER_FGIOrgRootName(b.UID_OrgRoot), p.UID3 , b.XObjectKey 44  from @EntryAll p join BaseTree b on p.UID2  = b.UID_Org select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select45 @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @Ident_OrgRoot = bu.Ident1 , @GenProcID = bu.UID3  , @ObjectKeyOrg = 46bu.ObjectKey1 from @ElementNacharbeit bu where bu.ElementIndex = @ElementIndex  declare @RecalcParameter_01 QBM_YCursorBuffer insert into @RecalcParameter_0147 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OR', @ObjectKeyOrg, 'I' exec QER_PITShopHelperFill_Recalc @RecalcParameter_01, @GenprocID  if @Ident_OrgRoot48 = 'AERole' begin  declare @RecalcParameter_02 QBM_YCursorBuffer  insert into @RecalcParameter_02 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-OA'49, @ObjectKeyOrg, 'I' union select 'TSB-PWODecisionRule-TO', @ObjectKeyOrg, 'I' union select 'AOB-PWODecisionRule-BA', @ObjectKeyOrg, 'I' union select 'AOB-PWODecisionRule-BE'50, @ObjectKeyOrg, 'I' union select 'ARS-ITShopRule-KA', @ObjectKeyOrg, 'I' union select 'ARS-ITShopRule-PA', @ObjectKeyOrg, 'I' union select 'PAG-PWODecisionRule-PG'51, @ObjectKeyOrg, 'I'  union select 'QER-PWODecisionRule-DI', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-DR', @ObjectKeyOrg, 'I' union select 52'QER-PWODecisionRule-ID', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-IL', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-IP', @ObjectKeyOrg53, 'I' union select 'QER-PWODecisionRule-PI', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-PR', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-RD'54, @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-RL', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-RP', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-OX'55, @ObjectKeyOrg, 'I' exec QER_PITShopHelperFill_Recalc @RecalcParameter_02, @GenprocID  end if @Ident_OrgRoot = 'Department' begin  declare @RecalcParameter_0356 QBM_YCursorBuffer insert into @RecalcParameter_03 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-DI', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-DR'57, @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-ID', @ObjectKeyOrg, 'I' exec QER_PITShopHelperFill_Recalc @RecalcParameter_03, @GenprocID  end if58 @Ident_OrgRoot = 'ProfitCenter' begin  declare @RecalcParameter_04 QBM_YCursorBuffer insert into @RecalcParameter_04 (UID1, ObjectKey1, Ident1) select59 'QER-PWODecisionRule-IP', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-PI', @ObjectKeyOrg, 'I' union select 'QER-PWODecisionRule-PR', @ObjectKeyOrg60, 'I' exec QER_PITShopHelperFill_Recalc @RecalcParameter_04, @GenprocID  end if @Ident_OrgRoot = 'Locality' begin  declare @RecalcParameter_05 QBM_YCursorBuffer61 insert into @RecalcParameter_05 (UID1, ObjectKey1, Ident1) select 'QER-PWODecisionRule-IL', @ObjectKeyOrg, 'I' exec QER_PITShopHelperFill_Recalc @RecalcParameter_0562, @GenprocID  end select @ElementIndex += 1 end     if @IsOrgNode = 1 begin     if exists (select top 1 1    from @EntryAll p join BaseTree b on p.UID263  = b.UID_Org  join pwodecisionstep s on b.XObjectKey = s.ObjectKeyOfAssignedOrg ) begin exec QBM_PDBQueueInsert_Single 'QER-K-ShoppingRackPWODecisionMaker'64, '', '', @GenprocID end  end   declare @DBQueueElements_06 QBM_YDBQueueRaw insert into @DBQueueElements_06 (object, subobject, genprocid) select x.uid65, x.subobject, x.GenProcID from ( select distinct pio.UID1  as uid, null as subobject, pio.UID3 as GenProcID from @EntryAll pio  where exists (select top66 1 1 from BaseTree o where o.UID_AERoleManager = pio.UID2 ) ) as x  select @UID_TaskFollow = 'QER-K-HelperHeadOrg' exec QBM_PDBQueueInsert_Bulk @UID_TaskFollow67, @DBQueueElements_06 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end 68