USP_DATAFORMTEMPLATE_ADD_CHARGEINDIVIDUAL

The save procedure used by the add dataform template "Charge Add to Individual 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 Input parameter indicating the context ID for the record being added.
@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_CHARGEINDIVIDUAL
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @STUDENTID uniqueidentifier,    
                        @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;