USP_BBNC_COMMITPROFILEUPDATEPRIMARYALUMNI

Updates a constituent's primary alumni information from a Blackbaud Internet Solutions profile transaction to the system from a given batch.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CLASSOF UDT_YEAR IN
@STARTDATE UDT_FUZZYDATE IN
@ENDDATE UDT_FUZZYDATE IN
@EDUCATIONALDEGREECODEID uniqueidentifier IN
@FRATERNITY nvarchar(50) IN
@GPA decimal(3, 2) IN
@KNOWNNAME nvarchar(50) IN
@EDUCATIONALMAJORCODEID uniqueidentifier IN
@EDUCATIONALMINORCODEID uniqueidentifier IN
@EDUCATIONALINSTITUTIONID uniqueidentifier IN
@EDUCATIONALHISTORYTYPECODEID uniqueidentifier IN
@EDUCATIONALHISTORYSTATUSCODEID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@CHANGEDATE datetime IN

Definition

Copy


            CREATE procedure dbo.USP_BBNC_COMMITPROFILEUPDATEPRIMARYALUMNI
                (
                    @ID uniqueidentifier = null,        
                    @CLASSOF dbo.UDT_YEAR = null,                    
                    @STARTDATE dbo.UDT_FUZZYDATE = '00000000',
                    @ENDDATE dbo.UDT_FUZZYDATE = '00000000',
                    @EDUCATIONALDEGREECODEID uniqueidentifier = null,
                    @FRATERNITY nvarchar(50) = '',
                    @GPA decimal(3,2) = 0,
                    @KNOWNNAME nvarchar(50) = '',
                    @EDUCATIONALMAJORCODEID uniqueidentifier = null,
                    @EDUCATIONALMINORCODEID uniqueidentifier = null,
                    @EDUCATIONALINSTITUTIONID uniqueidentifier = null,
                    @EDUCATIONALHISTORYTYPECODEID uniqueidentifier = null,
                    @EDUCATIONALHISTORYSTATUSCODEID uniqueidentifier = null,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @CHANGEDATE datetime = null
                ) as
                    set nocount on;

                    declare @EDUCATIONALHISTORYID uniqueidentifier;

                    if @ID is null
                        begin
                            raiserror('The constituent ID is required',16,1);
                            return -2;
                        end

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

                    if @CHANGEDATE is null
                        set @CHANGEDATE = getdate();

                    select 
                        @EDUCATIONALHISTORYID = [ID]
                    from
                        dbo.EDUCATIONALHISTORY
                    where
                        [CONSTITUENTID] = @ID and [ISPRIMARYRECORD] = 1;

                    begin try
                        begin
                            if @EDUCATIONALHISTORYID is not null
                            begin
                                update dbo.EDUCATIONALHISTORY
                                set
                                    [CLASSOF] = coalesce(@CLASSOF, 0),
                                    [STARTDATE] = @STARTDATE,
                                    [ENDDATE] = @ENDDATE,
                                    [EDUCATIONALDEGREECODEID] = @EDUCATIONALDEGREECODEID,
                                    [FRATERNITY] = @FRATERNITY,
                                    [GPA] = coalesce(@GPA, 0),
                                    [KNOWNNAME] = @KNOWNNAME,
                                    [EDUCATIONALINSTITUTIONID] = @EDUCATIONALINSTITUTIONID,
                                    [EDUCATIONALHISTORYTYPECODEID] = @EDUCATIONALHISTORYTYPECODEID,
                                    [EDUCATIONALHISTORYSTATUSCODEID] = @EDUCATIONALHISTORYSTATUSCODEID,
                                    [CHANGEDBYID] = @CHANGEAGENTID,
                                    [DATECHANGED] = @CHANGEDATE
                                where
                                    [ID] = @EDUCATIONALHISTORYID;

                                if @EDUCATIONALMAJORCODEID is not null
                                begin
                                    if exists (select [ID] from dbo.EDUCATIONALMAJOR where [EDUCATIONALHISTORYID] = @EDUCATIONALHISTORYID)
                                        update dbo.EDUCATIONALMAJOR set
                                            [EDUCATIONALMAJORCODEID] = @EDUCATIONALMAJORCODEID,
                                            [CHANGEDBYID] = @CHANGEAGENTID,
                                            [DATECHANGED] = @CHANGEDATE
                                        where
                                            [ID] = (select top 1 ID from dbo.EDUCATIONALMAJOR where EDUCATIONALHISTORYID = @EDUCATIONALHISTORYID);
                                    else
                                        insert into dbo.EDUCATIONALMAJOR
                                        (
                                            [EDUCATIONALHISTORYID],
                                            [EDUCATIONALMAJORCODEID],
                                            [ADDEDBYID],
                                            [CHANGEDBYID],  
                                            [DATEADDED],  
                                            [DATECHANGED]
                                        )
                                        values
                                        (
                                            @EDUCATIONALHISTORYID,
                                            @EDUCATIONALMAJORCODEID,
                                            @CHANGEAGENTID,
                                            @CHANGEAGENTID,
                                            @CHANGEDATE,
                                            @CHANGEDATE
                                        );
                                end

                                if @EDUCATIONALMINORCODEID is not null
                                begin
                                    if exists (select [ID] from dbo.EDUCATIONALMINOR where [EDUCATIONALHISTORYID] = @EDUCATIONALHISTORYID)
                                        update dbo.EDUCATIONALMINOR set
                                            [EDUCATIONALMAJORCODEID] = @EDUCATIONALMINORCODEID,
                                            [CHANGEDBYID] = @CHANGEAGENTID,
                                            [DATECHANGED] = @CHANGEDATE
                                        where
                                            [ID] = (select top 1 ID from dbo.EDUCATIONALMINOR where EDUCATIONALHISTORYID = @EDUCATIONALHISTORYID);
                                    else
                                        insert into dbo.EDUCATIONALMINOR
                                        (
                                            [EDUCATIONALHISTORYID],
                                            [EDUCATIONALMAJORCODEID],
                                            [ADDEDBYID],
                                            [CHANGEDBYID],  
                                            [DATEADDED],  
                                            [DATECHANGED]
                                        )
                                        values
                                        (
                                            @EDUCATIONALHISTORYID,
                                            @EDUCATIONALMINORCODEID,
                                            @CHANGEAGENTID,
                                            @CHANGEAGENTID,
                                            @CHANGEDATE,
                                            @CHANGEDATE
                                        );
                                end
                            end
                            else
                            begin
                                set @EDUCATIONALHISTORYID = newid();

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

                                if @EDUCATIONALMAJORCODEID is not null
                                    insert into dbo.EDUCATIONALMAJOR
                                    (
                                        [EDUCATIONALHISTORYID],
                                        [EDUCATIONALMAJORCODEID],
                                        [ADDEDBYID],
                                        [CHANGEDBYID],  
                                        [DATEADDED],  
                                        [DATECHANGED]
                                    )
                                    values
                                    (
                                        @EDUCATIONALHISTORYID,
                                        @EDUCATIONALMAJORCODEID,
                                        @CHANGEAGENTID,
                                        @CHANGEAGENTID,
                                        @CHANGEDATE,
                                        @CHANGEDATE
                                    );

                                if @EDUCATIONALMINORCODEID is not null
                                    insert into dbo.EDUCATIONALMINOR
                                    (
                                        [EDUCATIONALHISTORYID],
                                        [EDUCATIONALMAJORCODEID],
                                        [ADDEDBYID],
                                        [CHANGEDBYID],  
                                        [DATEADDED],  
                                        [DATECHANGED]
                                    )
                                    values
                                    (
                                        @EDUCATIONALHISTORYID,
                                        @EDUCATIONALMINORCODEID,
                                        @CHANGEAGENTID,
                                        @CHANGEAGENTID,
                                        @CHANGEDATE,
                                        @CHANGEDATE
                                    );
                            end
                        end
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR;
                        return 1;
                    end catch

                    return 0;