We've been looking recently about making identities inactive when they are no longer live within our system, and we've set something up to autmatically set an identity expiry date of 28 days after the person has come through from HCM as exited. This seems sensible enough, and obviously then the obvious next question is once you've made someone inactive, how do you make them inactive again, in the case of a re-hire, or an error?
To be able to do this, you need a couple of things.
- A search task on MX_PERSON, that includes MX_INACTIVE
- A UI tasks that allows you to edit MX_INACTIVE or as per the standard a UI task that triggers the clearing of MX_INACTIVE
And then reactivate it
And the interesting Part
So the above was what we wanted to do and was quite straight forward, what was more interesting is what happened next. What we then found was, on reactivating an Identity, all the event tasks that were set to run on the Add event were triggered at reactivation.
So in our case, this was "Z_ENROL_ADD", as can be seen in the picture below.
The work around for us was to make sure that just before the identity became inactive, we removed the attribute value from the attributes that had Add event tasks on them and this resolved the problem.