The Death of OPNQRYF

Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Did the title of this article get your attention? I hope so. It certainly grabbed my attention as the subject of an email I received from Howard Arner back in early October. He forwarded a clipping to me from an IBM press release in case I hadn’t seen it. (I hadn’t.)

I’ll share the clipping with you in just a moment, but first, let me summarize it for you: IBM will not provide native access to new features of the iSeries database after V4R5. You must use SQL.

This news was not surprising to me. I was already aware that there is no way to define binary large objects (BLOBs) in DDS. Also, in mid-May I had a phone conversation with two IBMers about the features that would be coming out in V4R5. They would tell me about a new database feature and I would ask, “Is that available through the native interfaces?” The reply was either “No” or “We’ll have to check on it and get back to you.” A month later, I attended a briefing at the IBM center in Rochester, Minnesota, where one of those two IBMers announced that IBM was putting money into SQL, not into the native interfaces.

Here is the announcement, in its entirety. For some time now, SQL has been the strategic interface for the industry and the AS/400 database, DB2 Universal Database for AS/400. IBM has focused the database investment on SQL and has made some new database functionality (e.g., BLOBs, ROUND & DAYOFWEEK scalar functions, Derived Tables, etc.) available only on SQL interfaces. As a result, non-SQL interfaces such as OPNQRYF were not enhanced to access these new database features. Although it’s not a common practice, native opens (OPNQRYF, OPNDBF, high-level language opens) currently can reference most SQL Views (an SQL View is just a logical file), so it is possible to create an SQL View that uses some of the newer database functionality and then have a native open reference that SQL View to access these newer features.

To focus more investment on the SQL interface, IBM’s plans dictate that after V4R5 new SQL database features and functions must be accessed directly using SQL

interfaces. The opening of SQL Views via a native open interface will continue to be supported but will be limited to views that use database features available in V4R5 and earlier releases. However, if a new SQL view is created or an existing SQL View is recreated to use a new database feature delivered in a release after V4R5, the open will fail.

Native opens also may fail against SQL Views created and shipped by software vendors—if their view uses a database feature not available in V4R5.


The Case for SQL Interfaces

SQL has the advantage of being an industry-standard database access language. That is, learn to use SQL on the iSeries, and you’ll know how to use SQL on other platforms and with other databases like Oracle, SQL Server, or Sybase. An SQL interface can be used natively and from many different clients. This allows tools such as Client Access/400, Operations Navigator, ODBC, and Java Database Connectivity (JDBC) to manipulate OS/400 data and objects. But the best thing about SQL, in my opinion, is that it helps move data access logic out of programs and into databases. User-defined functions and stored procedures are coded routines that can be implemented by any client that communicates with the database through SQL. SQL views can be created that repackage and redeploy your data in ways not possible with DDS logical files. Combine them with triggers and constraints and you’ve got one powerful database with integrity that’s not dependent on application programs.

It’s also very easy to use SQL to access data in complex ways with a minimum understanding of how the data is to be processed. This can get you into trouble, but it is also very powerful.

The Case for Native Interfaces

The first relational database management system I ever used was Oracle. To access the database from a COBOL program, I had to embed calls using the Call Level Interface (CLI). Those calls passed SQL commands through parameters to Oracle. It was more cumbersome than using the COBOL I/O verbs—READ, WRITE, REWRITE—but I assumed that that was the way it had to be when accessing relational databases from a high- level language.

Then I got a job in a S/38 shop. I was amazed that I could access a database table or view as I had accessed files on the S/34 and S/36. I could even use the RPG cycle. From that point on, I had no more use for Oracle’s CLI than I did for #GSORT.

The database didn’t even have a name. It was just a built-in relational database, tightly integrated with the rest of the system. Native access to the database was one of the reasons the S/38 was such a wonderful system on which to develop applications.

IBM’s decision to promote the SQL interface to the database means that what I consider to be the most distinctive feature of iSeries database access—the native interface—will be reduced in importance. Instead of using “iSeries,” maybe IBM should have chosen YAS/400 as the new name for the AS/400. (YAS would, of course, stand for “yet another server.”)

And the Winner Is...

You’ll have to make up your own mind, but I believe the move to SQL is a good one. I believe that iSeries shops that are not using SQL to build applications should rethink their development methodology.

IBM ends the announcement with the following appeal: “Your questions and comments are important to us, please contact us at: This email address is being protected from spambots. You need JavaScript enabled to view it..” If you respond, please consider including me in the cc: list; I’d be very interested in hearing what you have to say.


TED HOLT

Ted Holt is IT manager of Manufacturing Systems Development for Day-Brite Capri Omega, a manufacturer of lighting fixtures in Tupelo, Mississippi. He has worked in the information processing industry since 1981 and is the author or co-author of seven books. 


MC Press books written by Ted Holt available now on the MC Press Bookstore.

Complete CL: Fifth Edition Complete CL: Fifth Edition
Become a CL guru and fully leverage the abilities of your system.
List Price $79.95

Now On Sale

Complete CL: Sixth Edition Complete CL: Sixth Edition
Now fully updated! Get the master guide to Control Language programming.
List Price $79.95

Now On Sale

IBM i5/iSeries Primer IBM i5/iSeries Primer
Check out the ultimate resource and “must-have” guide for every professional working with the i5/iSeries.
List Price $99.95

Now On Sale

Qshell for iSeries Qshell for iSeries
Check out this Unix-style shell and utilities command interface for OS/400.
List Price $79.95

Now On Sale

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  •  

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: