USP_DATAFORMTEMPLATE_EDITLOAD_RECOGNITIONLEVEL

The load procedure used by the edit dataform template "Recognition Level Edit Data Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@NAME nvarchar(100) INOUT Name
@DESCRIPTION nvarchar(255) INOUT Description
@TIERCODEID uniqueidentifier INOUT Tier
@AMOUNT money INOUT Minimum recognition amount
@PLANNEDGIFTAMOUNT money INOUT Planned giving amount
@HASPLANNEDGIFTAMOUNT bit INOUT
@HASREVENUEAMOUNT bit INOUT
@UPDATEFUTUREAMOUNT bit INOUT Set future minimum amount
@NEWMINIMUMAMOUNT money INOUT Minimum recognition amount
@NEWPLANNEDGIFTAMOUNT money INOUT Planned giving amount
@EFFECTIVEDATE datetime INOUT Effective date
@BASECURRENCYID uniqueidentifier INOUT Base currency

Definition

Copy


          CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_RECOGNITIONLEVEL
          (
            @ID uniqueidentifier,
            @DATALOADED bit = 0 output,
            @TSLONG bigint = 0 output,
            @NAME nvarchar(100) = null output,
            @DESCRIPTION nvarchar(255) = null output,
            @TIERCODEID uniqueidentifier = null output,
            @AMOUNT money = null output,
            @PLANNEDGIFTAMOUNT money = null output,
            @HASPLANNEDGIFTAMOUNT bit = null output,
            @HASREVENUEAMOUNT bit = null output,
            @UPDATEFUTUREAMOUNT bit = null output,
            @NEWMINIMUMAMOUNT money = null output,
            @NEWPLANNEDGIFTAMOUNT money = null output,
            @EFFECTIVEDATE datetime = null output,
            @BASECURRENCYID uniqueidentifier = null output
          )
          as
            set nocount on;

            set @DATALOADED = 0;
            set @TSLONG = 0;

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

            select
              @DATALOADED = 1,
              @TSLONG = RECOGNITIONLEVEL.TSLONG,
              @NAME = RECOGNITIONLEVEL.NAME,
              @DESCRIPTION = RECOGNITIONLEVEL.DESCRIPTION,
              @TIERCODEID = RECOGNITIONLEVEL.TIERCODEID,
              @AMOUNT = RECOGNITIONLEVEL.AMOUNT,
              @PLANNEDGIFTAMOUNT = RECOGNITIONLEVEL.PLANNEDGIFTAMOUNT,
              @HASPLANNEDGIFTAMOUNT =
                case
                  when RECOGNITIONPROGRAM.PLANNEDGIFTCODE = 2 then 1
                  else 0
                end,
              @HASREVENUEAMOUNT = 1,
              @BASECURRENCYID = RECOGNITIONLEVEL.BASECURRENCYID
            from dbo.RECOGNITIONLEVEL
              inner join dbo.RECOGNITIONPROGRAM on RECOGNITIONLEVEL.RECOGNITIONPROGRAMID = RECOGNITIONPROGRAM.ID
            where RECOGNITIONLEVEL.ID = @ID;

            select top 1
              @NEWMINIMUMAMOUNT = AMOUNT,
              @NEWPLANNEDGIFTAMOUNT = PLANNEDGIFTAMOUNT,
              @EFFECTIVEDATE = ACTIVEDATE,
              @UPDATEFUTUREAMOUNT = 1
            from dbo.RECOGNITIONLEVELAMOUNT
            where
              RECOGNITIONLEVELID = @ID and
              ACTIVEDATE > @CURRENTDATE
            order by ACTIVEDATE asc;

            return 0;