USP_SPONSORSHIPLOCATION_DELETE

Executes the "Sponsorship Location: Delete" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being deleted.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the delete.

Definition

Copy


CREATE procedure dbo.USP_SPONSORSHIPLOCATION_DELETE
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier
)
as begin
    set nocount on;

    declare @e int;
    declare @contextCache varbinary(128);

    /* cache current context information */
    set @contextCache = CONTEXT_INFO();

    /* set CONTEXT_INFO to @CHANGEAGENTID */
    if not @CHANGEAGENTID is null
        set CONTEXT_INFO @CHANGEAGENTID

   /* Delete parameter set from sponsorship location process (used for the location closed)*/

  delete from
    dbo.SPONSORSHIPLOCATIONCLOSEPROCESS
  where ID=@ID;    

    declare @DELETINGHIERARCHYPATH hierarchyid

    select @DELETINGHIERARCHYPATH = HIERARCHYPATH
    from dbo.SPONSORSHIPLOCATION
    where ID = @ID

    delete from
        dbo.SPONSORSHIPLOCATION
    where ID=@ID
    or HIERARCHYPATH.IsDescendantOf(@DELETINGHIERARCHYPATH) = 1;   

    /* reset CONTEXT_INFO to previous value */
    if not @contextCache is null
        set CONTEXT_INFO @contextCache

    select @e=@@error;

    if @e<>0 return -456; --always return non-zero sp result if an error occurs


    return 0;
end