SFEE_CourseConnection_TDTM
Student Fee Course Connection trigger handler/TDTM
Custom Permission | REDU - Admin, REDU - Student |
Event | AfterInsert, AfterUpdate |
Object | Course Connection |
Related RIO Education Settings | Skip PE Non-Tuition for Term - Course Use Course Fee Generation Timing |
Description
Whenever a new student Course Connection with at least one of the Fee Id, Non Tuition Fee Id, and Other Course Fee Id fields set is inserted, or whenever the Course Offering ID, PE Pathway, Enrollment Status, Fee Amount, Upfront Payment, Funding Assistance 2, Start Date, End Date, Fee Type or Fee Type Option fields on an existing student Course Connection are updated, this class will create or update the Fee Lines and Student Fee for this Course Connection.
If the Fee Id field is set, then this class will update the existing tuition fee Fee Line's Commencement Date, Completion Date, Unit Enrollment Fee Type, Unit Enrollment Fee Type Option, and Fee Schedule Term fields using the corresponding values from the Course Connection. If the Fee Line is not locked, it will also update the Unit Enrollment Fee Amount and, if the Course Connection's Fee Type Option is 'FEE-HELP' and the its Fee Method is course based, the Upfront Payment Amount and Funding Assistance 2 fields.
If there is no existing tuition fee Fee Line, then it will need to be created. If the Course Connection's Fee Method contains 'Term' but not 'Fixed Term' and the Enrollment Status is 'Enrolled', then, if the the 'Use Course Fee Generation Timing' custom setting is disabled or if the PE Pathway Term Fee Status is 'Fee generated', then this class will first create new term Student Fees for the the PE Pathway and Program Enrollment, if they do not already exist. It will then create a tuition Fee Line.
Student Fees and Fee Lines are also created if the Fee Method is 'Course - Yes' and the Program Enrollment Status is 'Enrolled'. If these conditions are met, then fees are created regardless of the value of the 'Use Course Fee Generation Timing' custom setting or the PE Pathway Term Fee Status.
If the Fee Method is either 'Course - No' or contains 'Fixed Term' or 'Program', then the student is paying per course and the Course Connection will get its own individual Student Fee.
A similar process is followed for creating Student Fees and Fee Lines for non tuition fees and other fees but these will just create new Fee Lines rather than attempt to update existing ones as, unlike tuition fees, there can be multiple non tuition fees and other fees for a Course Connection. Non tuition fee creation for PE Pathways is optional, and can be skipped by enabling the Skip PE Non-Tuition for Term - Course custom setting.
For all three fee types, if the Course Offering has changed, existing Fee Lines are deleted as they are no longer needed.