USP_DATAFORMTEMPLATE_EDITLOAD_REVENUEBATCHROW_8

The load procedure used by the edit dataform template "Revenue Batch Row Edit Form 8"

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.
@CONSTITUENTID uniqueidentifier INOUT Constituent
@TYPECODE tinyint INOUT Revenue type
@DATE datetime INOUT Date
@AMOUNT money INOUT Amount
@PAYMENTMETHODCODE tinyint INOUT Payment method
@DONOTACKNOWLEDGE bit INOUT Do not acknowledge
@CHECKDATE UDT_FUZZYDATE INOUT Check date
@CHECKNUMBER nvarchar(20) INOUT Check number
@REFERENCEDATE UDT_FUZZYDATE INOUT Reference date
@REFERENCENUMBER nvarchar(20) INOUT Reference number
@CARDHOLDERNAME nvarchar(255) INOUT Name on card
@CREDITCARDNUMBER nvarchar(20) INOUT Card number
@CREDITTYPECODEID uniqueidentifier INOUT Card type
@AUTHORIZATIONCODE nvarchar(20) INOUT Authorization code
@EXPIRESON UDT_FUZZYDATE INOUT Expires on
@ISSUER nvarchar(100) INOUT Issuer
@NUMBEROFUNITS decimal(20, 3) INOUT Number of units
@SYMBOL nvarchar(25) INOUT Symbol
@MEDIANPRICE decimal(19, 4) INOUT Median price
@PROPERTYSUBTYPECODEID uniqueidentifier INOUT Property subtype
@GIFTINKINDSUBTYPECODEID uniqueidentifier INOUT Gift-in-kind subtype
@RECEIPTAMOUNT money INOUT Receipt amount
@DONOTRECEIPT bit INOUT Do not receipt
@CONSTITUENTACCOUNTID uniqueidentifier INOUT Account
@SPLITS xml INOUT Designations
@SINGLEDESIGNATIONID uniqueidentifier INOUT Designation
@REVENUESTREAMS xml INOUT Revenue streams
@APPLYTOSHOWNFORCONSTITUENTID uniqueidentifier INOUT Apply to shown for constituent
@SEQUENCE int INOUT Sequence
@INSTALLMENTFREQUENCYCODE tinyint INOUT Installment frequency
@INSTALLMENTSTARTDATE datetime INOUT Installment start date
@INSTALLMENTENDDATE datetime INOUT Installment end date
@NUMBEROFINSTALLMENTS int INOUT No. installments
@SOLICITORS xml INOUT Solicitors
@BENEFITS xml INOUT Money benefits
@FINDERNUMBER bigint INOUT Finder number
@SOURCECODE nvarchar(60) INOUT Source code
@APPEALID uniqueidentifier INOUT Appeal
@FINDERNUMBERISVALID bit INOUT Finder number is valid
@USERMODIFIEDBENEFITS bit INOUT User modified benefits
@BENEFITSWAIVED bit INOUT User waived benefits
@POSTDATE datetime INOUT GL post date
@POSTSTATUSCODE tinyint INOUT GL post status
@SENDPLEDGEREMINDER bit INOUT Send reminders
@SALEDATE datetime INOUT Sale date
@SALEAMOUNT money INOUT Sale amount
@BROKERFEE money INOUT Sale fees
@SALEPOSTSTATUSCODE tinyint INOUT Sale GL post status
@SALEPOSTDATE datetime INOUT Sale GL post date
@NOTETITLE nvarchar(50) INOUT Note Title
@NOTEAUTHORID uniqueidentifier INOUT Note Author
@NOTEDATEENTERED datetime INOUT Note Date
@NOTETYPECODEID uniqueidentifier INOUT Note Type
@NOTETEXTNOTE nvarchar(max) INOUT Notes
@MGMATCHINGCONSTITUENTID uniqueidentifier INOUT MG Matching constituent
@MGDATE datetime INOUT MG Date
@MGAMOUNT money INOUT MG Amount
@MGPOSTDATE datetime INOUT MG Post date
@MGPOSTSTATUSCODE tinyint INOUT MG Post status
@MGCONDITIONID uniqueidentifier INOUT Matching gift condition ID
@MGSPLITS xml INOUT MG Splits
@GIFTAMOUNT nvarchar(100) INOUT Gift amount
@GIVENANONYMOUSLY bit INOUT Given anonymously
@GIVENANONYMOUSLYDEFAULTEDFORCONSTITUENTID uniqueidentifier INOUT Given anonymously defaulted for constituent
@USERMODIFIEDRECEIPTAMOUNT bit INOUT User modified receipt amount
@PLEDGESUBTYPEID uniqueidentifier INOUT Pledge subtype
@REJECTIONCODEID uniqueidentifier INOUT Rejection code
@CONSTITUENTLOOKUPID uniqueidentifier INOUT Lookup ID
@MAILINGID uniqueidentifier INOUT Effort
@CHANNELCODEID uniqueidentifier INOUT Inbound channel
@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.
@INSTALLMENTS xml INOUT Installments
@PAYMENTFORPLEDGEAMOUNT money INOUT Payment for pledge amount
@RECOGNITIONS xml INOUT Recognition credits
@DIDRECOGNITIONSDEFAULT bit INOUT Did default recognition credits
@TRIBUTES xml INOUT Tributes
@UNAPPLIEDMATCHINGGIFTSPLITS xml INOUT Unapplied MG Split
@UNAPPLIEDMATCHINGGIFTAMOUNT money INOUT Applied
@RECEIPTTYPECODE tinyint INOUT Receipt type
@NEWCONSTITUENT xml INOUT New constituent
@MGRELATIONSHIPID uniqueidentifier INOUT Relationship
@MGRELATIONSHIPCONTEXTID nvarchar(73) INOUT Relationship Context ID
@OTHERPAYMENTMETHODCODEID uniqueidentifier INOUT Other method
@LETTERCODEID uniqueidentifier INOUT Letter
@ACKNOWLEDGEDATE datetime INOUT Acknowledge date
@REFERENCE nvarchar(255) INOUT Reference
@CATEGORYCODEID uniqueidentifier INOUT Revenue category
@ACKNOWLEDGEEID uniqueidentifier INOUT Acknowledgee
@APPLICATIONCODE tinyint INOUT Application
@OTHERTYPECODEID uniqueidentifier INOUT Other type
@OPPORTUNITYID uniqueidentifier INOUT Opportunity
@DIRECTDEBITRESULTCODE nvarchar(10) INOUT Result code
@LOWPRICE decimal(19, 4) INOUT Low price
@HIGHPRICE decimal(19, 4) INOUT High price
@NUMBEROFUNITSSOLD decimal(20, 3) INOUT Sale number of units
@USERMODIFIEDNUMBEROFUNITSSOLD bit INOUT User modified number of units sold
@CREDITCARDTOKEN uniqueidentifier INOUT Credit card token
@REJECTIONMESSAGE nvarchar(250) INOUT Rejection message
@PARTIALCREDITCARDNUMBER nvarchar(4) INOUT Partial card number
@ISEXISTINGCONSTITUENT bit INOUT Is existing constituent
@TAXDECLARATIONS xml INOUT Declarations
@CONSTITUENTTYPE tinyint INOUT Constituent type
@STANDINGORDERCONSTITUENTACCOUNTID uniqueidentifier INOUT Standing order account
@STANDINGORDERREFERENCEDATE UDT_FUZZYDATE INOUT Standing order reference date
@STANDINGORDERREFERENCENUMBER nvarchar(18) INOUT Standing order reference number
@STANDINGORDERSETUP bit INOUT Standing order has been setup
@STANDINGORDERSETUPDATE datetime INOUT Standing order setup date
@TRANSACTIONID uniqueidentifier INOUT Transaction ID
@ISTRANSIENTCARD bit INOUT Is transient credit card
@DECLINESGIFTAID bit INOUT Declines Gift Aid
@DDISOURCECODEID uniqueidentifier INOUT DDI source
@DDISOURCEDATE date INOUT DDI source date
@ISCOVENANT bit INOUT Is covenant gift
@AMOUNTFORVAT money INOUT Portion subject to VAT
@VATTAXRATEID uniqueidentifier INOUT VAT tax rate
@VATAMOUNT money INOUT VAT amount
@PERCENTAGEBENEFITS xml INOUT Percent benefits
@ISGIFTAIDSPONSORSHIP bit INOUT Gift Aid sponsorship
@GENERATEREFERENCENUMBER bit INOUT Automatically generate reference number
@SOURCECODEIMPORT nvarchar(60) INOUT Source code (Import only)
@MERCHANTACCOUNTID uniqueidentifier INOUT Merchant account
@VENDORID nvarchar(50) INOUT

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_REVENUEBATCHROW_8
(
  @ID uniqueidentifier,
  @DATALOADED bit = 0 output,
  @CONSTITUENTID uniqueidentifier = null output,
  @TYPECODE tinyint = null output,
  @DATE datetime = null output,
  @AMOUNT money = null output,
  @PAYMENTMETHODCODE tinyint = null output,
  @DONOTACKNOWLEDGE bit = null output,
  @CHECKDATE dbo.UDT_FUZZYDATE = null output,
  @CHECKNUMBER nvarchar(20) = null output,
  @REFERENCEDATE dbo.UDT_FUZZYDATE = null output,
  @REFERENCENUMBER nvarchar(20) = null output,
  @CARDHOLDERNAME nvarchar(255) = null output,
  @CREDITCARDNUMBER nvarchar(20) = null output,
  @CREDITTYPECODEID uniqueidentifier = null output,
  @AUTHORIZATIONCODE nvarchar(20) = null output,
  @EXPIRESON dbo.UDT_FUZZYDATE = null output,
  @ISSUER nvarchar(100) = null output,
  @NUMBEROFUNITS decimal(20,3) = null output,
  @SYMBOL nvarchar(25) = null output,
  @MEDIANPRICE decimal(19,4) = null output,
  @PROPERTYSUBTYPECODEID uniqueidentifier = null output,
  @GIFTINKINDSUBTYPECODEID uniqueidentifier = null output,
  @RECEIPTAMOUNT money = null output,
  @DONOTRECEIPT bit = null output,
  @CONSTITUENTACCOUNTID uniqueidentifier = null output,
  @SPLITS xml = null output,
  @SINGLEDESIGNATIONID uniqueidentifier = null output,
  @REVENUESTREAMS xml = null output,
  @APPLYTOSHOWNFORCONSTITUENTID uniqueidentifier = null output,
  @SEQUENCE int = null output,
  @INSTALLMENTFREQUENCYCODE tinyint = null output,
  @INSTALLMENTSTARTDATE datetime = null output,
  @INSTALLMENTENDDATE datetime = null output,
  @NUMBEROFINSTALLMENTS int = null output,
  @SOLICITORS xml = null output,
  @BENEFITS xml = null output,
  @FINDERNUMBER bigint = null output,
  @SOURCECODE nvarchar(60) = null output,
  @APPEALID uniqueidentifier = null output,
  @FINDERNUMBERISVALID bit = null output,
  @USERMODIFIEDBENEFITS bit = null output,
  @BENEFITSWAIVED bit = null output,
  @POSTDATE datetime = null output,
  @POSTSTATUSCODE tinyint = null output,
  @SENDPLEDGEREMINDER bit = null output,
  @SALEDATE datetime = null output,
  @SALEAMOUNT money = null output,
  @BROKERFEE money = null output,
  @SALEPOSTSTATUSCODE tinyint = null output,
  @SALEPOSTDATE datetime = null output,
  @NOTETITLE nvarchar(50) = null output,
  @NOTEAUTHORID uniqueidentifier = null output,
  @NOTEDATEENTERED datetime = null output ,
  @NOTETYPECODEID uniqueidentifier = null output,
  @NOTETEXTNOTE nvarchar(max) = null output,
  @MGMATCHINGCONSTITUENTID uniqueidentifier = null output,
  @MGDATE datetime = null output,
  @MGAMOUNT money = null output,
  @MGPOSTDATE datetime = null output,
  @MGPOSTSTATUSCODE tinyint = null output,
  @MGCONDITIONID uniqueidentifier = null output,
  @MGSPLITS xml = null output,
  @GIFTAMOUNT nvarchar(100) = null output,
  @GIVENANONYMOUSLY bit = null output,
  @GIVENANONYMOUSLYDEFAULTEDFORCONSTITUENTID uniqueidentifier = null output,
  @USERMODIFIEDRECEIPTAMOUNT bit = null output,
  @PLEDGESUBTYPEID uniqueidentifier = null output,
  @REJECTIONCODEID uniqueidentifier = null output,
  @CONSTITUENTLOOKUPID uniqueidentifier = null output,
  @MAILINGID uniqueidentifier = null output,
  @CHANNELCODEID uniqueidentifier = null output,
  @TSLONG bigint = 0 output,
  @INSTALLMENTS xml = null output,
  @PAYMENTFORPLEDGEAMOUNT money = null output,
  @RECOGNITIONS xml = null output,
  @DIDRECOGNITIONSDEFAULT bit = null output,
  @TRIBUTES xml = null output,
  @UNAPPLIEDMATCHINGGIFTSPLITS xml = null output,
  @UNAPPLIEDMATCHINGGIFTAMOUNT money = null output,
  @RECEIPTTYPECODE tinyint = null output,
  @NEWCONSTITUENT xml = null output,
  @MGRELATIONSHIPID uniqueidentifier = null output,
  @MGRELATIONSHIPCONTEXTID nvarchar(73) = null output,
  @OTHERPAYMENTMETHODCODEID uniqueidentifier = null output,
  @LETTERCODEID uniqueidentifier = null output,
  @ACKNOWLEDGEDATE datetime = null output,
  @REFERENCE nvarchar(255) = null output,
  @CATEGORYCODEID uniqueidentifier = null output,
  @ACKNOWLEDGEEID uniqueidentifier = null output,
  @APPLICATIONCODE tinyint = null output,
  @OTHERTYPECODEID uniqueidentifier = null output,
  @OPPORTUNITYID uniqueidentifier = null output,
  @DIRECTDEBITRESULTCODE nvarchar(10) = null output,
  @LOWPRICE decimal(19,4) = null output,
  @HIGHPRICE decimal(19,4) = null output,
  @NUMBEROFUNITSSOLD decimal(20,3) = null output,
  @USERMODIFIEDNUMBEROFUNITSSOLD bit = null output,
  @CREDITCARDTOKEN uniqueidentifier = null output,
  @REJECTIONMESSAGE nvarchar(250) = null output,
  -- PARTIALCREDITCARDNUMBER is used just to support import and so is only 
  -- actually used on RevenueBatchDataForm.Add.xml
  @PARTIALCREDITCARDNUMBER nvarchar(4) = null output,
  @ISEXISTINGCONSTITUENT bit = null output,
  @TAXDECLARATIONS xml = null output,
  @CONSTITUENTTYPE tinyint = null output,
  @STANDINGORDERCONSTITUENTACCOUNTID uniqueidentifier = null output,
  @STANDINGORDERREFERENCEDATE dbo.UDT_FUZZYDATE = null output,
  @STANDINGORDERREFERENCENUMBER nvarchar(18) = null output,
  @STANDINGORDERSETUP bit = null output,
  @STANDINGORDERSETUPDATE datetime = null output,
  @TRANSACTIONID uniqueidentifier = null output,
  @ISTRANSIENTCARD bit = null output, -- Isn't set since it's write-only
  @DECLINESGIFTAID bit = null output,
  @DDISOURCECODEID uniqueidentifier = null output,
  @DDISOURCEDATE date = null output,
  @ISCOVENANT bit = null output,
  @AMOUNTFORVAT money = null output,
  @VATTAXRATEID uniqueidentifier = null output,
  @VATAMOUNT money = null output,
  @PERCENTAGEBENEFITS xml = null output,
  @ISGIFTAIDSPONSORSHIP bit = null output,
  @GENERATEREFERENCENUMBER bit = null output,
  @SOURCECODEIMPORT nvarchar(60) = null output,
  @MERCHANTACCOUNTID uniqueidentifier = null output,
  @VENDORID nvarchar(50) = null output
)
as
begin
  set nocount on;

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

  select
    @DATALOADED = 1,
    @CONSTITUENTID = BATCHREVENUE.CONSTITUENTID,
    @TYPECODE = BATCHREVENUE.TYPECODE,
    @SINGLEDESIGNATIONID = case when (select count(*) from dbo.BATCHREVENUESPLIT where BATCHREVENUESPLIT.BATCHREVENUEID = BATCHREVENUE.ID) <> 1
                              then BATCHREVENUE.SINGLEDESIGNATIONID
                              else (select DESIGNATIONID from dbo.BATCHREVENUESPLIT where BATCHREVENUESPLIT.BATCHREVENUEID = BATCHREVENUE.ID)
                            end,
    @SPLITS = dbo.UFN_REVENUEBATCH_GETSPLITS_TOITEMLISTXML(BATCHREVENUE.ID),
    @DATE = BATCHREVENUE.DATE,
    @PAYMENTMETHODCODE = BATCHREVENUE.PAYMENTMETHODCODE,
    @DONOTACKNOWLEDGE = BATCHREVENUE.DONOTACKNOWLEDGE,
    @CHECKDATE = BATCHREVENUE.CHECKDATE,
    @CHECKNUMBER = BATCHREVENUE.CHECKNUMBER,
    @REFERENCEDATE = BATCHREVENUE.REFERENCEDATE,
    @REFERENCENUMBER = BATCHREVENUE.REFERENCENUMBER,
    @CARDHOLDERNAME = CREDITCARD.CARDHOLDERNAME,
    @CREDITCARDNUMBER = CREDITCARD.CREDITCARDPARTIALNUMBER,
    @CREDITCARDTOKEN = CREDITCARD.CREDITCARDTOKEN,
    @CREDITTYPECODEID = CREDITCARD.CREDITTYPECODEID,
    @EXPIRESON = CREDITCARD.EXPIRESON,
    @AUTHORIZATIONCODE = BATCHREVENUE.AUTHORIZATIONCODE,
    @CONSTITUENTACCOUNTID = BATCHREVENUE.CONSTITUENTACCOUNTID,
    @AMOUNT = BATCHREVENUE.AMOUNT,
    @RECEIPTAMOUNT = BATCHREVENUE.RECEIPTAMOUNT,
    @DONOTRECEIPT = BATCHREVENUE.DONOTRECEIPT,
    @REVENUESTREAMS = dbo.UFN_REVENUEBATCH_GETAPPLICATIONSWITHCHILDREN_TOITEMLISTXML(@ID),
    @APPLYTOSHOWNFORCONSTITUENTID = BATCHREVENUE.APPLYTOSHOWNFORCONSTITUENTID,
    @PROPERTYSUBTYPECODEID = BATCHREVENUE.PROPERTYSUBTYPECODEID,
    @GIFTINKINDSUBTYPECODEID = BATCHREVENUE.GIFTINKINDSUBTYPECODEID,
    @SEQUENCE = BATCHREVENUE.SEQUENCE,
    @INSTALLMENTFREQUENCYCODE = BATCHREVENUE.INSTALLMENTFREQUENCYCODE,
    @INSTALLMENTSTARTDATE = case
      when BATCHREVENUE.TYPECODE = 1 then coalesce(BATCHREVENUE.INSTALLMENTSTARTDATE, BATCHREVENUE.DATE)
      else BATCHREVENUE.INSTALLMENTSTARTDATE
    end,
    @INSTALLMENTENDDATE = BATCHREVENUE.INSTALLMENTENDDATE,
    @NUMBEROFINSTALLMENTS = BATCHREVENUE.NUMBEROFINSTALLMENTS,
    @RECOGNITIONS = dbo.UFN_REVENUEBATCH_GETRECOGNITIONS_TOITEMLISTXML(@ID),
    @SOLICITORS = dbo.UFN_REVENUEBATCH_GETSOLICITORS_TOITEMLISTXML(@ID),
    @BENEFITS = dbo.UFN_REVENUEBATCH_GETBENEFITS_TOITEMLISTXML(@ID),
    @PERCENTAGEBENEFITS = dbo.UFN_REVENUEBATCH_GETBENEFITSPCT_TOITEMLISTXML(@ID),
    @FINDERNUMBER = BATCHREVENUE.FINDERNUMBER,
    @SOURCECODE = BATCHREVENUE.SOURCECODE,
    @APPEALID = BATCHREVENUE.APPEALID,
    @FINDERNUMBERISVALID = BATCHREVENUE.FINDERNUMBERISVALID,
    @USERMODIFIEDBENEFITS = BATCHREVENUE.USERMODIFIEDBENEFITS,
    @BENEFITSWAIVED = BATCHREVENUE.BENEFITSWAIVED,
    @POSTDATE = BATCHREVENUE.POSTDATE,
    @POSTSTATUSCODE = BATCHREVENUE.POSTSTATUSCODE,
    @SENDPLEDGEREMINDER = BATCHREVENUE.SENDPLEDGEREMINDER,
    @SALEDATE = BATCHREVENUE.SALEDATE,
    @SALEAMOUNT = BATCHREVENUE.SALEAMOUNT,
    @BROKERFEE = BATCHREVENUE.BROKERFEE,
    @SALEPOSTSTATUSCODE = BATCHREVENUE.SALEPOSTSTATUSCODE,
    @SALEPOSTDATE = BATCHREVENUE.SALEPOSTDATE,
    @ISSUER = BATCHREVENUE.ISSUER,
    @MERCHANTACCOUNTID = BATCHREVENUE.MERCHANTACCOUNTID,
    @NUMBEROFUNITS = BATCHREVENUE.NUMBEROFUNITS,
    @SYMBOL = BATCHREVENUE.SYMBOL,
    @MEDIANPRICE = BATCHREVENUE.MEDIANPRICE,
    @NOTETITLE = BATCHREVENUE.NOTETITLE,
    @NOTEAUTHORID = BATCHREVENUE.NOTEAUTHORID,
    @NOTEDATEENTERED = BATCHREVENUE.NOTEDATEENTERED,
    @NOTETYPECODEID = BATCHREVENUE.NOTETYPECODEID,
    @NOTETEXTNOTE = BATCHREVENUE.NOTETEXTNOTE,
    @MGMATCHINGCONSTITUENTID = BATCHREVENUE.MGMATCHINGCONSTITUENTID,
    @MGDATE = BATCHREVENUE.MGDATE,
    @MGAMOUNT = BATCHREVENUE.MGAMOUNT,
    @MGPOSTDATE = null, --JamesWill CR275664-052107 2007/05/24 Matching gift claims are never posted
    @MGPOSTSTATUSCODE = 2, --JamesWill CR275664-052107 2007/05/24 Matching gift claims are never posted
    @MGCONDITIONID = BATCHREVENUE.MGCONDITIONID,
    @MGSPLITS = dbo.UFN_REVENUEBATCH_GETMATCHINGGIFTSPLITS_TOITEMLISTXML(BATCHREVENUE.ID),
    @GIFTAMOUNT = 0,
    @GIVENANONYMOUSLY = BATCHREVENUE.GIVENANONYMOUSLY,
    @GIVENANONYMOUSLYDEFAULTEDFORCONSTITUENTID = BATCHREVENUE.GIVENANONYMOUSLYDEFAULTEDFORCONSTITUENTID,
    @USERMODIFIEDRECEIPTAMOUNT = BATCHREVENUE.USERMODIFIEDRECEIPTAMOUNT,
    @PLEDGESUBTYPEID = BATCHREVENUE.PLEDGESUBTYPEID,
    @REJECTIONMESSAGE = BATCHREVENUE.REJECTIONMESSAGE,
    @CONSTITUENTLOOKUPID = BATCHREVENUE.CONSTITUENTID,
    @DIDRECOGNITIONSDEFAULT = 1,
    @MAILINGID = MAILINGID,
    @CHANNELCODEID = CHANNELCODEID,
    @INSTALLMENTS = dbo.UFN_REVENUEBATCH_GETINSTALLMENTS_TOITEMLISTXML(@ID),
    @PAYMENTFORPLEDGEAMOUNT = PAYMENTFORPLEDGEAMOUNT,
    @TSLONG = BATCHREVENUE.TSLONG,
    @TRIBUTES = dbo.UFN_REVENUEBATCH_GETTRIBUTES_TOITEMLISTXML(@ID),
    @UNAPPLIEDMATCHINGGIFTSPLITS = dbo.UFN_REVENUEBATCH_GETUNAPPLIEDMATCHINGGIFTSPLITS_TOITEMLISTXML(BATCHREVENUE.ID),
    @RECEIPTTYPECODE = BATCHREVENUE.RECEIPTTYPECODE,
    @MGRELATIONSHIPID = BATCHREVENUE.MGRELATIONSHIPID,
    @OTHERPAYMENTMETHODCODEID = BATCHREVENUE.OTHERPAYMENTMETHODCODEID,
    @LETTERCODEID = BATCHREVENUE.LETTERCODEID, 
    @ACKNOWLEDGEDATE = BATCHREVENUE.ACKNOWLEDGEDATE,
    @REFERENCE = BATCHREVENUE.REFERENCE,
    @CATEGORYCODEID = BATCHREVENUE.GLREVENUECATEGORYMAPPINGID,
    @ACKNOWLEDGEEID = BATCHREVENUE.ACKNOWLEDGEEID,
    @APPLICATIONCODE = BATCHREVENUE.APPLICATIONCODE,
    @OTHERTYPECODEID = BATCHREVENUE.OTHERTYPECODEID,
    @OPPORTUNITYID = BATCHREVENUE.OPPORTUNITYID,
    @DIRECTDEBITRESULTCODE = BATCHREVENUE.DIRECTDEBITRESULTCODE,
    @LOWPRICE = BATCHREVENUE.LOWPRICE,
    @HIGHPRICE = BATCHREVENUE.HIGHPRICE,
    @NUMBEROFUNITSSOLD = BATCHREVENUE.NUMBEROFUNITSSOLD,
    @USERMODIFIEDNUMBEROFUNITSSOLD = BATCHREVENUE.USERMODIFIEDNUMBEROFUNITSSOLD,
    @TAXDECLARATIONS = dbo.UFN_REVENUEBATCH_GETTAXDECLARATIONS_TOITEMLISTXML(BATCHREVENUE.ID),
    @STANDINGORDERSETUP = BATCHREVENUE.STANDINGORDERSETUP,
    @STANDINGORDERSETUPDATE = BATCHREVENUE.STANDINGORDERSETUPDATE,
    @STANDINGORDERREFERENCENUMBER = BATCHREVENUE.STANDINGORDERREFERENCENUMBER,
    @GENERATEREFERENCENUMBER = BATCHREVENUE.USESYSTEMGENERATEDREFERENCENUMBER,
    @TRANSACTIONID = BATCHREVENUE.TRANSACTIONID,
    @ISEXISTINGCONSTITUENT = case when CONSTITUENT.ID is null then 0 else 1 end,
    @DECLINESGIFTAID = case when (select count(*) from dbo.BATCHREVENUESPLIT where BATCHREVENUESPLIT.BATCHREVENUEID = BATCHREVENUE.ID) <> 1
                          then BATCHREVENUE.DECLINESGIFTAID
                          else coalesce((select DECLINESGIFTAID from dbo.BATCHREVENUESPLIT where BATCHREVENUESPLIT.BATCHREVENUEID = BATCHREVENUE.ID), 0)
                        end,
    @DDISOURCECODEID = DDISOURCECODEID,
    @DDISOURCEDATE = DDISOURCEDATE,
    @ISCOVENANT = ISCOVENANT,
    @AMOUNTFORVAT = AMOUNTFORVAT,
    @VATTAXRATEID = VATTAXRATEID,
    @VATAMOUNT = VATAMOUNT,
    @ISGIFTAIDSPONSORSHIP = case when (select count(*) from dbo.BATCHREVENUESPLIT where BATCHREVENUESPLIT.BATCHREVENUEID = BATCHREVENUE.ID) <> 1
                              then BATCHREVENUE.ISGIFTAIDSPONSORSHIP
                              else coalesce((select ISGIFTAIDSPONSORSHIP from dbo.BATCHREVENUESPLIT where BATCHREVENUESPLIT.BATCHREVENUEID = BATCHREVENUE.ID), 0)
                            end,
    @VENDORID = VENDORID
  from dbo.BATCHREVENUE
  left join dbo.CREDITCARD ON BATCHREVENUE.CREDITCARDID = CREDITCARD.ID
  left join dbo.CONSTITUENT on CONSTITUENT.ID = BATCHREVENUE.CONSTITUENTID
  where BATCHREVENUE.ID = @ID;

  if @PAYMENTMETHODCODE = 255
    set @PAYMENTMETHODCODE = null;

  if @PAYMENTMETHODCODE = 11 --Standing order
    begin
      set @STANDINGORDERCONSTITUENTACCOUNTID = @CONSTITUENTACCOUNTID
      set @STANDINGORDERREFERENCEDATE = @REFERENCEDATE;
    end

  if @FINDERNUMBER = 0
    set @FINDERNUMBER = null;

  /* JamesWill CR267402-021907 INSTALLMENTFREQUENCYCODE cannot be null in the database, but it can be null in the defaults */
  if @INSTALLMENTFREQUENCYCODE = 255
    set @INSTALLMENTFREQUENCYCODE = null;

  /* JamesWill CR265838-020507 2007/03/07 */
  if @POSTSTATUSCODE = 255
    set @POSTSTATUSCODE = null;
  if @SALEPOSTSTATUSCODE = 255
    set @SALEPOSTSTATUSCODE = null;

  if @RECEIPTTYPECODE = 255
    set @RECEIPTTYPECODE = null;

  -- Determine the constituent type
  declare @ISORGANIZATION bit, @ISGROUP bit, @ISHOUSEHOLD bit
  select
    @ISORGANIZATION = CONSTITUENT.ISORGANIZATION,
    @ISGROUP = CONSTITUENT.ISGROUP,
    @ISHOUSEHOLD = case when ISGROUP = 1 and GROUPDATA.GROUPTYPECODE = 0 then 1 else 0 end
  from dbo.CONSTITUENT
  left join dbo.GROUPDATA on CONSTITUENT.ID = GROUPDATA.ID
  where CONSTITUENT.ID = @CONSTITUENTID

  -- If the fields weren't set, then the constituent must be a batch constituent
  if @ISORGANIZATION is null
    select
      @ISORGANIZATION = BATCHREVENUECONSTITUENT.ISORGANIZATION,
      @ISGROUP = BATCHREVENUECONSTITUENT.ISGROUP,
      @ISHOUSEHOLD = case when ISGROUP = 1 and GROUPDATA.GROUPTYPECODE = 0 then 1 else 0 end
    from dbo.BATCHREVENUECONSTITUENT
    left join dbo.GROUPDATA on BATCHREVENUECONSTITUENT.ID = GROUPDATA.ID
    where BATCHREVENUECONSTITUENT.ID = @CONSTITUENTID

  if @ISORGANIZATION = 0 and @ISGROUP = 0
    set @CONSTITUENTTYPE = 0 -- Individual
  else
    begin
      if @ISORGANIZATION = 1
        set @CONSTITUENTTYPE = 1 -- Org
      else
        begin
          if @ISHOUSEHOLD = 1
            set @CONSTITUENTTYPE = 2 -- Household
          else
            set @CONSTITUENTTYPE = 3 -- Group
        end
    end

  if @APPLICATIONCODE = 255 
  set @APPLICATIONCODE = null;

  set @MGRELATIONSHIPCONTEXTID = cast(@CONSTITUENTID as nvarchar(36)) + cast(@MGMATCHINGCONSTITUENTID as nvarchar(36)) + cast(1 as nvarchar(1));


  set @SOURCECODEIMPORT = @SOURCECODE

  return 0;
end