USP_DATAFORMTEMPLATE_VIEW_REGISTRANTTRAVEL
The load procedure used by the view dataform template "Registrant Travel View"
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. |
@ARRIVALTRAVELTYPE | nvarchar(255) | INOUT | Type |
@ARRIVALTRAVELNAME | nvarchar(255) | INOUT | Name |
@ARRIVALNUMBER | nvarchar(25) | INOUT | Number |
@ARRIVALDATE | datetime | INOUT | Date |
@ARRIVALTIME | UDT_HOURMINUTE | INOUT | Time |
@DEPARTURETRAVELTYPE | nvarchar(255) | INOUT | Type |
@DEPARTURETRAVELNAME | nvarchar(255) | INOUT | Name |
@DEPARTURENUMBER | nvarchar(25) | INOUT | Number |
@DEPARTUREDATE | datetime | INOUT | Date |
@DEPARTURETIME | UDT_HOURMINUTE | INOUT | Time |
@REGISTRANTTRAVELID | uniqueidentifier | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_REGISTRANTTRAVEL
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@ARRIVALTRAVELTYPE nvarchar(255) = null output,
@ARRIVALTRAVELNAME nvarchar(255) = null output,
@ARRIVALNUMBER nvarchar(25) = null output,
@ARRIVALDATE datetime = null output,
@ARRIVALTIME dbo.UDT_HOURMINUTE = null output,
@DEPARTURETRAVELTYPE nvarchar(255) = null output,
@DEPARTURETRAVELNAME nvarchar(255) = null output,
@DEPARTURENUMBER nvarchar(25) = null output,
@DEPARTUREDATE datetime = null output,
@DEPARTURETIME dbo.UDT_HOURMINUTE = null output,
@REGISTRANTTRAVELID uniqueidentifier = null output
)
as
set nocount on;
set @DATALOADED = 0;
declare @REGISTRANTCONSTITUENTID uniqueidentifier = null;
declare @MAINEVENTID uniqueidentifier = null;
declare @REGISTRANTCANTRAVEL bit = 0;
-- Travel information is unique to a constituent and a main event coupling,
-- not to a registrant record.
select
@REGISTRANTCANTRAVEL = 1,
@REGISTRANTCONSTITUENTID = REGISTRANT.CONSTITUENTID,
@MAINEVENTID = case
when EVENT.MAINEVENTID is null then EVENT.ID
else EVENT.MAINEVENTID
end
from
dbo.REGISTRANT
inner join
dbo.EVENT on EVENT.ID = REGISTRANT.EVENTID
where
REGISTRANT.ID = @ID;
select
@DATALOADED = 1,
@ARRIVALTRAVELTYPE = (select EVENTREGISTRANTTRAVELTYPECODE.DESCRIPTION from dbo.EVENTREGISTRANTTRAVELTYPECODE where EVENTREGISTRANTTRAVELTYPECODE.ID = REGISTRANTTRAVEL.REGISTRANTARRIVALTRAVELTYPECODEID),
@ARRIVALTRAVELNAME = (select EVENTREGISTRANTTRAVELNAMECODE.DESCRIPTION from dbo.EVENTREGISTRANTTRAVELNAMECODE where EVENTREGISTRANTTRAVELNAMECODE.ID = REGISTRANTTRAVEL.REGISTRANTARRIVALTRAVELNAMECODEID),
@ARRIVALNUMBER = REGISTRANTTRAVEL.ARRIVALNUMBER,
@ARRIVALDATE = REGISTRANTTRAVEL.ARRIVALDATE,
@ARRIVALTIME = REGISTRANTTRAVEL.ARRIVALTIME,
@DEPARTURETRAVELTYPE = (select EVENTREGISTRANTTRAVELTYPECODE.DESCRIPTION from dbo.EVENTREGISTRANTTRAVELTYPECODE where EVENTREGISTRANTTRAVELTYPECODE.ID = REGISTRANTTRAVEL.REGISTRANTDEPARTURETRAVELTYPECODEID),
@DEPARTURETRAVELNAME = (select EVENTREGISTRANTTRAVELNAMECODE.DESCRIPTION from dbo.EVENTREGISTRANTTRAVELNAMECODE where EVENTREGISTRANTTRAVELNAMECODE.ID = REGISTRANTTRAVEL.REGISTRANTDEPARTURETRAVELNAMECODEID),
@DEPARTURENUMBER = REGISTRANTTRAVEL.DEPARTURENUMBER,
@DEPARTUREDATE = REGISTRANTTRAVEL.DEPARTUREDATE,
@DEPARTURETIME = REGISTRANTTRAVEL.DEPARTURETIME,
@REGISTRANTTRAVELID = ID
from
dbo.REGISTRANTTRAVEL
where
REGISTRANTTRAVEL.REGISTRANTCONSTITUENTID = @REGISTRANTCONSTITUENTID
and
REGISTRANTTRAVEL.MAINEVENTID = @MAINEVENTID;
-- Nulls are acceptable if the registrant can have travel information,
-- but doesn't have a record for it yet.
if @DATALOADED = 0 and @REGISTRANTCANTRAVEL = 1
set @DATALOADED = 1;