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