---
schema_version: "1"
id: ed0f1f2280006f3ea053ac50d95467489c424ea6f26017f4c056215d12c1d121
title: Apex Class Descriptions for EDA
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/sfdo/264-0-0/eda_apex_class_descriptions.md
canonical_url: https://help.salesforce.com/s/articleView?id=sfdo.eda_apex_class_descriptions.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 27dd84298f5b79f85d82fe43d930541a4f25b386b91ef17a5d8313bfc1203441
description: Verify access to EDA Apex classes for all profiles and permission sets that need them.
products:
  - Education
release: "264"
---
# Apex Class Descriptions for EDA

Verify access to EDA Apex classes for all profiles and permission sets that need them.

These Apex classes are managed by Table-Driven Trigger Management (TDTM). Use these descriptions to help inform your decisions when using TDTM, for example, when [disabling Trigger Handlers](https://help.salesforce.com/s/articleview?id=sfdo.eda_disable_trigger_handlers.htm).

For a complete list of the trigger handlers that EDA uses, click App Launcher icon (![The App Launcher icon, which is a grid of gray dots](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-education_data_architecture-264-0-0-production-enus/6bcf23e4-1d0f-4cd5-8405-b8e231f03ed0/resources-product/images/app_launcher_grey.png)) and search for and select **Trigger Handlers**. To stay informed about updates for Trigger Handlers, join the [Education Release Readiness](https://trailhead.salesforce.com/trailblazer-community/groups/0F94S000000kHOcSAM?tab=discussion&sort=LAST_MODIFIED_DATE_DESC) group.

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-education_data_architecture-264-0-0-production-enus/6bcf23e4-1d0f-4cd5-8405-b8e231f03ed0/images/icon_important.png)

Important If you have technical questions about how a class works, refer to the [EDA GitHub code repository](https://github.com/salesforcefoundation/eda).

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:33.33333333333333%">
          <col style="width:33.33333333333333%">
          <col style="width:33.33333333333333%">
        </colgroup>
        <tbody>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">
              <strong>Object</strong>
            </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">
              <strong>Class Name</strong>
            </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">
              <strong>Description</strong>
            </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Account</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">ACCT_CannotDelete_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> This class prevents an Account from being
              deleted if it has any related Address, Affiliation, Attribute,
              Course, Course Connection, Education History, Facility, Program
              Enrollment, Program Plan, Term, or Time Block records.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Account</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">ADDR_Account_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>When you update the values on Billing Address
                fields (Billing Street, Billing City, and so on), this class
                creates or updates a related Address record for Accounts that
                are configured for Address management in EDA Settings.</p>
              <p style="margin-bottom:0;">If the Account is a Household Account, the
                class updates the Mailing Address fields for any Contacts
                associated with the Household.</p>
            </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Account</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">AFFL_AccRecordType_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>When you change the record type of an Account,
                and it's a Primary Affiliation for a Contact, this class updates
                the Primary Affiliation to match the new record type. For
                example, if you change the Account's record type from Academic
                Program to Sports Organization, this class updates the Contact's
                Primary Sports Organization field. </p>
              <p style="margin-bottom:0;">This class does not create a new Affiliation
                record when the related Account type is changed. It updates the
                existing Primary Affiliation record to reflect the new Account
                Type.</p>
            </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Account</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">RenameLeadConvertedAccounts_TDTM</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">When an Account is created during Lead
              conversion with a record type specified in Automatically Rename
              Lead-Converted Accounts in EDA Settings, this class enforces the use
              of the Account naming format associated with the record type in
              EDA.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Address__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">ADDR_Addresses_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> When you create, update, or delete an
              Address record, this class sets the Latest Start Date, Latest End
              Date, Default, and Parent Account/Contact fields. If the Address is
              designated as Primary field, this class updates the related Billing
              Address/Mailing Address fields. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Address__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">ADDR_CannotDelete_TDTM</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents an Address record from
              being deleted if it has any related Account (Administrative or
              Household) or Contact records.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Affiliation__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">AFFL_AccChange_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> When you change or clear the Account
              field on an Affiliation record designated as Primary, this class
              updates or clears the appropriate Primary Affiliation lookup on the
              related Contact record. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Affiliation__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">AFFL_CannotDelete_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents an Affiliation record
              from being deleted if it has any related Course Connection records.
            </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Affiliation__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">AFFL_ContactChange_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> When you change the Contact field on an
              Affiliation record designated as Primary, this class clears the
              corresponding Primary Affiliation field on the related Contact and
              populates the appropriate Primary Affiliation on the updated
              Contact. If you clear the Contact field on an Affiliation record,
              this class clears the corresponding Primary Affiliation field on the
              related Contact. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Affiliation__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">AFFL_MultiRecordType_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> This class ensures that a given Contact
              has only one Primary Affiliation per record type. If you deselect
              Primary on an Affiliation record, this class clears the
              corresponding Primary Affiliation field on the related Contact
              record. If you select Primary checkbox on a non-Primary Affiliation,
              this class populates the appropriate Primary Affiliation on the
              related Contact record, and any other Primary Affiliations of the
              same type become non-Primary. If the Affiliation type is configured
              for Program Enrollments in EDA Settings, this class creates the
              Program Enrollment record for the Contact and Account related to the
              Affiliation. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Application__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">Application_TDTM</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class verifies that the Application
              Due Date follows the Application Open Date. If the Application Due
              Date is on or before the Application Open Date, the class returns an
              error and doesn't save the Application.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Attendance_Event__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">ATTD_CourseConnectionContact_TDTM</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class validates that the same Contact
              is specified for a Course Connection and a related Attendance
              Event.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Behavior_Involvement__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">BEH_CannotDelete_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents a Behavior Involvement
              record from being deleted if it has any related Behavior Response
              records.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> CampaignMember </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> REL_Relationships_Cm_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> When you create or update a Campaign
              Member record with data in a custom Contact lookup field, and
              Relationships Autocreation is configured in EDA Settings, this class
              creates or updates a Relationship record between the two Contacts.
            </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Case__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">CASE_CannotDelete_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents a Case record from
              being deleted if it has any related Behavior Involvement
              records.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Contact </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> ACCT_IndividualAccounts_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>This class ensures that when the owner of a
                Primary Contact record that has an Administrative or Household
                Account is updated, the owner of the Account is also updated. It
                also ensures that when a Primary Contact is moved from an
                Administrative or Household Account, the first remaining Contact
                on the Account becomes the Account's Primary Contact.&nbsp;</p>
              <p>When the name of a Contact used to name an
                Account changes, the Account's name is updated using the Account
                Naming Format specified on the Systems tab in EDA Settings.</p>
              <p style="margin-bottom:0;">These behaviors apply to all Accounts with the
                Administrative or Household Account Record Type specified on the
                Accounts and Contacts tab in EDA Settings.</p>
            </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Contact </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">ADDR_Contact_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> This class implements Address management
              on the Contact object. When you create or update a Contact with
              Mailing Address information, this class creates a related Address
              record. If the Contact is in a Household, this class creates Address
              records for all Contacts in the same Household (except Contacts who
              have Do Not Automatically Update selected). </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Contact </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">CON_CannotDelete_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> This class prevents a Contact from being
              deleted if it has any related Address, Affiliation, Application,
              Attendance Event, Attribute, Behavior Involvement, Contact Language,
              Course Connection, Course Offering (Faculty), Education History,
              Program Enrollment, Term Grade, or Test records. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p> Contact </p>
              <p style="margin-bottom:0;"><strong>(K-12 Architecture Kit only)</strong></p>
            </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> CON_CurrentGradeLevel_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> When you populate the Current Grade Level
              field on a new Contact record, this class creates a related Grade
              Enrollment record for the Contact and sets its status to Current.
              When you update a Contact record that already has a value in the
              Current Grade Level field, this class creates a new Grade Enrollment
              record for the Contact and sets its status to Current. In this case,
              the previous Grade Enrollment's status is set to Former.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Contact </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">CON_DoNotContact_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">When you update the Do Not Contact or
              Deceased settings on a Contact, this class synchronizes the Exclude
              From Household naming fields (Exclude From Household Name, Exclude
              From Household Formal Greeting, and Exclude From Household Informal
              Greeting) and communication preferences (Do Not Contact, Do Not
              Call, Email Opt Out, and Fax Opt Out). For example, if you specify
              Deceased for a Contact, the Exclude From Household fields are also
              selected.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Contact </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">CON_Preferred_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> This class populates a Contact's standard
              Email and Phone fields based on Preferred Email and Preferred Phone
              selections. As of release 1.82, this class syncs Preferred Phone
              selections only if the enhanced Preferred Phone sync functionality
              isn't enabled.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Contact </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">CON_PreferredPhone_TDTM</td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> This class syncs the value in a Contact's
              standard Phone field with the value in Preferred Phone. For example,
              if Preferred Phone is set to Mobile, with a value of 555-867-5309,
              this value is copied to the Contact's standard Phone field. This
              class returns an error if the selected Preferred Phone has an empty
              value. This class prompts users to specify which Phone is preferred
              when more than one value is entered, but Preferred Phone is not
              selected.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Contact </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">CON_PrimaryAffls_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> When you create a Contact record that has
              a Primary Affiliation field or update any Primary Affiliation field
              on a Contact record, this class creates a related Affiliation record
              between the Contact and Account, and selects the Affiliation's
              Primary field. If an existing Primary Affiliation value is changed
              or cleared, this class deselects the Primary field on the previous
              Affiliation and creates a new Primary Affiliation. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Contact </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">REL_Relationships_Con_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> When you create or update a Contact
              record with data in a custom Contact lookup field, and Relationships
              Autocreation is configured in EDA Settings, this class creates or
              updates a Relationship record between the two Contacts. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Contact_Language__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">CLAN_PrimaryLanguage_TDTM&nbsp;</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class keeps the Contact's Primary
              Language lookup field in sync with the Language related to the
              Contact's primary Contact Language record.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Contact_Language__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">CON_PrimaryLanguage_TDTM&nbsp;</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class ensures that the Contact
              Language record related to a Contact's Primary Language lookup field
              is marked as Primary, and that the Fluency value is automatically
              set on newly created Contact Language records when a user sets the
              Primary Language lookup field on a Contact.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Course__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">COUR_CannotDelete_TDTM</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents a Course record from
              being deleted if it has any related Course Offering or Plan
              Requirement records.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Course_Connection__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">CCON_PreventUpdate_TDTM</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">When a Course Connection has a related
              Term Grade or Attendance Event, this class prevents changes to a
              Contact or Course Offering on that Course Connection.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Course_Enrollment__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> CENR_AcademicProgram_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> When you populate or change the Program
              Enrollment ID field on a Course Connection record, this class sets
              the Academic Program field to the same Account related to the
              Program Enrollment. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Course_Enrollment__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> CCON_Faculty_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> This class implements several aspects of
              Course Connections functionality, including updates to the Primary
              Faculty field on the related Course Offering, and Affiliation
              records between the faculty Contact and Course's Department. This
              class is relevant only if you have enabled Course Connections in EDA
              Settings. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Course_Offering__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> COFF_Affiliation_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> When you create or update a Course
              Offering and populate or change the Primary Faculty field, this
              class creates a Course Connection that relates the faculty Contact
              record to the Course Offering. This class also creates an
              Affiliation record between the faculty Contact and the Course's
              Department. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Course_Offering__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">COFF_CannotDelete_TDTM</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents a Course Offering
              record from being deleted if it has any related Course Connection or
              Course Offering Schedule records.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Course_Offering_Schedule__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> COS_StartEndTime_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> When you create or update a Course
              Offering Schedule that has a related Time Block, this class
              populates the Start Time and End Time fields for the Course Offering
              Schedule with the values from the Time Block. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>Education_History__c</p>
              <p style="margin-bottom:0;"><strong>(K-12 Architecture Kit only)</strong></p>
            </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">EDUHIS_DataInteg_TDTM</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">When you create or update an Education
              History record, this class evaluates whether the Educational
              Institution specified in the Grade Enrollment record matches the
              Educational Institution Account specified in the Education History
              record. This class returns an error if the values don't match. A
              blank Educational Institution field isn't considered a
              mismatch.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>Grade_Enrollment__c</p>
              <p style="margin-bottom:0;"><strong>(K-12 Architecture Kit only)</strong></p>
            </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">GRER_DataInteg_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">When you create or update a Grade
              Enrollment object, this class evaluates whether the Educational
              Institution specified in the Grade Enrollment record matches the
              Educational Institution Account specified in the Education History
              record. This class returns an error if the values don't match. A
              blank Educational Institution field isn't considered a
              mismatch.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>Grade_Enrollment__c</p>
              <p style="margin-bottom:0;"><strong>(K-12 Architecture Kit only)</strong></p>
            </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">GRER_SyncGradeLevel_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p>This class matches the value on a
                Contact's Current Grade Level field to the Grade Level set on a
                Grade Enrollment record with a Current status. If any other Grade
                Enrollment record has a Current status when another Grade Enrollment
                record is set to Current, this class sets the status for that record
                to Former.</p>
              <p style="margin-bottom:0;">This class also updates the Current
                Grade Level field on a Contact to Not Applicable when no Grade
                Enrollment records have a Current status.</p>
            </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Facility__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">FACI_CannotDelete_TDTM</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents a Facility record from
              being deleted if it has any related Facility or Course Offering
              records. Facility records also cannot be deleted when they have
              related Course Offering Schedules due to the configuration of the
              Facility object's lookup field.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Plan_Requirement__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">PReq_CannotDelete_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents a Plan Requirement
              record from being deleted if there are any related Plan Requirement
              records. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Program_Enrollment__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">PREN_Affiliation_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> This class creates an Affiliation record
              between the Contact and the Academic Program (Account) when you
              create a Program Enrollment record. When you delete a Program
              Enrollment record, the class either updates the related
              Affiliation's status or deletes the Affiliation, depending on the
              configuration in Affiliation settings in EDA Settings. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Program_Enrollment__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">PREN_CannotDelete_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents a Program Enrollment
              record from being deleted if it has any related Course Connection
              records.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Program_Enrollment__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">PREN_ProgramPlan_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> When you create a Program Enrollment
              record, this class populates the Program Plan field with the Program
              Plan that's specified as Primary for the Academic Program. If a
              primary Program Plan isn't specified, then the Program Plan field
              isn't populated. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Program_Plan__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">PPlan_CannotDelete_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents a Program Plan from
              being deleted if is has any related Plan Requirement or Program
              Enrollment records.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Program_Plan__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">PPlan_Primary_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class ensures there is only one
              primary Program Plan per Account. When you insert or update a
              Program Plan and set Is Primary to True, the class updates Is
              Primary to False for all other Program Plan records related to the
              same Account.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Relationship__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">REL_Relationships_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> This class implements Reciprocal
              Relationship functionality. When you create a Relationship record
              for one Contact, this class creates a reciprocal record for the
              Related Contact. When you update fields like Status or Type, this
              class makes an equivalent update to the reciprocal Relationship
              based on Relationships configuration in EDA Settings. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Term__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">Term_CannotDelete_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents a Term record from
              being deleted if it has any related Course Offering, Term, or Term
              Grade records.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Term__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">TERM_CourseOff_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> When you populate the Start Date or End
              Date on a Term record, this class copies the dates to all related
              Course Offering records. </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Term_Grade__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">TGRD_ValidateData_TDTM</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">
              <p style="margin-bottom:0;">This class ensures that the selected Course
                Connection matches the selected Contact and Course Offering. It
                attempts to populate the missing data based on the data
                provided.</p>
            </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Test__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">TST_CannotDelete_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents a Test record from
              being deleted if it has any related Test Score records.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Time_Block__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">TB_CannotDelete_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;">This class prevents a Time Block record
              from being deleted if it has any related Course Offering or Course
              Offering Schedule records.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;">Time_Block__c</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">TB_StartEndTime_TDTM</td>

            <td class="slds-cell-wrap" style="vertical-align:top;">When you update the Start Time and End
              Time for a Time Block, this class locates related Course Offering
              Schedules and updates their Start Time and End Time to match the new
              Time Block values.</td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Trigger_Handler__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> THAN_Filter_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> This class performs validation on Trigger
              Handler records. It prevents two Trigger Handlers from referencing
              the same TDTM class. The class also enforces that Trigger Handler
              records with Filter Field data must also have Filter Value data.
            </td>

          </tr>
          <tr class="">
            <td class="slds-cell-wrap" style="vertical-align:top;"> Trigger_Handler__c </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> THAN_ClearCache_TDTM </td>

            <td class="slds-cell-wrap" style="vertical-align:top;"> This class clears cached TDTM Tokens
              after you create or update a Trigger Handler record. </td>

          </tr>
        </tbody>
      </table>