USP_DATAFORMTEMPLATE_EDIT_ACADEMICCATALOGSUBDEPARTMENT

The save procedure used by the edit dataform template "Academic Catalog Sub Department Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@USERID nvarchar(50) IN ID
@NAME nvarchar(150) IN Name
@DATEFROM UDT_FUZZYDATE IN Date from
@HISTORY xml IN Catalog history
@MAKEHISTORICAL bit IN Move to catalog history

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_ACADEMICCATALOGSUBDEPARTMENT
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @USERID nvarchar(50),
    @NAME nvarchar(150),
    @DATEFROM dbo.UDT_FUZZYDATE,
    @HISTORY xml,
    @MAKEHISTORICAL bit
)
as
    set nocount on;

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

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

    begin try
        if @MAKEHISTORICAL = 1
        begin
            declare @NEWID uniqueidentifier;
            set @NEWID = newID();

            declare @ACADEMICCATALOGDEPARTMENTID uniqueidentifier;
            select
                @ACADEMICCATALOGDEPARTMENTID = ACADEMICCATALOGDEPARTMENTID
            from
                dbo.ACADEMICCATALOGSUBDEPARTMENT
            where
                ID = @ID;

            insert into dbo.ACADEMICCATALOGSUBDEPARTMENT
            (
                ID,
                ACADEMICCATALOGDEPARTMENTID,
                USERID,
                NAME,
                CURRENTID,
                DATEFROM,
                ISHISTORICAL,
                ADDEDBYID, 
                CHANGEDBYID, 
                DATEADDED, 
                DATECHANGED
            )
            values
            (
                @NEWID,
                @ACADEMICCATALOGDEPARTMENTID,
                @USERID,
                @NAME,
                null,
                @DATEFROM,
                0,
                @CHANGEAGENTID,
                @CHANGEAGENTID,
                @CURRENTDATE,
                @CURRENTDATE
            );

            declare @DATETO dbo.UDT_FUZZYDATE;
            declare @HISTORYDATEFROM dbo.UDT_FUZZYDATE;
            select
                @DATETO = HISTORY.DATETO,
                @HISTORYDATEFROM = HISTORY.DATEFROM
            from
                dbo.UFN_ACADEMICCATALOG_GETHISTORY_FROMITEMLISTXML(@HISTORY) as HISTORY;

            exec dbo.USP_ACADEMICCATALOG_MAKEHISTORICAL 6, @NEWID, @ID, @HISTORYDATEFROM, @DATETO, @CHANGEAGENTID;
        end
        else
        begin    
            update dbo.ACADEMICCATALOGSUBDEPARTMENT
            set
                USERID = @USERID,
                NAME = @NAME,
                DATEFROM = @DATEFROM,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
            where
                ID = @ID;
        end

        -- update the history

        exec dbo.USP_ACADEMICCATALOG_GETHISTORY_UPDATEFROMXML 6, @HISTORY, @CHANGEAGENTID;
    end try

    begin catch
        exec dbo.USP_RAISE_ERROR;
        return 1;
    end catch

    return 0;