USP_DATAFORMTEMPLATE_VIEW_GroupSalesCheckOutDetail
The load procedure used by the view dataform template "Group Sales Check Out Detail 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. |
@CREDITID | uniqueidentifier | INOUT | Credit ID |
@NAME | nvarchar(100) | INOUT | NAME |
@AMOUNTCHARGED | money | INOUT | Amount charged |
@AMOUNTPAID | money | INOUT | Amount paid |
@STATUSCODE | int | INOUT | Status code |
@REFUNDHISTORY | xml | INOUT | Refund history |
@WITHHOLDAMOUNT | money | INOUT | Withhold amount |
@WITHHOLDREASON | nvarchar(100) | INOUT | Withhold reason |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_GroupSalesCheckOutDetail
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@CREDITID uniqueidentifier = null output,
@NAME nvarchar(100) = null output,
@AMOUNTCHARGED money = null output,
@AMOUNTPAID money = null output,
@STATUSCODE int = null output,
@REFUNDHISTORY xml = null output,
@WITHHOLDAMOUNT money = null output,
@WITHHOLDREASON nvarchar(100) = null output
)
as
set nocount on;
set @DATALOADED = 0;
select @DATALOADED = 1,
@NAME = RESERVATION.NAME,
@AMOUNTCHARGED = SECURITYDEPOSITAMOUNT,
@AMOUNTPAID = (select sum(AMOUNT) from dbo.RESERVATIONSECURITYDEPOSITPAYMENT where RESERVATIONID = RESERVATION.ID),
@STATUSCODE = RESERVATION.SECURITYDEPOSITSTATUSCODE,
@WITHHOLDAMOUNT = case SECURITYDEPOSITSTATUSCODE
when 0 then 0
when 1 then 0
when 2 then 0
when 3 then (select sum(AMOUNT) from dbo.RESERVATIONSECURITYDEPOSITPAYMENT where RESERVATIONID = RESERVATION.ID)
when 4 then (select sum(AMOUNT) from dbo.RESERVATIONSECURITYDEPOSITPAYMENT where RESERVATIONID = RESERVATION.ID) -
(select sum(CREDITPAYMENT.AMOUNT) from CREDITPAYMENT
inner join dbo.REVENUESPLIT
on CREDITPAYMENT.REVENUESPLITID = REVENUESPLIT.ID
inner join dbo.CREDIT
on CREDITPAYMENT.CREDITID = CREDIT.ID
where REVENUESPLIT.TYPECODE = 13
and CREDIT.SALESORDERID = @ID
)
end,
@WITHHOLDREASON = case SECURITYDEPOSITSTATUSCODE
when 0 then null
when 1 then null
when 2 then null
when 3 then RESERVATIONSECURITYDEPOSITWITHHOLDREASONCODE.DESCRIPTION
when 4 then RESERVATIONSECURITYDEPOSITWITHHOLDREASONCODE.DESCRIPTION
end
from dbo.RESERVATION
left join dbo.RESERVATIONSECURITYDEPOSITWITHHOLDREASONCODE on RESERVATION.SECURITYDEPOSITWITHHOLDREASONCODEID = RESERVATIONSECURITYDEPOSITWITHHOLDREASONCODE.ID
where RESERVATION.ID = @ID
set @REFUNDHISTORY = (select CREDIT.TRANSACTIONDATE as REFUNDDATE,
CREDITPAYMENT.AMOUNT as REFUNDAMOUNT,
CREDITPAYMENT.PAYMENTMETHOD as REFUNDMETHOD
from dbo.CREDITPAYMENT
inner join dbo.REVENUESPLIT on CREDITPAYMENT.REVENUESPLITID = REVENUESPLIT.ID
inner join dbo.CREDIT on CREDITPAYMENT.CREDITID = CREDIT.ID
inner join dbo.RESERVATION on CREDIT.SALESORDERID = RESERVATION.ID
where REVENUESPLIT.TYPECODE = 13 and RESERVATION.ID = @ID
order by CREDIT.TRANSACTIONDATE
for xml raw('ITEM'), type, elements, root('REFUNDHISTORY'), binary base64
)
select @CREDITID = CREDIT.ID
from dbo.RESERVATION
inner join dbo.RESERVATIONSECURITYDEPOSITPAYMENT on RESERVATIONSECURITYDEPOSITPAYMENT.RESERVATIONID = RESERVATION.ID
left join dbo.CREDIT ON RESERVATION.ID = CREDIT.SALESORDERID
where RESERVATION.ID = @ID;
return 0;