USP_DATAFORMTEMPLATE_ADD_BATCHMODELINGANDPROPENSITYUPDATEBATCHROW

The save procedure used by the add dataform template "Modeling and Propensity 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
@ANNUALGIFTLIKELIHOOD smallint IN Annual giving likelihood
@ANNUITYLIKELIHOOD smallint IN Annuity likelihood
@BEQUESTLIKELIHOOD smallint IN Bequest likelihood
@CRTLIKELIHOOD smallint IN CRT likelihood
@MAJORGIVINGLIKELIHOOD smallint IN Major giving likelihood
@MEMBERSHIPLIKELIHOOD smallint IN Membership likelihood
@ONLINEGIVINGLIKELIHOOD smallint IN Online giving likelihood
@PATIENTRESPONSELIKELIHOOD smallint IN Patient response likelihood
@PLANNEDGIFTLIKELIHOOD smallint IN Planned giving likelihood
@SUGGESTEDMEMBERSHIPLEVELID uniqueidentifier IN Suggested membership level range
@SUGGESTEDMEMBERSHIPLEVELSCOREID uniqueidentifier IN Suggested membership level score
@TARGETGIFTRANGEID uniqueidentifier IN Target gift range
@TARGETGIFTRANGESCOREID uniqueidentifier IN Target gift range score
@ANALYTICSPROJECTID uniqueidentifier IN

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_BATCHMODELINGANDPROPENSITYUPDATEBATCHROW(
    @ID uniqueidentifier = null output,
    @BATCHID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier,
    @SEQUENCE int,
    @PRIMARYRECORDID uniqueidentifier = null,
    @LOOKUP_ID nvarchar(100) = '',
    @KEYNAME nvarchar(100) = '',
    @FIRSTNAME nvarchar(50) = '',
    @ANNUALGIFTLIKELIHOOD smallint = -1,
    @ANNUITYLIKELIHOOD smallint = -1,
    @BEQUESTLIKELIHOOD smallint = -1,
    @CRTLIKELIHOOD smallint = -1,
    @MAJORGIVINGLIKELIHOOD smallint = -1,
    @MEMBERSHIPLIKELIHOOD smallint = -1,
    @ONLINEGIVINGLIKELIHOOD smallint = -1,
    @PATIENTRESPONSELIKELIHOOD smallint = -1,
    @PLANNEDGIFTLIKELIHOOD smallint = -1,
    @SUGGESTEDMEMBERSHIPLEVELID uniqueidentifier = null,
    @SUGGESTEDMEMBERSHIPLEVELSCOREID uniqueidentifier = null,
    @TARGETGIFTRANGEID uniqueidentifier = null,
    @TARGETGIFTRANGESCOREID uniqueidentifier = null,
    @ANALYTICSPROJECTID uniqueidentifier = null
) 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();

if @SUGGESTEDMEMBERSHIPLEVELSCOREID is not null and @SUGGESTEDMEMBERSHIPLEVELID is null
    set @SUGGESTEDMEMBERSHIPLEVELID = @SUGGESTEDMEMBERSHIPLEVELSCOREID
else if @SUGGESTEDMEMBERSHIPLEVELSCOREID is null
    set @SUGGESTEDMEMBERSHIPLEVELSCOREID = @SUGGESTEDMEMBERSHIPLEVELID

if @TARGETGIFTRANGESCOREID is not null and @TARGETGIFTRANGEID is null
    set @TARGETGIFTRANGEID = @TARGETGIFTRANGESCOREID
else if @TARGETGIFTRANGESCOREID is null
    set @TARGETGIFTRANGESCOREID = @TARGETGIFTRANGEID


--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.BATCHMODELINGANDPROPENSITYUPDATE(
    [ID],
    [BATCHID], [SEQUENCE], [ADDEDBYID], [CHANGEDBYID], [DATEADDED], [DATECHANGED],
    [PRIMARYRECORDID],
    [LOOKUP_ID],
    [KEYNAME],
    [FIRSTNAME],
    [ANNUALGIFTLIKELIHOOD],
    [ANNUITYLIKELIHOOD],
    [BEQUESTLIKELIHOOD],
    [CRTLIKELIHOOD],
    [MAJORGIVINGLIKELIHOOD],
    [MEMBERSHIPLIKELIHOOD],
    [ONLINEGIVINGLIKELIHOOD],
    [PATIENTRESPONSELIKELIHOOD],
    [PLANNEDGIFTLIKELIHOOD],
    [SUGGESTEDMEMBERSHIPLEVELID],
    [SUGGESTEDMEMBERSHIPLEVELSCOREID],
    [TARGETGIFTRANGEID],
    [TARGETGIFTRANGESCOREID],
    [ANALYTICSPROJECTID]

values 
(
    @ID,
    @BATCHID, @SEQUENCE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE,
    @PRIMARYRECORDID,
    coalesce(@LOOKUP_ID, ''),
    coalesce(@KEYNAME, ''),
    coalesce(@FIRSTNAME, ''),
    coalesce(nullif(@ANNUALGIFTLIKELIHOOD, -1), (select ANNUALGIFTLIKELIHOOD from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID), -1),
    coalesce(nullif(@ANNUITYLIKELIHOOD, -1), (select ANNUITYLIKELIHOOD from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID), -1),
    coalesce(nullif(@BEQUESTLIKELIHOOD, -1), (select BEQUESTLIKELIHOOD from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID), -1),
    coalesce(nullif(@CRTLIKELIHOOD, -1), (select CRTLIKELIHOOD from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID), -1),
    coalesce(nullif(@MAJORGIVINGLIKELIHOOD, -1), (select MAJORGIVINGLIKELIHOOD from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID), -1),
    coalesce(nullif(@MEMBERSHIPLIKELIHOOD, -1), (select MEMBERSHIPLIKELIHOOD from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID), -1),
    coalesce(nullif(@ONLINEGIVINGLIKELIHOOD, -1), (select ONLINEGIVINGLIKELIHOOD from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID), -1),
    coalesce(nullif(@PATIENTRESPONSELIKELIHOOD, -1), (select PATIENTRESPONSELIKELIHOOD from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID), -1),
    coalesce(nullif(@PLANNEDGIFTLIKELIHOOD, -1), (select PLANNEDGIFTLIKELIHOOD from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID), -1),
    coalesce(@SUGGESTEDMEMBERSHIPLEVELID, (select SUGGESTEDMEMBERSHIPLEVELID from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID)),
    coalesce(@SUGGESTEDMEMBERSHIPLEVELSCOREID, (select SUGGESTEDMEMBERSHIPLEVELID from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID)),
    coalesce(@TARGETGIFTRANGEID, (select TARGETGIFTRANGEID from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID)),
    coalesce(@TARGETGIFTRANGESCOREID, (select TARGETGIFTRANGEID from dbo.MODELINGANDPROPENSITY where ID = @PRIMARYRECORDID)),
    @ANALYTICSPROJECTID
);
end try
begin catch
    exec.dbo.USP_RAISE_ERROR;
    return 1;
end catch

return 0;