Back to OIM Explorer

dbo.QER_PBasetreeHasObjectPostProc

Stored ProcedureSQL_STORED_PROCEDURESandbox DB

Stored Procedure.

Source: sandbox-db sys.sql_modules

Source size: 2.872 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_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

Complete Source

SQL126 lines
1CREATE PROCEDURE QER_PBasetreeHasObjectPostProc(2  @CountDeltaOrigin int,3  @CountDeltaQantity int4)5AS6BEGIN7  DECLARE @ElementCount int8  DECLARE @ElementIndex int9  DECLARE @ElementLast int10  DECLARE @GenProcID varchar(38)11  DECLARE @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('')12  SET XACT_ABORT OFF13  BEGIN TRY14    IF @CountDeltaOrigin > 015    BEGIN16      DECLARE @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer17      INSERT INTO @GenProcIDs_CountDeltaOrigin(UID1)18      SELECT19        DISTINCT de.GenProcID20      FROM #QBMDeltaOrigin de21      SELECT @ElementCount = @@ROWCOUNT22      SELECT @ElementIndex = @@IDENTITY - @ElementCount +123      SELECT @ElementLast = @@IDENTITY24      WHILE @ElementIndex <= @ElementLast25      BEGIN26        SELECT TOP 1 @GenProcID = bu.UID127        FROM @GenProcIDs_CountDeltaOrigin bu28        WHERE29          bu.ElementIndex = @ElementIndex30        EXEC QBM_PSessionContextSet 'GenProcID',31          @GenProcID32        UPDATE BaseTreeHasObject33        SET InheritInfo = di.XOrigin34        FROM BaseTreeHasObject bho35        JOIN #QBMDeltaOrigin di36          ON bho.uid_Org = di.Element AND bho.Objectkey = di.AssignedElement37        WHERE38          di.GenProcID = @GenProcID39        SELECT @ElementIndex += 140      END41    END42    IF @CountDeltaQantity > 043    BEGIN44      UPDATE #QBMDeltaInsert45      SET NewPK = dbo.QBM_FCVStringToGUIDMAll(NULL,46      Element,47      AssignedElement)48      DECLARE @GenProcIDs_CountDeltaQuantity QBM_YCursorBuffer49      INSERT INTO @GenProcIDs_CountDeltaQuantity(UID1)50      SELECT de.GenProcID51      FROM #QBMDeltaDelete de52      UNION53      SELECT de.GenProcID54      FROM #QBMDeltaInsert de55      SELECT @ElementCount = @@ROWCOUNT56      SELECT @ElementIndex = @@IDENTITY - @ElementCount +157      SELECT @ElementLast = @@IDENTITY58      WHILE @ElementIndex <= @ElementLast59      BEGIN60        SELECT TOP 1 @GenProcID = bu.UID161        FROM @GenProcIDs_CountDeltaQuantity bu62        WHERE63          bu.ElementIndex = @ElementIndex64        IF EXISTS(65          SELECT TOP 1 166          FROM #QBMDeltaDelete x67          WHERE68            x.GenProcID = @GenProcID)69        BEGIN70          EXEC QBM_PSessionContextSet 'GenProcID',71            @GenProcID72          DELETE73          FROM BaseTreeHasObject74          WHERE75            EXISTS(76          SELECT TOP 1 177          FROM #QBMDeltaDelete78          WHERE79            Element = BaseTreeHasObject.uid_Org AND AssignedElement = BaseTreeHasObject.ObjectKey AND GenProcID = @GenProcID)80        END81        IF EXISTS(82          SELECT TOP 1 183          FROM #QBMDeltaInsert x84          WHERE85            x.GenProcID = @GenProcID)86        BEGIN87          EXEC QBM_PSessionContextSet 'GenProcID',88            @GenProcID89          INSERT INTO BaseTreeHasObject(UID_BaseTreeHasObject,90          UID_Org,91          ObjectKey,92          XObjectKey,93          InheritInfo)94          SELECT95            di.NewPK,96            di.Element,97            di.AssignedElement,98            dbo.QBM_FCVElementToObjectKey1('BaseTreeHasObject',99            'UID_BaseTreeHasObject',100            di.NewPK),101            XOrigin102          FROM #QBMDeltaInsert di103          WHERE104            di.GenProcID = @GenProcID AND NOT EXISTS(105          SELECT TOP 1 1106          FROM BasetreeHasObject107          WHERE108            UID_BaseTreeHasObject = di.NewPK)109        END110        SELECT @ElementIndex += 1111      END112    END113  END TRY114  BEGIN CATCH115    EXEC QBM_PSessionErrorAdd DEFAULT116    DECLARE @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()117    RAISERROR(@Rethrow,118    18,119    1)120      WITH NOWAIT121  END CATCH122  ende:123  EXEC QBM_PSessionContextSet 'GenProcID',124    @GenProcID_R125  RETURN126END
Open raw exported source
SQL ยท Raw20 lines
1   create   procedure QER_PBasetreeHasObjectPostProc ( @CountDeltaOrigin int , @CountDeltaQantity int ) as begin declare @ElementCount int declare2 @ElementIndex int declare @ElementLast int declare @GenProcID varchar(38) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') SET XACT_ABORT3 OFF BEGIN TRY if @CountDeltaOrigin > 0 begin declare @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaOrigin (UID1) select4 distinct de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast5 = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaOrigin bu where bu.ElementIndex = 6@ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcID update BaseTreeHasObject set InheritInfo = di.XOrigin from BaseTreeHasObject bho join7 #QBMDeltaOrigin di on bho.uid_Org = di.Element and bho.Objectkey = di.AssignedElement where di.GenProcID = @GenProcID select @ElementIndex += 1 end  end8  if @CountDeltaQantity > 0 begin  update #QBMDeltaInsert  set NewPK = dbo.QBM_FCVStringToGUIDMAll(null, Element, AssignedElement)  declare @GenProcIDs_CountDeltaQuantity9 QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaQuantity (UID1) select de.GenProcID from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert10 de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast11 begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQuantity bu where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete12 x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID delete from BaseTreeHasObject where exists (select top 1 131 from #QBMDeltaDelete where Element = BaseTreeHasObject.uid_Org and AssignedElement = BaseTreeHasObject.ObjectKey and GenProcID = @GenProcID ) end  if14 exists (select top 1 1 from #QBMDeltaInsert x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID  insert into 15BaseTreeHasObject (UID_BaseTreeHasObject, UID_Org ,ObjectKey , XObjectKey, InheritInfo) select di.NewPK, di.Element, di.AssignedElement, dbo.QBM_FCVElementToObjectKey116('BaseTreeHasObject', 'UID_BaseTreeHasObject', di.NewPK), XOrigin from #QBMDeltaInsert di where di.GenProcID = @GenProcID  and not exists (select top 117 1 from BasetreeHasObject where UID_BaseTreeHasObject = di.NewPK) end  select @ElementIndex += 1 end  end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd18 default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: exec QBM_PSessionContextSet19 'GenProcID', @GenProcID_R return end 20