The Wild Evolution of AS/400 to IBM i

CategoryIBM iAS/400Valence

With IBM i turning 30 I thought it would be fun to recap the evolution of this amazing operating system over the years from my perspective. The first system I ever worked on was a model B50 way back in 1991, and of course it was called AS/400 at the time. I thought the machine was pure magic with its tan towers and reel-to-reel tape drive (some of you may have to look that up).

CNX Turns 22 Today!

CategoryValencePRMSBPCSAS/400IBM i

Twenty-two years ago today we officially registered CNX as an Illinois corporation (wow, that's a shocking thing for us to write), so we thought it might be fun to take a short trip down memory lane on this blog post.  So much has transpired in those years that we could write a book, so we will necessarily need to keep it brief here — perhaps one of us will write that book later!  

Anyway here it goes:

Bumping up the number of CGI jobs servicing your Valence apps

CategoryApacheIBM iPressTip of the MonthValence

Your IBM i HTTP Server powered by Apache is a powerful web-serving system akin to a bank staffed with multiple fast-working tellers. The AJAX requests coming in from your front-end apps are like customers entering the bank to perform transactions. Each "customer" queues up in an orderly line on a first-in/first-out basis, and is serviced by the next available "teller" as soon as they're finished dealing with the prior customer.

Controlling the colors in your charts and graphs

CategorychartscolorsJavaScriptNitro App BuilderTip of the MonthValence

Nitro Query apps containing charts or graphs can make conveying your company's business trends or performance metrics much more effective than showing raw numbers alone.  It's particularly common (and easy) to create a dashboard app that includes a grid of monthly sales details supplemented by a chart showing month-to-month performance.  This adds some great context to the lists of numbers.

Create an intuitive grid app with row selection, processing multiple transactions at once

CategorybuttonIBM iNitro App BuilderPressrow selectionsRPGTip of the MonthValence

Just about every business has a situation where users need to perform a single process against multiple items in one pass.  For example, you might have a list of open invoices that you'd like to flag as ready for payment, or a group of inventory items that you would like to transfer out of a special holding area. Rather than making your users do individual transactions for each invoice that needs to be paid, or each product that needs to be moved, you could significantly speed up the operation by providing your users a list of selectable records and an action button.

Correcting issue with partially visible window on migrated AutoCode apps

CategoryAutoCodeExt JSIBM iJavaScriptrenderToSencha Architect

Older Valence file maintenance apps created through Nitro AutoCode can sometimes exhibit a display problem upon migration to Valence 5.1.  This can also be true for AutoCode-based file maintenance apps created in 5.1 builds prior to 5.1.20171202.0.  The most common symptom is that a portion of the edit/add window displays outside of the portal boundary, as shown here... 

Make your Yes/No grid columns POP with checkmarks instead of text

CategorycheckboxcheckmarkEdit gridgridNitro App BuilderPressTip of the MonthValence

Wrapping up 2017 with a simple but powerful tip for Nitro Query grid apps... Very often lists of business data include columns that can be classified as boolean, with text representing values of yes/no, true/false, 1/0, etc.  When you're creating a Nitro Query grid app that includes such columns, you can make "truthy" values stand out much more clearly by replacing the column text with a visual checkmark. 

Leverage SQL to Create IBM i Web Apps - FAST!

CategoryNitro App BuilderPressTip of the MonthValence

Whether you're a seasoned SQL pro or just learning the ropes of SQL syntax on IBM i, the SQL parser built into Nitro Query App Builder is an invaluable tool you can leverage to quickly generate a web-based report for your users, or even a file maintenance application containing multiple joined files. SQL-based data sources were introduced in Valence 5.1 back in May 2017, and the feature was formally removed from Beta status this month.


Convert a green screen query into a web or mobile app in minutes

CategoryNitro App BuilderPressTip of the MonthValence

The tried and true IBM i Query Utility (as accessed via STRQRY or WRKQRY) is a mainstay in many IBM i shops. But it goes without saying that the user interface associated with the configuration and the output of an IBM i Query leaves a bit to be desired. This is particularly true when users must navigate through the query's definition to change selection or sort criteria.

Who knew you could do that in Valence?


blog posts. So as we prepare for next month's release of Valence 5.1, we thought it'd be both interesting and useful to summarize some of the blog post contents in a single, categorized list.  From customizing the look and feel of the Valence Portal to tips on back-end and front-end development, there's likely to be at least one or two blog posts to pique your interest. Without further ado, here's a categorized breakdown of the more useful blog posts from the past few years:   Valence Portal Tricks

Useful information extractable from the IBM i Apache Server

CategoryApacheEnvironment VariablesTip of the MonthValence

With every user action in the browser that results in a call to a Valence instance running on your IBM i Power Server, a wealth of data about the user's session is sent to the integrated Apache Server.  This information can be accessed by your back-end RPG programs to potentially alter how they respond to the front-end. Want to know what URL is on the user's browser page?  Or what type of browser is being used?

Adding colorful pizzazz to Nitro Query grids

CategorycolorgridNitro App BuilderTip of the MonthValence

The Nitro Query app included with Valence is designed to quickly take large volumes of IBM i data and make it easily accessible to your users in the form of a dashboard or query. Management and company executives in particular love the intuitive nature of being able to click through charts, graphs or grids, and optionally download the data to Excel.  And, of course, IT developers love the ease and speed in which these apps can be created for both desktop and mobile interfaces.

Understanding back-end issues with the Valence Errors app

Categoryerror loggingTip of the MonthValence

In a typical Valence app you have a myriad of front-end UI logic working in tandem with back-end RPG programs that process AJAX calls and perform functions to retrieve or update IBM i data.  Whenever something goes wrong on the front-end, you can typically zero in on the issue by peering into the browser's console.

Fun with summary functions and column rendering on Nitro Query grids

CategorycolumnsgridNitro App BuilderTip of the Month

By far the most popular UI component in the Valence modernization framework is the subfile-on-steroids known as the Ext JS grid. blog_grid_grid144 And for IBM i developers and super users alike, there is simply no faster way to roll out a web or mobile application exploiting this powerful functionality than through the grid widget in Valence's Nitro Query tool.

Put a link on it: Launching Valence apps directly from a URL


valenceapplinkSometimes the best way to get a business point across to someone, or get them to look at something at all, is to make it insanely easy for them to get where they need to go with a single click.  The Valence 5 portal makes it possible to do this with just about any app or Nitro Query you've got set up.  Simply construct a special URL and email it!