Back to OIM Explorer

dbo.QER_PBasetreeOwnsObjectPost_L

Stored ProcedureSQL_STORED_PROCEDURESandbox DB

Stored Procedure.

Source: sandbox-db sys.sql_modules

Source size: 3.707 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.QBM_FCVElementToObjectKey1 source text reference
  • references source dbo.QBM_FCVObjectkeyToElement source text reference
  • references source dbo.QBM_FCVStringToGUID source text reference
  • references source dbo.QBM_FCVStringToGUIDMAll source text reference
  • references source dbo.QBM_FGISessionContext source text reference
  • references source dbo.QBM_FGISessionErrorRethrow source text reference
  • references source dbo.QBM_PSessionContextSet source text reference
  • references source dbo.QBM_PSessionErrorAdd source text reference
  • references source dbo.QER_PBasetreeOwnsObjectPost source text reference

Complete Source

SQL155 lines
1CREATE PROCEDURE QER_PBasetreeOwnsObjectPost_L(2  @CountDeltaOrigin int,3  @CountDeltaQantity int,4  @DBQueueCurrent QBM_YDBQueueCurrent READONLY5)6AS7BEGIN8  DECLARE @ElementCount int9  DECLARE @ElementIndex int10  DECLARE @ElementLast int11  DECLARE @GenProcID varchar(38)12  DECLARE @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('')13  DECLARE @GenProcIDErsatz varchar(38)14  SET XACT_ABORT OFF15  BEGIN TRY16    SELECT @GenProcIDErsatz = newid()17    IF @CountDeltaOrigin > 018    BEGIN19      UPDATE #QBMDeltaOrigin20      SET GenProcID = c.GenProcID21      FROM #QBMDeltaOrigin d22      JOIN @DBQueueCurrent c23        ON dbo.QBM_FCVObjectkeyToElement('ColumnValue1',24      d.AssignedElement) = c.UID_Parameter25      UPDATE #QBMDeltaOrigin26      SET GenProcID = @GenProcIDErsatz27      WHERE28        GenProcID IS NULL29      DECLARE @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer30      INSERT INTO @GenProcIDs_CountDeltaOrigin(UID1)31      SELECT32        DISTINCT de.GenProcID33      FROM #QBMDeltaOrigin de34      SELECT @ElementCount = @@ROWCOUNT35      SELECT @ElementIndex = @@IDENTITY - @ElementCount +136      SELECT @ElementLast = @@IDENTITY37      WHILE @ElementIndex <= @ElementLast38      BEGIN39        SELECT TOP 1 @GenProcID = bu.UID140        FROM @GenProcIDs_CountDeltaOrigin bu41        WHERE42          bu.ElementIndex = @ElementIndex43        EXEC QBM_PSessionContextSet 'GenProcID',44          @GenProcID45        UPDATE BaseTreeOwnsObject46        SET OwnershipInfo = di.XOrigin47        FROM BaseTreeOwnsObject bho48        JOIN #QBMDeltaOrigin di49          ON bho.uid_Org = di.Element AND bho.Objectkey = di.AssignedElement50        WHERE51          di.GenProcID = @GenProcID52        SELECT @ElementIndex += 153      END54    END55    IF @CountDeltaQantity > 056    BEGIN57      UPDATE #QBMDeltaInsert58      SET NewPK = dbo.QBM_FCVStringToGUIDMAll(NULL,59      Element,60      AssignedElement)61      UPDATE #QBMDeltaInsert62      SET GenProcID = c.GenProcID63      FROM #QBMDeltaInsert d64      JOIN @DBQueueCurrent c65        ON dbo.QBM_FCVObjectkeyToElement('ColumnValue1',66      d.AssignedElement) = c.UID_Parameter67      UPDATE #QBMDeltaDelete68      SET GenProcID = c.GenProcID69      FROM #QBMDeltaDelete d70      JOIN @DBQueueCurrent c71        ON dbo.QBM_FCVObjectkeyToElement('ColumnValue1',72      d.AssignedElement) = c.UID_Parameter73      UPDATE #QBMDeltaInsert74      SET GenProcID = @GenProcIDErsatz75      WHERE76        GenProcID IS NULL77      UPDATE #QBMDeltaDelete78      SET GenProcID = @GenProcIDErsatz79      WHERE80        GenProcID IS NULL81      DECLARE @GenProcIDs_CountDeltaQunatity QBM_YCursorBuffer82      INSERT INTO @GenProcIDs_CountDeltaQunatity(UID1)83      SELECT de.GenProcID84      FROM #QBMDeltaDelete de85      UNION86      SELECT de.GenProcID87      FROM #QBMDeltaInsert de88      SELECT @ElementCount = @@ROWCOUNT89      SELECT @ElementIndex = @@IDENTITY - @ElementCount +190      SELECT @ElementLast = @@IDENTITY91      WHILE @ElementIndex <= @ElementLast92      BEGIN93        SELECT TOP 1 @GenProcID = bu.UID194        FROM @GenProcIDs_CountDeltaQunatity bu95        WHERE96          bu.ElementIndex = @ElementIndex97        IF EXISTS(98          SELECT TOP 1 199          FROM #QBMDeltaDelete x100          WHERE101            x.GenProcID = @GenProcID)102        BEGIN103          EXEC QBM_PSessionContextSet 'GenProcID',104            @GenProcID105          DELETE106          FROM BaseTreeOwnsObject107          WHERE108            EXISTS(109          SELECT TOP 1 1110          FROM #QBMDeltaDelete111          WHERE112            Element = BaseTreeOwnsObject.uid_Org AND AssignedElement = BaseTreeOwnsObject.ObjectKey AND GenProcID = @GenProcID)113        END114        IF EXISTS(115          SELECT TOP 1 1116          FROM #QBMDeltaInsert x117          WHERE118            x.GenProcID = @GenProcID)119        BEGIN120          EXEC QBM_PSessionContextSet 'GenProcID',121            @GenProcID122          INSERT INTO BaseTreeOwnsObject(UID_BaseTreeOwnsObject,123          UID_Org,124          ObjectKey,125          XObjectKey,126          OwnerShipInfo)127          SELECT128            di.NewPK,129            di.Element,130            di.AssignedElement,131            dbo.QBM_FCVElementToObjectKey1('BaseTreeOwnsObject',132            'UID_BaseTreeOwnsObject',133            di.NewPK),134            XOrigin135          FROM #QBMDeltaInsert di136          WHERE137            di.GenProcID = @GenProcID138        END139        SELECT @ElementIndex += 1140      END141    END142  END TRY143  BEGIN CATCH144    EXEC QBM_PSessionErrorAdd DEFAULT145    DECLARE @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()146    RAISERROR(@Rethrow,147    18,148    1)149      WITH NOWAIT150  END CATCH151  ende:152  EXEC QBM_PSessionContextSet 'GenProcID',153    @GenProcID_R154  RETURN155END
Open raw exported source
SQL ยท Raw25 lines
1  create   procedure QER_PBasetreeOwnsObjectPost_L ( @CountDeltaOrigin int , @CountDeltaQantity int , @DBQueueCurrent QBM_YDBQueueCurrent readonly2 ) as begin declare @ElementCount int declare @ElementIndex int declare @ElementLast int declare @GenProcID varchar(38) declare @GenProcID_R varchar(383) = dbo.QBM_FGISessionContext('') declare @GenProcIDErsatz varchar(38) SET XACT_ABORT OFF BEGIN TRY select @GenProcIDErsatz = newid() if @CountDeltaOrigin4 > 0 begin  update #QBMDeltaOrigin set GenProcID = c.GenProcID from #QBMDeltaOrigin d join @DBQueueCurrent c on dbo.QBM_FCVObjectkeyToElement('ColumnValue1'5, d.AssignedElement) = c.UID_Parameter  update #QBMDeltaOrigin set GenProcID = @GenProcIDErsatz where GenProcID is null declare @GenProcIDs_CountDeltaOrigin6 QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaOrigin (UID1) select distinct de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT7 select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID8 = bu.UID1 from @GenProcIDs_CountDeltaOrigin bu where bu.ElementIndex = @ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcID update BaseTreeOwnsObject9 set OwnershipInfo = di.XOrigin from BaseTreeOwnsObject bho join #QBMDeltaOrigin di on bho.uid_Org = di.Element and bho.Objectkey = di.AssignedElement 10where di.GenProcID = @GenProcID select @ElementIndex += 1 end  end  if @CountDeltaQantity > 0 begin update #QBMDeltaInsert set NewPK = dbo.QBM_FCVStringToGUIDMAll11(null, Element, AssignedElement)   update #QBMDeltaInsert set GenProcID = c.GenProcID from #QBMDeltaInsert d join @DBQueueCurrent c on dbo.QBM_FCVObjectkeyToElement12('ColumnValue1', d.AssignedElement) = c.UID_Parameter update #QBMDeltaDelete set GenProcID = c.GenProcID from #QBMDeltaDelete d join @DBQueueCurrent c 13on dbo.QBM_FCVObjectkeyToElement('ColumnValue1', d.AssignedElement) = c.UID_Parameter  update #QBMDeltaInsert set GenProcID = @GenProcIDErsatz where GenProcID14 is null update #QBMDeltaDelete set GenProcID = @GenProcIDErsatz where GenProcID is null declare @GenProcIDs_CountDeltaQunatity QBM_YCursorBuffer insert15 into @GenProcIDs_CountDeltaQunatity (UID1) select de.GenProcID from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert de select @ElementCount16 = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top17 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQunatity bu where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete x where18 x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID delete from BaseTreeOwnsObject where exists (select top 1 1 from 19#QBMDeltaDelete where Element = BaseTreeOwnsObject.uid_Org and AssignedElement = BaseTreeOwnsObject.ObjectKey and GenProcID = @GenProcID ) end  if exists20 (select top 1 1 from #QBMDeltaInsert x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID  insert into BaseTreeOwnsObject21 (UID_BaseTreeOwnsObject, UID_Org ,ObjectKey , XObjectKey, OwnerShipInfo) select di.NewPK, di.Element, di.AssignedElement, dbo.QBM_FCVElementToObjectKey122('BaseTreeOwnsObject', 'UID_BaseTreeOwnsObject', di.NewPK), XOrigin from #QBMDeltaInsert di where di.GenProcID = @GenProcID end  select @ElementIndex +=23 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow24, 18, 1) WITH NOWAIT END CATCH ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end 25