fhg
Volume 11, Number 16 -- May 18, 2011

The Case of the Missing Logical File

Published: May 18, 2011

Hey, Mike:

I created a logical file that combines multiple tables into a single result set (similar to a SQL UNION.) However, when Microsoft Excel's Query Wizard presents a list of available tables and views to query, this logical file does not show up in the list. What is the problem?

Suzy


Hi, Suzy:

The problem is that DB2 for i is classifying your logical file as a non-relational file. It turns out that the Microsoft Excel Query Wizard uses ODBC (or OLE DB for Excel 2007 and later) to access DB2 for i. When tools like the Query Wizard and Crystal Reports ask DB2 for i for a list of available "tables" it can use, the results are retrieved from the QSYS2.SYSTABLES catalog. The special type of "union" logical files you mention are not included in this catalog. I'm guessing part of the reason for this exclusion is that these hierarchical logical files can potentially have multiple record types (which SQL doesn't handle).

For readers unfamiliar with the syntax, here is a simple source code example of how to create a logical file that spans multiple tables (this example assumes that the field names are the same in both files):

R PRODUCT                   PFILE(PRODUCT PRODUCT2)
K NAME

The best way to combine multiple tables into a single result set is to use SQL to create a VIEW with the UNION ALL operator. UNION ALL will do the same thing you are trying to accomplish with your logical file by combining two underlying tables in a single result.

Here is a sample view:

CREATE VIEW MYLIB/PRODUCTS AS
(SELECT * FROM MYLIB/PRODUCT
 UNION ALL
 SELECT * FROM MYLIB/PRODUCT2)

The one thing that the logical file can provide that the view can't is a keyed access path. If the underlying tables in the view already have indexes on the proper columns, SQL will be smart enough to use them when it queries the view. If the underlying tables do not have an index on the desired columns and if there is a sufficiently large number of rows, you'll want to build indexes on these columns (for each table in the view) using the SQL CREATE INDEX statement.

In the LF example above, the logical file created an access path on the NAME column across both tables. In SQL, the approximate equivalent would be to create indexes on the NAME column for each underlying table:

CREATE INDEX MYLIB/IDX_PRODUCT_NAME ON MYLIB/PRODUCT (NAME)
CREATE INDEX MYLIB/IDX_PRODUCT2_NAME ON MYLIB/PRODUCT2 (NAME)

Functionally the view and the LF will be about the same. However, SQL is the way of the future and the VIEW will be available in the list of tables and views that Microsoft Query and other tools present to users. Further, queries that use this view can also potentially be routed for processing to the newer SQL Query Engine (SQE).

--Mike


Michael Sansoterra is a DBA for Broadway Systems in Grand Rapids, Michigan. Send your questions or comments for Mike via the IT Jungle Contact page.




                     Post this story to del.icio.us
               Post this story to Digg
    Post this story to Slashdot


Sponsored By
CNX

Ready to develop true Web 2.0 applications?

Valence combines state-of-the-art browser components
with your favorite business language (RPG) to produce
World Class Web 2.0 apps on IBM i.

Learn industry-standard techniques for developing real
Web 2.0 applications with popular UI features such as grids,
forms, trees, pop-up menus, drag and drop, charts,
graphs, Excel downloads, and much, much more!

Valence Version 3.0 BETA 1 is now available
and includes mobile device support!
Click here for free download.


Senior Technical Editor: Ted Holt
Technical Editor: Joe Hertvik
Contributing Technical Editors: Edwin Earley, Brian Kelly, Michael Sansoterra
Publisher and Advertising Director: Jenny Thomas
Advertising Sales Representative: Kim Reed
Contact the Editors: To contact anyone on the IT Jungle Team
Go to our contacts page and send us a message.

Sponsored Links

SEQUEL Software:  View the recorded Webinar: 10 Ways SEQUEL Makes Developers More Productive
CNX:  Ready to develop true Web 2.0 applications? Valence Version 3.0 BETA 1 is now available
looksoftware:  FREE Webcast: RPG Open Access Demystified. June 7 (Europe) & June 8 (USA)


 

IT Jungle Store Top Book Picks

BACK IN STOCK: Easy Steps to Internet Programming for System i: List Price, $49.95

The iSeries Express Web Implementer's Guide: List Price, $49.95
The iSeries Pocket Database Guide: List Price, $59
The iSeries Pocket SQL Guide: List Price, $59
The iSeries Pocket WebFacing Primer: List Price, $39
Migrating to WebSphere Express for iSeries: List Price, $49
Getting Started with WebSphere Express for iSeries: List Price, $49
The All-Everything Operating System: List Price, $35
The Best Joomla! Tutorial Ever!: List Price, $19.95


 
The Four Hundred
Q&A With Power Systems Top Brass, Part Two

DR Plans Keep Bad Things from Happening to Good Companies

IBM Gets Tape Ready for 'Big Data'

Mad Dog 21/21: Ptolemy And Shorter You

looksoftware Looks Ahead

Four Hundred Stuff
SMA Comes Out of the Blue with IT Automation Tools

looksoftware Expanding RPG Open Access Use

CNX Goes Mobile with Valence 3.0

Bsafe Changes Name to Enforcive, Updates IBM i Security Suite

Rapid Data Recovery on a Budget

Four Hundred Monitor
Four Hundred Monitor's
Full iSeries Events Calendar

System i PTF Guide
September 25, 2010: Volume 12, Number 39

September 18, 2010: Volume 12, Number 38

September 11, 2010: Volume 12, Number 37

September 4, 2010: Volume 12, Number 36

August 28, 2010: Volume 12, Number 35

August 21, 2010: Volume 12, Number 34

TPM at The Register
VMware gets Go-ing with Shavlik buy

AMD chases servers with fanless FirePro GPU

Desktop OS revenue and growth outpace servers

Nvidia dollars lifted by Intel's Sandy Bridge ramp, payola

Cisco dollars pinched by cheap switches, vanishing cameras

Intel juices cash divvy – again

Galleon hedge fund founder convicted on all 14 counts

Unisys revs up big ClearPath mainframes

Akamai, Riverbed join forces to juice clouds

Ubuntu eats OpenStack for clouds

Clouds puff up Rackspace in Q1

Cisco taps ex-Sun chip guru for servers

THIS ISSUE SPONSORED BY:

WorksRight Software
CNX
Botz & Associates, Inc.


Printer Friendly Version


TABLE OF CONTENTS
An Introduction to Python on IBM i, Part 3

The Case of the Missing Logical File

Admin Alert: Running System i Cleanup Manually

Four Hundred Guru

BACK ISSUES




 
Subscription Information:
You can unsubscribe, change your email address, or sign up for any of IT Jungle's free e-newsletters through our Web site at http://www.itjungle.com/sub/subscribe.html.

Copyright © 1996-2011 Guild Companies, Inc. All Rights Reserved.
Guild Companies, Inc., 50 Park Terrace East, Suite 8F, New York, NY 10034

Privacy Statement