Bruce Vining's new PowerCL: CLF product allows IBM i professionals to work directly with database, display, and printer files from CL programs.
Written by Chris Smith
As everyone knows, CL is the control language for the System i and is known by every developer and operator of the platform. IBM has provided a very complete set of commands within CL to work with the many different types of objects on the system. What the company has not provided, and what users and developers have been requesting for many years, is a set of commands that fully support working with database, printer, and display files. All that has now changed.
Bruce Vining, a former IBM employee, and well-known author in the midrange arena has spent the last two years developing a command set for CL that allows full access to database, printer, and display files. Called PowerCL: CL for Files (CLF), the product holds the promise of greatly improving productivity for developers, power users, and system administrators. It allows anyone who knows CL but may not know RPG, COBOL, or C, to create system maintenance utilities, application control programs, and test scripts without developer support.
"CL for Files can do everything that you can do in RPG, COBOL, or C that relates to database, display, or printer files," says Vining. "It's designed for people who are familiar with Control Language—system operators, programmers, reasonably skilled users (i.e, power users) —anybody who can use CL." The intent, he says, is to improve productivity, not replace RPG programmers.
"Companies today have hundreds or thousands of CL programs on their system, and those CL programs are constructed out of a number of CL commands. CLF provides several dozen more CL commands," says Vining.
CLF is being introduced as the first in a line of products under the brand name PowerCL and is designed to help free system operators from much of the support they once needed from busy programmers in addition to allowing the programmers to be more productive. As Vining notes, "If you wanted to have a CL job stream and also wanted to use some database to control processing, you likely had to write multiple programs. You might have one program in CL and one or more in RPG to provide for file operations. And if you wanted to create 'work with' applications, you might have to write a driver in RPG, C, or COBOL since that's the only way you could build subfiles. Then you might have to call a CL program or system API to actually perform a function found in a CL command. This could mean having to maintain multiple programs, multiple definitions, long parameter lists, and changes in data from one variable to another." These are the kinds of tasks that CLF is designed to eliminate.
CLF removes the need for CL developers to write or call file-oriented programs in other languages by providing commands that allow CL to perform common functions with physical files, logical files, DDM files and SQL views. In effect, CLF can return information to users more efficiently when providing interactive applications. At the same time, it can help speed up the development cycle and simplify program maintenance. System administrators may well find that it enhances productivity in a number of other ways including eliminating the need to code error- prone declares, parameter lists, and CHGVARS in CL programs, thus producing shorter programs that need less debugging.
CLF is packaged with three options that can be installed. The base product, which is provided at no-charge, provides the run-time support to run any CL for Files application. With only the base product a user can write a full-blown database, display, or printer file program, says Vining, though productivity will not be nearly as high as when using the optional precompiler. With the precompiler, option one of CLF, users can do everything that they otherwise would be able to do in RPG, COBOL, or C as it relates to database, display, and printer files yet not have to write code beyond the CLF commands to run. Much like how the IBM SQL precompiler for RPG or COBOL may generate many instructions for one SQL statement, so might the CLF precompiler generate many instructions for one CLF command. Without the precompiler, the programmer has to code these instructions thus losing productivity. The precompiler for instance eliminates the need for different CL variable names, or name qualification, when a given field exists in multiple files – such as a customer number being used in database, display, and printer files. CLF supports multiple files and allows the user to have up to one thousand different files open in a program. The precompiler also supports a set of RPG commands, so anyone familiar with RPG, can use RPG opcodes.
"We know people don't want to have some fee-based license on every machine, and that's why the runtime support is no charge," says Vining. "That way, I can take a CLF program developed with the precompiler and run it on any machine," he says. "We also wanted to find something that people were familiar with, and it's hard to find a System i developer who doesn't know CL."
CLF should require a short learning curve because it provides users with commands in two syntaxes for different types of users. For CL-oriented users, CLF has traditional CL syntax such as OPNFCLF for opening a file. For RPG users, it provides commands in free-form RPG syntax such as OPEN, CHAIN, and SETLL. As long as the precompiler is present, the two command types can be used interchangeably.
Vining says that CLF was made possible when IBM added base programming support to the CL language in V5R4. "Prior to V5R4 it would have been much more difficult to create something like CLF than it was with the IBM enhancements," says Vining, who notes that users need to be running at least V5R4 before they can utilize CLF.
Along with the $3,495 precompiler optionis a lower-cost option called the "generation tools." The generation tools (option two of CLF) at $295 provide for easy access to externally described data in a format compatible with the base run-time support when not using the precompiler. Option two is automatically included, at no additional charge, when ordering the precompiler.
Option three, like the base run-time, is provided at no charge. This option provides more than 100 fully functional sample programs that show users how to use subfiles, build screens, update and delete records in a database file, use commitment control, create reports using external or program described printer files, etc.
Vining is proud of his help text in CLF and jokes that it may even set a new industry standard. "My help text consists of full-blown programs—it shows everything," he says. "The sample programs and databases that we provide—which are also included in the help text and the programmer's guide—are full-blown compile and run—so there's no guessing involved."
Users can try a 30-day free trial by downloading CLF from www.powerCL.com, e-mailing
LATEST COMMENTS
MC Press Online