Sunteți pe pagina 1din 6

An Array of Arrays | IBM i | IBM Systems Magazine

AdministratorAn Array of Arrays | IBM i | IBM Systems Magazine Backup and Recovery DB2 High

Backup and RecoveryArray of Arrays | IBM i | IBM Systems Magazine Administrator DB2 High Availability LPAR Networks

DB2i | IBM Systems Magazine Administrator Backup and Recovery High Availability LPAR Networks Performance Security Systems

High Availability| IBM Systems Magazine Administrator Backup and Recovery DB2 LPAR Networks Performance Security Systems Management Tivoli

LPARAdministrator Backup and Recovery DB2 High Availability Networks Performance Security Systems Management Tivoli

NetworksAdministrator Backup and Recovery DB2 High Availability LPAR Performance Security Systems Management Tivoli Trends AIX

PerformanceBackup and Recovery DB2 High Availability LPAR Networks Security Systems Management Tivoli Trends AIX Linux Open

Securityand Recovery DB2 High Availability LPAR Networks Performance Systems Management Tivoli Trends AIX Linux Open Source

Systems ManagementDB2 High Availability LPAR Networks Performance Security Tivoli Trends AIX Linux Open Source What's New Tips

TivoliLPAR Networks Performance Security Systems Management Trends AIX Linux Open Source What's New Tips &

TrendsLPAR Networks Performance Security Systems Management Tivoli AIX Linux Open Source What's New Tips & Techniques

AIXPerformance Security Systems Management Tivoli Trends Linux Open Source What's New Tips & Techniques

LinuxPerformance Security Systems Management Tivoli Trends AIX Open Source What's New Tips & Techniques Application

Open SourceSecurity Systems Management Tivoli Trends AIX Linux What's New Tips & Techniques Application Development

What's NewSystems Management Tivoli Trends AIX Linux Open Source Tips & Techniques Application Development Systems

Tips & TechniquesTivoli Trends AIX Linux Open Source What's New Application Development Systems Management Miscellaneous

Application DevelopmentAIX Linux Open Source What's New Tips & Techniques Systems Management Miscellaneous Case Studies Automotive

Systems ManagementWhat's New Tips & Techniques Application Development Miscellaneous Case Studies Automotive Healthcare

Miscellaneous& Techniques Application Development Systems Management Case Studies Automotive Healthcare Manufacturing

Case StudiesApplication Development Systems Management Miscellaneous Automotive Healthcare Manufacturing Miscellaneous Non-profit

AutomotiveDevelopment Systems Management Miscellaneous Case Studies Healthcare Manufacturing Miscellaneous Non-profit Retail

HealthcareSystems Management Miscellaneous Case Studies Automotive Manufacturing Miscellaneous Non-profit Retail Storage Disk

ManufacturingManagement Miscellaneous Case Studies Automotive Healthcare Miscellaneous Non-profit Retail Storage Disk Servers

MiscellaneousCase Studies Automotive Healthcare Manufacturing Non-profit Retail Storage Disk Servers Software Tape Product

Non-profitStudies Automotive Healthcare Manufacturing Miscellaneous Retail Storage Disk Servers Software Tape Product News

RetailAutomotive Healthcare Manufacturing Miscellaneous Non-profit Storage Disk Servers Software Tape Product News Buyer's

StorageHealthcare Manufacturing Miscellaneous Non-profit Retail Disk Servers Software Tape Product News Buyer's Guide

DiskManufacturing Miscellaneous Non-profit Retail Storage Servers Software Tape Product News Buyer's Guide

ServersManufacturing Miscellaneous Non-profit Retail Storage Disk Software Tape Product News Buyer's Guide Administrator

SoftwareMiscellaneous Non-profit Retail Storage Disk Servers Tape Product News Buyer's Guide Administrator Backup and

TapeNon-profit Retail Storage Disk Servers Software Product News Buyer's Guide Administrator Backup and

Product NewsNon-profit Retail Storage Disk Servers Software Tape Buyer's Guide Administrator Backup and Recovery DB2

Buyer's GuideRetail Storage Disk Servers Software Tape Product News Administrator Backup and Recovery DB2 Domino High

AdministratorDisk Servers Software Tape Product News Buyer's Guide Backup and Recovery DB2 Domino High Availability LPAR

Backup and RecoverySoftware Tape Product News Buyer's Guide Administrator DB2 Domino High Availability LPAR Networks Performance

DB2News Buyer's Guide Administrator Backup and Recovery Domino High Availability LPAR Networks Performance Printing

DominoNews Buyer's Guide Administrator Backup and Recovery DB2 High Availability LPAR Networks Performance Printing

High AvailabilityGuide Administrator Backup and Recovery DB2 Domino LPAR Networks Performance Printing Security Systems

LPARBackup and Recovery DB2 Domino High Availability Networks Performance Printing Security Systems Management

NetworksBackup and Recovery DB2 Domino High Availability LPAR Performance Printing Security Systems Management WebSphere

Performanceand Recovery DB2 Domino High Availability LPAR Networks Printing Security Systems Management WebSphere Windows

PrintingDB2 Domino High Availability LPAR Networks Performance Security Systems Management WebSphere Windows Integration

SecurityDomino High Availability LPAR Networks Performance Printing Systems Management WebSphere Windows Integration Trends IBM

Systems ManagementAvailability LPAR Networks Performance Printing Security WebSphere Windows Integration Trends IBM Announcements Linux

WebSphereNetworks Performance Printing Security Systems Management Windows Integration Trends IBM Announcements Linux Open

Windows IntegrationPerformance Printing Security Systems Management WebSphere Trends IBM Announcements Linux Open Source SOA What's

TrendsSecurity Systems Management WebSphere Windows Integration IBM Announcements Linux Open Source SOA What's New Tips

IBM AnnouncementsSystems Management WebSphere Windows Integration Trends Linux Open Source SOA What's New Tips & Techniques

LinuxWebSphere Windows Integration Trends IBM Announcements Open Source SOA What's New Tips & Techniques

Open SourceWebSphere Windows Integration Trends IBM Announcements Linux SOA What's New Tips & Techniques Application

SOAIntegration Trends IBM Announcements Linux Open Source What's New Tips & Techniques Application Development

What's NewIntegration Trends IBM Announcements Linux Open Source SOA Tips & Techniques Application Development

Tips & TechniquesIBM Announcements Linux Open Source SOA What's New Application Development

Application DevelopmentLinux Open Source SOA What's New Tips & Techniques http://www.ibmsystemsmag.com/ibmi/developer/7216p2.aspx 1 of

http://www.ibmsystemsmag.com/ibmi/developer/7216p2.aspx

An Array of Arrays | IBM i | IBM Systems Magazine

Systems ManagementAn Array of Arrays | IBM i | IBM Systems Magazine Case Studies Automotive Banking/Finance Healthcare

Case Studiesof Arrays | IBM i | IBM Systems Magazine Systems Management Automotive Banking/Finance Healthcare Insurance

AutomotiveIBM i | IBM Systems Magazine Systems Management Case Studies Banking/Finance Healthcare Insurance Manufacturing

Banking/FinanceSystems Magazine Systems Management Case Studies Automotive Healthcare Insurance Manufacturing Miscellaneous Non-profit

HealthcareSystems Management Case Studies Automotive Banking/Finance Insurance Manufacturing Miscellaneous Non-profit Retail

InsuranceCase Studies Automotive Banking/Finance Healthcare Manufacturing Miscellaneous Non-profit Retail Storage Disk

ManufacturingCase Studies Automotive Banking/Finance Healthcare Insurance Miscellaneous Non-profit Retail Storage Disk Optical Servers

MiscellaneousBanking/Finance Healthcare Insurance Manufacturing Non-profit Retail Storage Disk Optical Servers Tape Product

Non-profitHealthcare Insurance Manufacturing Miscellaneous Retail Storage Disk Optical Servers Tape Product News

RetailHealthcare Insurance Manufacturing Miscellaneous Non-profit Storage Disk Optical Servers Tape Product News Product

StorageInsurance Manufacturing Miscellaneous Non-profit Retail Disk Optical Servers Tape Product News Product Reviews

DiskManufacturing Miscellaneous Non-profit Retail Storage Optical Servers Tape Product News Product Reviews ENDPGM

OpticalManufacturing Miscellaneous Non-profit Retail Storage Disk Servers Tape Product News Product Reviews ENDPGM Main Page

ServersMiscellaneous Non-profit Retail Storage Disk Optical Tape Product News Product Reviews ENDPGM Main Page

TapeMiscellaneous Non-profit Retail Storage Disk Optical Servers Product News Product Reviews ENDPGM Main Page Administrator

Product NewsNon-profit Retail Storage Disk Optical Servers Tape Product Reviews ENDPGM Main Page Administrator Backup and

Product ReviewsRetail Storage Disk Optical Servers Tape Product News ENDPGM Main Page Administrator Backup and Recovery CICS

ENDPGM Main PageDisk Optical Servers Tape Product News Product Reviews Administrator Backup and Recovery CICS DB2 High Availability

AdministratorServers Tape Product News Product Reviews ENDPGM Main Page Backup and Recovery CICS DB2 High Availability

Backup and RecoveryProduct News Product Reviews ENDPGM Main Page Administrator CICS DB2 High Availability IMS LPAR Migration Networks

CICSReviews ENDPGM Main Page Administrator Backup and Recovery DB2 High Availability IMS LPAR Migration Networks

DB2ENDPGM Main Page Administrator Backup and Recovery CICS High Availability IMS LPAR Migration Networks Performance

High AvailabilityENDPGM Main Page Administrator Backup and Recovery CICS DB2 IMS LPAR Migration Networks Performance Security Systems

IMSAdministrator Backup and Recovery CICS DB2 High Availability LPAR Migration Networks Performance Security Systems

LPARBackup and Recovery CICS DB2 High Availability IMS Migration Networks Performance Security Systems Management

MigrationBackup and Recovery CICS DB2 High Availability IMS LPAR Networks Performance Security Systems Management Tivoli

Networksand Recovery CICS DB2 High Availability IMS LPAR Migration Performance Security Systems Management Tivoli Trends Linux

PerformanceCICS DB2 High Availability IMS LPAR Migration Networks Security Systems Management Tivoli Trends Linux Open Source

SecurityHigh Availability IMS LPAR Migration Networks Performance Systems Management Tivoli Trends Linux Open Source Security

Systems ManagementIMS LPAR Migration Networks Performance Security Tivoli Trends Linux Open Source Security SOA What's New

TivoliMigration Networks Performance Security Systems Management Trends Linux Open Source Security SOA What's New z/OS

TrendsNetworks Performance Security Systems Management Tivoli Linux Open Source Security SOA What's New z/OS z/VM Tips

LinuxPerformance Security Systems Management Tivoli Trends Open Source Security SOA What's New z/OS z/VM Tips &

Open SourcePerformance Security Systems Management Tivoli Trends Linux Security SOA What's New z/OS z/VM Tips & Techniques

SecuritySecurity Systems Management Tivoli Trends Linux Open Source SOA What's New z/OS z/VM Tips & Techniques

SOASystems Management Tivoli Trends Linux Open Source Security What's New z/OS z/VM Tips & Techniques Application

What's NewManagement Tivoli Trends Linux Open Source Security SOA z/OS z/VM Tips & Techniques Application Development

z/OSTivoli Trends Linux Open Source Security SOA What's New z/VM Tips & Techniques Application Development Systems

z/VMTrends Linux Open Source Security SOA What's New z/OS Tips & Techniques Application Development Systems

Tips & TechniquesLinux Open Source Security SOA What's New z/OS z/VM Application Development Systems Management Case Studies

Application DevelopmentSecurity SOA What's New z/OS z/VM Tips & Techniques Systems Management Case Studies Automotive Banking/Finance

Systems ManagementNew z/OS z/VM Tips & Techniques Application Development Case Studies Automotive Banking/Finance Healthcare Insurance

Case Studies& Techniques Application Development Systems Management Automotive Banking/Finance Healthcare Insurance

AutomotiveApplication Development Systems Management Case Studies Banking/Finance Healthcare Insurance Manufacturing

Banking/FinanceDevelopment Systems Management Case Studies Automotive Healthcare Insurance Manufacturing Miscellaneous Retail

HealthcareSystems Management Case Studies Automotive Banking/Finance Insurance Manufacturing Miscellaneous Retail Storage Disk

InsuranceCase Studies Automotive Banking/Finance Healthcare Manufacturing Miscellaneous Retail Storage Disk Servers

ManufacturingCase Studies Automotive Banking/Finance Healthcare Insurance Miscellaneous Retail Storage Disk Servers Software Tape

MiscellaneousBanking/Finance Healthcare Insurance Manufacturing Retail Storage Disk Servers Software Tape Product News Stop

RetailHealthcare Insurance Manufacturing Miscellaneous Storage Disk Servers Software Tape Product News Stop Run

StorageHealthcare Insurance Manufacturing Miscellaneous Retail Disk Servers Software Tape Product News Stop Run Buyer's

DiskInsurance Manufacturing Miscellaneous Retail Storage Servers Software Tape Product News Stop Run Buyer's

ServersInsurance Manufacturing Miscellaneous Retail Storage Disk Software Tape Product News Stop Run Buyer's Guide Main

SoftwareManufacturing Miscellaneous Retail Storage Disk Servers Tape Product News Stop Run Buyer's Guide Main Page

TapeMiscellaneous Retail Storage Disk Servers Software Product News Stop Run Buyer's Guide Main Page

Product NewsMiscellaneous Retail Storage Disk Servers Software Tape Stop Run Buyer's Guide Main Page

Stop RunRetail Storage Disk Servers Software Tape Product News Buyer's Guide Main Page

Buyer's Guide Main PageStorage Disk Servers Software Tape Product News Stop Run http://www.ibmsystemsmag.com/ibmi/developer/7216p2.aspx 2 of

http://www.ibmsystemsmag.com/ibmi/developer/7216p2.aspx

An Array of Arrays | IBM i | IBM Systems Magazine

http://www.ibmsystemsmag.com/ibmi/developer/7216p2.aspx

Business Strategyhttp://www.ibmsystemsmag.com/ibmi/developer/7216p2.aspx Competitive Advantage Consolidation Executive Perspective

Competitive AdvantageBusiness Strategy Consolidation Executive Perspective Green IT Migration Open

ConsolidationBusiness Strategy Competitive Advantage Executive Perspective Green IT Migration Open Source ROI

Executive PerspectiveBusiness Strategy Competitive Advantage Consolidation Green IT Migration Open Source ROI Infrastructure Blades

Green ITCompetitive Advantage Consolidation Executive Perspective Migration Open Source ROI Infrastructure Blades Storage

MigrationAdvantage Consolidation Executive Perspective Green IT Open Source ROI Infrastructure Blades Storage Systems

Open SourceConsolidation Executive Perspective Green IT Migration ROI Infrastructure Blades Storage Systems Management Case

ROIExecutive Perspective Green IT Migration Open Source Infrastructure Blades Storage Systems Management Case

InfrastructureExecutive Perspective Green IT Migration Open Source ROI Blades Storage Systems Management Case Studies Distribution

BladesGreen IT Migration Open Source ROI Infrastructure Storage Systems Management Case Studies Distribution

StorageGreen IT Migration Open Source ROI Infrastructure Blades Systems Management Case Studies Distribution Healthcare

Systems ManagementIT Migration Open Source ROI Infrastructure Blades Storage Case Studies Distribution Healthcare Manufacturing Services

Case StudiesSource ROI Infrastructure Blades Storage Systems Management Distribution Healthcare Manufacturing Services Web 2.0 Cloud

DistributionBlades Storage Systems Management Case Studies Healthcare Manufacturing Services Web 2.0 Cloud Social Media

HealthcareBlades Storage Systems Management Case Studies Distribution Manufacturing Services Web 2.0 Cloud Social Media Trends

ManufacturingSystems Management Case Studies Distribution Healthcare Services Web 2.0 Cloud Social Media Trends Collaboration IBM

ServicesCase Studies Distribution Healthcare Manufacturing Web 2.0 Cloud Social Media Trends Collaboration IBM

Web 2.0Case Studies Distribution Healthcare Manufacturing Services Cloud Social Media Trends Collaboration IBM Announcements

CloudDistribution Healthcare Manufacturing Services Web 2.0 Social Media Trends Collaboration IBM Announcements IBM

Social MediaDistribution Healthcare Manufacturing Services Web 2.0 Cloud Trends Collaboration IBM Announcements IBM Research Open

TrendsHealthcare Manufacturing Services Web 2.0 Cloud Social Media Collaboration IBM Announcements IBM Research Open Source

CollaborationManufacturing Services Web 2.0 Cloud Social Media Trends IBM Announcements IBM Research Open Source Social Media

IBM AnnouncementsServices Web 2.0 Cloud Social Media Trends Collaboration IBM Research Open Source Social Media What's New

IBM ResearchCloud Social Media Trends Collaboration IBM Announcements Open Source Social Media What's New Product News AIX

Open SourceMedia Trends Collaboration IBM Announcements IBM Research Social Media What's New Product News AIX MAINFRAME POWER

Social MediaCollaboration IBM Announcements IBM Research Open Source What's New Product News AIX MAINFRAME POWER Newsletters

What's NewIBM Announcements IBM Research Open Source Social Media Product News AIX MAINFRAME POWER Newsletters About Us

Product NewsIBM Research Open Source Social Media What's New AIX MAINFRAME POWER Newsletters About Us Subscribe Current

Open Source Social Media What's New Product News AIX MAINFRAME POWER Newsletters About Us Subscribe Current
Open Source Social Media What's New Product News AIX MAINFRAME POWER Newsletters About Us Subscribe Current

AIXOpen Source Social Media What's New Product News MAINFRAME POWER Newsletters About Us Subscribe Current Issue

MAINFRAMEOpen Source Social Media What's New Product News AIX POWER Newsletters About Us Subscribe Current Issue

POWERSocial Media What's New Product News AIX MAINFRAME Newsletters About Us Subscribe Current Issue Archive IBM

NewslettersSocial Media What's New Product News AIX MAINFRAME POWER About Us Subscribe Current Issue Archive IBM

About UsWhat's New Product News AIX MAINFRAME POWER Newsletters Subscribe Current Issue Archive IBM i ALL EDITIONS

New Product News AIX MAINFRAME POWER Newsletters About Us Subscribe Current Issue Archive IBM i ALL

SubscribeNew Product News AIX MAINFRAME POWER Newsletters About Us Current Issue Archive IBM i ALL EDITIONS

Current IssueNews AIX MAINFRAME POWER Newsletters About Us Subscribe Archive IBM i ALL EDITIONS ADMINISTRATOR DEVELOPER TRENDS

ArchiveMAINFRAME POWER Newsletters About Us Subscribe Current Issue IBM i ALL EDITIONS ADMINISTRATOR DEVELOPER TRENDS TIPS

IBM i ALL EDITIONS
IBM i
ALL EDITIONS

ADMINISTRATORAbout Us Subscribe Current Issue Archive IBM i ALL EDITIONS DEVELOPER TRENDS TIPS & TECHNIQUES CASE

DEVELOPERCurrent Issue Archive IBM i ALL EDITIONS ADMINISTRATOR TRENDS TIPS & TECHNIQUES CASE STUDIES 3 of

TRENDSIssue Archive IBM i ALL EDITIONS ADMINISTRATOR DEVELOPER TIPS & TECHNIQUES CASE STUDIES 3 of 6

TIPS & TECHNIQUESCurrent Issue Archive IBM i ALL EDITIONS ADMINISTRATOR DEVELOPER TRENDS CASE STUDIES 3 of 6 9/27/2010

CASE STUDIESCurrent Issue Archive IBM i ALL EDITIONS ADMINISTRATOR DEVELOPER TRENDS TIPS & TECHNIQUES 3 of 6

Archive IBM i ALL EDITIONS ADMINISTRATOR DEVELOPER TRENDS TIPS & TECHNIQUES CASE STUDIES 3 of 6

An Array of Arrays | IBM i | IBM Systems Magazine

STORAGEAn Array of Arrays | IBM i | IBM Systems Magazine PRODUCT NEWS ENDPGM BUYER'S GUIDE

PRODUCT NEWSAn Array of Arrays | IBM i | IBM Systems Magazine STORAGE ENDPGM BUYER'S GUIDE Administrator

ENDPGMArrays | IBM i | IBM Systems Magazine STORAGE PRODUCT NEWS BUYER'S GUIDE Administrator > Security

BUYER'S GUIDE| IBM i | IBM Systems Magazine STORAGE PRODUCT NEWS ENDPGM Administrator > Security An Array

Administrator > Security

NEWS ENDPGM BUYER'S GUIDE Administrator > Security An Array of Arrays July 2006 | by Jon

An Array of Arrays

July 2006 | by Jon Paris and Susan Gantner

of Arrays July 2006 | by Jon Paris and Susan Gantner An Array of Arrays Print
of Arrays July 2006 | by Jon Paris and Susan Gantner An Array of Arrays Print

An Array of Arrays

Print Email
Print
Email

http://www.ibmsystemsmag.com/ibmi/developer/7216p2.aspx

The majority of the code is straightforward, so we won't discuss it in detail. At (A) you can see the definition of the array in which the customer numbers will be stored. The entries are defined as being "LIKE" the customer number field. In addition, the array is loaded in key sequence, so we also specified the ASCEND keyword, which ensures that the %LOOKUP BIF will use an efficient binary search. This approach will work as long as we have fewer than 32,767 active customers.

At (B) we use the DSPLY op-code to ask the user to supply the number of test loops to run. Once the user has supplied this value, we start the timer and invoke the sub-procedure that loads the customer numbers into the array. The procedure returns a count of the customer numbers loaded, which is used later to limit the range of the search. Details of the array load subprocedure are at (D) above.

Within the test loop, we begin by calling GetRandom to obtain a random customer number. We then use the %LOOKUP BIF to search for that customer in the array. Notice that we're using the count of the number of elements loaded into the array as the fourth parameter. This has the effect of reducing the search time by limiting the search to the number of active elements in the array. Based on the result of the search, we then simply increment the appropriate count and repeat the loop.

Once we've completed the required number of iterations, we exit the loop, stop the timer and display the results of the test (C). We'll look at the results of the different methods later in this article.

As we noted earlier, our second program, CUSTSRCH2, uses an array where each element represents the status of a customer number. If the indicator at a specific position is *On, then we consider the customer number to be valid. If it's *Off, then the customer number is invalid. As with the first program, we're limited in this approach by RPG's array limit of 32,767 elements, but as long as the highest customer number in use is within that range, this approach is simple to implement. So simple, in fact, that we won't take the space to describe it here - you can study the source if you wish when you download the package. (Note: Although the program still reads the file in key sequence, this isn't strictly necessary when using this approach, and the load time could be shortened by reading the file in physical sequence.)

The third program, CUSTSRCH3, demonstrates an approach to the problem of RPG's array size limits. There are many techniques that we could use as an alternative, including creating multiple arrays, each of which would relate to a specific range of account numbers. However, we've used a far simpler (and it turns out much faster!) technique by simply employing a little bit of pointer arithmetic. If your pointer skills are rusty, or you are a little "pointer-phobic", you might want to start out with the basic introduction to the use of based variables (read "Some Pointers on Using Pointers in RPG IV"). Effectively what we'll do is the same as the compiler does "under the covers" to access an array element. We'll allocate sufficient memory to accommodate all of our indicators, and then manipulate a pointer (pvalidCustomer) to position our indicator "view" over the appropriate one. This almost certainly sounds more complicated than it really is, as you'll see when you study the code. We're effectively using the pointer as the array index, but because we didn't have to define the storage as an array to RPG, we're no longer bound by the language's limits. In fact, we can easily accommodate numbers up to 16 million with this technique (and with a little more work we can even extend that number). The first thing to change is the definition of the "array" to:

An Array of Arrays | IBM i | IBM Systems Magazine

D validCustomer s

n Based(pvalidCustomer)

http://www.ibmsystemsmag.com/ibmi/developer/7216p2.aspx

Notice that it now appears to be a single named indicator. But the use of the BASED keyword will allow us to increment the pointer pvalidCustomer to move its position through the "array." Naturally, the LoadCustomerNumbers routine also needs to be modified. The first significant change is to reserve the required memory. In our example, we've used %ALLOC to reserve 100,000 bytes of dynamic memory. This is sufficient to accommodate the full range of our five-digit customer number. We could've used a User Space to hold the "array," which has the advantage of allowing a single load of the data to be shared between multiple jobs.

The next step is to initialize our "array" by setting all of the locations to *Off. This is necessary because we can't guarantee the content of dynamic memory and some locations might already contain the value of *On. We've used the C function memset to do this - it's the fastest method we know of. We won't detail its usage here - hopefully it's obvious from the code.

Next page: >>

Page 1 2 3

Jon Paris is a technical editor with IBM Systems Magazine and co-owner of Partner400.

More Articles From Jon Paris

Susan Gantner is a technical editor with IBM Systems Magazine and co-owner of Partner400.

More Articles From Susan Gantner

Advertisement

Partner400. More Articles From Susan Gantner Advertisement WEBINAR -- RPG OA and Beyond from looksoftware Tuesday,

WEBINAR -- RPG OA and Beyond from looksoftware Tuesday, September 28, 2010, 10 am BST (Europe) Wednesday, September 29, 2010, 2 pm EST (USA)

BST (Europe) Wednesday, September 29, 2010, 2 pm EST (USA) Browse products and services for Administrator.

Browse products and services for Administrator.

29, 2010, 2 pm EST (USA) Browse products and services for Administrator. Advertisement 5 of 6
29, 2010, 2 pm EST (USA) Browse products and services for Administrator. Advertisement 5 of 6
29, 2010, 2 pm EST (USA) Browse products and services for Administrator. Advertisement 5 of 6

Advertisement

An Array of Arrays | IBM i | IBM Systems Magazine

An Array of Arrays | IBM i | IBM Systems Magazine Maximize your IT investment with
An Array of Arrays | IBM i | IBM Systems Magazine Maximize your IT investment with

Maximize your IT investment with monthly information from THE source SUBSCRIBE NOW.

View past IBM i EXTRAs here

from THE source SUBSCRIBE NOW. View past IBM i EXTRAs here IBM i AIX MAINFRAME POWER

IBM ifrom THE source SUBSCRIBE NOW. View past IBM i EXTRAs here AIX MAINFRAME POWER Homepage About

AIXTHE source SUBSCRIBE NOW. View past IBM i EXTRAs here IBM i MAINFRAME POWER Homepage About

MAINFRAMEsource SUBSCRIBE NOW. View past IBM i EXTRAs here IBM i AIX POWER Homepage About Us

POWERNOW. View past IBM i EXTRAs here IBM i AIX MAINFRAME Homepage About Us Contact Us

HomepageNOW. View past IBM i EXTRAs here IBM i AIX MAINFRAME POWER About Us Contact Us

About Uspast IBM i EXTRAs here IBM i AIX MAINFRAME POWER Homepage Contact Us Subscriptions Editorial Calendar

Contact Usi EXTRAs here IBM i AIX MAINFRAME POWER Homepage About Us Subscriptions Editorial Calendar Advertise With

Subscriptionshere IBM i AIX MAINFRAME POWER Homepage About Us Contact Us Editorial Calendar Advertise With Us

Editorial CalendarMAINFRAME POWER Homepage About Us Contact Us Subscriptions Advertise With Us Reprints Privacy Policy Terms of

Advertise With UsAbout Us Contact Us Subscriptions Editorial Calendar Reprints Privacy Policy Terms of Service Sitemap

ReprintsUs Subscriptions Editorial Calendar Advertise With Us Privacy Policy Terms of Service Sitemap

Privacy PolicySubscriptions Editorial Calendar Advertise With Us Reprints Terms of Service Sitemap

Terms of ServiceEditorial Calendar Advertise With Us Reprints Privacy Policy Sitemap

SitemapAdvertise With Us Reprints Privacy Policy Terms of Service http://www.ibmsystemsmag.com/ibmi/developer/7216p2.aspx IBM

http://www.ibmsystemsmag.com/ibmi/developer/7216p2.aspx

IBM

Systems Magazine EXTRA & Marketplace eNewsletters.

IBM Systems Magazine EXTRA & Marketplace eNewsletters. IBM Systems Magazine is a trademark of International

IBM Systems Magazine is a trademark of International Business Machines Corporation. The editorial content of IBM Systems Magazine is placed on this website by MSP TechMedia under license from International Business Machines Corporation.

© 2010 MSP Communications, Inc. All rights reserved