One of the phase 2 changes we had on the form was to allow for multiuser batch processing. Due to restrictions in GP, we were unable to make multiple users access the same batch. Instead, we compromised and had users be able to select the automated match batch to process or create their own batches and select any invoice to process. This required us to remove the default settings on the form as well as move around the recreating of the scrolling window table. Various SQL calls had to be modified to retrieve the correct data. Although these were all minor changes, they were numerous and wide. It really showed how important it is to have all your expectations and deliverables laid out early on, so you don’t spend lots of time making small but numerous changes such as this. Of course, this is not always possible, but it’s preferred.
Another change was removing the filter and making the approval section its own form. This required creating and registering the form as well as setting up the handler for it. While I initially thought I could fit it inside the original handler, it turned out there was a character limit for dexterity scripts. This forced me to create a new handler. After setting up the handler and registering the form, I had to migrate any submitted invoices to the approval form. This wasn’t too difficult as it just required me to add an additional form field to our data table and utilize the CF_FormID in the WVS00302 table (the scrolling window table). Simply changing these fields and passing the form id into my SQL calls ensured I was only getting data that pertained to the form in use. I added a SQL call that would trigger on the window pre-event that would rewrite the WVS table for the specified form to remove the empty lines. With all of this together, submitting forms would now send the matched invoice to the approval form where a user could approve or reject the form. Rejecting it would send it back for rematching, while submitting it would send it into our SmartConnect workflow.
With my growing experience in GP PowerTools and Dynamics GP, this set of tasks was a lot easier to accomplish. It is fulfilling seeing my skills actively growing, reflected in the time it took me to complete this.