USP_DATAFORMTEMPLATE_ADD_STUDENTENROLLCONSTITUENT

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

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CONSTITUENTID 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
@ACADEMICYEARID uniqueidentifier IN Academic year
@SCHOOLGRADELEVELID uniqueidentifier IN Grade level
@DATEENROLLED UDT_FUZZYDATE IN Date enrolled
@STUDENTENROLLMENTSTATUS uniqueidentifier IN Current status

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_STUDENTENROLLCONSTITUENT
                (
                    @ID uniqueidentifier = null output,
                    @CONSTITUENTID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @SCHOOLID uniqueidentifier = null,
                    @ACADEMICYEARID uniqueidentifier = null,
                    @SCHOOLGRADELEVELID uniqueidentifier = null,
                    @DATEENROLLED dbo.UDT_FUZZYDATE = null,
                    @STUDENTENROLLMENTSTATUS uniqueidentifier
                )
                as

                set nocount on;

                set @ID = @CONSTITUENTID

                declare @ENROLLMENTID as uniqueidentifier
                    set @ENROLLMENTID = newid()

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

                declare @CURRENTDATE datetime
                set @CURRENTDATE = getdate()

                declare @STARTDATE date, @ENDDATE date
                select @STARTDATE = dbo.ACADEMICYEAR.[STARTDATE], @ENDDATE = dbo.ACADEMICYEAR.[ENDDATE]
                from dbo.ACADEMICYEAR
                where dbo.ACADEMICYEAR.[ID] = @ACADEMICYEARID

                begin try
                    /*Start student*/
                    INSERT INTO [dbo].[STUDENT]
                        (
                        [ID],
                        [ADDEDBYID],
                        [CHANGEDBYID],
                        [DATEADDED],
                        [DATECHANGED]
                        )
                        values
                        (
                        @ID,
                        @CHANGEAGENTID,
                        @CHANGEAGENTID,
                        @CURRENTDATE,
                        @CURRENTDATE
                        )
                    /*End student*/

                    /*Start student enrollment*/
                    INSERT INTO [dbo].[EDUCATIONALHISTORY]
                        (
                        [ID],
                        [CONSTITUENTID],
                        [EDUCATIONALINSTITUTIONID],
                        [STARTDATE],
                        [ADDEDBYID],
                        [CHANGEDBYID],
                        [DATEADDED],
                        [DATECHANGED]
                        )
                        values
                        (
                        @ENROLLMENTID,
                        @ID,
                        @SCHOOLID,
                        @DATEENROLLED,
                        @CHANGEAGENTID,
                        @CHANGEAGENTID,
                        @CURRENTDATE,
                        @CURRENTDATE
                        )
                    /*End student enrollment*/

                    /*Start student enrollment status history*/
                    INSERT INTO [dbo].[EDUCATIONALHISTORYSTATUSHISTORY]
                        (
                        [EDUCATIONALHISTORYID],
                        [EDUCATIONALHISTORYSTATUSID],
                        [STATUSDATE],
                        [ADDEDBYID],
                        [CHANGEDBYID],
                        [DATEADDED],
                        [DATECHANGED]
                        )
                        values
                        (
                        @ENROLLMENTID,
                        @STUDENTENROLLMENTSTATUS,
                        @DATEENROLLED,
                        @CHANGEAGENTID,
                        @CHANGEAGENTID,
                        @CURRENTDATE,
                        @CURRENTDATE
                        )
                    /*End student enrollment status history*/

                    /*Start Student Progression*/
                    INSERT INTO [dbo].[STUDENTPROGRESSION]
                        (
                        [ENROLLMENTID],
                        [SCHOOLGRADELEVELID],
                        [STARTDATE],
                        [ENDDATE],
                        [ADDEDBYID],
                        [CHANGEDBYID],
                        [DATEADDED],
                        [DATECHANGED]
                        )
                        values
                        (
                        @ENROLLMENTID,
                        @SCHOOLGRADELEVELID,
                        @STARTDATE,
                        @ENDDATE,
                        @CHANGEAGENTID,
                        @CHANGEAGENTID,
                        @CURRENTDATE,
                        @CURRENTDATE
                        );


                end try

                begin catch
                    exec dbo.USP_RAISE_ERROR
                    return 1
                end catch

                return 0