USP_DATAFORMTEMPLATE_ADD_RECURRINGGIFTINSTALLMENTWRITEOFF_PRELOAD

Parameters

Parameter Parameter Type Mode Description
@INSTALLMENTCONTEXT nvarchar(53) IN
@INSTALLMENTDATE datetime INOUT
@INSTALLMENTNUMBER int INOUT
@INSTALLMENTAMOUNT money INOUT
@INSTALLMENTBALANCE money INOUT
@WRITEOFFDATE datetime INOUT
@WRITEOFFAMOUNT money INOUT
@REVENUEID uniqueidentifier INOUT
@TRANSACTIONCURRENCYID uniqueidentifier INOUT

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_RECURRINGGIFTINSTALLMENTWRITEOFF_PRELOAD
                (
                    @INSTALLMENTCONTEXT nvarchar(53),
                    @INSTALLMENTDATE datetime = null output,
                    @INSTALLMENTNUMBER integer = null output,
                    @INSTALLMENTAMOUNT money = null output,
                    @INSTALLMENTBALANCE money = null output,
                    @WRITEOFFDATE datetime = null output,
                    @WRITEOFFAMOUNT money = null output,
                    @REVENUEID uniqueidentifier = null output,
                    @TRANSACTIONCURRENCYID uniqueidentifier = null output
                )
                as
                    set nocount on;

                    declare @CURRENTDATE datetime = getdate();

                    declare @RECORDTYPE nvarchar(1) = substring(@INSTALLMENTCONTEXT,1,1);

                    if @RECORDTYPE = 'I'
                    begin
                      declare @INSTALLMENTID uniqueidentifier = cast(substring(@INSTALLMENTCONTEXT,3,36) as uniqueidentifier);
                      set @INSTALLMENTNUMBER = cast(substring(@INSTALLMENTCONTEXT,40,5) as integer);

                      select @INSTALLMENTAMOUNT = TRANSACTIONAMOUNT,
                             @INSTALLMENTBALANCE = dbo.UFN_RECURRINGGIFTINSTALLMENT_GETINSTALLMENTBALANCE(ID),
                             @REVENUEID = REVENUEID,
                             @INSTALLMENTDATE = DATE,
                             @TRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID
                      from dbo.RECURRINGGIFTINSTALLMENT
                      where ID = @INSTALLMENTID;
                    end

                    else
                    begin
                      set @REVENUEID = cast(substring(@INSTALLMENTCONTEXT,3,36) as uniqueidentifier);
                      set @INSTALLMENTDATE = convert(date,substring(@INSTALLMENTCONTEXT,40,8),112);
                      set @INSTALLMENTNUMBER = cast(substring(@INSTALLMENTCONTEXT,49,5) as integer);

                      select @INSTALLMENTAMOUNT = TRANSACTIONAMOUNT,
                             @INSTALLMENTBALANCE = TRANSACTIONAMOUNT,
                             @TRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID
                      from dbo.FINANCIALTRANSACTION
                      where ID = @REVENUEID;
                    end

                    set @WRITEOFFAMOUNT = @INSTALLMENTBALANCE;
                    set @WRITEOFFDATE = @CURRENTDATE;

                    return 0;