Hi Ann,
If you like only to save the last roles the users had. Meaning the user was in marking and his provisioning roles was a,b and c and now the user is in IT and his provisioning roles are c, d and e you can do this:
1. Create a new attribute to store this information in the user store
2. Create a PX that run on AccumulatedProvisioningRolesEvent (Or on Add/RmoveProvisioningRolesEvent) and collect all the cornet provisioning roles and concatenate it to one string with a delimiter (may be ^) and save it to the attribute you created
3. Change the provisioning roles for the user
Please note: if you dont like it to run on every change of provisioning roles set the PX to run on on tasks that you like. for example the user is missing one provisioning role and IT will fix him and you dont like to save change do not run the PX on event base but run it on task base.
I hope this is help you.
Thanks,
Eliran