USP_DATAFORMTEMPLATE_ADD_PLANNEDGIFTADDITIONASSET

The save procedure used by the add dataform template "Planned Gift Addition Asset Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@PLANNEDGIFTADDITIONID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@ASSETTYPECODEID uniqueidentifier IN Type
@DESCRIPTION nvarchar(1000) IN Description
@VALUE money IN Value
@COSTBASIS money IN Cost basis
@ASSETVALUATIONMETHODCODEID uniqueidentifier IN Valuation method
@VALUATIONSOURCE nvarchar(200) IN Valuation source
@ADDRESSID uniqueidentifier IN Address
@ASSETHOLDERS xml IN Asset held by

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_PLANNEDGIFTADDITIONASSET (
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,
  @PLANNEDGIFTADDITIONID uniqueidentifier,
  @ASSETTYPECODEID uniqueidentifier = null,
  @DESCRIPTION nvarchar(1000),
  @VALUE money = 0,
  @COSTBASIS money = 0,
  @ASSETVALUATIONMETHODCODEID uniqueidentifier = null,
  @VALUATIONSOURCE nvarchar(200) = '',
  @ADDRESSID uniqueidentifier = null,
  @ASSETHOLDERS xml = null
) as
  set nocount on;

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

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

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


  --Multicurrency - RobertDi 5/13/10 - Retrieve and calculate the necessary multicurrency values.
  declare @TRANSACTIONCURRENCYID uniqueidentifier;
  declare @BASECURRENCYID uniqueidentifier;
  declare @BASEEXCHANGERATEID uniqueidentifier;
  declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;

  select
    @TRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID,
    @BASECURRENCYID = BASECURRENCYID,
    @BASEEXCHANGERATEID = BASEEXCHANGERATEID,
    @ORGANIZATIONEXCHANGERATEID = ORGANIZATIONEXCHANGERATEID
  from
    dbo.PLANNEDGIFTADDITION
  where
    ID = @PLANNEDGIFTADDITIONID;

  declare @BASEVALUE money;
  declare @BASECOSTBASIS money;
  declare @ORGVALUE money;
  declare @ORGCOSTBASIS money;    
  declare @BASETOORGANIZATIONEXCHANGERATE uniqueidentifier;

  --SlyyMu 8/19/10.  Replaced the existing multicurrency logic with logic that can account for both T->B->O and T->O.
  exec dbo.USP_CURRENCY_GETCURRENCYVALUES
    @VALUE,
    null,
    @BASECURRENCYID,
    @BASEEXCHANGERATEID,
    @TRANSACTIONCURRENCYID,
    @BASEVALUE output,
    null,
    @ORGVALUE output,
    @ORGANIZATIONEXCHANGERATEID,
    0,
    null;

  --This function is not a duplicate of the previous call to the same function this call gets "COSTBASIS" related values
  exec dbo.USP_CURRENCY_GETCURRENCYVALUES
    @COSTBASIS,
    null,
    @BASECURRENCYID,
    @BASEEXCHANGERATEID,
    @TRANSACTIONCURRENCYID,
    @BASECOSTBASIS output,
    null,
    @ORGCOSTBASIS output,
    @ORGANIZATIONEXCHANGERATEID,
    0,
    null;

  begin try
    insert into dbo.PLANNEDGIFTADDITIONASSET (
      ID,
      PLANNEDGIFTADDITIONID,
      ASSETTYPECODEID,
      DESCRIPTION,
      TRANSACTIONVALUE,
      TRANSACTIONCOSTBASIS,
      ASSETVALUATIONMETHODCODEID,
      VALUATIONSOURCE,
      ADDRESSID,
      VALUE,
      COSTBASIS,
      ORGANIZATIONVALUE,
      ORGANIZATIONCOSTBASIS,
      TRANSACTIONCURRENCYID,
      BASECURRENCYID,
      BASEEXCHANGERATEID,
      ORGANIZATIONEXCHANGERATEID,
      ADDEDBYID,
      CHANGEDBYID,
      DATEADDED,
      DATECHANGED
    ) values (
      @ID,
      @PLANNEDGIFTADDITIONID,
      @ASSETTYPECODEID,
      @DESCRIPTION,
      @VALUE,
      @COSTBASIS,
      @ASSETVALUATIONMETHODCODEID,
      @VALUATIONSOURCE,
      @ADDRESSID,
      @BASEVALUE,
      @BASECOSTBASIS,
      @ORGVALUE,
      @ORGCOSTBASIS,
      @TRANSACTIONCURRENCYID,
      @BASECURRENCYID,
      @BASEEXCHANGERATEID,
      @ORGANIZATIONEXCHANGERATEID,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );

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

  return 0;