USP_RECORDOPERATION_SPONSORSHIPLOCATIONMARKACTIVE

Executes the "Sponsorship Location: Mark Active" record operation.

Parameters

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

Definition

Copy


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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

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

    declare @HIERARCHYPATH hierarchyid

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

    -- Mark the locations as active. Clear Reason

    update dbo.SPONSORSHIPLOCATION
    set STATUSCODE = 0,
        CHANGEDBYID = @CHANGEAGENTID,
        DATECHANGED = @CURRENTDATE,
    SPONSORSHIPREASONID = null
    where ID=@ID
    or HIERARCHYPATH.IsDescendantOf(@HIERARCHYPATH) = 1;

    -- Reset the availability on all the opportunities in the location.

    update SPONSORSHIPOPPORTUNITY
    set AVAILABILITYCODE = dbo.UFN_SPONSORSHIPOPPORTUNITY_CALCAVAILABILITY(SPONSORSHIPOPPORTUNITY.ID),
        CHANGEDBYID = @CHANGEAGENTID,
        DATECHANGED = @CURRENTDATE
    from dbo.SPONSORSHIPOPPORTUNITY
    inner join dbo.SPONSORSHIPLOCATION on SPONSORSHIPLOCATION.ID = SPONSORSHIPOPPORTUNITY.SPONSORSHIPLOCATIONID
    where SPONSORSHIPLOCATION.HIERARCHYPATH.IsDescendantOf(@HIERARCHYPATH) = 1

    return 0;
end