USP_DATAFORMTEMPLATE_EDITLOAD_AUCTIONDONATIONADJUST
The load procedure used by the edit dataform template "Posted Auction Donation Data 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. |
@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. |
@AMOUNT | money | INOUT | Value |
@DATE | datetime | INOUT | Date |
@EXPIRATIONDATE | datetime | INOUT | Expiration date |
@DESIGNATIONID | uniqueidentifier | INOUT | Designation |
@ADJUSTMENTDATE | datetime | INOUT | Adjusted date |
@ADJUSTMENTPOSTDATE | datetime | INOUT | Adjusted post date |
@ADJUSTMENTPOSTSTATUSCODE | tinyint | INOUT | Post status code |
@ADJUSTMENTREASON | nvarchar(300) | INOUT | Adjustment description |
@ADJUSTMENTREASONCODEID | uniqueidentifier | INOUT | Adjustment reason |
@BASECURRENCYID | uniqueidentifier | INOUT | Base currency |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | Transaction currency |
@BASEEXCHANGERATEID | uniqueidentifier | INOUT | Exchange rate ID |
@EXCHANGERATE | decimal(20, 8) | INOUT | Exchange rate |
@HADSPOTRATE | bit | INOUT | Had spot rate |
@RATECHANGED | bit | INOUT | Rate changed |
@BASEDECIMALDIGITS | bit | INOUT | Decimal digits |
@BASEROUNDINGTYPECODE | tinyint | INOUT | Rounding type |
@TRANSACTIONCURRENCYDESCRIPTION | nvarchar(100) | INOUT | Transaction currency description |
@USERGRANTEDSPOTRATE | bit | INOUT | User granted spot rate |
@ALLOWGLDISTRIBUTIONS | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_AUCTIONDONATIONADJUST(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@AMOUNT money = null output,
@DATE datetime = null output,
@EXPIRATIONDATE datetime = null output,
@DESIGNATIONID uniqueidentifier = null output,
@ADJUSTMENTDATE datetime = null output,
@ADJUSTMENTPOSTDATE datetime = null output,
@ADJUSTMENTPOSTSTATUSCODE tinyint = null output,
@ADJUSTMENTREASON nvarchar(300) = null output,
@ADJUSTMENTREASONCODEID uniqueidentifier = null output,
@BASECURRENCYID uniqueidentifier = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output,
@BASEEXCHANGERATEID uniqueidentifier = null output,
@EXCHANGERATE decimal(20,8) = null output,
@HADSPOTRATE bit = null output,
@RATECHANGED bit = null output,
@BASEDECIMALDIGITS bit = null output,
@BASEROUNDINGTYPECODE tinyint = null output,
@TRANSACTIONCURRENCYDESCRIPTION nvarchar(100) = null output,
@USERGRANTEDSPOTRATE bit = null output,
@ALLOWGLDISTRIBUTIONS bit = null output
)
as
set nocount on;
-- be sure to set these, in case the select returns no rows
set @DATALOADED = 0;
set @TSLONG = 0;
--replace with commented code for PBI 102747
set @USERGRANTEDSPOTRATE = 1;
/*set @USERGRANTEDSPOTRATE = case
when dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_SYSTEMPRIVILEGE_IN_SYSTEMROLE(@CURRENTAPPUSERID, '911f104d-ba5f-4469-b0ae-184c879aea99') = 1
then 1
else 0
end;*/
set @ADJUSTMENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
set @ADJUSTMENTPOSTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
set @ADJUSTMENTPOSTSTATUSCODE = 0;
select
@ADJUSTMENTDATE = ADJUSTMENT.DATE,
@ADJUSTMENTPOSTDATE = ADJUSTMENT.POSTDATE,
@ADJUSTMENTPOSTSTATUSCODE = 1,
@ADJUSTMENTREASON = ADJUSTMENT.REASON,
@ADJUSTMENTREASONCODEID = ADJUSTMENT.REASONCODEID
from
dbo.ADJUSTMENT
where
ADJUSTMENT.REVENUEID = @ID
and ADJUSTMENT.POSTSTATUSCODE = 1;
select
@DATALOADED = 1,
@TSLONG = FINANCIALTRANSACTION.TSLONG,
@AMOUNT = FINANCIALTRANSACTION.TRANSACTIONAMOUNT,
@DATE = FINANCIALTRANSACTION.DATE,
@EXPIRATIONDATE = AUCTIONITEM.EXPIRATIONDATE,
@DESIGNATIONID = REVENUESPLIT_EXT.DESIGNATIONID,
@BASECURRENCYID = V.BASECURRENCYID,
@TRANSACTIONCURRENCYID = FINANCIALTRANSACTION.TRANSACTIONCURRENCYID,
@BASEEXCHANGERATEID = FINANCIALTRANSACTION.BASEEXCHANGERATEID,
@EXCHANGERATE = CURRENCYEXCHANGERATE.RATE,
@HADSPOTRATE = case when CURRENCYEXCHANGERATE.TYPECODE = 2 then 1 else 0 end,
@RATECHANGED = 0,
@BASEDECIMALDIGITS = CURRENCY.DECIMALDIGITS,
@BASEROUNDINGTYPECODE = CURRENCY.ROUNDINGTYPECODE,
@TRANSACTIONCURRENCYDESCRIPTION = dbo.UFN_CURRENCY_GETDESCRIPTION(FINANCIALTRANSACTION.TRANSACTIONCURRENCYID)
from
dbo.FINANCIALTRANSACTION
inner join dbo.FINANCIALTRANSACTIONLINEITEM on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT_EXT.ID = FINANCIALTRANSACTIONLINEITEM.ID
inner join dbo.AUCTIONITEM on AUCTIONITEM.REVENUEAUCTIONDONATIONID = FINANCIALTRANSACTION.ID
inner join dbo.V_BASECURRENCYFORFINANCIALTRANSACTION_I V with (noexpand) on FINANCIALTRANSACTION.ID = V.FINANCIALTRANSACTIONID
left join dbo.CURRENCY on CURRENCY.ID = V.BASECURRENCYID
left join dbo.CURRENCYEXCHANGERATE on CURRENCYEXCHANGERATE.ID = FINANCIALTRANSACTION.BASEEXCHANGERATEID
where
FINANCIALTRANSACTION.ID = @ID;
-- 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 where ID = @ID;
set @ALLOWGLDISTRIBUTIONS = dbo.UFN_PDACCOUNTSYSTEM_ALLOWGLDISTRIBUTIONS(@PDACCOUNTSYSTEMID);
if @ALLOWGLDISTRIBUTIONS = 0
set @ADJUSTMENTPOSTDATE = null;
return 0;