6.4 Foundation Object Associations and Field Criteria

Key Takeaways

  • A Valid When association is created on the lower-level object being filtered and points to the higher-level object.
  • SAP recommends one-to-many multiplicity for new custom associations.
  • In jobInfo field criteria, the Destination Field Value is the HRIS field of the filtering higher-level object, such as business-unit.
  • For MDF-to-MDF filtering, the Source Field Name is the association name plus the parent's internal code field, such as cust_toBusinessUnit.internalId.
  • To filter MDF records by a legacy foundation object, use the pre-delivered wrapper object with a Composite association.
Last updated: September 2026

6.4 Foundation Object Associations and Field Criteria

Quick Answer: An association defines a relationship between foundation objects, so that choosing a higher-level record limits the lower-level choices. For example, choosing a business unit shows only its divisions. Filtering in employee data takes two configurations: the association on the object being filtered, and field criteria on the filtered field in Job Information (and on the Position object if Position Management is used).

Why Associations Matter

THR81's example: ACE Corp has 30 locations, 13 of them in the United States. Associating those 13 locations with the US legal entity means that when Ace USA is chosen, only 13 locations are offered. Associations make data entry easier and keep employee data consistent with the organization hierarchy. Some associations are pre-delivered, for example Location with Legal Entity, and Pay Range with Pay Grade.

Multiplicity

MultiplicityBehavior
One to OneEach record links to one record, for example a location belonging to only one location group. It displays as a picklist on the record. Several standard one-to-one associations exist (Location–Geozone, Pay Range–Geozone, Pay Range–Pay Grade).
One to ManyA record can link to several records. It displays as a separate section at the bottom of the FO record, where several records can be connected. For example, a job classification links to several country-specific job classifications.

SAP recommends that any new custom association be created as one-to-many. One-to-many does not force you to select several records; it keeps the option open.

Association Properties

PropertyMeaning
NameUnique; customer-defined associations are prefixed cust_ automatically
MultiplicityOne to One or One to Many
Destination ObjectFor Composite: the child object. For Valid When: the higher-level object in the hierarchy.
TypeComposite or Valid When (Join By Column is not used in this training)
LabelDisplay label for the related records

Category 1: MDF to MDF (Business Unit filters Division)

Step 1 – Create the relationship on the object being filtered (the lower level). In Configure Object Definitions, open Division and choose Take Action > Make Correction. In Associations > Details, set:

  • Name: for example toBusinessUnit (saved as cust_toBusinessUnit)
  • Multiplicity: One to Many
  • Destination Object: Business Unit (the higher-level, filtering object)
  • Type: Valid When

Then link the records in Manage Data. Each division record is associated with its business unit(s).

Step 2 – Apply the filter in the employee file. In Manage Business Configuration > HRIS Elements > jobInfo, open the division field (the field being filtered) and go to Details > Field Criteria:

  • Destination Field Value = business-unit. This is the HRIS field identifier of the higher-level object doing the filtering.
  • Source Field Name = cust_toBusinessUnit.internalId. This is the association name, a period, and the field name of the parent's internal code. Look it up in Configure Object Definitions as the field whose Database Field is InternalCode.

Step 3 – Apply the filter to positions (only if Position Management is enabled). In Configure Object Definitions > Position, open the division field's Details and fill in its Field Criteria the same way, so position records respect the hierarchy too.

Common trap: people often swap these two values. In SAP's configuration, the Destination Field Value is the filtering HRIS field (business-unit), and the Source Field Name is the association path on the filtered object (cust_toBusinessUnit.internalId).

Category 2: XML to MDF (Legal Entity filters Location)

Here the object being filtered, Location, is XML-based, so the association is built in the Corporate Data Model:

  1. Open the latest corporate-datamodel.xml and go to the location element.
  2. In its hris-associations section, add an association line with multiplicity ONE_TO_MANY and destination-entity = LegalEntity, the code of the MDF object from Configure Object Definitions.
  3. Validate, save as a new version, and upload.

Then, in BCUI > jobInfo > location > Field Criteria:

  • Destination Field Value = company, the HRIS field of the filtering legal entity.
  • Source Field Name = LegalEntity, the code of the filtering object in Configure Object Definitions.

Finally, add the same field criteria to the Position object's location field if Position Management is used.

Category 3: XML to XML (Location Group filters Location)

Several XML-to-XML associations are pre-delivered. For a custom one, SAP's example adds this to the location element:

<hris-associations>
  <association id="id" multiplicity="ONE_TO_MANY" destination-entity="locationGroup" required="false"/>
</hris-associations>

Location Group is not a standard Job Information field, so a custom field (custom-string3) displays the location group in jobInfo. The location field's criteria then point to it:

<hris-field max-length="128" id="location" visibility="both">
  <label>Location</label>
  <field-criteria destinationFieldValue="custom-string3" sourceFieldName="locationGroup"/>
</hris-field>

Category 4: MDF to XML (Location filters a custom Garage object)

You cannot associate an MDF object directly with a legacy FO. Use the pre-delivered wrapper object that represents it, such as Location Wrapper. When a wrapper is used, the association type must be Composite, not Valid When.

THR81's Garage object (Basic effective dating, externalCode Auto Number, externalName Garage Name, carCapacity) gets the association toLocation: One to Many, destination Location Wrapper, type Composite. In jobInfo, a custom field (custom-string4, Type of Reference Object = Foundation Object, Reference Object = the garage object's code) shows the garage. Its field criteria use Destination Field Value = location and Source Field Name = cust_toLocation.externalCode. The external code connects the wrapper to the legacy object.

Validating the Setup

  • The Check Tool includes a validation for existing or missing field criteria.
  • Test with Add New Employee or Change Job and Compensation Info: choose the parent value and confirm that only associated records appear.
  • Remember effective dates. An association cannot link records if the child record starts before the parent record exists.
Test Your Knowledge

Division records must be filtered by the selected Business Unit in Job Information. The Division object has the association cust_toBusinessUnit. What are the field criteria on the jobInfo division field?

A
B
C
D
Test Your Knowledge

A consultant wants a Valid When association so that Business Unit filters Division. On which object is the association created?

A
B
C
D
Test Your Knowledge

A custom MDF object must be filtered by the legacy Location object. How is the association configured?

A
B
C
D