Craig Rutledge - Open Source iSeries Tools (JCRCMDS)

Utilities   API Xref  Links   Path to /Free   Games   Download   Resume   Help with domain/hosting fees

FREE (no cost) rpg Free Format source using the Free Software Foundation license.

The JCRCMDS library has been featured many times in the Iseries ClubTech Newsletter, recently JCRHFD and JCRLKEY articles at MC Press Online, referenced in the IBM Redbook Modernizing IBM i Applications from the Database up to the User Interface and Everything in Between, and previously a commercial grade product at Rochester Initiative. The library continues to be a practical set of API-based utilities to really help AS/400, Iseries and System i Programmers.

Excited about new SourceForge Project! RDi/WDSCi plugins for There have been many questions about Rdi plugins to execute jcrcmds utilities. First plug-in will be jcrhfd (H F D specs free format) plugin written by Thomas Raddatz. This will be a great way to transition the jcrcmds tools into Rdi environment. If you wish to contribute plug-ins (and one day I hope every jcrcmds utility has a plug-in!) please contact to add you as a project contributor.

V7 release April 23 2017. SQL can have issues if the Coded Character Set Identifier (ccsid) of a selected field is different from the default job ccsid. IBM uses ccsid 65535 for some fields, which SQL returns as unreadable HEX data. Also a new field type HEX (instead of Alpha or Packed), returns HEX data. One SQL solution is to cast(fieldname as varchar(whatever length) CCSID number) to set the ccsid to job default. Command JCRFFD has been updated to show if field ccsid is different than job and to identify hex type fields.

Help text is provided with each utility. See Download link for install instructions.
Free H F D
 JCRHFD Convert fixed format H, F and D specifications into free format DCL-* statements from selected member into new member.
 JCRPROTO Create free format DCL-PI and DCL-PR statements from selected member fixed format *ENTRY and CALL/PARM opcodes into new member.
 JCRPRGEN Generate free format DCL-PR prototype in selected member to call selected program.
 JCRNUMB Automatically re-indent your free format code based on logic structures. Updated to indent DCL-* structures. Number the RPG structure statements in your source code. (not for use on v7.3 **free yet. I have some work to do)
 JCRSDENT Show Source Indentation. Updated to show indentation lines for DCL-* structures
Outline View
 JCRRFIL File name / Record Format Xref for RPG source (you NEED this one!). Updated to read DCL-F source.
 JCRRFLD Field names, length and attributes used in selected RPG source code.
 JCRIND Indicator list used in *RPG* / CL* / DSPF or PRTF source members. (This utility is now celebrating its 31st birthday. Think about that for a minute.)
 JCRSUBR Subroutine List. Reads RPGLE source to create an indented listing of the subroutine names.
 JCRDDL Generate Data Definition Language (DDL) source member from selected file object.
 JCRANZD DSPF screen layout with field names report .
 JCRANZO O spec print layout with field names report. Now reads DCL-F.
 JCRANZP PRTF layout with field names report
 JCRCALL Quick command prompt created from any programs entry parm field names/attributes.
 JCRFSET Scan File Set where used. Lists all RPG/CLP source members using selected PF and any associated LFs. Updated to read DCL-F source.
 JCRLSRC Print source code lib/file/member and module info for every *pgm object in selected library.
 JCRPRTF Generate DDS prtf source from RPG4 output specs.
 JCRRTVRPG Retrieve source for any RPGLE object compiled with DBGVIEW *LIST or *ALL.
 JCRSMLT Powerful source scan utility! Scan multiple source files / multiple strings. New CHOICE keyword allows unlimited file selection
 JCR4MAX RPG4 source conversion to full RPG4 syntax. A must-have if you still have oldstyle code.
 JCRFREESS Calc spec listing showing side-by-side fixed and free format source.
 JCR5FREE Fixed format C spec conversion to free formatted source. Read and understand a Path to /Free before using this utility.
 JCRFD Expanded File Description with view Keys, Select/Omit, Data Base Relations, Members,  Record Formats, and Trigger information.
 JCRFFD File field description print / display / outfile / rpgle source. Detail key fields and search field/text capabilities have been added.
 JCRLKEY Find logical with your selected key field(s)!
 JCRNOTPOP List of fields in selected data file that are not populated.
 JCRDQD Data queue description display.
 JCRDQE Data queue entries display without disturbing the entries. Now uses *TERASPACE storage model for unlimited data queue entries.
 JCRDTAARA List *DECimal Data Area values and Distance to Rollover
 JCRBND Outputs a list of procedures/symbols that are exported by a selected *BNDDIR, *SRVPGM or *MODULE. Great tool for finding where procedure names are located.
 JCRDUMP Count/Analyze RPG Dump spooled files.
 JCRJOBDL Find JOBDs with selected library on Library list . Run before deleting library.
 JCRJOBDQ Find JOBDs using selected JOBQ.
 JCRJOB List selected Job Names with Options (including slick file I/O monitor).
 JCRLOG Never press F9 to retrieve executed commands again! Great timesaver.
 JCROBJD Expanded work with objects display. Powerful cleanup assist tool.
 JCROLCK WRKOBJLCK with options to ENDJOB *IMMED and  SNDBRKMSG to user. Now with job I/O monitor to see is user is moving records.
 JCRPATTR Prompt CRTPRTF with existing print file creation attributes.
 JCRRECRT Load existing command values for recreate.
 JCRSPLF List selected Spool Files with Options. Includes ability to duplicate spooled files and override creation attributes.
 JCRSSQL Scan interactive STRSQL sessions for selected SQL statements!
 JCRUFIND List User Spaces containing selected strings. Very handy for user space analysis
 JCRUSPACE View selected User Space. Very handy for user space analysis
IFS Drive
 JCRIFSCPY Subfile of entries in your IFS directory! You can select to copy to iSeries. Also allows utilities packaged by XMLGEN to be installed directly from your IFS drive.
 JCRIFSMBR Copy selected source member to your IFS directory. After execution you will have txt file and a .zip file of the member.
 JCRIFSSAV Copies a selected savf to a selected directory on the IFS drive. Then uses the Qshell JAR command to create a .zip file from the copied source member.
 JCRNETFF Send Multiple Network Files To Multiple Userids
 JCRNETFM Send Multiple Network Members To Multiple Userids
 JCRNETQ Send network all spooled files in a selected outq.
System Info
 JCRPARTI Returns system name, serial number, partition number (very important for licensing this days), OS version, User, and Job Name.
XML Execute cmd JCRXML to run these tools.
 XMLGEN Generate XML documents for transfer (like those on this page).
 XMLPREVIEW Easy preview of install objects in an utility, then easy install!
 XMLSVIEW Developers: Easy view of XMLGEN script member in a subfile.
 XMLSRCFIL Load all members of selected source file into single XML member.
Sundry Execute cmd JCRSUNDRY to run these tools.
JCRSBSDR Generate report comparing pool IDs defined in SBSD to pool IDs actually used by routing entries. Helpful when trying to clean up sbs definitions.
JCRMRBIG Returns big characters (12 X 13) for passed in 10 char string. Used in production to return heading user profile data for spooled file distribution. Includes called program and example print program.
JCRHEXCHR Shows a subfile of the hex/biton values to generate all valid screen characters.
JCRF7 SEU Exit Program that will split/combine lines while in a SEU session. Big time saver!
JCRLICUSE Number of licenses available and who has a lock on a license for 3rd party software.
JCRUSREMLR User profile retrieve email address list.
JCRUSRPRFR List enabled user profiles/last signon date
JCRUSRAUT List class and special authorities of seleted user profiles
JCRUSRJOBD List User Profile using Jobd
JCRUSROUTQ List User Profile using Outq
Animations Execute cmd JCRSUNDRY to run these animations. If too fast/slow on your system, adjust milliseconds in API usleep call.
JCRZANIM0 Full screen binary clock showing hours, minutes and seconds.
JCRZANIM3 Raise the flag by repositioning a window with overlays.
JCRZANIM4 Have your dumb buddy sit on the right side of your monitor then run this classic I Am With Stupid finger pointer
JCRZANIM5 Random starfield pays tribute to Star Trek opening tag line.
JCRZANIM6 Racquetball Cutthroat Server Rotation
Visit the Games page for several entertaining 2 and 3D programs.
Games Execute cmd JCRGAMES to access these programs.
BATTLESHIP It started as a simple program for testing functions as two dimensional array indexes. Got way out of hand mutating into full blown game pitting you against the power of the iSeries.
BLACKJACK Beat the house with this version of 21. Three dimensional array function forms the card faces.
CRIBBAGE The most complex game code ever written for the iSeries. Unique hand scoring system shows card sets and point values. Robust strategy optimization routines.   If you like Cribbage, you will be amazed by this one.
PYRAMID Pyramid variation of Solitaire for the iSeries!. Addictive fun. Select all pairs of cards scoring 13 to win. I use this game when I am thinking.
RUBIKSCUBE Rubiks gurus check out the  Inductive Rules by Peter Suber.
VIDEOPOKER Uses a hash table and the random number API to sort a deck of cards. Also uses the concept of implicitly defined arrays as DS subfields of defined arrays.
TICTACTOE 2d array indexing example.
YAHTZEE Classic dice game
MINE SWEEPER A game submitted by Tibor Erdos in Hungary.

Your feedback on making your own life easier with these tools is ALWAYS appreciated. Thanks to contributers from around the world, who have made excellent suggestions for improvement or enhanced functionality to meet their specific requirements. This feedback continues to make these tools better for me and everyone else who uses them.

Back to Utilities.   SiteMap.    API Cross Reference.    Download Page    Supporting and Reciprocal Links    Coding Standards originally based on Bryan Meyers RPG IV Jump Start book.

  1984-2017  Craig Rutledge.   All programs on this site are free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. These programs are distributed in the hope that they will be useful, but without any warranty; without even the implied warranty of fitness for a particular purpose. See the GNU General Public License for more details.

Last modified March 9th 2017.

Below is me and my new Harley Softail Heritage Classic.

2016 Harley