USP_DATAFORMTEMPLATE_EDITLOAD_STUDENTENROLLMENT

The load procedure used by the edit dataform template "Student Enrollment 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.
@ISSINGLESCHOOL bit INOUT
@SCHOOLID uniqueidentifier INOUT School enrolled
@SCHOOLNAME nvarchar(154) INOUT School enrolled
@STARTDATE UDT_FUZZYDATE INOUT From
@DATELEFT UDT_FUZZYDATE INOUT To
@CURRENTSTATUS uniqueidentifier INOUT Current status
@STATUSDATE date INOUT Status date
@STATUSREASON nvarchar(100) INOUT Status reason
@DATEGRADUATED UDT_FUZZYDATE INOUT Graduation date
@CLASSOF UDT_YEAR INOUT Class of
@EDUCATIONALREASONLEFTCODEID uniqueidentifier INOUT Reason left

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_STUDENTENROLLMENT(
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @TSLONG bigint = 0 output,
                    @ISSINGLESCHOOL bit = null output,
                    @SCHOOLID uniqueidentifier = null output,
                    @SCHOOLNAME nvarchar(154) = null output,
                    @STARTDATE dbo.UDT_FUZZYDATE = null output,
                    @DATELEFT dbo.UDT_FUZZYDATE = null output,
                    @CURRENTSTATUS uniqueidentifier = null output,
                    @STATUSDATE date = null output,
                    @STATUSREASON nvarchar(100) = null output,
                    @DATEGRADUATED dbo.UDT_FUZZYDATE = null output,
                    @CLASSOF dbo.UDT_YEAR = null output,
                    @EDUCATIONALREASONLEFTCODEID uniqueidentifier = null output
                )
                as

                    set nocount on;

                    -- be sure to set these, in case the select returns no rows

                    set @DATALOADED = 0
                    set @TSLONG = 0
                    set @ISSINGLESCHOOL = dbo.UFN_SCHOOL_ISSINGLESCHOOL();

                    declare @EDUCATIONALHISTORYSTATUSHISTORYID uniqueidentifier;
                    select top 1
                        @EDUCATIONALHISTORYSTATUSHISTORYID = dbo.EDUCATIONALHISTORYSTATUSHISTORY.[ID]
                    from
                        dbo.EDUCATIONALHISTORYSTATUSHISTORY
                    where dbo.EDUCATIONALHISTORYSTATUSHISTORY.[EDUCATIONALHISTORYID] = @ID
                    order by dbo.EDUCATIONALHISTORYSTATUSHISTORY.[DATECHANGED] desc

                    -- populate the output parameters, which correspond to fields on the form.  Note that

                    -- we set @DATALOADED = 1 to indicate that the load was successful.  Otherwise, the system

                    -- will display a "no data loaded" message.  Also note that we fetch the TSLONG so that concurrency

                    -- can be considered.

                    select
                        @DATALOADED = 1,
                        @TSLONG = dbo.EDUCATIONALHISTORY.[TSLONG],
                        @SCHOOLID = dbo.EDUCATIONALHISTORY.[EDUCATIONALINSTITUTIONID],
                        @SCHOOLNAME = dbo.CONSTITUENT.[NAME],
                        @STARTDATE = dbo.EDUCATIONALHISTORY.[STARTDATE],
                        @DATELEFT = dbo.EDUCATIONALHISTORY.[DATELEFT],
                        @CURRENTSTATUS = dbo.EDUCATIONALHISTORYSTATUSHISTORY.[EDUCATIONALHISTORYSTATUSID],
                        @STATUSDATE = dbo.EDUCATIONALHISTORYSTATUSHISTORY.[STATUSDATE],
                        @STATUSREASON = dbo.EDUCATIONALHISTORYSTATUSHISTORY.[STATUSREASON],
                        @DATEGRADUATED = dbo.EDUCATIONALHISTORY.[DATEGRADUATED],
                        @CLASSOF = dbo.EDUCATIONALHISTORY.[CLASSOF],
                        @EDUCATIONALREASONLEFTCODEID = dbo.EDUCATIONALHISTORY.[EDUCATIONALREASONLEFTCODEID]
                    from dbo.EDUCATIONALHISTORY
                    inner join dbo.CONSTITUENT on dbo.EDUCATIONALHISTORY.[EDUCATIONALINSTITUTIONID] = dbo.CONSTITUENT.[ID]
                    inner join dbo.EDUCATIONALHISTORYSTATUSHISTORY on (dbo.EDUCATIONALHISTORYSTATUSHISTORY.[EDUCATIONALHISTORYID] = dbo.EDUCATIONALHISTORY.[ID]) and (dbo.EDUCATIONALHISTORYSTATUSHISTORY.[ID] = @EDUCATIONALHISTORYSTATUSHISTORYID)
                    where dbo.EDUCATIONALHISTORY.[ID] = @ID

                    return 0;