# Schema Reference

The application schema is used to configure the objects returned from a connector.

> [!NOTE]
>
> - The **Account Schema** tab is used to define the attributes for each object type in the application being configured. The schema attributes can be defined as **Entitlement** or **Multi-Valued**. Refer to [Managing Source Account Schemas](<https://documentation.sailpoint.com/saas/help/accounts/schema.html>) for more information.
> - The schema attributes that are not present by [default](<#default-account-schema>) must be defined as strings if not specified.

The SAP HR/HCM connector uses the following default correlation and object configurations.

## Default Account Schema

Each source supports a variety of details, or attributes, about each user who has an account, such as their name, email address, manager name, and location.

The set of account attributes each source stores and how they're organized is known as the account's *schema*. To best represent your data, you can configure sources to use an account schema matching the one you use in the external connector. Refer to [Managing Source Account Schemas](<https://documentation.sailpoint.com/saas/help/accounts/schema.html>) for more information.

### Account ID

SailPoint requires that certain attributes remain in your configuration. These attributes are referred to as *account IDs*.

> [!CAUTION]
>
> Changing the attribute marked as the account ID after aggregating accounts can result in duplicate accounts being created. To avoid this, either reset the accounts on this source before editing the account ID attribute or edit the account ID attribute before aggregating accounts.
>
> To resolve issues caused by changing account IDs, reconfigure them to their default values.

The following table lists the default account IDs for this connector:

| Account ID | Schema Object Type |
| --- | --- |
| Central Person ID | Account |
| Employee Number | Account |

### Default Account Attributes

The SAP HR/HCM connector supports the following default account schema attributes and customer configurable attributes. The attributes must be defined as strings if not specified.

| Attribute Name | Description |
| --- | --- |
| Academic Grade | The academic grade attained by the employee. This is the "Title" associated with the person. |
| Address | The address of the employee. |
| Address Type | The address type of the employee. For example, home/work.<br>Short text: Subtype |
| Address Type Code | The address type code of the employee. |
| Admin Group | The administrative group to which the employee belongs. |
| Aristocratic Title | The name supplement. For example, Lord/Lady.<br>Short text: other title |
| Business Area | The business area. |
| Central Person ID | The central person ID associated with the employee. |
| Co Area | The controlling area. |
| Comp Code | The company code. |
| Company Name | The company name associated with the employee. |
| Contract | Work contract information |
| Cost Center | The cost center to which the employee is associated. |
| Country | The country in which the employee is located.<br>Short text: Country key |
| Country Code | The country code. |
| E Group | The Employee Group to which the employee belongs.<br>An Employee Group is a subdivision of a Personnel Subarea that determines benefits based on hours worked. |
| Email | The email address associated with the account |
| Employee Number | The employee number. |
| FirstName | The first name. |
| FullName | The full legal name. |
| Effective Dates | Stores the Effective Dates for manager change and last name change in the following format:<br>`{ "LastNameChanges": [ { "EffectiveDate": "yyyy-MM-dd", "LastName": "<lastname>" } ], "SupervisorChanges": [ { "EffectiveDate": "yyyy-MM-dd", "Supervisor": "<supervisor-id>" } ] }`<br>For example:<br>`{ "LastNameChanges": [ { "EffectiveDate": "1998-07-30", "LastName": "Jones" } ], "SupervisorChanges": [ { "EffectiveDate": "2025-05-01", "Supervisor": "00000428" } ] }` |
| Id Number | The personnel identification number. For example, Social Security Number. |
| Initials | The initials of the employee. |
| Job | The job title. |
| Job Description | The job Description. |
| Known As | The nickname or preferred name of the employee. |
| Language | The primary language.<br>Short text: Language key |
| Language Code | The language code. |
| Language ISO | The primary language ISO 639 code.<br>Short text: Language according to ISO 639 |
| LastName | The surname. |
| LegPerson | The legal person assigned to the account |
| MiddleName | The middle name. |
| Name | The full employee name. |
| Name Format Indicator | The name format indicator.<br>Parameter Name: `NAME_FORMAT_INDICATOR` |
| Org Key | The organizational key. |
| Org Unit | The organizational unit. |
| Organization Description | The organization description. |
| P subArea | The personnel sub area. |
| Payarea | The payroll area. |
| Payroll Admin | The payroll Administrator. |
| Personnel Admin | The administrator for the HR master D=data. |
| Personnel Area | The personnel area to which the employee reports. |
| Personnel Number | The employees personnel number. |
| Position | The title of the position. |
| Position Description | The description of the job function. |
| Reason Code | The reason for changing the master data. |
| SecondName | The second name. |
| State Abbreviation | The state abbreviation. |
| STAT2\_Current | The current employment status. |
| STAT2\_Next | The future employment status. |
| STAT2\_Next\_Start\_Date | The effective start date of the future employment status. |
| Sub E Group | The employee Subgroup information. |
| Supervisor | The supervisor area. |
| Surname Prefix | The last name prefix. |
| System user name (SY-UNAME) | The user ID. |
| Telephone | The telephone number and dialing code. |
| Time Admin | The name of the administrator for time recording. |
| Title | The function. |
| Zip Code | The zip code. |
| Infotype0000JSON | Information about the actions InfoType. This attribute aggregates past, present, and future data. |

## Support for Future Data

The SAP HR/HCM connector supports aggregation for future data for all accounts.

### Additional Schema Attributes

Use the following parameters for future data:

- **STAT2\_Current**: The current employment status with the following values:

  - **Inactive**: For a terminated employee.
  - **Active**: For an active employee.
- **STAT2\_Next**: The future employment status with the following values:

  - **Inactive**: For a terminated employee.
  - **Active**: For an active employee.
- **STAT2\_Next\_Start\_Date**: The effective start date of future employment status in the following format:

  `yyyy-MM-dd`
- **Effective Dates**: Stores the effective dates for a manager change and a last name change in the following format:

  ```json
  {
    "LastNameChanges": [
      {
        "EffectiveDate": "*******",
        "LastName": "Jones"
      },
      {
        "EffectiveDate": "2025-05-01",
        "LastName": "Taylor"
      }
    ],
    "SupervisorChanges": [
      {
        "EffectiveDate": "2025-05-01",
        "Supervisor": "00000428"
      }
    ]
  }
  ```

  > **Note**
  >
  > First `EffectiveDate` under "`LastNameChanges`" is masked as it reveals birth date of the employee.

> [!NOTE]
>
> By default, these attributes will be a part of the schema attributes for the new application. If required for the upgraded application, these attributes must be added manually. If the attribute is not present, then no valid event exists for that attribute.

## Infotype0000JSON

The `Infotype0000JSON` schema attribute allows you to aggregate data related to Action Type configuration parameters in JSON format, as follows:

```text
Infotype0000JSON : { "Actions": [{ "ActionTypeCode" : "<Value>","ActionTypeName": "<Value>","ReasonCode" : "<Value>","ReasonTypeText": "<Value>","ActionStartDate" : "<Value>","ActionEndDate" : "<Value>" }] }
```

The specific details are as follows:

- ActionTypeCode - A value of action to use (a numeric value).
- ActionTypeName - The name of the action (a text value).
- ReasonCode - The code of reason to use (a numeric value).
- ReasonTypeText - The name of the reason (a text value).
- ActionStartDate - Format: YYYY-MM-DD
- ActionEndDate - Format: YYYY-MM-DD

The empty attribute value for `infotype0000JSON` indicates no future events for an identity, displayed as `Infotype0000JSON: { "Actions": [ ] }`

> [!NOTE]
>
> By default, these attributes will be a part of the schema attributes for the new application. If required for the upgraded application, these attributes must be added manually. If the attribute is not present, then no valid event exists for that attribute.
