USP_ORDERPAYMENT_PRELOAD_ADD
Returns parameters for the order payment form.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SALESORDERID | uniqueidentifier | IN | |
@BALANCE | money | INOUT | |
@CONSTITUENTID | uniqueidentifier | INOUT | |
@ADDRESS | nvarchar(150) | INOUT | |
@CITY | nvarchar(50) | INOUT | |
@STATEID | uniqueidentifier | INOUT | |
@POSTCODE | nvarchar(12) | INOUT | |
@SALESMETHODID | uniqueidentifier | INOUT | |
@SALESMETHODTYPECODE | tinyint | INOUT | |
@COUNTRYID | uniqueidentifier | INOUT |
Definition
Copy
CREATE procedure dbo.USP_ORDERPAYMENT_PRELOAD_ADD
(
@SALESORDERID uniqueidentifier,
@BALANCE money = null output,
@CONSTITUENTID uniqueidentifier = null output,
@ADDRESS nvarchar(150) = null output,
@CITY nvarchar(50) = null output,
@STATEID uniqueidentifier = null output,
@POSTCODE nvarchar(12) = null output,
@SALESMETHODID uniqueidentifier = null output,
@SALESMETHODTYPECODE tinyint = null output,
@COUNTRYID uniqueidentifier = null output
)
as
set nocount on;
-- Confirm delivery method is set and is not blocked
declare @DELIVERYMETHODID uniqueidentifier;
select @DELIVERYMETHODID = DELIVERYMETHODID,
@CONSTITUENTID = CONSTITUENTID,
@SALESMETHODID = (select top 1 ID from dbo.SALESMETHOD where SALESMETHOD.TYPECODE = SALESORDER.SALESMETHODTYPECODE),
@SALESMETHODTYPECODE = SALESMETHODTYPECODE
from dbo.SALESORDER
where SALESORDER.ID = @SALESORDERID;
if @SALESMETHODTYPECODE in (0, 1)
begin
if @DELIVERYMETHODID is null
begin
raiserror('BBERR_DELIVERYMETHODREQUIRED', 13, 1);
return 1;
end
if dbo.UFN_DELIVERYMETHOD_VALIDFORORDER(@DELIVERYMETHODID, @SALESORDERID) = 0
begin
raiserror('BBERR_INVALIDDELIVERYMETHOD', 13, 1);
return 1;
end
-- Confirm required fields for delivery method are set
-- We have to ensure the address actually has an address!
if 0 = dbo.UFN_SALESORDER_VALIDATEDELIVERY(@SALESORDERID)
begin
raiserror('BBERR_RECIPIENTINFOMISSING', 13, 1);
return 1;
end
--See if a membership on the order is invalid
declare @MEMBERSHIPERRORCODE tinyint = dbo.UFN_SALESORDER_EXISTSINVALIDMEMBERSHIP_CODE(@SALESORDERID)
--Code 1: No primary member. Doesn't matter here... This won't affect pricing
if @MEMBERSHIPERRORCODE = 2
raiserror('BBERR_MEMBERSHIPWITHINACTIVELEVEL', 13, 1);
else if @MEMBERSHIPERRORCODE = 3
raiserror('BBERR_MEMBERSHIPWITHINACTIVETERM', 13, 1);
else if @MEMBERSHIPERRORCODE = 4
raiserror('BBERR_MEMBERSHIP_INACTIVELEVELANDTERM', 13, 1);
end
-- Taking this out of the load because it raises the error even for security deposit payments.
-- This can be added back in once security deposit has its own add form and preload.
--else
--begin
-- if isnull((select PRICINGCODE from dbo.RESERVATION where ID = @SALESORDERID),0) = 1 and
-- dbo.UFN_RESERVATIONRATESCALE_ISAPPLIED(@SALESORDERID) = 0
-- begin
-- raiserror('BBERR_RESERVATIONNOTAPPLIED', 13, 1);
-- return 1;
-- end
--end
set @BALANCE = dbo.UFN_SALESORDER_GETAMOUNTDUE(@SALESORDERID);
select @ADDRESS = ADDRESSBLOCK,
@CITY = CITY,
@STATEID = STATEID,
@POSTCODE = POSTCODE,
@COUNTRYID = COUNTRYID
from dbo.ADDRESS
where CONSTITUENTID = @CONSTITUENTID and ISPRIMARY = 1;
if @COUNTRYID is null
set @COUNTRYID = dbo.UFN_COUNTRY_GETDEFAULT()