Opportunities, Not Problems!
Published: February 7, 2007
by Ted Holt
The code accompanying this article is available for download
One of my former bosses would often greet me with the phrase, "We have an opportunity." I suppose he didn't like the word problem. A recent problem I faced turned out to be a great opportunity. The utility I developed has turned out to be handy, and I thought you might like to have it in your toolbox.
It all started when a CL program that I had written blew up because the value of a variable was in mixed case (i.e., "Print") instead of uppercase ("PRINT"). An IF command in a CL program was testing the variable against a fully uppercase PRINT and determining that the two values were not equal. I had not foreseen the possibility that the value might not be all uppercase and did not plan accordingly. (Just call me shortsighted.) Besides, there is no built-in function or command in the CL language to convert a value to uppercase, and had I thought about it, I would not have wanted to write an RPG program just to capitalize one trifling variable.
I wrote a command to convert a character value to all uppercase. I shrewdly and cannily named it UPPERCASE. (Well, not really. I shrewdly and cannily named it something else, but in this article it's shrewdly and cannily named UPPERCASE). You can find the source code for the UPPERCASE command and the RPG program that it runs (simply named CASE) in the downloadable code that accompanies this article.
Here's an example of the UPPERCASE command at work in a CL procedure.
dcl &PrintOpt *char 64
dcl &PrintTest *char 64
uppercase value(&PrintOpt) tovar(&PrintTest)
if (&PrintTest *eq PRINT) do
Isn't that nice? The case of the value of the print option is immaterial in the IF condition.
Post this story to del.icio.us
Post this story to Digg
Post this story to Slashdot
Do you need area code information?
Do you need ZIP Code information?
Do you need ZIP+4 information?
Do you need city name information?
Do you need county information?
Do you need a nearest dealer locator system?
We can HELP! We have affordable AS/400 software and data to do all of the above. Whether you need a simple city name retrieval system or a sophisticated CASS postal coding system, we have it for you!
The ZIP/CITY system is based on 5-digit ZIP Codes. You can retrieve city names, state names, county names, area codes, time zones, latitude, longitude, and more just by knowing the ZIP Code. We supply information on all the latest area code changes. A nearest dealer locator function is also included. ZIP/CITY includes software, data, monthly updates, and unlimited support. The cost is $495 per year.
PER/ZIP4 is a sophisticated CASS certified postal coding system for assigning ZIP Codes, ZIP+4, carrier route, and delivery point codes. PER/ZIP4 also provides county names and FIPS codes. PER/ZIP4 can be used interactively, in batch, and with callable programs. PER/ZIP4 includes software, data, monthly updates, and unlimited support. The cost is $3,900 for the first year, and $1,950 for renewal.
Just call us and we'll arrange for 30 days FREE use of either
ZIP/CITY or PER/ZIP4.
WorksRight Software, Inc.
Web site: www.worksright.com
Senior Technical Editor: Ted Holt
Technical Editors: Howard Arner, Joe Hertvik, Shannon O'Donnell, Kevin Vandever
Contributing Technical Editors: Joel Cochran, Wayne O. Evans, Raymond Everhart,
Bruce Guetzkow, Brian Kelly, Marc Logemann, David Morris
Publisher and Advertising Director: Jenny Thomas
Advertising Sales Representative: Kim Reed
Books on Sale at the IT Jungle Store: 30 Percent Off for 30 Days
The System i Pocket RPG & RPG IV Guide: List Price, $69.95; Sale Price, $49.00
The iSeries Pocket Database Guide: List Price, $59.00; Sale Price, $41.00
The iSeries Pocket Developers' Guide: List Price, $59.00; Sale Price, $41.00
The iSeries Pocket SQL Guide: List Price, $59.00; Sale Price, $41.00
The iSeries Pocket Query Guide: List Price, $49.00; Sale Price, $34.00
The iSeries Pocket WebFacing Primer: List Price, $39.00; Sale Price, $27.00
Migrating to WebSphere Express for iSeries: List Price, $49.00; Sale Price, $34.00
iSeries Express Web Implementer's Guide: List Price, $59.00; Sale Price, $41.00
Getting Started with WebSphere Development Studio for iSeries: List Price, $79.95; Sale Price, $56.00
Getting Started With WebSphere Development Studio Client for iSeries: List Price, $89.00; Sale Price, $62.00
Getting Started with WebSphere Express for iSeries: List Price, $49.00; Sale Price, $34.00
WebFacing Application Design and Development Guide: List Price, $55.00; Sale Price, $38.00
Can the AS/400 Survive IBM?: List Price, $49.00; Sale Price, $34.00
The All-Everything Machine: List Price, $29.95; Sale Price, $21.00
Chip Wars: List Price, $29.95; Sale Price, $21.00
February 3, 2007: Volume 9, Number 5
January 27, 2007: Volume 9, Number 4
January 20, 2007: Volume 9, Number 3
January 13, 2007: Volume 9, Number 2
January 6, 2007: Volume 9, Number 1
December 30, 2006: Volume 8, Number 50