RPG xTools - Version 5

Product Download

What do you want to do?

System Requirements:
OS/400 - V5R2 and later
i5/OS - Any version
Existing RPG xTools v5 customers from Linoma or Cozzi Consulting use this download.   Trial/Demo Software Requests
use this option.

Download 

  Register and Download a trail version 

Download supplemental information in PDF format on xTools

Winzip for Windows

Download RPG xTools Version 5.5 (xtools.zip)Posted January 7, 2008

Read the What's New document for the highlights of new and improved features in v5 of RPG xTools.

RPG xTools Version 5 HelpText file - Posted Jan 06, 2006

Download the xTools V5.0 Helptext
(NOTE: The helptext is included with the regular xTools download.)

Trouble viewing the xTools Help file? Read about the changes Microsoft made and how they recommend you manage this change. and also read this article.

  Legacy Downloads
  xTools Version 5.0 Download for OS/400 V4R5 and Later (Posted Feb 2, 2006)

Download RPG IV xTools V4.0 (Zipped *SAVF & Helptext) 

xTools Version 4 Download

Download RPG IV xTools V4.0 (Zipped *SAVF & Helptext) 
Version 4.5 - (Final V4 release Posted April 28, 2005--Recommended Update.)

Download RPG xTools V4.0 Helptext (Refreshed as needed.)
  Legacy downloads (Not typically needed)
 

Summary of October 2004 updates/changes to Version 4:

  • Additions
    • SndMsgID - Send program message.
    • SndMsg - Send impromptu message.
    • SndStsMsg - Send impromptu status message.
    • ifsGetDir - Get a list of files of a directory on the IFS.
    • Added new options to the HEADERS parameter of the CPYTOCSV command
      • HEADERS(*NONE | *FIELDS | *COLHDG | *TEXT) are now supported
    • DateDiff - Calculate the difference between two dates, in Years/Months/Days
    • cgiOBFUSCATE - Encrypt email addresses for output to HTML pages.
  • Fixes
    • Fixed a problem with the CPYUSRSPACE (copy user space) subprocedure.
    • Fixed a problem with CGILIB when sending a linefeed as '\n' on empty lines.
Summary of September releases:
  • Added error handling to MATH library
  • Corrected problem with CSV library when no headers are selected
  • Added low-level support for reading CSV files

September procedures in released:

  • DecToDate() - Convert a 6 or 8-digit zoned or packed decimal value that contains date information into a true date data-type value.
  • DateToDec() - Convert a true date value into a numeric value.
  • CharToDate() - Convert a character string that contains a date in some format, to a true date data-type value.
  • DateToChar() - Convert a true date data-type value to character: Similar to %CHAR() however DateToChar() has more flexibility and options.

Summary of changes in Aug 2004 release:

  • Optimized several of the conversion routines
  • Add new date conversion procedures

Summary of changes in previous release:

  • Final repackaging as RPG xTools completed.
  • Most procedure names have been changed to mixed (upper/lower) case names. This will not impact new or existing code in any way. It allows you to avoid name-collision should you have a similarly named subprocedure already installed.
  • All prototypes have been modified to reflect the new naming convention.
  • No source code or object changes are necessary to support the new names.
  • All names are exported in mixed case, but the prototypes allow RPG-style UPPERCASE only procedure names to be used, as in previous releases.
    • Only User Space procedures have gone unchanged, that is they are still all upper case names.
  • Environment procedures have been moved. They are now located in the QCPYSRC member named ENVIRON.

New procedures in previous release:

  • RtvKeyList - Retrieve the key list for any database file.
  • GetKeyList - Get key list (simplified).
  • cgiLineFeed - Convert '\n' to X'25' symbols.

Summary of changes in previous release:

  • Compatibility Release: Added new items for compatibility with the next release of xTools.
  • Added new binding directories named XTOOLS and XTOOL.
    • The xTools binding directory contains the same RPGLIB service program name as the RPGLIB binding directory.
  • Final release of "toolkit" legacy packaging.
  • The next release of RPG xTools shall remove to TOOLKIT references. See the FAQ on the next RPG xTools release for more details.

 

  • Converted all /COPY statements to /INCLUDE to avoid issues with SQLRPGLE.
  • Corrected an issue with GetMsgInfo when using message data (see the helptext for details).
  • Enhanced '\n' detection in cgiStdOut procedure in CGILIB
  • GetUsrSpcPtr - Now logs a message to the joblog if it fails.
  • CrtAsciiFile - Added option to leave file open after it is created.

New procedures in previous release:

  • SndMsgID - Send a program message using a message ID.
  • cgiSndMsgID - Send a CPF message to the web browser
  • cgiFmtMsgID - Wrap a CPF message (from a MSGID) in HTML.
  • ifsGetRecCnt - Get Record Count of IFS text file.
  • CrtAsciiFile - Create an empty ASCII file on the IFS.
  • XLateObjType - Translate OS/400 Object Type into MI object type code.
  • GetOvrInfo - Retrieve override information about a file
  • CvtCaseEx - Convert case extended. Converts case using parms instead of return values (better performance).
  • CvtCasePtr - Convert case using pointers. Converts case of parms passed by pointer instead of return values (better performance).

Summary of changes in prior version/release 3.1:

  • Corrected a problem in continuity when appending to an existing CSV (comma separated) file.
  • Minor optimization in GetDate.
  • Significantly improved performance in internal routines when checking for existence of objects such as user spaces. This also impacts most other interfaces in the xTools with better performance when they are called multiple times per transaction.
  • Significantly improved performance when converting to CSV (comma separated values) from DB2/400 database files.
  • Improved performance of the GetNextEntry() procedure.
  • Fixed a problem with CSV routines when no file name is specified.
  • Added "large file" support to CSV routines. Upper size limit for output CSV data is now either 4GB or 256GB depending on the release of OS/400. The previous maximum size was 2GB.
  • Added CCSID (codepage) option to the CpyToCsvIFS() subprocedure and the CL command CPYTOCSV.
  • The CSV routines now open and write CSV files using CCSID(819) instead of the same CCSID as your job. This should fix issues with EBCDIC showing up when viewing the data with Windows or Linux applications.
  • Minor performance improvement to TOUPPER and TOLOWER.
  • Changed the file handle for CSV processing from a pointer to a C FILE struct, to an int4 (10i0) value. This was necessary to enable large file support on OS/400 V4R5.

Summary of changes made in earlier releases:

  • Added starting record number to Convert to CSV interfaces
  • New Procedures in this release:
    • CleanNum() - Clean text fields contain digits and garbage.
    • GetDate() - Retrieve relative date. e.g., x = GetDay('Next':'Friday').
    • GetDayCount() - Get number of times a day occurs in the month.
    • ifsGetRecCnt() - Get record count of a text file on the IFS.
  • Previous Updates:
    • Fixed issue with FindRepl()
    • Optimized CvtToCsv() and fixed a minor bug
    • Corrected an issue with the CGI UnEscape() routine

 

Download the Product Installation Instructions

The RPG xTools for OS/400 is an OS/400 SAVF must be FTP'd using Binary transfer to your AS/400 or iSeries. Instructions are included in the .ZIP file along with the save file itself. Or read the installation instructions online now.

The following general steps can be used to restore the xTools library onto your AS/400 or iSeries. See the installation instructions for complete step-by-step instructions.

Installation Instructions