USP_DATAFORMTEMPLATE_EDIT_COMMUNICATIONEXCLUSIONS

The save procedure used by the edit dataform template "Communication Exclusions Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@EXCLUDEBASEDONRECENTCOMMUNICATION bit IN Exclude constituents included in communications within the past:
@NUMRECENTCOMMUNICATIONPERIODS int IN Number of recent communication periods
@RECENTCOMMUNICATIONPERIODTYPECODE tinyint IN
@EXCLUDEBASEDONTOTALCOMMUNICATIONSINPASTYEAR bit IN Exclude constituents included in at least the following number of communications in the past year:
@NUMTOTALCOMMUNICATIONSINPASTYEAR int IN Number of communications
@EXCLUDEBASEDONRECENTGIVING bit IN Exclude constituents with revenue in the past:
@NUMRECENTGIVINGPERIODS int IN Number of recent revenue periods
@RECENTGIVINGPERIODTYPECODE tinyint IN
@EXCLUDEBASEDONTOTALGIVINGINPASTYEAR bit IN Exclude constituents with at least the following total revenue amount in the past year:
@TOTALREVENUEAMOUNTINPASTYEAR money IN Total revenue amount
@COMMUNICATIONTYPES xml IN Communication types

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_COMMUNICATIONEXCLUSIONS (
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,    
    @EXCLUDEBASEDONRECENTCOMMUNICATION bit,
    @NUMRECENTCOMMUNICATIONPERIODS int,
    @RECENTCOMMUNICATIONPERIODTYPECODE tinyint,
    @EXCLUDEBASEDONTOTALCOMMUNICATIONSINPASTYEAR bit,
    @NUMTOTALCOMMUNICATIONSINPASTYEAR int,
    @EXCLUDEBASEDONRECENTGIVING bit,
    @NUMRECENTGIVINGPERIODS int,
    @RECENTGIVINGPERIODTYPECODE tinyint,
    @EXCLUDEBASEDONTOTALGIVINGINPASTYEAR bit,
    @TOTALREVENUEAMOUNTINPASTYEAR money,
    @COMMUNICATIONTYPES xml
)
as
    set nocount on;

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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

    begin try
        update dbo.COMMUNICATIONEXCLUSIONS set    
            EXCLUDEBASEDONRECENTCOMMUNICATION = @EXCLUDEBASEDONRECENTCOMMUNICATION,
            NUMRECENTCOMMUNICATIONPERIODS = @NUMRECENTCOMMUNICATIONPERIODS,
            RECENTCOMMUNICATIONPERIODTYPECODE = @RECENTCOMMUNICATIONPERIODTYPECODE,
            EXCLUDEBASEDONTOTALCOMMUNICATIONSINPASTYEAR = @EXCLUDEBASEDONTOTALCOMMUNICATIONSINPASTYEAR,
            NUMTOTALCOMMUNICATIONSINPASTYEAR = @NUMTOTALCOMMUNICATIONSINPASTYEAR,
            EXCLUDEBASEDONRECENTGIVING = @EXCLUDEBASEDONRECENTGIVING,
            NUMRECENTGIVINGPERIODS = @NUMRECENTGIVINGPERIODS,
            RECENTGIVINGPERIODTYPECODE = @RECENTGIVINGPERIODTYPECODE,
            EXCLUDEBASEDONTOTALGIVINGINPASTYEAR = @EXCLUDEBASEDONTOTALGIVINGINPASTYEAR,
            TOTALREVENUEAMOUNTINPASTYEAR = @TOTALREVENUEAMOUNTINPASTYEAR,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where ID = @ID;

        exec dbo.USP_COMMUNICATIONEXCLUSION_GETCOMMUNICATIONTYPES_UPDATEFROMXML
            @ID,
            @COMMUNICATIONTYPES,
            @CHANGEAGENTID,
            @CURRENTDATE;
    end try
    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

return 0;