USP_DATAFORMTEMPLATE_ADD_CHARGE

The save procedure used by the add dataform template "Charge 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.
@STUDENTID uniqueidentifier IN Name
@DUEDATE date IN Due date
@AMOUNT money IN Charge amount
@CHARGEDATE date IN Charge date
@POSTDATE datetime IN Post date
@POSTSTATUSCODE tinyint IN Post status
@BILLINGITEMID uniqueidentifier IN Charging for
@DESCRIPTION nvarchar(100) IN Description
@SCHOOLID uniqueidentifier IN School
@GRADELEVELID uniqueidentifier IN Grade level
@BILLINGITEMTYPE tinyint IN Type

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CHARGE
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,
    @STUDENTID uniqueidentifier = null,    
    @DUEDATE date = null,  
    @AMOUNT money = 0,
    @CHARGEDATE date = null,
    @POSTDATE datetime = null,
    @POSTSTATUSCODE tinyint = 1,
      @BILLINGITEMID uniqueidentifier = null,
    @DESCRIPTION nvarchar(100) = null,
    @SCHOOLID uniqueidentifier = null,
    @GRADELEVELID uniqueidentifier = null,
    @BILLINGITEMTYPE tinyint = 0
)
as

set nocount on;

begin try

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

    declare @STUDENTPROGRESSIONID uniqueidentifier;
    declare @STUDENTENROLLMENTID uniqueidentifier;
    declare @PRICETYPECODE tinyint

    if @SCHOOLID is not null
    begin
        select @PRICETYPECODE=PRICETYPECODE from dbo.BILLINGITEM where dbo.BILLINGITEM.ID=@BILLINGITEMID

        if ((@PRICETYPECODE=2) or (@PRICETYPECODE = 3))
            select @STUDENTPROGRESSIONID =dbo.UFN_STUDENT_GETSTUDENTPROGRESSIONBYDATE(@CHARGEDATE, @STUDENTID, @SCHOOLID)

        if (@STUDENTPROGRESSIONID is null and @PRICETYPECODE = 3)
                set @STUDENTENROLLMENTID = dbo.UFN_STUDENT_GETENROLLMENTBYDATE(@STUDENTID, @SCHOOLID, @CHARGEDATE)
    end

    declare @AUTOAPPLY bit
    select @AUTOAPPLY=CHARGE from dbo.APPLICATIONRULES 

    exec dbo.USP_CHARGE_ADD @ID=@ID, @CHANGEAGENTID=@CHANGEAGENTID, @STUDENTID=@STUDENTID, @DUEDATE=@DUEDATE, @AMOUNT=@AMOUNT, @CHARGEDATE=@CHARGEDATE, @POSTDATE=@POSTDATE, @POSTSTATUSCODE=@POSTSTATUSCODE, @BILLINGITEMID=@BILLINGITEMID, @STUDENTPROGRESSIONID=@STUDENTPROGRESSIONID, @DESCRIPTION=@DESCRIPTION, @STUDENTENROLLMENTID = @STUDENTENROLLMENTID, @AUTOAPPLY =@AUTOAPPLY

end try

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

return 0;