USP_DATAFORMTEMPLATE_ADD_EDUCATIONALHISTORY

The save procedure used by the add dataform template "Educational History Add 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.
@EDUCATIONALINSTITUTIONID uniqueidentifier IN Educational institution
@ISPRIMARYRECORD bit IN Primary alumni information
@KNOWNNAME nvarchar(50) IN Known name
@EDUCATIONALHISTORYTYPECODEID uniqueidentifier IN Type
@EDUCATIONALHISTORYSTATUSCODEID uniqueidentifier IN Detail
@CONSTITUENCYSTATUSCODE tinyint IN Status
@EDUCATIONALDEGREECODEID uniqueidentifier IN Degree
@STARTDATE UDT_FUZZYDATE IN Start date
@ENDDATE UDT_FUZZYDATE IN End date
@EDUCATIONALMAJOR xml IN Major
@EDUCATIONALMINOR xml IN Minor
@GPA decimal(3, 2) IN GPA
@CLASSOF UDT_YEAR IN Class of
@FRATERNITY nvarchar(50) IN Greek affiliation

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_EDUCATIONALHISTORY
                    (
                        @ID uniqueidentifier = null output,
                        @CONSTITUENTID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @EDUCATIONALINSTITUTIONID uniqueidentifier,
                        @ISPRIMARYRECORD bit = 0,
                        @KNOWNNAME nvarchar(50) = '',
                        @EDUCATIONALHISTORYTYPECODEID uniqueidentifier = null,
                        @EDUCATIONALHISTORYSTATUSCODEID uniqueidentifier = null,
                        @CONSTITUENCYSTATUSCODE tinyint = 0,
                        @EDUCATIONALDEGREECODEID uniqueidentifier = null,
                        @STARTDATE dbo.UDT_FUZZYDATE = null,
                        @ENDDATE dbo.UDT_FUZZYDATE = null,
                        @EDUCATIONALMAJOR xml = null,
                        @EDUCATIONALMINOR xml = null,
                        @GPA decimal(3,2) = null,
                        @CLASSOF dbo.UDT_YEAR = null,
                        @FRATERNITY nvarchar(50) = ''
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;
                        declare @ISAFFILIATED bit;
                        declare @STATUSREASON nvarchar(100); 
                        declare @EDUCATIONALHISTORYSTATUSID uniqueidentifier;

                        begin try
                            if @ID is null
                                set @ID = newid();

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

                            set @CURRENTDATE = getdate();

                            --reset Primary Record Flag for existing records

                            update dbo.EDUCATIONALHISTORY
                                set ISPRIMARYRECORD = 0,
                                    DATECHANGED = getdate(),
                                    CHANGEDBYID = @CHANGEAGENTID
                                where 
                                    CONSTITUENTID = @CONSTITUENTID
                                    and ISPRIMARYRECORD = 1
                                    and @ISPRIMARYRECORD = 1;


                            insert into dbo.EDUCATIONALHISTORY
                            (
                                ID, 
                                CONSTITUENTID,
                                EDUCATIONALINSTITUTIONID,
                                ISPRIMARYRECORD,
                                KNOWNNAME,
                                EDUCATIONALHISTORYTYPECODEID,
                                EDUCATIONALHISTORYSTATUSCODEID,
                                CONSTITUENCYSTATUSCODE,
                                EDUCATIONALDEGREECODEID,
                                STARTDATE,
                                ENDDATE,
                                GPA,
                                CLASSOF,
                                FRATERNITY,
                                ADDEDBYID, 
                                CHANGEDBYID, 
                                DATEADDED, 
                                DATECHANGED
                            )
                            values
                            (
                                @ID
                                @CONSTITUENTID,
                                @EDUCATIONALINSTITUTIONID,
                                @ISPRIMARYRECORD,
                                @KNOWNNAME,
                                @EDUCATIONALHISTORYTYPECODEID,
                                @EDUCATIONALHISTORYSTATUSCODEID,
                                @CONSTITUENCYSTATUSCODE,
                                @EDUCATIONALDEGREECODEID,
                                @STARTDATE,
                                @ENDDATE,
                                coalesce(@GPA, 0),
                                @CLASSOF,
                                @FRATERNITY,
                                @CHANGEAGENTID
                                @CHANGEAGENTID
                                @CURRENTDATE
                                @CURRENTDATE
                            );

                            exec dbo.USP_EDUCATIONALHISTORY_GETMAJOR_ADDFROMXML @ID, @EDUCATIONALMAJOR, @CHANGEAGENTID;
                            exec dbo.USP_EdUCATIONALHISTORY_GETMINOR_ADDFROMXML @ID, @EDUCATIONALMINOR, @CHANGEAGENTID;

                            select @ISAFFILIATED=ISAFFILIATED from dbo.EDUCATIONALINSTITUTION where ID=@EDUCATIONALINSTITUTIONID

                            if @ISAFFILIATED = 1
                            begin
                                if @CONSTITUENCYSTATUSCODE=1 or @CONSTITUENCYSTATUSCODE=3
                                begin
                                    set @EDUCATIONALHISTORYSTATUSID=dbo.UFN_EDUCATIONALHISTORYSTATUS_FROMCONSTITUENCYSTATUSCODE(@CONSTITUENCYSTATUSCODE)
                                    select @STATUSREASON=DESCRIPTION from dbo.EDUCATIONALHISTORYSTATUS where ID=@EDUCATIONALHISTORYSTATUSID;
                                    INSERT INTO [dbo].[EDUCATIONALHISTORYSTATUSHISTORY]
                                        (
                                            [EDUCATIONALHISTORYID],
                                            [EDUCATIONALHISTORYSTATUSID],
                                            [STATUSDATE],
                                            [STATUSREASON],
                                            [ADDEDBYID],
                                            [CHANGEDBYID],
                                            [DATEADDED],
                                            [DATECHANGED]
                                            )
                                            values
                                            (
                                            @ID,
                                            @EDUCATIONALHISTORYSTATUSID,
                                            @CURRENTDATE,
                                            @STATUSREASON,
                                            @CHANGEAGENTID,
                                            @CHANGEAGENTID,
                                            @CURRENTDATE,
                                            @CURRENTDATE
                                        );
                                end
                            end
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;