Symptoms
Destination user A delegates task to user B, user B approves the task. When we trace the destination user stored in the DB, it shows as user A instead of user B who actioned the task.
Diagnoses
The delegate/redirect functionality simply grants the rights to the new user, it does not actually change the owner of the task.
Resolution
This is a known issue and has been logged as a bug to be fixed in a future release.
As a workaround, you can use the list method of the “Activity Instance Destionation” smartobject and filter on the known values. In the smartobject input mapping, if you set the ‘Status’ to the text ‘Completed’, this will return the final user who actioned on the task. The original user will have the status of ‘Expired’. The 'final action' field will also be set to 'Approve' for the user who approved the task.
Another workaround is to add a rule called “after the worklist item is submitted” and execute a smartobject method to store the current approver name (under system values in context browser) into your database table.