To ensure data integrity, Business Unit assignments must meet certain requirements. The following table shows a list of Business Unit object relationships.
Referred: Objects that contain the object type. You can create or assign object types from these objects.
Referring: When the object type contains the objects, you can create or assign referring objects from the object type.
| Object Type | Referred by Objects | Referring to Objects |
| Participant | Position | None |
| Title | Position | Plan |
| Position | Positions (subordinates) | Participant, Title, Plan, Position Group, Positions (manager) |
| Position Group | Position | None |
| Plan | Position Title | Rule |
| Rule | Plan | Formula, Variable, Territory, Fixed Value, Quota, Rate Table, Lookup Table |
| Formula | Rule, Formula, Rate Table, Lookup Table | Formula, Variable, Fixed Value, Quota, Rate Table, Lookup Table |
| Variable | Rule, Formula, Rate Table, Fixed Value, Lookup Table, Territory | Rate Table, Fixed Value, Territory |
| Territory | Rule | Category, Classifier |
| Fixed Value | Rule, Formula, Lookup Table, Rate Table, Fixed Value Variable | |
| Quota | Rule, Formula, Lookup Table, Rate Table | |
| Rate Table | Rule, Formula, Lookup Table, Rate Table Variable | Formula, Lookup Table, Quota Variable, Fixed Value |
| Lookup Table | Rule, Formula, Lookup Table, Rate Table | Category, Classifier, Category Tree, Formula, Lookup Table, Fixed Value |
| Category Hierarchy | Category, Lookup Table | None |
| Category | Territory, Lookup Table | Classifier (indirectly through the relationship), Category Hierarchy |
| Classifier | Territory, Lookup Table, Category | None |
Items Controllable by Business Units
The following table lists Business Unit security constraints by type of object.
| Workspace/Item | Controllable by Business Units |
|---|---|
| Participants | Can be assigned to one or more Business Units |
| Titles | Can be assigned to one or more Business Units |
| Positions | Can be assigned to a single Business Unit |
| Position groups | Can be assigned to a single Business Unit. |
| Relationships | Not directly assignable to a Business Unit. Relationships are controlled indirectly by the position’s Business Unit assignment. |
| Roll Types | Not directly assignable to a Business Unit. |
| Compensation Elements | Can be assigned to one or more Business Units |
| Categories | Can be assigned to one or more Business Units Subcategories can be assigned to only those Business Units to which the parent category is assigned (or a subset thereof). |
| Classifiers | Can be assigned to one or more Business Units |
| Orders, Transactions | Can be assigned to a single Business Unit |
Results Data | Assigned to the Business Unit to which the position is assigned. If you change a position’s Business Unit assignment, when you next run the calculation the results data follows the position. If you need to re-run the calculation, you must do so for all periods in which the Business Unit assignment change is effective. |
| Users | Can be assigned Read and/or Full access to any combination of Business Units. Users can set a default Business Unit. |
| Roles | Not directly assignable to a Business Unit. |
| Global Values | Not directly assignable to a Business Unit. |
Business Unit General Rules
The following list contains general rules about assigning or changing Business Units for objects that are in hierarchies (categories, relationships):
A set of Business Units for an object must contain the set of Business Units for its referring objects. You cannot remove a Business Unit if it violates this condition.
For example, if you have a category associated with BU1 and BU2, its category hierarchy must also have BU1 and BU2. You cannot remove the Business Unit from the hierarchy. If you later remove BU1 from the category, you can then remove it from the hierarchy.
Create the object type with the Business Unit that has the referred object.
For example, you cannot assign a Product Sales Specialist to the BU_Europe Business Unit unless his or her manager is also assigned to at least the BU_Europe Business Unit as well.
You cannot change a category’s Business Unit assignment in a way that separates it from the categories or classifiers beneath it.
For example, if the Bike Products subcategory is assigned to the Europe and Australia Business Units, and all items beneath that subcategory are also assigned to the Europe and Australia Business Units, you cannot change Bike Products to be assigned only to the North America Business Unit.
If you assign a Business Unit to a category during the creation of a category hierarchy, the Business Unit of the category persists in its subcategories as they are created.
Changes to Business Units cascade only a single level for most objects but includes the category hierarchy. For example, if you change the Business Unit for a subcategory, the change cascades to the parent category and the category hierarchy.
If you change the Business Unit assignment of an item, changes are not propagated to its referred items.
If you change the Business Unit assignment for a position, the position’s associated results data is updated during the next calculation run. Results data that is manual, imported, or historical continues to have the old Business Unit assignment.
Note
Touchless Deployment
Touchless Deployment is a self-service capability that fully empowers customers to develop and deploy custom code in the EXT Schema.
Without Touchless Deployment, your developers could create custom code and other database changes to the extended (EXT) schema in a development environment, but would have to submit a service ticket to publish the changes to a production environment. Touchless Deployment allows you to deploy database changes into the EXT schema in the production and non-production environments, enabling them to continuously test and deploy database schema changes in their tenant. This option makes database refactoring much simpler, and there is no need to create service tickets when you need to push custom code to your production instance.
- Users can easily develop and deploy tables, sequences, procedures, views, and more.
- The deployment starts immediately, as long as no pipelines are running.
- All deployment details and errors are accessible to enable troubleshooting in case the deployment fails.
Touchless Deployment service for EXT schema is based on an open-source tool called Liquibase.Liquibase is an open-source tool that can be used for database re-factoring.
Liquibase lists all the changes made to the database in a sequential manner. The changes are recorded in a changelog in the order in which they need to be deployed. Liquibase then uses the changelog to inspect and execute the updates that are not yet applied to the database. Customers need to upload the changelog and SPM will use Liquibase to execute the changes.
Enabling Touchless Deployment
To enable the Touchless Deployment feature, create a service request. Support will enable the Touchless Deployment REST Service on your tenant and notify you.
The Touchless Deployment permission is added to a role in the Security workspace. The Commissions user who deploys the database changes would then be granted access to the role. Generally this would be a system role used only for touchless deployment; in the example below, we are using a user called U_TouchlessDeployment and a role called R_TouchlessDeployment.
To configure permissions for Touchless Deployment:
1. In Manage Setup → Security → Roles, create a new role called R_TouchlessDeployment.
2. Open the Permissions tab.
3. Select Administration .
4. Under Touchless Deployment, check the box under the Update column and save the role.

When enablingTouchless Deployment in your environment, keep in mind the following points:
- Touchless Deployment is available only for the EXT Schema and not for TCMP Schema. TCMP Schema related changes require a support ticket.
- Ensure your syntax matches to the standard Oracle and HANA SQL scripts in your artifact.
- Ensure you rollback the right deployed status ID.
- Currently, Touchless Deployment is not Applicable for HDI Containers used in your SDI Project.
- Refer to the Liquibase Documentation to understand the Syntax https://docs.liquibase.com/