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