Map Current and Previous values to the CMDB fields through Business rule

Not applicable

Hi Everyone,
Need a help on the below issue, 
There is a requirement, where we are getting the user detail from the source,  transform field mapping is defined to map the user detail from source to "assigned to" field in the target table[cmdb_ci], but we need that user detail on the other custom field [we should not change the field mapping ]so instead of changing the target field in the transform map, we have decided to let the data map to "assigned to" field first, then we have to transfer that "assigned to"field value to other custom field and have to keep the old value in the "assigned to" field. 


For this I'm writing a Business rule [when to run before update],but it is not working as expected. 

 
    current.custom_field = current.assigned_to;
    current.assigned_to = previous.assigned_to;
 

Initially it is updating custom field with new value which is coming from source, and again custom field is getting updated with old "assigned to" value.
expected : if target assigned to = 'xyz', source data = 'abc' ,after BR triggers , custom field = 'abc', assigned to = 'xyz',

 

behaving : 

if target assigned to = 'xyz', source data = 'abc' ,after BR triggers ,custom field = 'abc',  again  custom field = 'xyz', and assigned to = 'xyz'


Thanks in advance,

Chaithanya