USP_DATAFORMTEMPLATE_ADD_BATCHGIVINGSUMMARYUPDATEBATCHROW

The save procedure used by the add dataform template "Giving Summary Update Batch Row Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@BATCHID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@SEQUENCE int IN Sequence
@PRIMARYRECORDID uniqueidentifier IN Constituent
@LOOKUP_ID nvarchar(100) IN Lookup ID
@KEYNAME nvarchar(100) IN Last name
@FIRSTNAME nvarchar(50) IN First name
@TOTALGIFTSGIVEN int IN Total number of gifts
@TOTALGIFTAMOUNT money IN Total giving
@LARGESTGIFTAMOUNT money IN Largest gift amount
@LARGESTGIFTDATE datetime IN Largest gift date
@LARGESTGIFTTYPE nvarchar(100) IN Largest gift type
@LARGESTGIFTDESIGNATION nvarchar(100) IN Largest gift designation
@FIRSTGIFTAMOUNT money IN First gift amount
@FIRSTGIFTDATE datetime IN First gift date
@FIRSTGIFTTYPE nvarchar(100) IN First gift type
@FIRSTGIFTDESIGNATION nvarchar(100) IN First gift designation
@LATESTGIFTAMOUNT money IN Latest gift amount
@LATESTGIFTDATE datetime IN Latest gift date
@LATESTGIFTTYPE nvarchar(100) IN Latest gift type
@LATESTGIFTDESIGNATION nvarchar(100) IN Latest gift designation

Definition

Copy

    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_BATCHGIVINGSUMMARYUPDATEBATCHROW(
        @ID uniqueidentifier = null output,
        @BATCHID uniqueidentifier,
        @CHANGEAGENTID uniqueidentifier,
        @SEQUENCE int,
        @PRIMARYRECORDID uniqueidentifier = null,
        @LOOKUP_ID nvarchar(100) = null,
        @KEYNAME nvarchar(100) = null,
        @FIRSTNAME nvarchar(50) = null,
        @TOTALGIFTSGIVEN int = 0,
        @TOTALGIFTAMOUNT money = 0,
        @LARGESTGIFTAMOUNT money = 0,
        @LARGESTGIFTDATE datetime = null,
        @LARGESTGIFTTYPE nvarchar(100) = '',
        @LARGESTGIFTDESIGNATION nvarchar(100) = '',
        @FIRSTGIFTAMOUNT money = 0,
        @FIRSTGIFTDATE datetime = null,
        @FIRSTGIFTTYPE nvarchar(100) = '',
        @FIRSTGIFTDESIGNATION nvarchar(100) = '',
        @LATESTGIFTAMOUNT money = 0,
        @LATESTGIFTDATE datetime = null,
        @LATESTGIFTTYPE nvarchar(100) = '',
        @LATESTGIFTDESIGNATION nvarchar(100) = '') as
    set nocount on;

    declare @CURRENTDATE datetime;

    if @ID is null
        set @ID = newid();

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

    set @CURRENTDATE = getdate();

    --Update Lookup ID on import
    if @PRIMARYRECORDID is not null and nullif(@LOOKUP_ID, '') is null
        select 
            @LOOKUP_ID = LOOKUPID,
            @FIRSTNAME = FIRSTNAME,
            @KEYNAME = KEYNAME
        from dbo.CONSTITUENT
        where ID = @PRIMARYRECORDID

    begin try
    insert into dbo.BATCHGIVINGSUMMARYUPDATE(
        [ID],
        [BATCHID],
        [SEQUENCE],
        [ADDEDBYID],
        [CHANGEDBYID],
        [DATEADDED],
        [DATECHANGED],
        [PRIMARYRECORDID],
        [FIRSTNAME],
        [KEYNAME],
        [LOOKUP_ID],
        [TOTALGIFTSGIVEN],
        [TOTALGIFTAMOUNT],
        [LARGESTGIFTAMOUNT],
        [LARGESTGIFTDATE],
        [LARGESTGIFTTYPE],
        [LARGESTGIFTDESIGNATION],
        [FIRSTGIFTAMOUNT],
        [FIRSTGIFTDATE],
        [FIRSTGIFTTYPE],
        [FIRSTGIFTDESIGNATION],
        [LATESTGIFTAMOUNT],
        [LATESTGIFTDATE],
        [LATESTGIFTTYPE],
        [LATESTGIFTDESIGNATION]) values (
        @ID,
        @BATCHID,
        @SEQUENCE,
        @CHANGEAGENTID,
        @CHANGEAGENTID,
        @CURRENTDATE,
        @CURRENTDATE,
        @PRIMARYRECORDID,
        coalesce(@FIRSTNAME, ''),
        coalesce(@KEYNAME, ''),
        coalesce(@LOOKUP_ID, ''),
        coalesce(@TOTALGIFTSGIVEN, 0),
        coalesce(@TOTALGIFTAMOUNT, 0),
        coalesce(@LARGESTGIFTAMOUNT, 0),
        @LARGESTGIFTDATE,
        coalesce(@LARGESTGIFTTYPE, ''),
        coalesce(@LARGESTGIFTDESIGNATION, ''),
        coalesce(@FIRSTGIFTAMOUNT, 0),
        @FIRSTGIFTDATE,
        coalesce(@FIRSTGIFTTYPE, ''),
        coalesce(@FIRSTGIFTDESIGNATION, ''),
        coalesce(@LATESTGIFTAMOUNT, 0),
        @LATESTGIFTDATE,
        coalesce(@LATESTGIFTTYPE, ''),
        coalesce(@LATESTGIFTDESIGNATION, '')
    );
    end try
    begin catch
        exec.dbo.USP_RAISE_ERROR;
        return 1;
    end catch

    return 0;