USP_DATAFORMTEMPLATE_EDITLOAD_AUCTIONITEM
The load procedure used by the edit dataform template "Auction Item Edit 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. |
@NAME | nvarchar(100) | INOUT | Name |
@DESIGNATIONID | uniqueidentifier | INOUT | Designation |
@EVENTAUCTIONID | uniqueidentifier | INOUT | Auction |
@DESCRIPTION | nvarchar(255) | INOUT | Description |
@AUCTIONITEMCATEGORYID | uniqueidentifier | INOUT | Category |
@AUCTIONITEMSUBCATEGORYID | uniqueidentifier | INOUT | Subcategory |
@DONORID | uniqueidentifier | INOUT | Donor |
@DONATIONDATE | date | INOUT | Donation date |
@EXPIRATIONDATE | date | INOUT | Expiration date |
@VALUE | money | INOUT | Value |
@MINIMUMBID | money | INOUT | Minimum bid |
@REVENUEAUCTIONDONATIONID | uniqueidentifier | INOUT | Revenue ID |
@ISANONYMOUS | bit | INOUT | Donation is anonymous |
@ISPOSTED | bit | INOUT | Is posted |
@POSTDATE | datetime | INOUT | Post date |
@POSTSTATUSCODE | tinyint | INOUT | Post status |
@PACKAGEID | uniqueidentifier | INOUT | Package |
@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 |
@BASEDECIMALDIGITS | tinyint | INOUT | Decimal digits |
@BASEROUNDINGTYPECODE | tinyint | INOUT | Rounding type |
@TRANSACTIONCURRENCYDESCRIPTION | nvarchar(110) | INOUT | Transaction currency description |
@USERGRANTEDSPOTRATE | bit | INOUT | User granted spot rate |
@ALLOWGLDISTRIBUTIONS | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_AUCTIONITEM(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@NAME nvarchar(100) = null output,
@DESIGNATIONID uniqueidentifier = null output,
@EVENTAUCTIONID uniqueidentifier = null output,
@DESCRIPTION nvarchar(255) = null output,
@AUCTIONITEMCATEGORYID uniqueidentifier = null output,
@AUCTIONITEMSUBCATEGORYID uniqueidentifier = null output,
@DONORID uniqueidentifier = null output,
@DONATIONDATE date = null output,
@EXPIRATIONDATE date = null output,
@VALUE money = null output,
@MINIMUMBID money = null output,
@REVENUEAUCTIONDONATIONID uniqueidentifier = null output,
@ISANONYMOUS bit = null output,
@ISPOSTED bit = null output,
@POSTDATE datetime = null output,
@POSTSTATUSCODE tinyint = null output,
@PACKAGEID 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,
@BASEDECIMALDIGITS tinyint = null output,
@BASEROUNDINGTYPECODE tinyint = null output,
@TRANSACTIONCURRENCYDESCRIPTION nvarchar(110) = null output,
@USERGRANTEDSPOTRATE bit = null output,
@ALLOWGLDISTRIBUTIONS bit = null output
)
as
set nocount on;
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;*/
select
@DATALOADED = 1,
@TSLONG = AUCTIONITEM.TSLONG,
@NAME = AUCTIONITEM.NAME,
@AUCTIONITEMCATEGORYID = AUCTIONITEM.AUCTIONITEMCATEGORYID,
@AUCTIONITEMSUBCATEGORYID = AUCTIONITEM.AUCTIONITEMSUBCATEGORYID,
@DESCRIPTION = AUCTIONITEM.DESCRIPTION,
@VALUE = AUCTIONITEM.TRANSACTIONVALUE,
@MINIMUMBID = AUCTIONITEM.TRANSACTIONMINIMUMBID,
@DONATIONDATE = REVENUE.DATE,
@EXPIRATIONDATE = AUCTIONITEM.EXPIRATIONDATE,
@DONORID = REVENUE.CONSTITUENTID,
@EVENTAUCTIONID = AUCTIONITEM.EVENTAUCTIONID,
@DESIGNATIONID = REVENUESPLIT.DESIGNATIONID,
@REVENUEAUCTIONDONATIONID = AUCTIONITEM.REVENUEAUCTIONDONATIONID,
@ISANONYMOUS = REVENUE.GIVENANONYMOUSLY,
@ISPOSTED = case when REVENUEPOSTED.ID is null then 0 else 1 end,
@POSTDATE = REVENUE.POSTDATE,
@POSTSTATUSCODE = case when REVENUE.DONOTPOST = 1 then 2 when REVENUEPOSTED.ID is not null then 0 else 1 end,
@PACKAGEID = AUCTIONITEM.PACKAGEID,
@BASECURRENCYID = REVENUE.BASECURRENCYID,
@TRANSACTIONCURRENCYID = REVENUE.TRANSACTIONCURRENCYID,
@BASEEXCHANGERATEID = REVENUE.BASEEXCHANGERATEID,
@EXCHANGERATE =
case
when REVENUE.BASEEXCHANGERATEID is not null
then CURRENCYEXCHANGERATE.RATE
when REVENUE.TRANSACTIONCURRENCYID = REVENUE.BASECURRENCYID
then 1
else 0
end,
@HADSPOTRATE =
case
when CURRENCYEXCHANGERATE.TYPECODE = 2
then 1
else 0
end,
@BASEDECIMALDIGITS = CURRENCY.DECIMALDIGITS,
@BASEROUNDINGTYPECODE = CURRENCY.ROUNDINGTYPECODE,
@TRANSACTIONCURRENCYDESCRIPTION = dbo.UFN_CURRENCY_GETDESCRIPTION(REVENUE.TRANSACTIONCURRENCYID)
from dbo.AUCTIONITEM
inner join dbo.REVENUE
on REVENUE.ID = AUCTIONITEM.REVENUEAUCTIONDONATIONID
inner join dbo.REVENUESPLIT
on REVENUESPLIT.REVENUEID = REVENUE.ID
left join dbo.REVENUEPOSTED
on REVENUEPOSTED.ID = REVENUE.ID
left join dbo.CURRENCY
on CURRENCY.ID = REVENUE.BASECURRENCYID
left join dbo.CURRENCYEXCHANGERATE
on CURRENCYEXCHANGERATE.ID = REVENUE.BASEEXCHANGERATEID
where AUCTIONITEM.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 = @REVENUEAUCTIONDONATIONID
set @ALLOWGLDISTRIBUTIONS = dbo.UFN_PDACCOUNTSYSTEM_ALLOWGLDISTRIBUTIONS(@PDACCOUNTSYSTEMID);
return 0;