USP_REVENUEBATCH_MATCHINGGIFTCOMMITMENT

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@DATALOADED bit INOUT
@CONSTITUENTNAME nvarchar(255) INOUT
@MATCHINGCONSTITUENTNAME nvarchar(255) INOUT
@INSTALLMENTDATE date INOUT
@DESIGNATIONLIST nvarchar(max) INOUT
@INSTALLMENTBALANCE money INOUT
@CURRENCYID uniqueidentifier INOUT

Definition

Copy


create procedure dbo.USP_REVENUEBATCH_MATCHINGGIFTCOMMITMENT
(
  @ID uniqueidentifier,
  @DATALOADED bit = 0 output,
  @CONSTITUENTNAME nvarchar(255) = null output,
  @MATCHINGCONSTITUENTNAME nvarchar(255) = null output,
  @INSTALLMENTDATE date = null output,
  @DESIGNATIONLIST nvarchar(max) = null output,
  @INSTALLMENTBALANCE money = null output,
  @CURRENCYID uniqueidentifier = null output
)
as begin
  set nocount on;

  begin try

    select
      @DATALOADED = 1,
      @CONSTITUENTNAME = CONSTITUENT_NF.NAME,
      @MATCHINGCONSTITUENTNAME =
      (
        select
          C1_NF.NAME
        from
          dbo.REVENUEMATCHINGGIFT MG1
        inner join
          dbo.REVENUE R1 on R1.ID = MG1.MGSOURCEREVENUEID
        cross apply
          dbo.UFN_CONSTITUENT_DISPLAYNAME(R1.CONSTITUENTID) C1_NF
        where
          MG1.ID = REVENUE.ID
      ),
      @INSTALLMENTDATE = INSTALLMENT.DATE,
      @DESIGNATIONLIST =
      (
        select top 1
          dbo.UDA_BUILDLIST(DESIGNATION.USERID)
        from
          dbo.REVENUESPLIT
        inner join
          dbo.DESIGNATION on REVENUESPLIT.DESIGNATIONID = DESIGNATION.ID
        where
          REVENUESPLIT.REVENUEID = REVENUE.ID
      ),
      @INSTALLMENTBALANCE = dbo.UFN_INSTALLMENT_GETINSTALLMENTBALANCE(INSTALLMENT.ID),
      @CURRENCYID = REVENUE.TRANSACTIONCURRENCYID
    from
      dbo.REVENUE
    left join
      dbo.INSTALLMENT on INSTALLMENT.ID = dbo.UFN_REVENUE_GETNEXTINSTALLMENT(REVENUE.ID)
    cross apply
      dbo.UFN_CONSTITUENT_DISPLAYNAME(REVENUE.CONSTITUENTID) CONSTITUENT_NF
    where
      dbo.REVENUE.ID = @ID;

  end try
  begin catch
    exec dbo.USP_RAISE_ERROR;
    return 1;
  end catch

  return 0;

end;