USP_DATAFORMTEMPLATE_EDIT_COURSEACADEMICCATALOGDEPARTMENT

The save procedure used by the edit dataform template "Course Academic Catalog Department Edit Data 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.
@SELECTEDDEPARTMENTSCODE tinyint IN Include
@DEPARTMENTS xml IN

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_COURSEACADEMICCATALOGDEPARTMENT (
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @SELECTEDDEPARTMENTSCODE tinyint,
    @DEPARTMENTS xml
)
as

    set nocount on;

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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

    begin try
        -- handle updating the data

        update dbo.COURSE set
            SELECTEDDEPARTMENTSCODE = @SELECTEDDEPARTMENTSCODE,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where ID = @ID

    if (@SELECTEDDEPARTMENTSCODE = 0) or (@SELECTEDDEPARTMENTSCODE = 2)
        delete from dbo.COURSEACADEMICCATALOGDEPARTMENT where COURSEID = @ID

    if @SELECTEDDEPARTMENTSCODE = 1
    begin
        exec dbo.USP_COURSE_GETDEPARTMENTS_UPDATEFROMXML @ID, @DEPARTMENTS, @CHANGEAGENTID, @CURRENTDATE
        if not exists(select ID from dbo.COURSEACADEMICCATALOGDEPARTMENT where COURSEID = @ID)
            raiserror('CK_COURSEDEPARTMENT_ATLEASTONEDEPARTMENT', 13, 1)        
    end

    end try

    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

return 0;