USP_DATAFORMTEMPLATE_EDITLOAD_AUCTIONDONATIONWRITEOFF

The load procedure used by the edit dataform template "Auction Donation Write-off Edit Form"

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.
@CONSTITUENTNAME nvarchar(255) INOUT
@PLEDGEDATE datetime INOUT Donated on
@PLEDGEBALANCE money INOUT Value
@DATE datetime INOUT Date
@WRITEOFFTOTALAMOUNT money INOUT Amount
@POSTSTATUSCODE tinyint INOUT GL post status
@POSTDATE datetime INOUT GL post date
@REASON nvarchar(300) INOUT Details
@INSTALLMENTS xml INOUT
@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.
@REASONCODEID uniqueidentifier INOUT Reason code
@TRANSACTIONTYPECODE tinyint INOUT Transaction type code
@TRANSACTIONCURRENCYID uniqueidentifier INOUT Transaction currency
@ALLOWGLDISTRIBUTIONS bit INOUT Allow GL distributions

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_AUCTIONDONATIONWRITEOFF
                    (
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @CONSTITUENTNAME nvarchar(255) = null output,
                        @PLEDGEDATE datetime = null output,
                        @PLEDGEBALANCE money = null output,
                        @DATE datetime = null output,
                        @WRITEOFFTOTALAMOUNT money = null output,
                        @POSTSTATUSCODE tinyint = null output,
                        @POSTDATE datetime = null output,
                        @REASON nvarchar(300) = null output,
                        @INSTALLMENTS xml = null output,
                        @TSLONG bigint = 0 output,
                        @REASONCODEID uniqueidentifier = null output,
                        @TRANSACTIONTYPECODE tinyint = null output,
                        @TRANSACTIONCURRENCYID uniqueidentifier = null output,
                        @ALLOWGLDISTRIBUTIONS bit = null output
                    )
                    as
                    begin

                        set nocount on;

                        -- Check GL business rule for this account system and set to 'Do not post' if needed.

                        -- ****

                        declare @PDACCOUNTSYSTEMID uniqueidentifier;
                        select @PDACCOUNTSYSTEMID = PDACCOUNTSYSTEMID 
                        from dbo.PDACCOUNTSYSTEMFORREVENUE
                        inner join WRITEOFF on PDACCOUNTSYSTEMFORREVENUE.ID = WRITEOFF.REVENUEID
                        where WRITEOFF.ID = @ID;

                        set @ALLOWGLDISTRIBUTIONS = dbo.UFN_PDACCOUNTSYSTEM_ALLOWGLDISTRIBUTIONS(@PDACCOUNTSYSTEMID);
                        -- ****        


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

                        select
                            @CONSTITUENTNAME = CONSTITUENT.NAME,
                            @PLEDGEDATE = REVENUE.DATE,
                            @PLEDGEBALANCE = dbo.UFN_PLEDGE_GETBALANCE(REVENUE.ID),
                            @DATE = WRITEOFF.DATE,
                            @WRITEOFFTOTALAMOUNT = (select sum(TRANSACTIONAMOUNT) from dbo.WRITEOFFSPLIT where WRITEOFFID = WRITEOFF.ID),
                            @POSTSTATUSCODE = WRITEOFF.POSTSTATUSCODE,
                            @POSTDATE = WRITEOFF.POSTDATE,
                            @REASON = WRITEOFF.REASON,
                            @INSTALLMENTS = 
                                (
                                    select 
                                        ID, 
                                        DATE,
                                        TRANSACTIONAMOUNT as AMOUNT,
                                        BALANCE,
                                        WRITEOFFAMOUNT,
                                        SEQUENCE,
                                        TRANSACTIONCURRENCYID
                                    from dbo.UFN_AUCTIONDONATION_GETWRITEOFFINSTALLMENTS_2(REVENUE.ID) WRITEOFFINSTALLMENT
                                    for xml raw('ITEM'),type,elements,root('INSTALLMENTS'),BINARY BASE64
                                ),
                            @TSLONG = WRITEOFF.TSLONG,
                            @DATALOADED = 1,
                            @REASONCODEID = WRITEOFF.REASONCODEID,
                            @TRANSACTIONTYPECODE = REVENUE.TRANSACTIONTYPECODE,
                            @TRANSACTIONCURRENCYID = REVENUE.TRANSACTIONCURRENCYID
                        from 
                            dbo.WRITEOFF
                        inner join 
                            dbo.REVENUE on WRITEOFF.REVENUEID = REVENUE.ID
                        inner join
                            dbo.CONSTITUENT on REVENUE.CONSTITUENTID = CONSTITUENT.ID
                        where 
                            WRITEOFF.ID = @ID
                            and REVENUE.TRANSACTIONTYPECODE = 7;

                        return 0;

                    end