Design Studio Inbasket - Updateable Form

One of my clients is using ProcessFlow and Design Studio to access custom tables for approving invoices outside of the Lawson application. They defined the custom tables within Lawson's data dictionary so standard DME and AGS calls will work with them.

Because it is outside of Lawson's application, however, they needed to allow "approvers" to make changes to the form values (Department number, Accounting Distributions, PO Number, etc.). What they have been doing is hiding Lawson's standard Inbasket Action buttons and performing the dispatch calls from buttons they added to the Design Studio form.

They did this so they could call the Change function and make sure the data passed the edit checks prior to performing the Approve, Reject, etc. ProcessFlow dispatch call. As you can imagine, this is a bit of customization.

Now that they are looking at moving to Infor Process Automation (formerly LPA) I'm working on recreating some of their custom functionality - still using the S3 custom tables and Design Studio forms.

Rather than hide IPA's Action buttons, I have proposed that the Inbasket form track the field values and perform the Change FC when the user updates each field (with a pop-up alert if the Change Complete - Continue status isn't returned). The user will know right away if there is a problem with their data entry and not have to wait until they attempt to perform the dispatch action.

The draw back? After every Change FC was performed, the cursor would position itself back to the first form field. This is fine if the user is using a hunt and peck method of selecting the fields to update, but not if they're tabbing through the form and changing each field as they go.

So I started tracking which "next field" to go to after making an update and tried adding the Position To by ID function after the calling the Change function. That didn't work.

I tried putting my position to function is different standard functions available to the form, but none of them worked - until I mentioned my problem to my boss, Adam, and he gave me the solution.

He suggested using the textbox's "on focus" function on the first form field and when this field received the focus, check that the next field I wanted to go to was different and then position to that field. A simple and elegent solution that actually works!

Thanks, Adam. Now to convince my client that this is the best option.