USP_DATAFORMTEMPLATE_VIEW_RESERVATIONDETAILPAGEDATA
The load procedure used by the view dataform template "Reservation Detail Page Data View 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. |
| @CONSTITUENTID | uniqueidentifier | INOUT | CONSTITUENTID |
| @ORDERNUMBER | int | INOUT | ORDERNUMBER |
| @CONSTITUENTNAME | nvarchar(154) | INOUT | CONSTITUENTNAME |
| @ISORGANIZATION | bit | INOUT | ISORGANIZATION |
| @AMOUNTDUE | money | INOUT | AMOUNTDUE |
| @DEPOSITREQUIRED | bit | INOUT | DEPOSITREQUIRED |
| @FINALCOUNTREQUIRED | bit | INOUT | FINALCOUNTREQUIRED |
| @CONTRACTREQUIRED | bit | INOUT | CONTRACTREQUIRED |
| @ORDERSTATUSCODE | tinyint | INOUT | ORDERSTATUSCODE |
| @ORDERTICKETTOTAL | money | INOUT | ORDERTICKETTOTAL |
| @ORDERHASRESOURCE | bit | INOUT | ORDERHASRESOURCE |
| @ORDERRESOURCETOTAL | money | INOUT | ORDERRESOURCETOTAL |
| @ORDERHASSTAFFRESOURCE | bit | INOUT | ORDERHASSTAFFRESOURCE |
| @ORDERSTAFFRESOURCETOTAL | money | INOUT | ORDERSTAFFRESOURCETOTAL |
| @ORDERHASADJUSTMENT | bit | INOUT | ORDERHASADJUSTMENT |
| @ORDERADJUSTMENTTOTAL | money | INOUT | ORDERADJUSTMENTTOTAL |
| @CANCOMPLETE | bit | INOUT | CANCOMPLETE |
| @PRICINGCODE | tinyint | INOUT | PRICINGCODE |
| @ORDERBALANCESENT | bit | INOUT | ORDERBALANCESENT |
| @HASUNSCHEDULEDITEMS | bit | INOUT | HASUNSCHEDULEDITEMS |
| @CONTACTCONSTITUENTID | uniqueidentifier | INOUT | CONTACTCONSTITUENTID |
| @CONTACTNAME | nvarchar(154) | INOUT | CONTACTNAME |
| @ORDERPAYMENTCOUNT | tinyint | INOUT | ORDERPAYMENTCOUNT |
| @ORDERHASADDITIONALTICKETS | bit | INOUT | ORDERHASADDITIONALTICKETS |
| @HASUNASSIGNEDSTAFFRESOURCES | bit | INOUT | HASUNASSIGNEDSTAFFRESOURCES |
| @SECURITYDEPOSITREQUIRED | bit | INOUT | SECURITYDEPOSITREQUIRED |
| @SECURITYDEPOSITDUE | money | INOUT | SECURITYDEPOSITDUE |
| @ORDERFLATRATETOTAL | money | INOUT | ORDERFLATRATETOTAL |
| @ORDERADDITIONALTICKETSTOTAL | money | INOUT | ORDERADDITIONALTICKETSTOTAL |
| @ORDERHASLOCATION | bit | INOUT | ORDERHASLOCATION |
| @ORDERLOCATIONTOTAL | money | INOUT | ORDERLOCATIONTOTAL |
| @DEPOSITTYPECODE | int | INOUT | |
| @SECURITYDEPOSITTYPECODE | int | INOUT | |
| @DEPOSITREQUIREDDEFAULT | bit | INOUT | |
| @SECURITYDEPOSITREQUIREDDEFAULT | bit | INOUT | |
| @RESERVATIONNAME | nvarchar(100) | INOUT | |
| @ISREFUNDABLE | bit | INOUT | |
| @ISSECURITYDEPOSITEREFUNDABLE | bit | INOUT | |
| @TAXES | money | INOUT | |
| @ISTAXEXEMPT | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_RESERVATIONDETAILPAGEDATA
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@CONSTITUENTID uniqueidentifier = null output,
@ORDERNUMBER int = null output,
@CONSTITUENTNAME nvarchar(154) = null output,
@ISORGANIZATION bit = null output,
@AMOUNTDUE money = null output,
@DEPOSITREQUIRED bit = null output,
@FINALCOUNTREQUIRED bit = null output,
@CONTRACTREQUIRED bit = null output,
@ORDERSTATUSCODE tinyint = null output,
@ORDERTICKETTOTAL money = null output,
@ORDERHASRESOURCE bit = null output,
@ORDERRESOURCETOTAL money = null output,
@ORDERHASSTAFFRESOURCE bit = null output,
@ORDERSTAFFRESOURCETOTAL money = null output,
@ORDERHASADJUSTMENT bit = null output,
@ORDERADJUSTMENTTOTAL money = null output,
@CANCOMPLETE bit = null output,
@PRICINGCODE tinyint = null output,
@ORDERBALANCESENT bit = null output,
@HASUNSCHEDULEDITEMS bit = null output,
@CONTACTCONSTITUENTID uniqueidentifier = null output,
@CONTACTNAME nvarchar(154) = null output,
@ORDERPAYMENTCOUNT tinyint = null output,
@ORDERHASADDITIONALTICKETS bit = null output,
@HASUNASSIGNEDSTAFFRESOURCES bit = null output,
@SECURITYDEPOSITREQUIRED bit = null output,
@SECURITYDEPOSITDUE money = null output,
@ORDERFLATRATETOTAL money = null output,
@ORDERADDITIONALTICKETSTOTAL money = null output,
@ORDERHASLOCATION bit = null output,
@ORDERLOCATIONTOTAL money = null output,
@DEPOSITTYPECODE int = null output,
@SECURITYDEPOSITTYPECODE int = null output,
@DEPOSITREQUIREDDEFAULT bit = null output,
@SECURITYDEPOSITREQUIREDDEFAULT bit = null output,
@RESERVATIONNAME nvarchar(100) = null output,
@ISREFUNDABLE bit = null output,
@ISSECURITYDEPOSITEREFUNDABLE bit = null output,
@TAXES money = null output,
@ISTAXEXEMPT bit = null output
)
as
set nocount on;
set @DATALOADED = 0;
declare @CURRENTDATE date;
set @CURRENTDATE = getdate();
select
@DATALOADED = 1,
@CONSTITUENTID = SALESORDER.CONSTITUENTID,
@ORDERNUMBER = SALESORDER.SEQUENCEID,
@ISORGANIZATION = CONSTITUENT.ISORGANIZATION,
@CONSTITUENTNAME = CONSTITUENT.NAME,
@DEPOSITREQUIRED = DEPOSITREQUIRED,
@FINALCOUNTREQUIRED = FINALCOUNTREQUIRED,
@CONTRACTREQUIRED = CONTRACTREQUIRED,
@ORDERSTATUSCODE = [SALESORDER].[STATUSCODE],
@ORDERTICKETTOTAL = dbo.UFN_SALESORDER_GETTICKETOTAL(@ID),
@ORDERHASRESOURCE = coalesce((select 1 where exists(select [ID] from dbo.SALESORDERITEM where SALESORDERITEM.SALESORDERID = @ID and SALESORDERITEM.TYPECODE in (8,9))), 0),
@ORDERRESOURCETOTAL = dbo.UFN_RESERVATION_GETRESOURCETOTAL(@ID),
@ORDERHASSTAFFRESOURCE = coalesce((select 1 where exists(select [ID] from dbo.SALESORDERITEM where SALESORDERITEM.SALESORDERID = @ID and SALESORDERITEM.TYPECODE in (10,11))), 0),
@ORDERSTAFFRESOURCETOTAL = dbo.UFN_RESERVATION_GETSTAFFRESOURCETOTAL(@ID),
@ORDERHASADJUSTMENT = coalesce((select 1 where exists(select [ID] from dbo.SALESORDERITEM where SALESORDERITEM.SALESORDERID = @ID and SALESORDERITEM.TYPECODE in (3,4,5))), 0),
@ORDERADJUSTMENTTOTAL = dbo.UFN_SALESORDER_GETORDERADJUSTMENTTOTAL(@ID),
@CANCOMPLETE = case when ARRIVALDATE <= @CURRENTDATE and STATUSCODE not in (1, 5)
then 1
else 0
end,
@ISSECURITYDEPOSITEREFUNDABLE = case when SECURITYDEPOSITSTATUSCODE > 0
then 1
else 0
end,
@PRICINGCODE = PRICINGCODE,
@ORDERBALANCESENT = [RESERVATION].[ORDERBALANCESENT],
@CONTACTCONSTITUENTID = SALESORDER.RECIPIENTID,
@CONTACTNAME = dbo.UFN_CONSTITUENT_BUILDNAME(SALESORDER.RECIPIENTID),
@ORDERPAYMENTCOUNT = dbo.UFN_RESERVATION_GETPAYMENTCOUNT(@ID),
@SECURITYDEPOSITREQUIRED = SECURITYDEPOSITREQUIRED,
@SECURITYDEPOSITDUE = dbo.UFN_RESERVATION_GETSECURITYDEPOSITAMOUNTDUE(@ID),
@ORDERHASLOCATION = coalesce((select 1 where exists(select [ID] from dbo.SALESORDERITEM where SALESORDERITEM.SALESORDERID = @ID and SALESORDERITEM.TYPECODE = 7) ), 0),
@RESERVATIONNAME = RESERVATION.NAME
from
dbo.RESERVATION
inner join
dbo.SALESORDER on RESERVATION.ID = SALESORDER.ID
inner join
dbo.CONSTITUENT on SALESORDER.CONSTITUENTID = CONSTITUENT.ID
where
RESERVATION.ID = @ID;
if @DATALOADED = 1
begin
set @AMOUNTDUE = dbo.UFN_RESERVATION_GETAMOUNTDUE(@ID);
if exists(select top 1 1
from dbo.ITINERARYITEM
inner join dbo.ITINERARY on ITINERARYITEM.ITINERARYID = ITINERARY.ID
where ITINERARY.RESERVATIONID = @ID and ITINERARYITEM.INVALIDREASONCODE <> 0)
set @HASUNSCHEDULEDITEMS = 1;
else
set @HASUNSCHEDULEDITEMS = 0;
if @PRICINGCODE = 1
begin
set @ORDERHASADDITIONALTICKETS = 0
-- Find out if there are items outside the flat rate
-- and get their total if they exist
if exists (select 1 from dbo.SALESORDERITEM where PRICINGSTRUCTURECODE <> 1 and TYPECODE = 0 and SALESORDERID = @ID)
begin
set @ORDERHASADDITIONALTICKETS = 1
declare @TICKETFEES money;
declare @TICKETDISCOUNTS money;
select @ORDERADDITIONALTICKETSTOTAL = sum(TOTAL)
from dbo.SALESORDERITEM
where PRICINGSTRUCTURECODE <> 1 and TYPECODE = 0 and SALESORDERID = @ID
select @TICKETFEES = coalesce(sum([SALESORDERITEM].[TOTAL]), 0)
from dbo.[SALESORDERITEM]
inner join dbo.[SALESORDERITEMFEE] on [SALESORDERITEM].[ID] = [SALESORDERITEMFEE].[ID]
where
[SALESORDERITEM].[SALESORDERID] = @ID and
[SALESORDERITEMFEE].[APPLIESTOCODE] = 1 and
[SALESORDERITEMFEE].[SALESORDERITEMID] in
(select [ID] from dbo.[SALESORDERITEM]
where [SALESORDERITEM].[SALESORDERID] = @ID and
[SALESORDERITEM].[TYPECODE] = 0 and
[SALESORDERITEM].[PRICINGSTRUCTURECODE] <> 1)
select @TICKETDISCOUNTS = coalesce(sum([SALESORDERITEMITEMDISCOUNT].[AMOUNT]), 0)
from dbo.[SALESORDERITEMITEMDISCOUNT]
inner join [SALESORDERITEM] on [SALESORDERITEMITEMDISCOUNT].[SALESORDERITEMID] = [SALESORDERITEM].[ID]
where
[SALESORDERITEM].[TYPECODE] = 0 and
[SALESORDERITEM].[SALESORDERID] = @ID and
[SALESORDERITEM].[PRICINGSTRUCTURECODE] <> 1
set @ORDERADDITIONALTICKETSTOTAL = (@ORDERADDITIONALTICKETSTOTAL + @TICKETFEES) - @TICKETDISCOUNTS;
end
else
begin
set @ORDERADDITIONALTICKETSTOTAL = 0
end
-- Get the flat rate price for tickets
select
@ORDERFLATRATETOTAL = coalesce(sum(AMOUNT), 0.0)
from dbo.RESERVATIONRATESCALEAPPLICATION
where RESERVATIONRATESCALEID = @ID and TYPECODE = 0
end
else
begin
set @ORDERHASADDITIONALTICKETS = 0
end
if @ORDERHASSTAFFRESOURCE = 1
begin
set @HASUNASSIGNEDSTAFFRESOURCES = dbo.UFN_RESERVATION_HASUNASSIGNEDSTAFFRESOURCES(@ID);
end
else
begin
set @HASUNASSIGNEDSTAFFRESOURCES = 0
end
if @ORDERHASLOCATION = 1
begin
select
@ORDERLOCATIONTOTAL = sum(TOTAL)
from dbo.SALESORDERITEM
where
SALESORDERID = @ID and
TYPECODE = 7
end
select
@DEPOSITTYPECODE = DEPOSITTYPECODE,
@SECURITYDEPOSITTYPECODE = SECURITYDEPOSITTYPECODE,
@DEPOSITREQUIREDDEFAULT = DEPOSITREQUIRED,
@SECURITYDEPOSITREQUIREDDEFAULT = SECURITYDEPOSITREQUIRED
from dbo.GROUPSALESDEFAULT
declare @SALESORDERBALANCE money;
declare @SALESORDERREFUNDS money;
declare @SALESORDERAMOUNTPAID money;
select
@SALESORDERBALANCE = BALANCE,
@SALESORDERREFUNDS = REFUNDS,
@SALESORDERAMOUNTPAID = AMOUNTPAID
from
dbo.UFN_SALESORDER_TOTALS(@ID)
if @ORDERSTATUSCODE = 1
begin
if @SALESORDERBALANCE < 0
set @ISREFUNDABLE = 1
else
set @ISREFUNDABLE = 0
end
else
begin
if @SALESORDERAMOUNTPAID > @SALESORDERREFUNDS
set @ISREFUNDABLE = 1
else
set @ISREFUNDABLE = 0
end
select @TAXES = TAXES from dbo.UFN_SALESORDER_TOTALS(@ID);
set @ISTAXEXEMPT = dbo.UFN_SALESORDER_ISTAXEXEMPT(@ID);
end
return 0;