If the field is computed, it will revert to the value specified by the formula every time the document is edited and saved. If you can arrange for the field not to be calculated until RoutingRequest has its final value, then you can just make it Computed when Composed. Or, if something must happen to make it have the right value (someone clicking an action button for instance) then you can do the assignment as part of the button code. This might be the button clicked by the helpdesk to start the process. The code might look something like this:
@If(RoutingRequest != “”; “”; @Return(@Prompt([ok]; “error”; “There are no names to route to”)));
count := @Elements(RoutingRequest);
FIELD RoutingList := @If(count > 1; @Subset(RoutingRequest; 1-count); “”);
@MailSend(RoutingRequest; “”; “”; <i>subject</i>; “Please review this here document”; “”; [IncludeDocLink]);
And the button to do the approval would use a similar formula to remove the current person’s name from RoutingList, and send email to the next person. However, if the save fails, you must restore the previous value of RoutingList (instead of doing “” as in this formula), or else when they try it again they will remove the next approver.