Presentation is loading. Please wait.

Presentation is loading. Please wait.

Linoma’s RPG Toolbox TM © Copyright 2001-2006.

Similar presentations


Presentation on theme: "Linoma’s RPG Toolbox TM © Copyright 2001-2006."— Presentation transcript:

1 Linoma’s RPG Toolbox TM © Copyright

2 Agenda Presenter – Bob Luebbe of Linoma Software Company Overview
RPG Toolbox Overview Live RPG Toolbox Demonstration Questions and Answers

3 About Us Founded in 1994 Based in Nebraska
Stable company with no Outside Funding Dedicated to Research and Development IBM Advanced Business Partner Member of IBM’s Developer’s Program and Tools Network Responsive Toll-Free Technical Support

4 Linoma’s Customers An International Customer Base Abbott Laboratories
ADT Security Systems American Express Benderson Development Blue Cross/Blue Shield Cabelas Circuit City Compaq daly.commerce Duncan Aviation Empire Fire and Marine Goodwill Industries IBM InfoUSA Mutual of Omaha Nabisco Foods Nestle Nintendo of America Ohio State University Oriental Trading Performance Food Group Pfizer Roto-Rooter Shop-Vac Corporation SYSCO USA Today Union Pacific Railroad U.S. Olympic Committee

5 Linoma’s Product Line Surveyor/400 – Graphical productivity tool suite for iSeries (file editor, SQL, file transfer, query, create excel files, convert spooled files to PDF, and much more) Transfer Anywhere – Centralized solution for data retrieval, translation, encryption, decryption, compression and distribution. Includes backup encryption. RPG Toolbox – RPG Source Code Modernizer and Developer Tools aXes – Automatic web-enabler for iSeries applications Bob Cozzi’s RPG xTools – Over 200 procedures for building applications

6 RPG Toolbox - A Proven Product with High Recommendations
Linoma’s RPG Toolbox has been used by customers all over the world to successfully convert and enhance MILLIONS of lines of RPG source code. Used by many ERP and Software companies including Infor, FiServ, McKesson HBOC, MAPICS, Jack Henry and Assoc., Friedman and Assoc. Used by WORLD software customer (ie Benderson Development) Recommended by well-known RPG experts, instructors and authors (Jef Sutherland, Bryan Meyers, Jon Paris, Susan Gantner, Charlie Massoglia, Jim Martin and Paul Tuohy) While the Toolbox is very effective at RPG modernization, it has proven itself as a valuable learning aid for programmers moving to RPG IV or Free-form RPG. Standardizes source code into consistent syntax. Will be easier to understand and maintain. Number of outstanding product reviews. "My favorite part of the RPG Toolbox is the RPG Wizard. Where I work they have tons on RPG III code. I refuse to maintain it unless I can convert it to RPG IV using the Toolbox... We LOVE the RPG Toolbox here! ."       Bob Twigg, Tim-Bar Corporation

7 Legacy RPG Modern RPG IV Linoma’s RPG Toolbox Main Features
Modernize RPG with RPG Wizard RPG RPT RPG38 RPT38 SQLRPG RPGLE SQLRPGLE Convert RPG III and RPG/400 source code to modernized RPG IV syntax. Rejuvenate existing RPG IV source code to take advantage of the most modern syntax available for your OS/400 release. Convert RPG fixed-format C specifications to the new free-form syntax available in V5R1. Standardize source code into consistent syntax for ease of maintainability. More effectively work within IBM’s Source Entry Utility (SEU) using over 70 new line commands. Working with RPG, CL and DDS is now much easier. Quickly find and insert pre-defined source code (Snippets) into your source, right from within SEU. Over 190 code Snippets are shipped with the Toolbox, plus you can create your own Snippets. Document and display nested logic within RPG IV source by marking the beginning/ending of IFs, DOs, etc. Indent nested free-form RPG logic for readability. Legacy RPG Modern RPG IV Enhance SEU with SEU Plus Other Goodies

8 Legacy RPG Modern RPG IV Before After RPG Wizard (free-form example)
I PFromTo++DFldnmeL1M1FrPlMnZr. I DS I FIRST6 I PREFIX I AREACD I PHONE CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEq C *LIKE DEFN AREACD WAREA C* Retrieve customer record C CNBR CHAINCUSTMAS C* Prepare values C MOVE *ZEROS XX C N MOVE AREACD WAREA C N EXSR PROCESS C* Calculate C PROCESS BEGSR C ADD XX C WAREA IFNE *BLANK C XX MULT NUMBER C SETON C END C ENDSR DName ETDsFrom+++To/L+++IDc.Keywords D DS D PHONE D FIRST OVERLAY(PHONE) D AREACD OVERLAY(FIRST6) D PREFIX OVERLAY(FIRST6:4) // D WAREA S LIKE(AREACD) D XX S /FREE // Retrieve customer record CHAIN CNBR CUSTMAS; *IN99 = NOT%FOUND(CUSTMAS); // Prepare values XX = *ZEROS; IF *IN99 = *OFF; WAREA = AREACD; EXSR PROCESS; ENDIF; // Calculate BEGSR PROCESS; XX = XX + 1; IF WAREA <> *BLANK; NUMBER = XX * 100; *IN61 = *ON; ENDSR; /END-FREE

9 Legacy RPG Modern RPG IV RPG Wizard (free-form benefits)
Free Form RPG available since spring of 2001 with V5R1 Rapidly growing in popularity No longer bound by the fixed columns of traditional RPG calculations Similar to the coding style in other modern languages (i.e. Java and Visual Basic) Enter logic in a natural left-to-right fashion Nested logic can be indented Source code can be entered faster More room to enter long expressions Right-hand comments can immediately follow the logic Free-form will cohabitate with fixed format specs IBM is focusing its RPG compiler development on free-form syntax Easier to learn for newcomers

10 Legacy RPG Modern RPG IV Before After
RPG Wizard (Converting to Fixed Format RPGIV) Legacy RPG Modern RPG IV Before After I PFromTo++DFldnmeL1M1FrPlMnZr. I DS I FIRST6 I PREFIX I AREACD I PHONE CL0N01N02N03Factor1+++OpcdeFactor2+++ResultLenDHHiLoEq C *LIKE DEFN AREACD WAREA C* Retrieve customer record C CNBR CHAINCUSTMAS C* Prepare values C MOVE *ZEROS XX C N MOVE AREACD WAREA C N EXSR PROCESS C* Calculate C PROCESS BEGSR C ADD XX C WAREA IFNE *BLANK C XX MULT NUMBER C SETON C END C ENDSR DName ETDsFrom+++To/L+++IDc.Keywords D DS D PHONE D FIRST OVERLAY(PHONE) D AREACD OVERLAY(FIRST6) D PREFIX OVERLAY(FIRST6:4) * Work fields D WAREA S LIKE(AREACD) D XX S * Prototypes D PROCESS PR CL0N01Factor Opcode&ExtFactor Result Len++D+HiLoEq * Retrieve customer record C CNBR CHAIN CUSTMAS C EVAL *IN99 = NOT%FOUND(CUSTMAS) * Prepare values C EVAL XX = *ZEROS C IF *IN99 = *OFF C EVAL WAREA = AREACD C CALLP PROCESS C ENDIF * Calculate P PROCESS B C EVAL XX = XX + 1 C IF WAREA <> *BLANK C EVAL NUMBER = XX * 100 C EVAL *IN61 = *ON P PROCESS E Takes advantage of EVALs and Extended Factor 2 area If more comfortable with Fixed Format RPG IV, can convert to Free Form RPG later

11 Legacy RPG Modern RPG IV RPG Wizard – Case Conversion
Convert source logic to lower, upper or mixed case. Convert spec types to lower or upper case. Convert in-line source comments to either lower or upper case. Convert right-hand source comments to either lower or upper case. Before: D* D* NAME DATA STRUCTURE D NAME DS D LAST D FIRST C* C* PREPARE VALUES C MOVE *ZEROS NAME After: d* d* name data structure d Name DS d Last d First c* c* prepare values Name = *Zeros;

12 Legacy RPG Modern RPG IV RPG Wizard – Comments
Remove specification types from comment lines. Highlight comment lines. Convert asterisk (*) comment designators to slashes (//) comment designators. Remove comment designators ( * or // ) from blank comment lines. Before: D* D* NAME DATA STRUCTURE D NAME DS D LAST D FIRST C* C* PREPARE VALUES C MOVE *ZEROS XX After: // name data structure D NAME DS D LAST D FIRST // prepare values XX = *ZEROS;

13 Legacy RPG Modern RPG IV RPG Wizard – Definition Specifications
Redefine data structure fields; list fields in relative position order, convert from/to positions to field lengths, add OVERLAY keywords and indent sub-fields. Move Calculation-defined fields and lengths to the Definition specs. Move *LIKE defined fields from the Calculation specs to the Definition specs. Before: I PFromTo++DFldnmeL1M1FrPlMnZr. I DS I PREFIX I AREACD I PHONE C* C *LIKE DEFN AREACD WAREA C ADD XX After: DName ETDsFrom+++To/L+++IDc.Keywords D DS D PHONE D AREACD OVERLAY(PHONE) D PREFIX OVERLAY(PHONE:4) // D WAREA S LIKE(AREACD) D XX S XX = XX + 1;

14 Legacy RPG Modern RPG IV RPG Wizard – Assignment Operations
Convert ADD, SUB, Z-ADD, Z-SUB, MULT and DIV operations to EVAL operations. Convert MOVE and MOVEL operations to EVAL operations. Optionally convert MOVE(L) of *BLANKs or *ZEROs to CLEAR operations. Convert MOVEA (move array) operations. Convert CAT operations to EVAL operations. Convert SETON, SETOF and COMP operations to EVAL operations. Convert the constants of ‘1’ to *ON and ‘0’ to *OFF in indicator operations. Before: C ADD XX C XX MULT NUMBER C MOVE *ZEROS XX C MOVE AREACD WAREA C LAST CAT FIRST NAME C SETON C MOVE ‘0’ *IN52 After: XX = XX + 1; NUMBER = XX * 100; XX = *ZEROS; WAREA = AREACD; NAME = LAST + FIRST; *IN61 = *ON; *IN52 = *OFF;

15 Legacy RPG Modern RPG IV RPG Wizard – Built-in Functions (BIFs)
Convert traditional operations to their corresponding BIFs. Insert file I/O BIFs, such as %FOUND and %EOF, under file operations. Before: C BILLDAT ADDDUR 1:*YEAR NEWDAT C X OCCUR BILLDS C* Retrieve customer record C CNBR CHAIN CUSTMAS After: NEWDAT = BILLDAT + %YEAR(1); %OCCUR(BILLDS) = X; // Retrieve customer record CHAIN CNBR CUSTMAS; *IN99 = NOT%FOUND(CUSTMAS);

16 Legacy RPG Modern RPG IV RPG Wizard – Control Operations
Convert most conditioning indicators (left hand) to IF operations Move IFxx, DOxxx, WHxx, ANDxx and ORxx expressions to extended factor 2 Convert DO operations to FOR operations. Qualify END operations. For example, an END under an IF becomes an ENDIF. Convert eligible GOTO operations Before: C N MOVE AREACD WAREA C WAREA IFNE *BLANK C TEST OREQ ‘1’ C DO XX C XX MULT NUMBER C SETON C END After: IF *IN99 = *OFF; WAREA = AREACD; ENDIF; IF WAREA <> *BLANK OR TEST = ‘1’; FOR XX = 1 TO 20; NUMBER = XX * 100; *IN61 = *ON; ENDFOR;

17 Legacy RPG Modern RPG IV RPG Wizard – CALL and CALLB
Convert CALL and CALLB operations to CALLP operations. Create prototypes for new CALLP operations. Before: C CALL ‘QCMDEXC’ C PARM ‘DSPMSG’ COMMAND C PARM CMDLENGTH After: D QCMDEXC PR EXTPGM(‘QCMDEXC’) D COMMAND_ LIKE(COMMAND) D CMDLENGTH_ LIKE(CMDLENGTH) /FREE COMMAND = 'DSPMSG‘; CMDLENGTH = 6; QCMDEXC ( COMMAND : CMDLENGTH ); *IN99 = %ERROR; /END-FREE

18 Legacy RPG Modern RPG IV RPG Wizard – Subroutines
Convert CASxx operations to SELECT/WHEN or IF/ELSE operations. Convert subroutines to sub-procedures. Before: C FIELD1 CASEQ FIELD2 $PROCESS C FIELD1 CASLT FIELD2 $LESS C ENDCS C* Calculate C $PROCESS BEGSR C … Logic … C ENDSR After: D $PROCESS PR D $LESS PR /FREE SELECT; WHEN FIELD1 = FIELD2; $PROCESS(); WHEN FIELD1 < FIELD2; $LESS(); ENDSL; /END-FREE * Calculate P $PROCESS B … Logic … P $PROCESS E

19 Legacy RPG Modern RPG IV RPG Wizard – Key Lists
Convert key lists to either data structures or embedded Before: CL0N01Factor Opcode&ExtFactor Result Len++D+HiLoEq C CUSKEY KLIST C PARM CUSTNO C PARM ORDERNO C* C CUSKEY CHAIN CUSTMAS After (using %KDS): DName ETDsFrom+++To/L+++IDc.Keywords * Keylist data structure D CUSKEY DS D CUSTNO D ORDERNO /FREE CHAIN %KDS(CUSKEY) CUSTMAS; /END-FREE After (embedding the keys): CHAIN (CUSTNO : ORDERNO) CUSTMAS;

20 Legacy RPG Modern RPG IV RPG Wizard – *ENTRY PLIST
Move *ENTRY parameters from the Calculation specs into the Definition specs. Don’t need to use ILE to use Procedure Interfaces (PI) Before: CL0N01Factor Opcode&ExtFactor Result Len++D+HiLoEq C *ENTRY PLIST C PARM CUSTNO C PARM ORDERNO C PARM STATUS After: DName ETDsFrom+++To/L+++IDc.Keywords * Prototype for OER001 D OER PR D CUSTNO_ LIKE(CUSTNO) D ORDERNO_ LIKE(ORDERNO) D STATUS_ LIKE(STATUS) * *ENTRY Interface for Main Procedure D OER PI D CUSTNO D ORDERNO D STATUS

21 Legacy RPG Modern RPG IV
RPGWIZ command – You control the level of modernization Legacy RPG Modern RPG IV Each parameter has on-line help Can set defaults to shop standards Provides great deal of customization

22 RPG Wizard

23 Legacy RPG Modern RPG IV Using RPG Wizard
RPGWIZ can be launched through the following methods: By placing a PDM option next to the source member (either RX or RF). From the command line with the RPGWIZ command. From within SEU, using SEUPLUS line commands (included with the Toolbox). “Have really enjoyed your product. It has been a great teaching tool. We converted all of our old RPG source to ILE at once and all of us have been writing ILE code ever since.  My manager said that was some of the best money he had ever spent.”    Tim Lord, HPS

24 SEU PLUS – Included with RPG Toolbox
SEUPLUS dramatically enhances IBM’s Source Entry Utility (SEU) with over 70 new SEU line commands and function keys, including features for: You can also add your own custom SEU line commands for launching OS/400 commands and for inserting pre-defined source code (snippets). Developing and maintaining source code faster and easier Inserting Snippets of useful source code Modernizing RPG source with the latest syntax available Coloring, highlighting and underlining source Converting source to upper or lower case Examining variables, key lists, parameter lists, used indicators and copy books Displaying the last compile status and any compile errors Saving and retrieving source from Toolbox Memory (like Window’s Clipboard) Displaying both RPG fixed and free-form source in indented fashion Documenting nested logic by placing labels in positions 1 through 4 Indenting nested RPG free-form logic a specified number of spaces Executing popular OS/400 commands "Thankfully, I’ve found something that helps fill SEU’s gaps. Enter the RPG Toolbox from Linoma Software."        Don Rima, iSeries Magazine

25 SEU PLUS line commands Many of the new line commands work not only with RPG, but also CL and DDS source

26 Intelligent Prompting
Source Code Snippets Introduction Snippets of predefined source code can quickly be found and used from within SEU. By using pre-tested and proven source code, the development cycle can be greatly shortened with less coding and testing time. Using Snippets can also help ensure programming standards are being followed. Over 190 pre-defined snippets are included with the Toolbox, including: All RPG IV built-in functions (BIF) available up to V5R1. All RPG IV free-format operations. Common (D)efinition specifications (data structures, prototypes, etc.) File I/O operations with indicators or with BIFs (%found, %error, %eof, etc.). Templates for CL programs, Physical files and Logical files. Standard header comments for starting out most source member types. Miscellaneous snippets (insert /Free block, comment block, etc.) Most of the included snippets will intelligently prompt for values to fill into the snippet. For instance, the RPG CHAIN operation Snippet will prompt for the key list name, file name and other related values. The Toolbox will then merge those values with the snippet before inserting into your current source member. You can also easily create your own custom snippets of source code using the Toolbox-supplied Snippets as template examples. Intelligent Prompting Create your own Snippets

27 RPG Toolbox General Manual and Cheat Sheet GO RPGTOOLBOX/MENU PDM Options Enabling SEU Plus

28 Trial and Pricing Information
Download a fully functional trial version at Priced affordably from $995 to $1995 per iSeries. Unlimited users and conversions. First 3 months of support included. Yearly maintenance is 18% of List price. RPG Toolbox has earned ServerProven designation by IBM. If recently purchased/upgraded iSeries, may be eligible for IBM rebate. Contact Linoma Software sales at or

29 How to contact us Web site: www.linomasoftware.com
Toll-free: Direct: (402) Fax: (402) Address: Silver Street Ashland, NE USA


Download ppt "Linoma’s RPG Toolbox TM © Copyright 2001-2006."

Similar presentations


Ads by Google