Programs running on IBM i routinely need to retrieve the specific user ID associated with the person executing the code. In traditional interactive 5250 programs, the user ID is often accessed in RPG through the program status data structure, or by making a call to a CL program that uses the RTVJOBA command. These "old school" green screen approaches for obtaining the user ID may need to be tweaked a bit when running within a web environment.
A checkbox filter is one of the most intuitive user constraints you can add to a grid. The user simply checks a box and the rows of the underlying grid are immediately filtered to reflect the condition labeled on the checkbox.
Imagine going to a buffet and being told you can only choose ONE item for your plate, and if you wanted more you'd first need to take that single-item plate back to your table, consume it, then return for the next item. Wouldn't it be great if you could just load up your plate with two, three, four items or more and consume them all at once?
If you're creating NAB forms or custom apps that send emails using the VVMAIL service program module, as demonstrated in the "Send Email" utility nested inside the Examples app, you can set up a back-end routine to globally intercept all outbound messages using an exit program. The exit program you create can be used to override the mechanism through which emails are sent, or to store pertinent details in a custom "outbound email log" for auditing purposes.
In our previous newsletter tip we explored how to create an app in which users can upload files to specific locations on the IFS. Now we'll take a look at how to create a separate app that can put those uploaded files to use, in this case rendering them as thumbnail-size images inside a grid column.
Even as companies move toward a more paperless workplace, printed documents and paperwork remain an inevitable part of doing business. Whether it be a supplier invoice, a bill of lading, a certificate of quality, a signed contract, a proof-of-delivery or what-have-you, many business transactions are still supplemented with a piece of paper somewhere.
The coronavirus pandemic and accompanying "social distancing" has created unique business challenges on many fronts. This is particularly true for companies who weren't already set up to support large swaths of employees suddenly looking to access their IBM i-based ERP systems from home.
If a picture is worth a thousand words, how much more valuable is a button with an icon on it, compared to a string of words nested inside a row menu? While a thousand times valuation differential may be a stretch, there's no doubt that a visible action button on a grid row is going to be considerably more intuitive to users, particularly new users who are exploring apps for the first time. Such buttons also offer the added value of requiring one less click to trigger a row action.
With the end of the year approaching, most companies find they have a rare opportunity to do some significant system maintenance as users go offline for the holidays. In addition to, say, upgrading to IBM i OS 7.4, this may also be a good opportunity to rearrange your Valence setup so it's following a "best practice" configuration. In a proper setup you can download and test new Valence builds without affecting any of your production or test instances.
When creating an app to convey a typical collection of IBM i business data to users, the most common approach using Valence's Nitro App Builder tool is to build an SQL statement to pull in the pertinent information, pop the resulting rows into a multi-column grid, give the user a few filter options and call it a day.