USP_DATAFORMTEMPLATE_EDIT_MARKSPONSORSHIPLOCATIONCLOSED

The save procedure used by the edit dataform template "Close Sponsorship Location Preprocess Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@SPONSORSHIPREASONID uniqueidentifier IN Reason
@PROGRAMMAPPINGS xml IN Transfer settings
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@CREATEOUTPUTIDSET bit IN Create selection of
@OUTPUTIDSETTYPECODE tinyint IN
@OUTPUTIDSETNAME nvarchar(100) IN Selection name
@OVERWRITEOUTPUTIDSET bit IN Overwrite existing selection
@COMMENT nvarchar(255) IN Comments

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_MARKSPONSORSHIPLOCATIONCLOSED
(
    @ID uniqueidentifier,
    @SPONSORSHIPREASONID uniqueidentifier,
    @PROGRAMMAPPINGS xml,
    @CHANGEAGENTID uniqueidentifier,
    @CREATEOUTPUTIDSET bit,
    @OUTPUTIDSETTYPECODE tinyint
    @OUTPUTIDSETNAME nvarchar(100), 
    @OVERWRITEOUTPUTIDSET bit    ,
    @COMMENT nvarchar(255)

as 
begin
    set nocount on;

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

    declare @CURRENTDATE datetime;
    set @CURRENTDATE = getdate();

    begin try
        if exists(select 'x' from dbo.SPONSORSHIPLOCATIONCLOSEPROCESS where ID = @ID)
            update dbo.SPONSORSHIPLOCATIONCLOSEPROCESS
            set CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE,
                SPONSORSHIPREASONID = @SPONSORSHIPREASONID,
                COMMENT = @COMMENT,
                PROGRAMMAPPINGS = @PROGRAMMAPPINGS,
                CREATEOUTPUTIDSET = @CREATEOUTPUTIDSET,
                OUTPUTIDSETTYPECODE = @OUTPUTIDSETTYPECODE,
                OUTPUTIDSETNAME = @OUTPUTIDSETNAME
                OVERWRITEOUTPUTIDSET = @OVERWRITEOUTPUTIDSET      
            where ID = @ID
        else
            insert into dbo.SPONSORSHIPLOCATIONCLOSEPROCESS (
                ID,
                NAME,
                SPONSORSHIPREASONID,
                COMMENT,
                PROGRAMMAPPINGS,
                ADDEDBYID,
                CHANGEDBYID,
                DATEADDED,
                DATECHANGED,
        CREATEOUTPUTIDSET,
          OUTPUTIDSETTYPECODE, 
          OUTPUTIDSETNAME, 
          OVERWRITEOUTPUTIDSET
            ) values (
                @ID,
        -- if the location name is greater than max. field size (515) change it to a shorter unique name

                case when len(dbo.UFN_SPONSORSHIPLOCATION_GETFULLNAME(@ID)) <= 515 then dbo.UFN_SPONSORSHIPLOCATION_GETFULLNAME(@ID) else dbo.UFN_SPONSORSHIPLOCATION_GETNAME(@ID) + ' - ' + convert(nvarchar(36), @ID) end,
                @SPONSORSHIPREASONID,
                @COMMENT,
                @PROGRAMMAPPINGS,
                @CHANGEAGENTID,
                @CHANGEAGENTID,
                @CURRENTDATE,
                @CURRENTDATE,
        @CREATEOUTPUTIDSET,
          @OUTPUTIDSETTYPECODE
          @OUTPUTIDSETNAME
          @OVERWRITEOUTPUTIDSET        
            )
    end try
    begin catch
        exec dbo.USP_RAISE_ERROR;
        return 1;
    end catch

    return 0;                        
end