USP_RELATIONSHIP_DELETE_CLEANUPPARENTCORP

Cleans up parent corporation data when deleting a relationship.

Parameters

Parameter Parameter Type Mode Description
@POSSIBLEPARENTCORPID uniqueidentifier IN
@POSSIBLESUBSIDIARYCORPID uniqueidentifier IN
@CURRENTDATE datetime IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_RELATIONSHIP_DELETE_CLEANUPPARENTCORP
            (
                @POSSIBLEPARENTCORPID uniqueidentifier,
                @POSSIBLESUBSIDIARYCORPID uniqueidentifier,
                @CURRENTDATE datetime = null,
                @CHANGEAGENTID uniqueidentifier = null
            )
            as
            begin
                if @CURRENTDATE is null
                    set @CURRENTDATE = getdate();

                if @CHANGEAGENTID is null
                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                --When deleting a relationship, check if the other end of the relationship is the PARENTCORP and update accordingly.

                declare @PARENTCORPID uniqueidentifier;
                select @PARENTCORPID = PARENTCORPID from dbo.ORGANIZATIONDATA where ID = @POSSIBLESUBSIDIARYCORPID;

                if     @POSSIBLEPARENTCORPID = @PARENTCORPID
                begin
                    update dbo.ORGANIZATIONDATA set PARENTCORPID = null
                    where ID = @POSSIBLESUBSIDIARYCORPID;

                    --Using this function to set end dates on all invalid intermediate parent relationships based on the Parent Corporation change

                    exec dbo.USP_RELATIONSHIPS_CREATEPARENTORGRELATIONSHIP @POSSIBLESUBSIDIARYCORPID, null, @CURRENTDATE, @CHANGEAGENTID, @CURRENTDATE, 0, @POSSIBLEPARENTCORPID, @CURRENTDATE;
                end
            end