USP_DATAFORMTEMPLATE_ADD_TERM

The save procedure used by the add dataform template "Term Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@SESSIONID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@STARTDATE date IN Start date
@ENDDATE date IN End date
@TERMNAMECODEID uniqueidentifier IN Term
@TIMETABLEDAYID uniqueidentifier IN Starts with
@WITHDRAWALDATE date IN Withdrawal date

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_TERM
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,
    @SESSIONID uniqueidentifier,
    @STARTDATE date = null,
    @ENDDATE date = null,
    @TERMNAMECODEID uniqueidentifier = null,
    @TIMETABLEDAYID uniqueidentifier = null,
    @WITHDRAWALDATE date = null
)
as

set nocount on

if @ID is null
    set @ID = newid()

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

declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

begin try
    -- handle inserting the data

    insert into dbo.TERM
        (ID, SESSIONID, TERMNAMECODEID, STARTDATE, ENDDATE, TIMETABLEDAYID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, WITHDRAWALDATE)
        values
        (@ID, @SESSIONID, @TERMNAMECODEID, @STARTDATE, @ENDDATE, @TIMETABLEDAYID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE, @WITHDRAWALDATE)

    if exists(select TERM.ID from dbo.TERM
        inner join SESSION on SESSION.ID = TERM.SESSIONID 
        where TERM.ID = @ID
              and TERM.TIMETABLEDAYID not in (select TIMETABLEDAY.ID 
                                              from TIMETABLEDAY
                                              where TIMETABLEDAY.TIMETABLEID = SESSION.TIMETABLEID ))
        raiserror('BBERR_TERM_TIMETABLEDAYVALID', 13, 1)

    exec dbo.USP_SCHEDULEDATE_GENERATEENTRIES @ID, null, null, null, @CHANGEAGENTID
end try

begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
end catch

return 0