USP_DATAFORMTEMPLATE_ADD_STUDENTENROLLMENT

The save procedure used by the add dataform template "Student Enrollment Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@STUDENTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@SCHOOLID uniqueidentifier IN School enrolled
@STARTDATE UDT_FUZZYDATE IN From
@DATELEFT UDT_FUZZYDATE IN To
@CURRENTSTATUS uniqueidentifier IN Current status
@STATUSDATE date IN Status date
@STATUSREASON nvarchar(100) IN Status reason
@DATEGRADUATED UDT_FUZZYDATE IN Graduation date
@CLASSOF UDT_YEAR IN Class of

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_STUDENTENROLLMENT
                (
                    @ID uniqueidentifier = null output,
                    @STUDENTID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @SCHOOLID uniqueidentifier = null,
                    @STARTDATE dbo.UDT_FUZZYDATE = null,
                    @DATELEFT dbo.UDT_FUZZYDATE = null,
                    @CURRENTSTATUS uniqueidentifier = null,
                    @STATUSDATE date = null,
                    @STATUSREASON nvarchar(100) = null,
                    @DATEGRADUATED dbo.UDT_FUZZYDATE = null,
                    @CLASSOF dbo.UDT_YEAR = null
                )
                as

                set nocount on;

                if @ID is null
                    set @ID = newid()

                if @CHANGEAGENTID is null  
                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

                declare @CURRENTDATE datetime
                set @CURRENTDATE = getdate()

                begin try
          -- Check to see that this entry is unique

          if (dbo.UFN_EDUCATIONALHISTORY_ISUNIQUEENROLLMENT(@ID, @STUDENTID, @SCHOOLID, @STARTDATE, @DATELEFT) = 0)
          begin
            raiserror('BBERR_STUDENTENROLLMENT_ISNOTUNIQUE', 13, 1); 
          end

          -- Get the RO source ID

                    declare @SOURCEID uniqueidentifier
                    exec dbo.USP_EDUCATIONALHISTORY_RO_EDUCATIONALSOURCEID @SOURCEID output

                    -- handle inserting the data

                    insert into dbo.EDUCATIONALHISTORY
                        (ID, CONSTITUENTID, EDUCATIONALINSTITUTIONID, STARTDATE, DATELEFT, DATEGRADUATED, CLASSOF, EDUCATIONALSOURCECODEID, EDUCATIONALSOURCEDATE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                    values
                        (@ID, @STUDENTID, @SCHOOLID, @STARTDATE, @DATELEFT, @DATEGRADUATED, @CLASSOF, @SOURCEID, convert(varchar(8), getdate(), 112), @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

                    -- insert enrollment status information

                    INSERT INTO [dbo].[EDUCATIONALHISTORYSTATUSHISTORY]
                            (
                                [EDUCATIONALHISTORYID],
                                [EDUCATIONALHISTORYSTATUSID],
                                [STATUSDATE],
                                [STATUSREASON],
                                [ADDEDBYID],
                                [CHANGEDBYID],
                                [DATEADDED],
                                [DATECHANGED]
                                )
                                values
                                (
                                @ID,
                                @CURRENTSTATUS,
                                @STATUSDATE,
                                @STATUSREASON,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE
                            )
                end try

                begin catch
                    exec dbo.USP_RAISE_ERROR
                    return 1
                end catch

                return 0