USP_ACADEMICCATALOG_MAKEHISTORICAL

Makes a given academic catalog level historical.

Parameters

Parameter Parameter Type Mode Description
@LEVELCODE tinyint IN
@NEWID uniqueidentifier IN
@OLDID uniqueidentifier IN
@DATEFROM UDT_FUZZYDATE IN
@DATETO UDT_FUZZYDATE IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_ACADEMICCATALOG_MAKEHISTORICAL
(
    @LEVELCODE tinyint,
    @NEWID uniqueidentifier,
    @OLDID uniqueidentifier,
    @DATEFROM dbo.UDT_FUZZYDATE,
    @DATETO dbo.UDT_FUZZYDATE,
    @CHANGEAGENTID uniqueidentifier
)
as
    set nocount on;

    declare @CURRENTDATE datetime;
    set @CURRENTDATE = getDate();

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

    /****************   LEVEL 2 (Degree)   ****************/
    if @LEVELCODE = 2
    begin
        update dbo.ACADEMICCATALOGDEGREE
        set
            CURRENTID = @NEWID,
            ISHISTORICAL = 1,
            DATETO = @DATETO,
            DATEFROM = @DATEFROM,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            ID = @OLDID;

        update dbo.ACADEMICCATALOGDEGREE
        set
            CURRENTID = @NEWID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            CURRENTID = @OLDID;

        update dbo.ACADEMICCATALOGCOLLEGE
        set
            ACADEMICCATALOGDEGREEID = @NEWID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            ACADEMICCATALOGDEGREEID = @OLDID;
    end

    /****************   LEVEL 3 (College)   ****************/
    if @LEVELCODE = 3
    begin
        update dbo.ACADEMICCATALOGCOLLEGE
        set
            CURRENTID = @NEWID,
            ISHISTORICAL = 1,
            DATETO = @DATETO,
            DATEFROM = @DATEFROM,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            ID = @OLDID;

        update dbo.ACADEMICCATALOGCOLLEGE
        set
            CURRENTID = @NEWID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            CURRENTID = @OLDID;

        update dbo.ACADEMICCATALOGDIVISION
        set
            ACADEMICCATALOGCOLLEGEID = @NEWID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            ACADEMICCATALOGCOLLEGEID = @OLDID;

        update dbo.ACADEMICCATALOGDEPARTMENT
        set
            ACADEMICCATALOGCOLLEGEID = @NEWID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            ACADEMICCATALOGCOLLEGEID = @OLDID;
    end

    /****************   LEVEL 4 (Division)   ****************/
    if @LEVELCODE = 4
    begin
        update dbo.ACADEMICCATALOGDIVISION
        set
            CURRENTID = @NEWID,
            ISHISTORICAL = 1,
            DATETO = @DATETO,
            DATEFROM = @DATEFROM,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            ID = @OLDID;

        update dbo.ACADEMICCATALOGDIVISION
        set
            CURRENTID = @NEWID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            CURRENTID = @OLDID;

        update dbo.ACADEMICCATALOGDEPARTMENT
        set
            ACADEMICCATALOGDIVISIONID = @NEWID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            ACADEMICCATALOGDIVISIONID = @OLDID;
    end

    /****************   LEVEL 5 (Department)   ****************/
    if @LEVELCODE = 5
    begin
        update dbo.ACADEMICCATALOGDEPARTMENT
        set
            CURRENTID = @NEWID,
            ISHISTORICAL = 1,
            DATETO = @DATETO,
            DATEFROM = @DATEFROM,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            ID = @OLDID;

        update dbo.ACADEMICCATALOGDEPARTMENT
        set
            CURRENTID = @NEWID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            CURRENTID = @OLDID;

        update dbo.ACADEMICCATALOGSUBDEPARTMENT
        set
            ACADEMICCATALOGDEPARTMENTID = @NEWID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            ACADEMICCATALOGDEPARTMENTID = @OLDID;

        update dbo.ACADEMICCATALOGDEGREETYPE
        set
            ACADEMICCATALOGDEPARTMENTID = @NEWID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            ACADEMICCATALOGDEPARTMENTID = @OLDID;
    end

    /****************   LEVEL 6 (Sub Department)   ****************/
    if @LEVELCODE = 6
    begin
        update dbo.ACADEMICCATALOGSUBDEPARTMENT
        set
            CURRENTID = @NEWID,
            ISHISTORICAL = 1,
            DATETO = @DATETO,
            DATEFROM = @DATEFROM,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            ID = @OLDID;

        update dbo.ACADEMICCATALOGSUBDEPARTMENT
        set
            CURRENTID = @NEWID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            CURRENTID = @OLDID;

        update dbo.ACADEMICCATALOGDEGREETYPE
        set
            ACADEMICCATALOGSUBDEPARTMENTID = @NEWID,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where
            ACADEMICCATALOGSUBDEPARTMENTID = @OLDID;
    end