iForms Library

September 2018

Version 2.1.2
  • Added *XML as a valid Source type and the related “Input XML File Name” parameter.

December 2016

Version 2.1.1
  • The “RESOURCE” parameter is no longer required for command IFMASM

January 2016

Version 2.1.0
  • The minimum OS/400 compatibility is now V6R1

October 2014

Version 2.0.0
  • Removed deprecated version 1 commands

August 2014

Version 1.24.01
  • Added *EMAIL as an Output Location in both the IFMEXEC command and the IFMASM command. Additional parameters were added for email server, to address, from address, and subject. Additional email fields are available through use of the Runtime Name/value parameters.
  • Added F1 help to IFMEXEC and IFMASM commands.
  • A message will get written to the job log, if the out queue in the NEWQUE parameter is filled in, stating to make sure a writer is not attached to new out queue. You can do this but unpredictable results may occur.
  • Changed the STRIFMSVR to have a production library of RJSIFORMS. Makes it easier to call the command without having to add the RJSIFORMS library to the library list.

September 2013

Version 1.23.01
  • Fixed bug in IFMMON2 where it would exit if a file name was supplied for the Local or IFS output file name.

April 2013

Version 1.23.00
  • New iForms monitor that uses the IFMEXEC command. There are several pieces to this.
    • IFMMON2 – The actual monitor program. Asks for how often to run, delay between runs, when to end, and group to run for.
    • Monitor Out Queue maintenance pgm. Maintain list of out queues to monitor.
    • Parameters Maintenance. For a given spool file, maintain all parameters to complete the IFMEXEC command. All fields on screen correspond to the IFMEXEC command.
    • There are 10 replacement variables that can be used in any field in the Parameters Maintenance program that are long enough and accept character values. They are:
      • @SPOOL - spool-file name
      • @JOBNAME - Job name
      • @USERID - User ID
      • @JOBNBR - Job number
      • @SPLNBR - Spool-file number
      • @USERDTA - User data
      • @NBRCOPIES - Number of copies
      • @FORMTYPE - Form type
      • @DATE - System date in YY-MM-DD format
      • @TIME - System time in HH:MM:SS format
  • New packet assembly command – IFMASM. Command front end to Assembly functions on the iForms server.
  • New start iForms server command – STRIFMSVR. Start/stop/show status of the iForms server.
  • New iForms menu – RJSIFORMS2. All the new commands are now on one menu.
  • If an invalid spool file is encountered (deleted, moved, etc) the IFMEXEC & IFMASM commands log the error in the joblog instead of erroring out.

October 2012

Version 1.22.01
  • Added parms to IFMEXEC command to handle the move to new out queue processing.
  • Changed how msgs were being returned. Before, all msgs were being sent back as CPF9898 but as type *COMP. Now if the server sends back an actual error msg, those are reported as a CPF9898 but as type *ESCAPE so that they could be caught in a user written program.
  • Added IFMDUPSPL cmd & programs.
  • Added STRIFMSVR cmd for starting and stopping native iForms Server.

April 2012

Version 1.22.00
  • Added new IFMEXEC command.
  • RUNIFORMJR was fixed

November 2011

Version 1.21.00
  • Added '-r300' as default value for GS Parm wherever it is used. This sets the DPI resolution for Ghostscript.
  • Changed RUNIFORMJ/SPLIFORMJ commands to dump certain error messages into the job log. They had been eating those messages.
  • Fixed problem that the name/value pair parameters in RUNIFORM and SPLIFORM were not available from the IFMMON. The name/value pairs were added to Edit iForms Monitor Destinations (option 41). These will be passed on to the commands. The @ substitution values can also be used.
  • Fixed problem with the merge process that a PF would get left behind if there was an error in the merge. This could cause thousands of files to be held in RJSTEMP.
  • Fixed problem that several of the Y/N fields in Edit iForms Monitor Destinations (option 41) were defined on the screen as 4 long, even though you could only enter a Y or N.
  • Fixed problem that a 'Command length not valid' error message was sent twice to the job log when it should not have been sent at all. This occurred when running IFMMON natively with a single entry in Edit iForms Monitor Queue List (option 40), with the After Processing Option : set to *NONE. The report is converted, but the error was sent.
  • Removed requirement for templates to be on both iSeries and PC if using a PC server.
  • Added command IFMPRINTJ - Print a PDF file to a PC server using Java APIs.

March 2011

Version 1.11 - 1.20
  • Updated IFMMON command with new behavior. If no groups are set for output queues and group list is passed as blank, all queues will get processed. If groups are set for output queues and group list is passed as blank, only queues where the group list is blank will get processed. If groups are set for output queues and group list is passed as a non blank value only queues where the group list matches the passed group name will get processed. If *ALL is passed for the group name, all queues will get processed regardless of which group they belong to.
  • Added IFMPDFPAGE command to allow users to retreive PDF document page counts.
  • Packaged rjsiforms.jar 6/22/2010 version with library code.
  • Created IFMPROTECT command for encrypting PDF files.
  • Spaces can now be passed in file names and parameter values when using RUNIFORMJ and SPLIFORMJ commands with Remote PC Server. Previously this would cause a 00001 error.
  • Remote PC Server can now directly print generated PDF forms to PC network printers rather than return them to the iSeries for printing. Specify *PRINTER for the IFS file parameter on SPLIFORMJ or RUNIFORMJ and the form will print on the printer specified in the following parm: Remote Windows Prt Driver Name
  • Specifying *PRINTERDEBUG for the IFS file does the same as *PRINTER except that the PC print server log will contain a list of all valid Windows printers available on the PC server. Printer names are CASE SENSITIVE.
  • Copies, Duplex and Landscape parameters are now supported on SPLIFORMJ and RUNIFORMJ when printing directly to network printer.
  • Added IFMIGCDTA data area to control the copying of double-byte spool files. Defaults to *NO. *YES creates temp file with IGCDTA = *YES to handle double byte.

When specifying *YES, spool file data may get moved to the right one character

  • Added STDOUTIFS parm to TXTTODB so we can direct the java logs to a specified IFS file.
  • Added specific call to DROP temp table before processing with java in TXTTODB.
  • Added IFMPRTAFP command for printing AFP output generated with IBM AFP 3812 driver when using the PC print server. If AFP specified for output when using RUNIFORMJ, we automatically render via PC print server using the PRT option and then print natively with the IFMPRTAFP command. AFP option works with SPLIFORMJ and RUNIFORMJ commands that use PC print server.
  • Added following command to java object restore to insure RJSTEMP has appropriate *PUBLIC/*ALL authority for temp files that get created in RJSTEMP library by TXTTODB process which uses CREATE TABLE to create database tables for merge process. CHGLIB LIB(RJSTEMP) CRTAUT(*ALL) Also added same code to IFMUPG command so if customer upgrades iForms RJSTEMP will get set correctly when IFMUPG is called.

December 2009

Version 1.09 - 1.10

After upgrading the library, make sure to run IFMJAVAEN to restore /RJSIFORMS and /RJSJAVA/RJSIFORMS objects.

  • Added /RJSJAVA/RJSIFORMS/RJSIFORMS.JAR to the java classpath so we can write custom java routines that can be called from an iForm document or report. Added to RUNIFORM, RUNIFORMJ, SPLIFORM, SPLIFORMJ commands. The RJSIFORMS.JAR file will be restored when the IFMJAVAEN command is run.
  • Added IFMROTATE command to rotate a landscape PDF to portrait mode. Ghostscript printing does not work well with Landscape PDF files, so we can now rotate them first.
  • Added Rotate landscape pages (LANDSCAPE) setting to the IFMPRINT cmd to auto rotate landscape pages to portrait mode for printing.
  • Added Rotate landscape pages (LANDSCAPE) setting to the RUNIFORM, RUNIFORMJ, SPLIFORM and SPLIFORMJ commands.
  • Created IFMBACK command to back up /RJSIFORMS folder to /RJSIFORMSBACKUP/BACKUP-YYMMDDHHMMSS This preserves copies of all templates so they don't get lost during upgrades. This command gets automatically called during upgrade processing via the IFMUPG command or when the IFMJAVAEN command is used to restore java objects.
  • When running IFMUPG or IFMJAVAEN commands,we now call IFMBACK command automatically to back up the /RJSIFORMS folder and all subfolders. It's still a good idea to manually back up the /RJSIFORMS folder before an upgrade.
  • Created IFMQSH command to call QSHELL commands.
  • Changed CONVERROR parameter default to *NO for the IFMPRINT command. Some PDF documents generate font substitution messages which can be incorrectly interpreted as errors if the CONVERROR parameter were set to *YES.
  • Updated IFMMON outq monitor command to support soft coded destination IFS output names when converting to an IFS output file.

Special keywords in the IFS output file name can be set to any combination of the individual keywords for the following:

*SPOOL-Spool file name.
Ex: /rjstemp/*SPOOL.PDF

*USERDATA - Spool file user data or spool file name if no user data found.
Ex: /rjstemp/*USERDATA.PDF

*FORMTYPE - Spool file form type.
Ex: /rjstemp/*FORMTYPE.PDF

*JOB - Spool file job name.
Ex: /rjstemp/*JOB.PDF

*USERID - Spool file user id.
Ex: /rjstemp/*USERID.PDF

*DATETIME - Current date/time in following format: YYYYMMDDHHMMSSsss
Ex: /rjstemp/*DATETIME.PDF

*DATE - Current date in following format: YYYYMMDD
Ex: /rjstemp/*DATE.PDF

*TIME - Current time in following format: HHMMSSsss
Ex: /rjstemp/*TIME.PDF
Use menu opt 41. on the RJSIFORMS menu to edit iForms monitor destinations.

Combined file name example:


September 2009

Version 1.05 - 1.08

This is a cumulative build from V1.04 with several minor updates.

  • Converted IFMPDFTIFC program from type CLLE to CLP. Was failing oddly for no reason at all. Seemed like garbage was getting into the PASE command line string or something if IFMPDFTIF was called at any point after SPLIFORM. Simply changing from CLLE to CLP resolved the problem.
  • Created RUNGETURL utility command to run remote HTTP commands and get http responses back to file so we can determine is http calls successed. This is more of a general utility command. It is not currently used within iForms.
  • Created IFMSCANP command to do an IP port scan to insure remote IP servers are active. This is more of a general utility command. It is not currently used within iForms.
  • Added IFMJVM32 data area to control the JVM selection on V5R4 and above boxes. If the data area is set to *YES we try to use the 32-bit JVM. This settings defaults to *NO.
  • Added Hold/Save parms to the IFMMON tables and processing. These parms were already in SPLIFORM/RUNIFORM commands, but were not included in IFMMON outq monitor.

Make sure to run the IFMJAVAEN command to restore any java objects before using.

November 2008

Version 1.04
  • Added IFMPDFTIFF command to convert PDF files to TIFF format.
  • Added TIF output opt to SPLIFORM, SPLIFORMJ, RUNIFORM and RUNIFORMJ commands
  • Fixed problem with Remove last page option causing a 0003 error. Must restore the java classes via the IFMJAVAEN command to install updated java classes.

November 2008

Version 1.03
  • Added SETJAVAVER command so each user can set the default java version they use via their own SystemDefault.properties in their home directory. Usually: /home/<user>. A users home directory can be verified by viewing their user profile via the WRKUSPRF command.
  • The SETJAVAVER command only needs to be run one time for each user. After running the command, user must log off and log back on for settings to take effect for all of their interactive or batch jobs. Java versions that can be selected are 1.4, 1.5 and 1.6. You MUST have the correct java version already loaded on your system. Users can use the GO LICPGM, option 10 to display OS/400 installed license options.
  • After running SETJAVAVER and logging back on to the command line, run the following command to check your java version: JAVA *VERSION
  • Added 9 custom parameters to the SPLIFORM and SPLIFORMJ commands so that custom parms can be passed to a form template when processing a spool file.
  • Fixed problem with IFMSPOOL not respooling files correctly since V1.02. This issue would manifest by a report not re-spooling to the correct output queue. This fix affects IFMSPOOL, SPLIFORM, SPLIFORMJ, RUNIFORM and RUNIFORMJ when re-spooling to an output queue.
  • Added data area IFMEXTAPND. If set to *YES, The value EXT:xxx~ (where xxx is the output type: PDF, RTF, etc.) is placed at the beginning of the user defined data when respooling for compatability with RJS electronic distribution products. Default: *YES This change affects SPLIFORM, SPLIFORMJ, RUNIFORM and RUNIFORMJ.

October 2008

Version 1.02
  • Rollup of all updates from RJSIFORMU1 tp RJSIFORU16. This is a cumulative release of all minor patches since 11/2007.

Back to Document Management Products