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.

Design Studio - Source Code Changes

I'd had some fun recently creating some cool forms with Design Studio. I've mentioned some of the stuff that I've been able to do, but I thought I'd give a brief list of changes I've made within the Source tab to meet my clients needs.

Custom HR11 form - change the Title
My client didn't want the form's title to display "Employee" so I went into the Source tab, found the Title reference and changed it.

Custom GL41 form - Release button
Due to how a JE with Activities processes, the client didn't want to use Lawson's standard ProcessFlow approval triggers. Now we are going to Submit the form for approval and have ProcessFlow Release the record after the approvals are complete. I found the reference for the Release button within the Source code and changed it so it would display Submit.
//Disp="R" nm="Submit" value="R" nbr="_l19" id="button9" visible="0"
Of course I used the OnBeforeTransaction(fc) function and if fc=="R" I triggered ProcessFlow instead of allowing the Release to take place.

Custom GM65 form - change the Select list values
This client didn't like the descriptions associated to the values within Lawson's standard status list. Rather than delete Lawson's select list and add a new one and then use a lot of scripting to tie them together, I simply found the list within the Source code and changed the display values.
//Disp="1" Tran="1" id="vals1" nbr="_l16" Calculated
//Disp="2" Tran="2" id="vals2" nbr="_l17" Released
//Disp="3" Tran="3" id="vals3" nbr="_l18" Not Used
//Disp="4" Tran="4" id="vals4" nbr="_l19" Certified

Custom WFWK form - change the System value
When I have to create a new form I will sometimes start with one of these little used WFWK .1, .2 or .3 forms as a blank template. In order to include the ability to add a standard Lawson lookup list I change the System associated to my form from "WF" to the system my drop down list is associated to from within the Source.
SYSTEM="GM"