If performance is your concern, then avoid handing off work to additional Processes or Operations and do all the work within the Business Service, or better yet, outside of Ensemble (see: %SOAP.WebService) . Invoking synchronous requests to Business Processes/Operations is costly when dealing with high volume concurrent traffic.
Thanks for the answer. Unfortunately, modifying this class isn't an option.
I see where you are coming from with having a status code returned to notify a problem exists.
Personally, I'd calculate comissions in a seperate single responsibility class that extends an abstract class for interface segregation. That class implements three public methods: Calculate(), HasError(), GetError()
//calculate then commission:
Set tCommission = tUsedCarCommission.Calculate()
//log the error or do something with it
It's very similar to what you'd do with traditional status types but without having to deal with passing in references. Also, IMO, it's very clear what's going on if the commission has an error.
Log in or create a new account to continue