USP_DATAFORMTEMPLATE_ADDLOAD_PLANNEDGIFTADDITIONREVENUE

The load procedure used by the edit dataform template "Planned Gift Addition Add As Revenue"

Parameters

Parameter Parameter Type Mode Description
@PLANNEDGIFTADDITIONID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@AMOUNT money INOUT Revenue amount
@DATE datetime INOUT Date
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@PDACCOUNTSYSTEMID uniqueidentifier INOUT Account system
@SHOWACCOUNTSYSTEM bit INOUT Show account system
@TRANSACTIONCURRENCYID uniqueidentifier INOUT Transaction currency
@DONOTRECEIPT bit INOUT Do not receipt
@DONOTRECEIPT_LOCKED bit INOUT
@RECEIPTAMOUNT money INOUT Receipt amount

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADDLOAD_PLANNEDGIFTADDITIONREVENUE
(
  @PLANNEDGIFTADDITIONID uniqueidentifier,
  @AMOUNT money = null output,
  @DATE datetime = null output,
  @CURRENTAPPUSERID uniqueidentifier = null,
  @PDACCOUNTSYSTEMID uniqueidentifier = null output,
  @SHOWACCOUNTSYSTEM bit = null output,
  @TRANSACTIONCURRENCYID uniqueidentifier = null output,
  @DONOTRECEIPT bit = null output,
  @DONOTRECEIPT_LOCKED bit = null output,
  @RECEIPTAMOUNT money = null output
)
as
  set nocount on;

  declare @VEHICLECODE smallint;

  select
    @VEHICLECODE = PLANNEDGIFT.VEHICLECODE,
    @AMOUNT = PLANNEDGIFTADDITION.TRANSACTIONGIFTAMOUNT,
    @DATE = coalesce(PLANNEDGIFTADDITION.GIFTDATE, getdate()),
    @TRANSACTIONCURRENCYID = PLANNEDGIFTADDITION.TRANSACTIONCURRENCYID,
    @DONOTRECEIPT = PLANNEDGIFTADDITION.DONOTRECEIPT,
    @DONOTRECEIPT_LOCKED =
        case when PLANNEDGIFTADDITION.DONOTRECEIPT != 0
            and (
                PLANNEDGIFT.ISREVOCABLE != 0
                or PLANNEDGIFT.TRUSTHELDOUTSIDE != 0
                or dbo.UFN_PLANNEDGIFT_ISRECEIPTABLE(PLANNEDGIFT.VEHICLECODE) = 0
            )
            then 1
            else 0
        end,
    @RECEIPTAMOUNT = PLANNEDGIFTADDITION.TRANSACTIONGIFTAMOUNT
  from
    dbo.PLANNEDGIFTADDITION
  inner join
    dbo.PLANNEDGIFT on PLANNEDGIFT.ID = PLANNEDGIFTADDITION.PLANNEDGIFTID
  where
    PLANNEDGIFTADDITION.ID = @PLANNEDGIFTADDITIONID;

  if dbo.UFN_VALID_BASICGL_INSTALLED() != 0
  begin
    declare @NUMBEROFACCOUNTSYSTEMSFORUSER smallint = dbo.UFN_PDACCOUNTSYSTEM_GETNUMBEROFSYSTEMSFORUSER(@CURRENTAPPUSERID);

    if @NUMBEROFACCOUNTSYSTEMSFORUSER = 1
    begin
      set @SHOWACCOUNTSYSTEM = 0;
      select @PDACCOUNTSYSTEMID =  T1.ID from dbo.UFN_PDACCOUNTSYSTEM_GETSYSTEMIDSFORUSER(@CURRENTAPPUSERID) as T1;

      if not exists(
        select 1 from dbo.CURRENCYSETTRANSACTIONCURRENCY
        inner join dbo.PDACCOUNTSYSTEM on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSETTRANSACTIONCURRENCY.CURRENCYSETID
        where PDACCOUNTSYSTEM.ID = @PDACCOUNTSYSTEMID and
        CURRENCYSETTRANSACTIONCURRENCY.CURRENCYID = @TRANSACTIONCURRENCYID)
      begin
        raiserror('Your account system does not support the transaction currency of this planned gift.  The gift cannot be added as revenue to this account system.', 16, 16);
      end
    end 
    else
    begin
      set @SHOWACCOUNTSYSTEM = 1;
      set @PDACCOUNTSYSTEMID = dbo.UFN_PDACCOUNTSYSTEM_GETDEFAULTSYSTEMIDSFORUSER(@CURRENTAPPUSERID);
    end
  end
  else
  begin
    set @SHOWACCOUNTSYSTEM = 0;
    set @PDACCOUNTSYSTEMID = '4B121C2C-CCE6-440D-894C-EA0DEF80D50B';

    if not exists(
      select 1 from dbo.CURRENCYSETTRANSACTIONCURRENCY
      inner join dbo.PDACCOUNTSYSTEM on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSETTRANSACTIONCURRENCY.CURRENCYSETID
      where PDACCOUNTSYSTEM.ID = @PDACCOUNTSYSTEMID and
      CURRENCYSETTRANSACTIONCURRENCY.CURRENCYID = @TRANSACTIONCURRENCYID)
    begin
      raiserror('Your account system does not support the transaction currency of this planned gift.  The gift cannot be added as revenue to this account system.',16,16)
    end
  end

return 0;