You are on page 1of 7

How Flexible are Your Calculations?

| IBM i | IBM Systems Magazine

1 of 7

http://www.ibmsystemsmag.com/ibmi/enewsletterexclusive/17069p3.aspx

Administrator
Backup and Recovery
DB2
High Availability
LPAR
Networks
Performance
Security
Systems Management
Tivoli
Trends
AIX
Linux
Open Source
What's New
Tips & Techniques
Application Development
Systems Management
Miscellaneous
Case Studies
Automotive
Healthcare
Manufacturing
Miscellaneous
Non-profit
Retail
Storage
Disk
Servers
Software
Tape
Product News
Buyer's Guide
Administrator
Backup and Recovery
DB2
Domino
High Availability
LPAR
Networks
Performance
Printing
Security
Systems Management
WebSphere
Windows Integration
Developer
General
Java
Modernization
RPG
WebSphere
Trends
IBM Announcements
Linux
Open Source
SOA
What's New

9/27/2010 9:11 AM

How Flexible are Your Calculations? | IBM i | IBM Systems Magazine

2 of 7

http://www.ibmsystemsmag.com/ibmi/enewsletterexclusive/17069p3.aspx

Case Studies
Automotive
Banking/Finance
Healthcare
Insurance
Manufacturing
Miscellaneous
Non-profit
Retail
Storage
Disk
Optical
Servers
Tape
Product News
Product Reviews
ENDPGM Main Page
Administrator
Backup and Recovery
CICS
DB2
High Availability
IMS
LPAR
Migration
Networks
Performance
Security
Systems Management
Tivoli
Trends
Linux
Open Source
Security
SOA
What's New
z/OS
z/VM
Tips & Techniques
Application Development
Systems Management
Case Studies
Automotive
Banking/Finance
Healthcare
Insurance
Manufacturing
Miscellaneous
Retail
Storage
Disk
Servers
Software
Tape
Product News
Stop Run
Buyer's Guide Main Page

9/27/2010 9:11 AM

How Flexible are Your Calculations? | IBM i | IBM Systems Magazine

3 of 7

http://www.ibmsystemsmag.com/ibmi/enewsletterexclusive/17069p3.aspx

Business Strategy
Competitive Advantage
Consolidation
Executive Perspective
Green IT
Migration
Open Source
ROI
Infrastructure
Blades
Storage
Systems Management
Case Studies
Distribution
Healthcare
Manufacturing
Services
Web 2.0
Cloud
Social Media
Trends
Collaboration
IBM Announcements
IBM Research
Open Source
Social Media
What's New
Product News

AIX
MAINFRAME
POWER
Newsletters
About Us

Subscribe
Current Issue
Archive

IBM i
ALL EDITIONS
ADMINISTRATOR
DEVELOPER
TRENDS
TIPS & TECHNIQUES
CASE STUDIES

9/27/2010 9:11 AM

How Flexible are Your Calculations? | IBM i | IBM Systems Magazine

4 of 7

http://www.ibmsystemsmag.com/ibmi/enewsletterexclusive/17069p3.aspx

STORAGE
PRODUCT NEWS
ENDPGM
BUYER'S GUIDE

Developer > RPG

How Flexible are Your Calculations?


RPG programming techniques to help you solve unsolvable problems.
September 2007 | by Jon Paris and Susan Gantner

Print

Email

Well leave to your imagination what the subprocedures look like! (Or if your imagination fails you, you can study the full source code.) But before
we move on, well just show you the prototype for the calc routine and one of the subprocedure prototypes (of necessity all of the others have the
same basic format). Notice that the calc prototype uses the EXTPROC keyword and there are no single quotation marks around the name this
indicates that currentOpPtr is a procedure pointer and will determine which procedure is called. Notice also that the prototype for the add
subprocedure has exactly the same definition in terms of return value and parameters as does calc.

Adding new operations is a breeze. Simply code the new subprocedures, add the required codes to the operations data structure and the related
subprocedure information to the pProcedures data structure - remembering to modify the DIM clauses of course! The main calculations wont
change at all.

So Far, So Good What Now?


We now have the mechanics in place to add as many different operations as we want. But what about referencing the variables by name? We could
use the multi-level IF-block approach, but it has the same disadvantages as it had for the operation codes themselves. It may not be immediately
obvious, but we can adopt a similar approach for the variables to the one we used for the operation codes.
One approach we considered was to modify the subprocedures to accept pointers to the variables to be processed, but that didn't help with another
problem we needed to address namely, that when you pass a parameter, the parameter definitions in the caller and the callee must match. The
variables we want to use in our calculations probably wont be the same size and type. With a normal subprocedure, we could solve this with the
CONST or VALUE keywords. These would cause the compiler to generate the necessary code to convert the caller's variable to the size and type
required by the subprocedure. But by definition our variables will change users can select which ones to use.
Next page: >>
Page 1 2 3 4 5 6

9/27/2010 9:11 AM

How Flexible are Your Calculations? | IBM i | IBM Systems Magazine

5 of 7

http://www.ibmsystemsmag.com/ibmi/enewsletterexclusive/17069p3.aspx

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

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

Browse products and services for Developer.

Advertisement

9/27/2010 9:11 AM

How Flexible are Your Calculations? | IBM i | IBM Systems Magazine

6 of 7

http://www.ibmsystemsmag.com/ibmi/enewsletterexclusive/17069p3.aspx

Maximize your IT investment with monthly information from THE source...IBM Systems Magazine EXTRA & Marketplace eNewsletters.
SUBSCRIBE NOW.
View past IBM i EXTRAs here

Related Articles
Even More Flexible Calculations
E-Newsletter Exclusive | In the September EXTRA e-Newsletter, Jon Paris and Susan Gantner shared some solutions to &qout;unsolvable&qout;
RPG problems with a technique for flexible calculations. Now they delve deeper with a more complex example, making a sequence of calculations
not only possible but simple to create and use.
RPG - Anchoring Your Team
Cover Story | Alternate approaches to extending your RPG applications.
The State of Modernization
Cover Story | Bruce Vining talks modernization with Jon Paris and Susan Gantner
RPG for the Web

9/27/2010 9:11 AM

How Flexible are Your Calculations? | IBM i | IBM Systems Magazine

7 of 7

http://www.ibmsystemsmag.com/ibmi/enewsletterexclusive/17069p3.aspx

iSeries EXTRA: By Now, the Case for RPG IV Should Be a No-Brainer


E-Newsletter Exclusive
IBM i
AIX
MAINFRAME
POWER
Homepage
About Us
Contact Us
Subscriptions
Editorial Calendar
Advertise With Us
Reprints
Privacy Policy
Terms of Service
Sitemap
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

9/27/2010 9:11 AM

You might also like