Configuration of an existing repository to provision through ROI iAM
Prerequisite
- The repository is configured on the ROI iAM side (source, target, system details).
- ROI iAM completes the initial load for that system.
- All HR users must exist in ROI iAM and have their
ROIAM_IDENTIFIER_<hubName>populated in IdM.
1. Configure repository type constants
- Open the Repository Type of the existing repository that will integrate with ROI iAM.
- Create two repository constants of category "Repository Type Constant With Override":
ROIAM_HUB_REPOSITORY- Data Type: String
- Description: Name of the HUB repository used for ROI iAM configuration. If empty, provisioning uses the standard connection.
ROIAM_TARGET_REPOSITORY- Data Type: String
- Description: Name of the target repository in ROI iAM.
2. Configure repository type plugins for ROI iAM provisioning
Adapt each relevant plugin so ROI iAM runs when ROIAM_HUB_REPOSITORY is set.
- Open the CreateUser plugin of the target repository type/package.
- Add a Conditional task immediately before the backend creation step.
- Use this "SQL Query" condition:
SELECT
CASE
WHEN varValue IS NULL OR varValue = '' THEN 0
ELSE 1
END AS hubRepo
FROM mc_repository_vars
WHERE Repository = %REPID%
AND VarName = 'ROIAM_HUB_REPOSITORY'Route the standard CreateUser process task to the False branch of the condition:
- Place the existing CreateUser task in the False branch.
- Move "Update User ACCOUNT" (or equivalent) below the CreateUser task in the False branch.
- Keep any other backend update tasks in the False branch in their correct order.
Plug the ROI iAM task into the CreateUser process:
- Open
com.roiable.roiam.connector→ Processes → Plugins. - Drag the CreateUser plugin from this package into the target process.
- Place the ROI iAM CreateUser process in the True branch of the conditional task.
The result should be:
- False branch: original backend flow, including account update and all backend-related operations.
- True branch: ROI iAM connector CreateUser process.

- Open
Repeat the same conditional pattern for the following plugins:
CreateUserModifyUserDeleteUserAssignUserMembershipRevokeUserMembershipEnableUserDisableUser
3. Configure ROI iAM load jobs for the target repository type
In the Jobs section of the target repository package:
- Create subfolder “ROI iAM jobs”.
Create repository job "Initial load - ROIAM" privileges:
- Navigate to the
com.roiable.roiam.hubpackage → Target Loads. - Open the "Initial load - ROIAM privileges" job.
- Copy all passes from this job into the new job in the target package (or recreate the same structure and values).
- Link script
ROIAM_hubPrivilegesInitialLoadfromcom.roiable.roiam.hub.
- Navigate to the
Create repository job "Daily load - ROIAM privileges":
- From
com.roiable.roiam.hub→ Target Loads, open "Daily load - ROIAM privileges". - Copy its passes into the new job in the target package (or recreate them).
- Link script
ROIAM_hubPrivilegesDailyLoadfromcom.roiable.roiam.hub.
- From
Populate the two repository constants created in step 1 for each system which provisions via ROI iAM:
ROIAM_HUB_REPOSITORY– HUB repository used for ROI iAM configuration.ROIAM_TARGET_REPOSITORY– System name in ROI iAM.
Execute "Initial load - ROIAM privileges" and verify:
- The job log shows success.
- Temporary table
roiam_%$rep.$NAME%_groups_initialexists. - Data in the temporary table looks correct.
- All existing roles/groups in the repository have attribute
ROIAM_IDENTIFIER_<hubName>populated.

Execute "Daily load - ROIAM privileges" and verify:
- Temporary table
roiam_%$rep.$NAME%_groups_deltapopulates as expected. - Schedule this job to run immediately after the standard "Daily Load – Roles job" for the repository.
- Temporary table
4. Test provisioning
Test end-to-end provisioning:
CreateUserModifyUserDeleteUserAssignUserMembershipRevokeUserMembershipEnableUserDisableUser
Important In the current ROI iAM version, the source of entries does not change. SAP IdM continues to create both
MX_PERSONandMX_PRIVILEGEentries; the ROI iAM load jobs enhance them with the values required for provisioning to target systems.