USP_ACADEMICCATALOG_GETHISTORY_UPDATEFROMXML

Updates a given academic catalog level.

Parameters

Parameter Parameter Type Mode Description
@LEVELCODE tinyint IN
@HITORY xml IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_ACADEMICCATALOG_GETHISTORY_UPDATEFROMXML
(
    @LEVELCODE tinyint,
    @HITORY xml,
    @CHANGEAGENTID uniqueidentifier
)
as
    set nocount on;

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

    if @CHANGEAGENTID is null
        exec USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

    /****************   LEVEL 2 (Degree)   ****************/
    if @LEVELCODE = 2
    begin
        update dbo.ACADEMICCATALOGDEGREE
        set
            ACADEMICCATALOGDEGREE.DATEFROM = HISTORY.DATEFROM,
            ACADEMICCATALOGDEGREE.DATETO = HISTORY.DATETO,
            ACADEMICCATALOGDEGREE.COMMENT = HISTORY.COMMENT,
            ACADEMICCATALOGDEGREE.CHANGEDBYID = @CHANGEAGENTID,
            ACADEMICCATALOGDEGREE.DATECHANGED = @CURRENTDATE
        from
            dbo.UFN_ACADEMICCATALOG_GETHISTORY_FROMITEMLISTXML(@HITORY) as HISTORY
        where
            ACADEMICCATALOGDEGREE.ID = HISTORY.ID;
    end

    /****************   LEVEL 3 (College)   ****************/
    if @LEVELCODE = 3
    begin
        update dbo.ACADEMICCATALOGCOLLEGE
        set
            ACADEMICCATALOGCOLLEGE.DATEFROM = HISTORY.DATEFROM,
            ACADEMICCATALOGCOLLEGE.DATETO = HISTORY.DATETO,
            ACADEMICCATALOGCOLLEGE.COMMENT = HISTORY.COMMENT,
            ACADEMICCATALOGCOLLEGE.CHANGEDBYID = @CHANGEAGENTID,
            ACADEMICCATALOGCOLLEGE.DATECHANGED = @CURRENTDATE
        from
            dbo.UFN_ACADEMICCATALOG_GETHISTORY_FROMITEMLISTXML(@HITORY) as HISTORY
        where
            ACADEMICCATALOGCOLLEGE.ID = HISTORY.ID;
    end

    /****************   LEVEL 4 (Division)   ****************/
    if @LEVELCODE = 4
    begin
        update dbo.ACADEMICCATALOGDIVISION
        set
            ACADEMICCATALOGDIVISION.DATEFROM = HISTORY.DATEFROM,
            ACADEMICCATALOGDIVISION.DATETO = HISTORY.DATETO,
            ACADEMICCATALOGDIVISION.COMMENT = HISTORY.COMMENT,
            ACADEMICCATALOGDIVISION.CHANGEDBYID = @CHANGEAGENTID,
            ACADEMICCATALOGDIVISION.DATECHANGED = @CURRENTDATE
        from
            dbo.UFN_ACADEMICCATALOG_GETHISTORY_FROMITEMLISTXML(@HITORY) as HISTORY
        where
            ACADEMICCATALOGDIVISION.ID = HISTORY.ID;
    end

    /****************   LEVEL 5 (Department)   ****************/
    if @LEVELCODE = 5
    begin
        update dbo.ACADEMICCATALOGDEPARTMENT
        set
            ACADEMICCATALOGDEPARTMENT.DATEFROM = HISTORY.DATEFROM,
            ACADEMICCATALOGDEPARTMENT.DATETO = HISTORY.DATETO,
            ACADEMICCATALOGDEPARTMENT.COMMENT = HISTORY.COMMENT,
            ACADEMICCATALOGDEPARTMENT.CHANGEDBYID = @CHANGEAGENTID,
            ACADEMICCATALOGDEPARTMENT.DATECHANGED = @CURRENTDATE
        from
            dbo.UFN_ACADEMICCATALOG_GETHISTORY_FROMITEMLISTXML(@HITORY) as HISTORY
        where
            ACADEMICCATALOGDEPARTMENT.ID = HISTORY.ID;
    end

                    /****************   LEVEL 6 (Sub Department)   ****************/
    if @LEVELCODE = 6
    begin
        update dbo.ACADEMICCATALOGSUBDEPARTMENT
        set
            ACADEMICCATALOGSUBDEPARTMENT.DATEFROM = HISTORY.DATEFROM,
            ACADEMICCATALOGSUBDEPARTMENT.DATETO = HISTORY.DATETO,
            ACADEMICCATALOGSUBDEPARTMENT.COMMENT = HISTORY.COMMENT,
            ACADEMICCATALOGSUBDEPARTMENT.CHANGEDBYID = @CHANGEAGENTID,
            ACADEMICCATALOGSUBDEPARTMENT.DATECHANGED = @CURRENTDATE
        from
            dbo.UFN_ACADEMICCATALOG_GETHISTORY_FROMITEMLISTXML(@HITORY) as HISTORY
        where
            ACADEMICCATALOGSUBDEPARTMENT.ID = HISTORY.ID;
    end