Hi Pam,
If the role was assigned by a BATCH user, we can safely say that an external action was used to assign this (indirect assignment). Maybe you have GRC, IdM or CUA in your landscape which manages the assignments of roles.
If the BATCH user is running only the PFUD, can you go up in your SUIM result, the logs might give you more clarity. Did you just check that the last change was the Batch user, maybe what happened is someone assign the roles and then the batch job for PFUD run that's why the last change was the batch user.
Regards,
Santi