TAA Tools
TAA Productivity Tools - Release Notes
The TAA Productivity Tools are updated periodically for new tools,
enhancements, and fixes. New versions are shipped a few times per
year.

This document combines the most recent refresh notes that were
previously in separate documents for new tools, enhanced tools, fixes,
and incompatibilities. The document is organized by refresh with the
most recent refresh listed first.

The complete set of release notes can be found on https://taatool.com.

2025-08-15 (T103)

Refresh T103 (August 15, 2025) is for IBM i 7.3, 7.4, 7.5, and 7.6.

No further refreshes or fixes will be made for IBM i 7.2 or earlier
releases.

HIPER news

The Retrieve Object List (RTVOBJLST) is a tool used by several other
tools. Recent IBM PTFs on V7R4 and V7R5 have some enhanced parameter
checking that exposed an issue in the tools usage of the QUSLOBJ API.
This shows up as a "Status value ? not valid" error in the job log. It
has been reported most often while using the DLTOLDSPLF tool. This was
fixed in T102 and T103 for all supported releases. There is also a
patch available for all releases.

See https://taatool.com/fixes/0003/readme.html for more information.

IBM i 7.6 Notes

This is the first refresh that contains support for IBM i 7.6.

New Tools

- CVTOWNOBJ

  The Convert Owned Objects tool is similar to the system DSPUSRPRF
  TYPE(*OBJOWN) with an outfile, but provides substantially more
  information.

Enhancements

- CHG128PWD

  There was an issue with the CHG128PWD tool used to replicate
  passwords between systems. This tool relies on the
  QIBM_QSY_VLD_PASSWRD exit point and installs a user-defined program
  to encrypt the new password for replication. This was running into a
  CCSID issue when a changed password was entered in the ACS login
  window. The tool was enhanced to handle the CCSID used by ACS.

- TRCDBG

  The STRTRCDBG command of the Trace Debug tool has been enhanced to
  allow for up to 99,999,999 statements to be traced.

- WRKJOB2

  The Work With Jobs 2 command has been enhanced to include more
  information such as completion time. There are now two views that
  you can toggle between using F11.

Fixes

- CAPPTFINF

  The CMPPTFINF command of the CAPPTFINF tool had a bug in its date
  handling in the FROMVER and TOVER keywords when specific dates were
  used rather than the defaults. This has been fixed in T103.

- PRINT

  An update to the PRINT tool in T102 inadvertently caused extra empty
  spooled files to be created. The PRINT tool is used by other tools
  and you may see these files as a result. This has been fixed in
  T103.

- RMVMSGQMSG

  There were circumstances when the Remove Message Queue Message tool
  would attempt to log a very long message informational to the job
  log. This has been fixed so that the message stays within
  appropriate bounds.

Changes to output files

There are no changes to output file formats in this refresh. Work has
been confined to fixes and 7.6 support.

Incompatibilities

- Commands that refer to previous releases (7.6 only)

  All save commands, most compile commands, and commands that use *PRV
  compiler support have had their TGTRLS parameters updated for 7.6.
  While technically incompatible with previous release this is
  consistent with IBM i 7.6 changes. The following commands have been
  affected:

  ---------------------------------------------------------------------------
  Tool         Command      Description
  ------------ ------------ -------------------------------------------------
  CHKPGMRLS    CHKPGMRLS    Check Program Release - CHKPGMRLS

  CHKTGTRLS    CHKTGTRLS    Check Target Release - CHKTGTRLS

  CMPOUTFILE   CMPOUTFILE   Compare System Outfiles - CMPOUTFILE

  CRTBNDCL2    CRTBNDCL2    Create Bound CL Pgm 2 - CRTBNDCL2

  CRTBNDRPG2   CRTBNDRPG2   Create Bound RPG Pgm 2 - CRTBNDRPG2

  CRTSFLPGM    CRTSFLPGM    Create Subfile Program - CRTSFLPGM

  CRTSFLPGM    RPLSFLPGM    Replace Subfile Program - RPLSFLPGM

  CRTSFLPGM2   CRTSFLPGM2   Create Subfile Program 2 - CRTSFLPGM2

  CRTTGTRLS    CRTTGTRLS    Create Target Release - CRTTGTRLS

  RPLGENPGM    RPLGENPGM    Replace Generic Programs - RPLGENPGM

  RPLMOD       RPLMOD       Replace Module - RPLMOD

  RPLOBJ       RPLOBJ       Replace Object - RPLOBJ

  RPLPGM       RPLPGM       Replace Program - RPLPGM

  SAVACT       SAVALLACT    Save All Active - SAVALLACT

  SAVACT       SAVCHGACT    Save Changed Active - SAVCHGACT

  SAVJRNRCV    SAVJRNRCV    Save Journal Receivers - SAVJRNRCV

  SAVLIBIFS    SAVLIBIFS    Save Library to IFS - SAVLIBIFS

  SAVOBJIFS    SAVOBJIFS    Save Object to IFS - SAVOBJIFS

  SAVONELIB    SAVONELIB    Save One Library - SAVONELIB

  SAVOWNOBJ    SAVOWNOBJ    Save Owned Objects - SAVOWNOBJ

  SAVRCVL      SAVRCVL      Save and Receive Library with FTP - SAVRCVL

  SAVRCVL      SBMSAVRCVL   Submit Save and Receive Lib with FTP - SBMSAVRCVL

  SAVSNDL      SAVSNDL      Save and Send Library with FTP - SAVSNDL

  SAVSNDL      SBMSAVSNDL   Submit Save and Send Lib - SBMSAVSNDL

  SAVSNDM      SAVSNDM      Save and Send Member with FTP- SAVSNDM

  SAVSRCF      SAVSRCF      Save Source Files - SAVSRCF

  SNDOBJMAIL   SNDOBJMAIL   Send Object Mail - SNDOBJMAIL
  ---------------------------------------------------------------------------

2025-04-15 (T102)

Refresh T102 (April 15, 2025) is for IBM i 7.3, 7.4, and 7.5.

No further refreshes or fixes will be made for IBM i 7.2 or earlier
releases.

IBM i 7.5 Notes

See the previous release notes for IBM i 7.5 changes that affected the
tools.

New Tools

- CLCDLY

  The Calculate Delay command will calculate the number of seconds
  needed to delay a job for a repeating activity. It is meant to be
  used with DLYJOB. It allows you to define a block of time during
  which the activity must take place. It allows for that block to be
  overnight if that is necessary.

Enhancements

- CHKACTUSR

  Check Active User was shipped as *PUBLIC *EXCLUDE. This has been
  relaxed to *PUBLIC *USE since the tool explicitly checks for *JOBCTL
  authority.

- CHKACTUSR2

  Check Active User 2 was shipped as *PUBLIC *EXCLUDE. This has been
  relaxed to *PUBLIC *USE since the tool explicitly checks for *JOBCTL
  authority.

- CHKHOLIDAY

  Juneteenth has been added to the Check Holidays tool.

- CPYSRCFIFS

  A new CASE keyword was added to control the case of folder and
  stream file names in the IFS.

- CPYTOCSV

  You can now do STMFOPT(*ADD) to add the result to an existing stream
  file.

- CRTEXTPRTF

  The Create External Printer File has been updated to include the
  SQLRPGLE source types.

- DSPFCNUSG2

  The Display Function Usage 2 command was updated. You can now invoke
  it from QCMDEXC.

- DSPHOLIDAY

  Juneteenth has been added to the Display USA Holidays tool.

- RTVHOLIDAY

  Juneteenth has been added to the Retrieve Holiday Date tool.

Fixes

- Install

  The Convert TAA Format command is used at the end of the install
  process to reformat very old versions of some files used by the
  SPLSTO and SPLARC tools. We've added further checks to the install
  process to avoid attempting to reformat impersonators.

- CHGOBJAUT

  The Change Object Authority command uses the PRINT tool internally.
  There are rare situations where the CHGOBJAUT does not close that
  printer file. That file is now closed on the next run if it was left
  open.

- CHKCPPQSYS

  The Check CPP use of QSYS command was not handling *REXX procedures
  properly. It now recognizes and skips commands that have a REXX
  procedure as a command processor.

- CPYTOCSV

  A note was added to the documentation stating that 8-byte binary
  integers show up as 0 in the resulting CSV file. Extra heading
  columns were being generated if COLHDG(*FLDNAM) was being used. This
  has been fixed.

- CVTOUTQ

  T101 introduced a bug in Convert Output Queue that would sometimes
  skip files that had identical job names, spool file names and
  numbers. This can happen when job numbers wrap. This bug has been
  fixed.

- CVTSYSVAL

  The CVTSYSVAL command could fail with a parameter length mismatch
  when attempting to retrieve the QSSLCSL system value on some
  systems. This is a rare occurence. The receiver is now allocated at
  the proper size.

- CVTTAAFMT

  The Convert TAA Format command is used to reformat very old versions
  of some files used by the SPLSTO and SPLARC tools. It was mistakenly
  attempting to reformat files created with the QUSRTOOL versions of
  these tools. Those files will now be excluded.

- DLTOLDSPLF

  Delete Old Spooled Files was affected by the bug in CVTOUTQ. No
  change was made to DLTOLDSPLF, but the CVTOUTQ bug could show up in
  the DLTOLDSPLF results.

- DSPMSGQINQ

  The Display Message Queue Inquiries could fail for very large
  message queues. The tool was modified to be able to retrieve message
  queue entries using CVTMSGQ2 which fixes the problem.

- DSPSBSJOBQ

  The Display Subsystem Job Queues command could sometimes report an
  array index violation. This has been fixed.

- MRGSPLF

  The Merge Spool File tool has been updated to handle the case where
  there are multiple files in the queue being merged that have the
  same job name, spooled file name, and spooled file number. This
  situation can happen when job numbers wrap from 999999 to 000000.

- RMVOLDMSG

  The Remove Old Messages from MSGQs command has been rewritten to
  avoid a looping condition if there were too many messages in a
  queue. It has also been enhanced to allow for the deletion of "same
  day" messages -- essentially clearing the message queue.

- RSNALLMSG

  Resend All Messages was rewritten to properly send messages to the
  using program's calling program even if the using program was an ILE
  program.

- RTVIFSED

  The Retrieve IFS Entry Description tool is used by several IFS tools
  such as DLTIFS and CVTIFS. It had a very slow memory leak that
  showed up if the number of IFS entries being examine was extremely
  large. The leak has been plugged in this refresh.

- RTVOBJLST

  Retrieve Object List is a tool used by several other tools. Recent
  IBM PTFs on V7R5 have some enhanced parameter checking that exposed
  a bug in our usage of the QUSLOBJ API. This shows up as a "Status
  value ? not valid" error in the job log. This has been fixed for all
  supported releases.

- RTVSYSVALA

  The Retrieve System Value Attributes command was returning a length
  of 1280 for the QSSLCSL value. This has been corrected to 3840.

- SNDSPLMAIL

  If a mailing list created with the MAILADR tool was being used then
  the Send Spooled File E-Mail tool would send to just the first *TO
  address in the list. This was fixed to send to all the addresses in
  the list.

- WRKALLSPLF

  The Work with All Spooled Files tool could occasionally not display
  some spooled files if the queues involved were too large. The tool
  has been redesigned and rewritten to avoid this issue.

Changes to output files

Incompatibilities

There are no known incompatibilities in this refresh.

2024-01-15 (T101)

Refresh T101 (January 15, 2024) is for IBM i 7.3, 7.4, and 7.5.

No further refreshes will be made for IBM i 7.2. However, fixes to 7.2
tools will continue to be supplied on an "as needed" basis until April
30, 2024.

No further refreshes or fixes will be made for IBM i 7.1 or earlier
releases.

IBM i 7.5 Notes

IBM has made a couple of changes in IBM i 7.5 that affect the results
returned to the tools. The tools have been modified to accomodate
these changes. You will have issues on IBM i 7.5 with CVTEDTD,
CVTIFSAUT2, and DSPIFSOWN and tools that depend on them until you
install this refresh. See the notes for the individual tools below.

- CVTEDTD was affected by a spooled file output change.

- While not technically incompatible the QSYLOBJA API now reports IFS
  path data in CCSID 1200 rather than the job CCSID. CVTIFSAUT2 and
  DSPIFSOWN were affected by this change. CVTIFSAUT2 is used by
  RVKIFSAUT, RVKIFSPGP, RNMIFSAUT, and RNMIFSPGP.

- It should also be noted that the CVTIFSOWN command also uses
  QSYLOBJA. Since the reporting CCSID is included in the CVTIFSOWN
  output, the path name data in the output file is also reported in
  this CCSID. If are using CVTIFSOWN you may need to make changes to
  convert from the reported CCSID.

Refresh Names

We are adopting a new scheme for naming our refreshes. Our Rxx
numbering was being confused with IBM's numbering of their releases.
Refreshes are now named Tnnn, beginning with T101, this refresh. The T
is either for "Tools" or "TAA" depending on your preference. We hope
this makes things a bit less confusing.

The numbering of previous refreshes in our release notes will remain
the same.

New Tools

There are no new tools in this refresh. There are some new ones
planned for the next refresh.

Enhancements

- CVTDEVPRT

  The output file for Convert Device Printer command has a new field
  for the last activity date added to the end of the record format.
  This can be useful if you have a large number of printers to track
  down the ones that are no longer being used.

- CVTIFSOWN

  Convert IFS Owners has been updated as described in our newsletter
  to convert path names on IBM i 7.5 from CCSID 1200 to the job CCSID
  so that they are more compatible with previous TAATOOL refreshes and
  IBM i releases.

- CVTMSGQ

  Convert Message Queue had a restriction that limited it to about
  30,000 messages. This limit has been removed.

- DSPJOBLOG3

  The Display Job Log 3 tool has a new REFRESH keyword that is used to
  view all the messages in the current job in a more convenient form
  than that provided by F10 or by DSPJOBLOG. Try it with
  DSPJOBLOG3 REFRESH(*YES).

- DSPRCDLCK2

  The Display Record Locks 2 command would complain about duplicate
  job names if duplicates existed even if only one of the duplicates
  was in active state. Since record locks can only exist in active
  jobs, the tool was enhanced to look for duplicates only in active
  jobs rather than all jobs.

- DUPFILFMT

  Duplicate File Format is extended to remove some limits on the file
  being created. This is important for RTVDLTRCD to handle extremely
  large files.

- RTVDEVPRT

  The Retrieve Device Printer command has a new keyword for the last
  activity date.

- RTVDLTRCD

  Retrieve Deleted Records was enhanced to allow for much larger files
  than it previously handled. See also DUPFILFMT enhancements needed
  for RTVDLTRCD.

- WRKJOB2

  WRKJOB2 now includes the completion date and time as the last column
  of the display for jobs in *OUTQ status.

- WRKJOBSTS

  Option 5 now does a WRKJOB immediately rather than prompting.
  Disconnect has moved from Option 7 to Option 13 to be consistent
  with WRKACTJOB.

Fixes

- ANZOUTQ

  The Analyze Output Queue could run out of array space for very large
  queues. The tool now stops recording unique values in each section
  after 9998 have been found so the arrays never overflow.

- CHGUSRPWD3

  The CHGUSRPWD3 command did not monitor for the possible CPD escape
  messages sent by the APIs. The command now monitors for those.

- CHKINACT

  The Check Inactive Job Timeout tool would ignore a *ALL *ALL entry
  if one was entered using WRKINACT. This entry is no longer ignored.
  This has the effect of overriding the default action stored in the
  application value TAASECURE/CHKINACT. If such an entry is not
  present then the application value becomes the default.

- CMPJRNIMG2

  The tool was incorrectly checking for a limit of 199 on the number
  of fields. This has been corrected to 998.

- CPYSRCFIFS

  CPYSRCFIFS did not issue reasonable error messages if the user was
  not authorized to the source file. New error messages have been
  added.

- CPYUSRPRF2

  Copy User Profile 2 is used on the SECOFR2 menu option 7. Code from
  the SECOFR2 menu was moved to the prompt override program to avoid a
  security exception when using option 7.

- CVTCFGSTS

  This tool would fail if executed in a server job such as one running
  SQL Scripts in ACS. This has been fixed.

- CVTIFSOWN

  There was a change in the IBM i 7.5 IFS APIs that returns path names
  in CCSID 1200 which is a UTF-16 CCSID. The code in CVTIFSOWN now
  takes the path name CCSID into account and converts it to the job
  CCSID for display and for use in commands.

- CVTNETSTAT

  The CVTNETCNN command of the CVTNETSTAT tool was failing when there
  was a large number of connections. The limits have been increased
  and the problem fixed.

- CVTOUTQ

  CVTOUTQ could receive a CPF3C44 exception if the output queue being
  converted had been moved from one ASP to another. CPF3C44 indicates
  that the internal spool id for a spooled file is no longer valid.
  CVTOUTQ was changed to not rely on internal spool ids. In addition
  CVTOUTQ could receive a CPF3C43 exception if the internal job id was
  no longer valid. This has been fixed.

- DLTIFS

  The DLTIFS command would not delete files if the file name contained
  trailing blanks. This has been corrected.

- DLTOLDQRPL

  The DLTOLDQRPL command would send an escape message if the total
  size of the objects remaining in QRPL exceeded 99,999,999,999 bytes.
  This has been increased.

- DSPALLSAVF

  The DSPALLSAVF command would not work when used from the FNDCMD
  list. This was due to conflicting overrides which have been fixed.

- DSPDLTSPC

  There was a possibility receiving a library not found message if the
  time between gathering the list of libraries and examining them was
  large enough for the library to be deleted in the interim. An
  additional test was added so that the timing window is now much
  smaller.

- DSPJOBLOG3

  The Display Job Log 3 tool would occasionally get lost when viewing
  large job log spooled files. The tool has been rewritten to avoid
  this issue.

- DSPJOBLOG5

  The Display Job Log 5 tool will filter just the last escape message
  and its related messages from a spooled job log file. If the job log
  being analyzed was too long this would fail with an array indexing
  error. This has been fixed.

- DSPJOBSCDC

  The Display Job Scheduler Calendar would fail with an exception if a
  *WEEKLY entry had *NONE for the days. This circumstance would be
  unusual, but valid. This has been fixed.

- DSPMSG2

  The Display Message 2 had an issue with filtering messages when used
  with explicit start and end times. This has been fixed.

- DSPOBJD3

  Display Object Description 3 allows for the examination of all
  libraries for objects. It would fail if the number of libraries
  examined was over 999. The limit has been extended.

- DSPPWDLMT

  Display Password Limit was not using the time and date ranges
  specified on the command. This has been fixed.

- DSPTAACAT

  DSPTAACAT would fail in Refresh R73 since we finally exceeded the
  array length for the number of tools in the product. We should have
  caught this one before shipping. Mea culpa.

- GENRANPWD2

  GENRANPWD2 would accidentally modify the PWDLEN parameter when used
  due to a parameter mismatch. This has been fixed.

- MOVSPLF

  MOVSPLF could fail in the cases where job numbers wrap so there are
  two identical job names with the same spooled file with the same
  spooled file number. While unlikely, this can happen when there are
  report jobs that are run every day for years. MOVSPLF will now pick
  one of those files instead of failing.

- RMVMSGQMS2

  Remove Message Queue Message 2 would fail if examining multiple
  queues and a queue was deleted after the list of queues was
  constructed. Any queues not found are now just skipped.

- RTVFLDDTA

  Retrieve Field Data would get a CPF0006 if run a second time before
  finalization. This was due to a working variable holding a
  constructed CHKOBJ command not being initialized. This has been
  fixed.

- RTVJOBA2

  The RTVJOBA2 command could fail in circumstances with a subscripting
  error when the information to be retrieved was too long for the area
  allocated. The area has been extended to handle that case.

- RTVSPLSIZ

  The Retrieve Spool Size tool could run out of room in a temporary
  file when working with a very large QSPL library. This would result
  in messages to QSYSOPR and possible cancellation. The maximum number
  of records in this temporary file has been increased substantially.

- SECOFR2

  Code from the SECOFR2 menu was moved to the prompt override program
  of CPYUSRPRF2 to avoid a security exception when using option 7.

Changes to output files

- CVTDEVPRT

  The outfile for CVTDEVPRT has been modified to add a new field to
  the end of the record format. Outfiles from previous versions of the
  tool may need to be deleted. The tool will re-create these on first
  use.

Incompatibilities

There are no known incompatibilities in this refresh.

2022-06-15 (R73)

Refresh 73 (June 15, 2022) is for IBM i 7.3, 7.4, and 7.5.

No further refreshes will be made for IBM i 7.2. However, fixes to 7.2
tools will continue to be supplied on an "as needed" basis until April
30, 2024.

No further refreshes or fixes will be made for IBM i 7.1 or earlier
releases.

IBM i 7.5 Notes

IBM has made a couple of changes in IBM i 7.5 that affect the results
returned to the tools. The tools have been modified to accomodate
these changes. If you are migrating from a previous IBM i release such
as 7.3 or 7.4 you should update your tools to refresh R73 prior to the
upgrade. If you do not update your tools you will have issues with the
CVTEDTD, CVTIFSAUT2, and DSPIFSOWN and tools that depend on them. See
the notes for the individual tools below.

CVTEDTD was affected by a spooled file output change.

While not technically incompatible the QSYLOBJA API now reports IFS
path data in CCSID 1200 rather than the job CCSID. CVTIFSAUT2 and
DSPIFSOWN were affected by this change. CVTIFSAUT2 is used by
RVKIFSAUT, RVKIFSPGP, RNMIFSAUT, and RNMIFSPGP.

It should also be noted that the CVTIFSOWN command also uses QSYLOBJA.
Since the reporting CCSID is included in the CVTIFSOWN output, the
path name data in the output file is also reported in this CCSID. If
are using CVTIFSOWN you may need to make changes to convert from the
reported CCSID.

Architecture Changes

Source Code Packaging

We are changing the way tools are packaged as source files.

Each tool has a "builder", a set of commands that is used by
CRTTAATOOL that are used to build the tool from its source code. These
builders were packaged in monolithic programs used by CRTTAATOOL. We
are now packaging these builders with the tool itself.

Likewise the command help for a tool was packaged with the command
help for other tools in large panel groups. Now the command help will
be packaged in a separate panel group and packaged with each tool.

The intent of these changes is to make the tools a bit more
self-contained so that enhancements can be made more easily.

These changes will be made over time to existing tools and will have
no external effects other than you may see extra members if you unpack
the source for a tool.

Use of the ILE Program Model

Many of the tools existed prior to the introduction of the ILE program
model. As tools are modified for fixes and enhancements we may elect
to convert them to the ILE program model.

All new tools will be written to the ILE program model. In addtion,
all new RPGLE code will be written as fully free-format.

The intent of this change is to make the future creation and
modification of tools more robust.

These should be no external effects of these changes.

New Tools

- CPYSRCFIFS

  This tool will copy selected members of source files in a library
  into the IFS. It is meant to provide an easy way to populate an IFS
  directory from source physical files. You may wish to do this if
  comparing sources across systems or when you wish to establish a
  source directory usable with Source Control Management tool that
  operates on Unix or Windows style directories.

- RUNTAABLDR

  This command will compile and run a builder program for a tool. All
  new tools are written with these builder programs, allowing them to
  be easily patched onto existing systems.

Enhancements

- CPYFRMCSV

  Copy From Comma Separated Values tool has two commands: CPYFRMCSV
  and CPYFRMCSV2. Both were enhanced to allow DOC objects to be used
  in addition to STMF object in the FROMSTMF keyword. The commands
  also now allow using a | as a field separator character.

- CPYSPLFIFS

  Copy Spooled File to IFS would create the spooled file with
  AUT(NONE) if the PDF option was used. This was changed to use the
  authorities of the containing directory similar to the system's
  CPYSPLF.

- CPYUSRPRF2

  The Copy User Profile 2 command would not allow a user profile to be
  created if ALLCRTCHG was specified in the QPWDRULES system value.
  This restriction has been removed. If ALLCRTCHG is specified then
  CPYUSRPRF2 will create a new profile from a template and assign a
  password to that profile that satisfies the password rules defined
  by the system values.

- CVTCERT

  Convert Certificates has been enhanced to allow any user that has
  the certificate store password to request a list of certificate
  expiration dates from a certificate store. This was previously only
  available to those users that had the password and had ALLOBJ and
  SECADM special authorities. The Convert Certificates command did not
  provide a very helpful messages when the user did not have the
  correct password or the proper authorities. The error messages
  issued are now use the system provided text.

- RTVIFSEAUT

  Retrieve IFS Entry Authorities has had minor enhancements to its
  internals for ILE. There should be no external effects.

- SNDSPLMAIL

  Send Spool Mail has been converted to ILE and the new tool source
  format. There should be no external effects.

- RSNLSTMSG

  The Resend Last Message command will now skip the Program Entry
  Procedure of ILE CL programs if one exists and send the message to
  the caller of that program.

Fixes

- CHKIFSE

  Check IFS Entry had a bug in which it detected the root IFS
  directory, /, as not found. This affected a number of tools that
  used CHKIFSE such as FTP2. Fortunately, not too many explicit
  references to the root directory are made. This has been fixed.

  It was also noted in the documentation that a CPF9898 escape message
  could be sent to the caller if an unusual exception not expected by
  the code occurred. Communications errors fall into this category.

- CMPLIB2

  The Compare Library 2 tool would fail if the files object files in
  the TOLIB library were empty. This could occur if the CAPLIB2
  command was incorrectly used. The CMPLIB2 command now tolerates this
  condition.

- CMPSYSVAL

  Compare System Values would get an array index out of bounds if the
  member on which it was operating actually contained more than one
  set of data. This could show up in CMPSYSVAL or in CMPSECINF. The
  system value data would have to be duplicated in one of the members
  being compared for this problem to surface.

- CPYTOCSV

  The Copy to CSV command would produce incorrect results if varying
  length fields were present in the database file being copied. This
  has been fixed.

- CVTEDTD

  The Convert Edit Descriptions tool would fail in IBM i 7.5. The tool
  works from the DSPEDTD spooled file output, which has been changed
  in this release to add apostrophes around some of the character
  fields. The tool has been modified to on IBM i 7.3, 7.4, and 7.5 to
  account for the apostrophes.

- CVTIFSAUT2

  The CVTIFSAUT2 command would fail on IBM i 7.5 due to a change in
  the QSYLOBJA API which now reports path information in CSSID 1200
  rather than the job CCSID. This command has been updated to
  accomodate that change. Errors would also show up in the following
  tools: RNMIFSAUT, RVKIFSAUT, RNMIFSPGP, and RVKIFSPGP which use the
  CVTIFSAUT2 command internally. No changes were needed to those
  tools.

- CVTOPNF

  There was a small timing window in the Convert Open Files command
  where it could issue a function check instead of a "job not found"
  message. This has been fixed.

- CVTSBSD

  The list of job queues in Convert Subsystem Description when using
  the TYPE(*JOBQENT) option could be incorrect. This has been fixed.
  CVTSBSD is used in other tools such as WRKSBSJOBQ.

- DLTOLDSPLF

  Delete Old Spooled Files had a minor bug in which it would fail if
  the underlying CVTOUTQ attempted to create the QGYSERVER jobs needed
  to process output queues and those jobs hit the maximum limit of the
  subsystem in which it was running. The tool was modified to use a
  new version of CVTOUTQ that avoids the creation of auxiliary jobs.

- DSPIFSOWN

  The QSYLOBJA API in IBM i 7.5 now reports IFS path name attributes
  in CCSID 1200 instead of the job CCSID. DSPIFSOWN converts the
  delimiter and path names back to the job CCSID for display.

- GENRANPWD2

  The Generate Random Password 2 had a bug where *REQANY3 was not
  handled properly if *DGTMIN0 and *SPCCHRMIN0 were defaulted or
  specified. The fix was to force mixed case and at least one special
  character if *DGTMAX0. A digit will be generated if *DGTMAXn was
  either not specified or n is greater than 0.

- RSTAUTL

  Restore Authorization Lists would fail if there was an unusually
  large number of authorization lists to process. The temporary
  database file it uses was changed to allow a larger number of
  records.

- RTVIFSED

  The Retrieve IFS Entry Description tool would leave a request
  message in the job log if the IFS entry being examined did not
  exist. The request message is now removed properly.

- RTVSMTPA

  Both the RTVSMPTA and RTVSMTPA2 commands had a *ANY value that
  performed no useful function. This special value has been removed
  from both commands.

- SAVCHG23

  The Save Change 23 command constructed an invalid SAVCHGOBJ command
  if the list of BYPASS libraries contained a library name that was 10
  characters. Appropriate spacing is now done.

- SCNIFS

  The Scan IFS command would fail if a special value was supplied on
  the OBJ keyword. This has been fixed.

- SRCARC

  The Source Archive tool had a bug in the WRKSRCARC screen where it
  would not display or "copy out" source if the screen was in "display
  library" mode. This has been fixed.

- WRKALLSPLF

  Work with All Spooled Files could resend a CPF34C4 if there were too
  many spooled files on the system. This message is now handled
  instead of resent.

Incompatibilities

- RTVSMTPA and RTVSMTPA2 have had the *ANY value removed. This value
  did not not provide any useful function and was confusing when
  prompted.

- Commands that refer to previous releases (7.5 only)

  All save commands, most compile commands, and commands that use *PRV
  compiler support have had their TGTRLS parameters updated for 7.5.
  While technically incompatible with previous release this is
  consistent with IBM i 7.5 changes. The following commands have been
  affected:

  ---------------------------------------------------------------------------
  Tool         Command      Description
  ------------ ------------ -------------------------------------------------
  CHKPGMRLS    CHKPGMRLS    Check Program Release - CHKPGMRLS

  CHKTGTRLS    CHKTGTRLS    Check Target Release - CHKTGTRLS

  CMPOUTFILE   CMPOUTFILE   Compare System Outfiles - CMPOUTFILE

  CRTBNDCL2    CRTBNDCL2    Create Bound CL Pgm 2 - CRTBNDCL2

  CRTBNDRPG2   CRTBNDRPG2   Create Bound RPG Pgm 2 - CRTBNDRPG2

  CRTSFLPGM    CRTSFLPGM    Create Subfile Program - CRTSFLPGM

  CRTSFLPGM    RPLSFLPGM    Replace Subfile Program - RPLSFLPGM

  CRTSFLPGM2   CRTSFLPGM2   Create Subfile Program 2 - CRTSFLPGM2

  CRTTGTRLS    CRTTGTRLS    Create Target Release - CRTTGTRLS

  RPLGENPGM    RPLGENPGM    Replace Generic Programs - RPLGENPGM

  RPLMOD       RPLMOD       Replace Module - RPLMOD

  RPLOBJ       RPLOBJ       Replace Object - RPLOBJ

  RPLPGM       RPLPGM       Replace Program - RPLPGM

  SAVACT       SAVALLACT    Save All Active - SAVALLACT

  SAVACT       SAVCHGACT    Save Changed Active - SAVCHGACT

  SAVJRNRCV    SAVJRNRCV    Save Journal Receivers - SAVJRNRCV

  SAVLIBIFS    SAVLIBIFS    Save Library to IFS - SAVLIBIFS

  SAVOBJIFS    SAVOBJIFS    Save Object to IFS - SAVOBJIFS

  SAVONELIB    SAVONELIB    Save One Library - SAVONELIB

  SAVOWNOBJ    SAVOWNOBJ    Save Owned Objects - SAVOWNOBJ

  SAVRCVL      SAVRCVL      Save and Receive Library with FTP - SAVRCVL

  SAVRCVL      SBMSAVRCVL   Submit Save and Receive Lib with FTP - SBMSAVRCVL

  SAVSNDL      SAVSNDL      Save and Send Library with FTP - SAVSNDL

  SAVSNDL      SBMSAVSNDL   Submit Save and Send Lib - SBMSAVSNDL

  SAVSNDM      SAVSNDM      Save and Send Member with FTP- SAVSNDM

  SAVSRCF      SAVSRCF      Save Source Files - SAVSRCF

  SNDOBJMAIL   SNDOBJMAIL   Send Object Mail - SNDOBJMAIL
  ---------------------------------------------------------------------------

2021-05-15 (R72)

Refresh 72 (May 15, 2021) is for IBM i 7.2, 7.3, and 7.4. This is the
last refresh for IBM i 7.2.

No further refreshes will be made for IBM i 7.2. However, fixes to 7.2
tools will continue to be supplied on an "as needed" basis until April
30, 2024.

No further refreshes or fixes will be made for IBM i 7.1.

New Tools

- CPUMON

  The CPU Monitor tool monitors for jobs that consume CPU resources
  above a specified CPU percentage. When a job is found running above
  the CPU limit, a message alert is sent to the specified message
  queue describing the job which is using too much processing time. If
  several jobs are found to be over the limit, multiple messages will
  be sent to the message queue - one for each detected job.

- RTVJOBSPLC

  The Retrieve Job Spool Count tool will efficiently return the number
  of spooled files created in a job. This count includes files in FIN
  state and can be used to compare against the system value QMAXSPLF
  to see if a job is near the system specified limit.

Enhancements

- CHKJOBMSGW

  A new keyword, JOBQ, has been added to specify where to submit the
  CHKJOBMSGW job. It defaults to QSYS/QSYSNOMAX, which was the queue
  used prior to this enhancement.

- CRTSTDSRCF

  A new keyword, BYPEXIST, was added to Create Standard Source Files.
  The default is *NO and that preserves the previous function. *YES
  will allow the files that do not exist in the specified library to
  be created.

- DSPMSGQA

  The Display Message Queue Attributes tool was enhanced so that the
  printed report now includes all the attributes of the displayed
  report.

- DUPALLSPLF

  Time fields have been added to the FROMDATE and TODATE parameters
  for DUPALLSPLF. This allows for a much finer-grained duplication.

- ENDSBSJOB

  *CURRENT was added as a parameter for the USER keyword.

- MNTALLJRN

  The Maintain All Journals command has a new parameter that allows
  the deletion of journal receivers that are in %ELG state. This
  happens if the receiver has been saved, but no save date is present
  in the object description. This happens for receivers that have been
  saved with UPDHST(*NO). Receivers in QSYS are usually saved this
  way.

Fixes

- Install

  The CRTFNDCMD that indexes commands at the very end of the install
  process could fail in very rare circumstances when indexing the
  commands in all libraries. Install has been modified to index only
  QSYS and TAATOOLS. If other libraries are desired you can rerun
  CRTFNDCMD after the the install has completed with the libraries of
  your choice.

- CAPSECINF

  The RFMSECINF command of the Capture Security Information tool is
  automatically invoked if changes in the security information file
  formats are detected. A bug was fixed that would fail to reformat
  the user profile files correctly.

- CHGLIBOWN

  The CHGLIBOWN tools would receive a MCH1210 exception when dealing
  with extremely large libraries. This has been fixed.

- CHKBLKFLD

  The Check Blank Field command would attempt to use an incorrect
  message file when sending a message about an empty member. This has
  been fixed.

- CHKIFSE

  The Check IFS Entry command would fail if the path specified ended
  with a '\'. This has been fixed.

  There was also an issue where \ was not being converted to / if the
  path was "triple-quoted". This has been fixed as well.

- CPYFRMCSV

  The Copy from Comma Delimited File command would fail with a CPF3303
  error if it was run in a server job, such as from an ACS SQL
  session. This was due to the the fact that spooled files in server
  jobs are created in a separate QPRTJOB job instead of the server
  job. The QPDDSSRC spooled file that was causing the issue is now
  owned by the server job and properly deleted.

- CPYFRMSTM2

  The Copy from Stream File 2 command would fail if copying from a
  stream file with an extremely long name. This has been fixed.

- CRTDBFJRN

  This command would fail when converting from a table created with
  DDL that contains CURRENT_TIME or CURRENT_TIMESTAMP defaults. This
  has been fixed. The command would also fail if run in a server job
  since it could not find a temporary spooled file. That file is now
  owned by the server job instead of the QPRTJOB for the current user.

- CVTIFS

  The pattern matching algorithm used in CVTIFS would not properly
  match some complex patterns i.e. those with multiple asterisks. The
  asterisk now matches the shortest string between constant strings in
  the pattern even if that string is a null string.

- CVTIFSAUT2

  In extremely rare circumstances the Convert IFS Authorities 2
  command could get an MCH0601 as it was processing the user space
  returned by an API. This has been fixed.

- CVTJOB

  The Convert Job command would fail if there were more than enough
  jobs to fill a single user space with the QUSLJOB API (about 280,000
  jobs). The tool has been updated to use the QUSLJOB continuation
  handle support. There is now no practical limit to the number of
  jobs it can convert.

- CVTOBJAUT

  The CVTOBJAUT command does not work with QTEMP, but using it on
  QTEMP failed to give an adequate report. This has been fixed.

- CVTSBSD

  The CVTSBSD command would produce some error messages when examining
  the job queues of subsystem descriptions. This did not affect the
  results, but could be confusing. Those error messages have been
  removed.

- DLTUSRPRF3

  If DLTUSRPRF3 was used to transfer ownership of objects when
  deleting a user profile those objects were deleted instead of being
  transferred. We issued a HIPER Alert for this and distributed the
  fix early. That fix is included in this refresh. Note that the patch
  had 'Delete User Prof 3 - TAA-0001' as the prompt heading for the
  command. This refresh restores the previous prompt heading of
  'Delete User Profile 3 - TAA'.

- DSPALLJLG

  Display All Joblogs would fail with a CPF34C4 (list too large for
  user space) if there were a fairly large number spooled files on the
  system. The code has been changed to ignore this error and process
  whatever spooled files are returned by the QUSLSPL API.

- DSPALLSPLF

  Display All Spooled Files would fail with a CPF34C4 (list too large
  for user space) if there were a fairly large number spooled files on
  the system. The code has been changed to ignore this error and
  process whatever spooled files are returned by the QUSLSPL API.

- ENDSBS2

  The ENDSBS2 command would fail if the subsystem referred to in the
  command was already ending controlled. The command now recognizes
  this situation and proceeds.

- NBRCTR

  The ADDNBRCTR command of the NBRCTR tool would receive a size
  exception when the amount to add keyword was 99999. This has been
  fixed.

- PRTALLOUTQ

  The Print All Output Queues would fail if an output queue exceeded
  13,000 spooled files. This limit has been increased to 1,000,000
  spooled files.

- PRTLIBANL

  The PRTLIBANL command would fail doing a CPYF if there was a
  mismatch between the outfiles used by it and the DSPUSRPRF command.
  This could happen if the tools and the underlying IBM i were out of
  sync. A *MAP option was added to the CPYF command to prevent this.

- RTVOBJJRNA

  The Retrieve Object Journal Attributes would send a TAA9896 escape
  message indicating that only physical files could be journaled when
  presented with a logical file that had a journaled access path. This
  now reports correctly for logical files.

- RTVOBJLST

  The RTVOBJLST tool would receive a MCH1210 when dealing with
  extremely large libraries. This has been fixed.

- RTVPFSRC

  The Retrieve PF Source command will not retrieve CURRENT_TIME or
  CURRENT_TIMESTAMP defaults from DDL into DDS since these are not
  allowed in DDS. It will no longer attempt to generate ALIAS keywords
  if the name that contain a #, $, or @. These cause DDS errors. The
  command also now works when the current user and job user are
  different, such as in a server job.

- RTVSTGPOOL

  The Retrieve Storage Pool command is used by the Display Subsystem
  command. In systems with very large main stores this command would
  fail of the storage size in KB exceeded 9 digits. If this happens
  now, the value returned is 999,999,999.

- SNDIFSMAIL

  The Send IFS Mail command is can be used stand-alone or internally.
  It constructs a temporary working folder with a unique name in
  /QDLS/TAAFLR. If that folder name was longer than 4 characters the
  resulting document name would be truncated and the tool would fail.
  This would happen only after about 1.6 million uses of the tool.
  This has been fixed.

- SNDSPLPDF

  The Send Spool File as PDF command would fail if the number counter
  used by the tool to create unique working folders in the IFS did not
  exist. This has been fixed so that the counter is created. The
  command might also fail if the working folders existed. The command
  now skips over existing working folders.

- SNDTXTMAIL

  The Send Text Mail command constructs and issues a LOGMAILENT
  command. This would fail if the MAILADRP address name contains
  non-system-name characters such as a hyphen. The address names are
  now quoted if they contain non-system-name characters.

- SPLARC

  The STRSPLARC command of the Spool Archive tool did not take the
  spooled file creation date into account when looking for spooled
  files to archive. This led to rare situations where the wrong file
  was archived if there was a job number wrap condition. This has been
  fixed by checking the spooled file creation date as well.

- SRCARC

  The SRCARC tool had several commands that had limiting dates of
  2020-12-31. These have all been changed to 2099-12-31.

- STRJRNLIB2

  This would stop processing objects in a library if it ran into a
  logical file that had its access path already being journaled. It
  now skips those files and continues as it does with other objects
  that are already journaled.

- WRKASP

  The Work with ASPs command would duplicate the previous ASP name on
  the display if an ASP was found but was in offline state. This now
  shows as *OFFLINE.

- WRKSPLF2

  The Work with Spooled Files 2 command would fail if the combined
  queues being examined exceeded 9999 spooled files. The display is
  now capped at 9998 spooled files.

Incompatibilities

- There are no known incompatibilities in this refresh.

2020-04-15 (R71)

Refresh 71 (April 15, 2020) is for IBM i 7.2, 7.3, and 7.4.

No further refreshes will be made for IBM i 7.1. However, fixes to 7.1
tools will continue to be supplied on an "as needed" basis until April
30, 2021.

New Tools

- CVTACCPTH

  The Convert Access Path command produces an outfile of physical and
  logical files which have a 4 GB max access path limit. The outfile
  can be checked for files which are approaching their 4 GB limit. Use
  of this tool could prevent applications to fail if the 4 GB limit is
  surpassed.

- CVTCERT

  The Convert Certificates command produces an outfile of information
  from server or certificate authority certificates on your system.
  Most notably, certificate expiration dates are output, giving
  administrators an easy way of checking which certificates need to be
  renewed before they expire.

Enhancements

- Install

  The installation procedure now has the capability of adding new keys
  to application values found in TAASECURE. This will allow future
  tools to add new capabilities using application values without
  adding entirely new APPVAL structures in that library.

- CHGOWNOBJ

  The Change Owned Objects command has been enhanced to include two
  new parameters: ACTION and ESCAPE. ACTION(*CHECK) allow you to see
  what would be changed if ACTION(*CHANGE) is used. *CHANGE is the
  default. ESCAPE(*YES) will prevent the use of any profile beginning
  with Q. This is to prevent the wholesale assignment of ownership
  from system-supplied profile. *YES is the default. This introduces
  an incompatibility.

- CVTOBJLCK

  The Convert Object Lock command converts object locks to the OBJLCKP
  data base file with one record per lock. This allows you to
  determine who has the lock within a program. A field was added to
  show the current user profile holding the lock.

- CVTOUTQ

  Convert Output Queue uses a system API to find the contents of an
  output queue. Normally this system API will submit auxiliary jobs to
  perform an ansynchronous listing of the queue contents. This makes
  the tool more responsive. In some cases this submission of auxiliary
  jobs is not desirable; for example, when the subsystem in which this
  tool runs is near its maximum number of jobs. A new AUXJOB keyword
  has been added to the command to suppress these jobs and perform the
  listing synchronously.

- MTNJRN

  A new SEQOPT keyword was added to Maintain Journal so that the
  sequence numbers in the journal receivers can be reset during MTNJRN
  processing. The default is to continue the sequence numbers as it
  had been doing.

- RTVMTHDAT / RTVSOMDAT

  These two commands allow retrieval of dates based on specified
  criteria. RTVMTHDAT and RTVSOMDAT commands have been enhanced to
  support the *NEXT value for MONTH and YEAR parameters.

- SCNALLSRC2

  Scan All Source 2 will scan for up to 20 arguments in source files
  in one or more libraries. SCNALLSRC2 was enhanced with a FILE
  parameter, allowing the search to be narrowed to named source files,
  such as QCLSRC, QRPGLE, etc.

- SECOFR2

  The SECOFR2 menu entry for CPYUSRPRF2 now allows the prompt for this
  command to be tailored so that the new PWDEXP and CHGOWN parameters
  can be masked. See the documentation for SECOFR2 for more
  information.

- WRKVTP

  Work with Virtual Tape allows you to review and control the virtual
  tape devices created by CRTVTP. WRKVTP usage of available resources
  was improved by refreshing the available resource list before
  executing F8 = Avail Resources. Also, F9 command text was improved
  to indicate that either a 'Not detected' resource or a New resource
  will be returned.

Fixes

- ADDJOBSCD2

  The Add Job Scheduler 2 command is used to add multiple job
  scheduler entries from a database file. A quoted entry would cause
  problems for subsequent entries found in the file. This has been
  fixed.

- ALCTMPMBR

  The Allocated Temporary Member tool is used internally by several
  other tools. In extremely rare circumstances this tool would fail
  and the tool using it would report the failure. It would have to be
  the first tool executed after midnight on a given day. This has been
  fixed. This initially showed up occuring in CVTQHST2.

- CPYGENSRC

  The Copy Generic Source command options for the source file lists
  (SRC1, SRC2, and *SRC3) were not working. The source lists are now
  read and processed correctly.

- CVTLIBCNT

  Convert Library Count creates an outfile with one record summarizing
  the objects in each library requested. CVTLIBCNT was fixed to bypass
  libraries that are too large to process in the user space. When
  CVTLIBCNT encounters such a library, it bypasses that library and
  then goes on to process the remaining libraries requested. An escape
  message is sent at the end in this situation.

- CVTTAPSAVD

  This Convert Tape Save Description command would fail if the device
  was a tape library or autoloader, a specific library/label was
  named, and VOL(*MOUNTED) was specified. This has been fixed.

- ENDJOBWOL

  End Job With Object Locks has been fixed to run in batch as well as
  interactive environments.

- SNDINTMSG

  The Send Interactive Jobs a Message tool was failing if the caller
  did not have explicit authority to read the application value used
  to control its use. This application value should be able to be read
  by the tool for any user authorized to the tool. The authority issue
  with a helper program has been fixed.

- RMVSUPGRP

  Remove Supplemental Group allows the removing of a supplemental
  group profile from one or more user profiles. This command was fixed
  to issue better completion messages.

- RTVSYSPTN

  Retrieve System Partition returns information about the partitions
  on a system and the current partition. RTVSYSPTN was returning the
  opposite Capacity Capped value than it should. The tool was changed
  to return the correct value.

- SAVRSTJOBQ

  The Save and Restore Job Queue tool supports two commands which
  support the save and restore of a job queue. CVTJOBQ2 creates an
  outfile of information about the jobs on a job queue, then SBMJOBQ2
  command is used to read the outfile and perform a SBMJOB for each
  job found in the outfile. The outfile name was not being set
  correctly when SBMJOBQ2(*OUTFILE) was specified. This has been
  corrected.

- SCNSPLF

  Scan Spool File scans a spool file for a string and returns a count
  of how many strings were found. A fix was added so scan arguments
  over 10 characters would be found correctly.

- SNDTCPOUTQ

  The Send TCP Output Queue tool would fail in very rare circumstances
  due to a time out waiting for a port to become available in the
  SNDTCPSPLF tool. Retry logic has been added to minimize this
  possibility even further and, if the port does not become available,
  an informational message is logged rather than the tool failing.

Incompatibilities

- CHGOWNOBJ

  The new ESCAPE keyword on CHGOWNOBJ defaults to *YES. Any programs
  using CHGOWNOBJ with a from user or to user beginning with a Q will
  fail with a TAA9891 exception. You can use ESCAPE(*NO) to suppress
  this exception.

- CVTOBJLCK

  The outfile for CVTOBJLCK has been modified to add a new field
  identifying the current user to the end of the record format.
  Outfiles from previous versions of the tool will need to be deleted.
  The tool will re-create these on first use.

Copyright TAA Tools, Inc. 1995, 2025
					

Added to TAA Productivity tools October 15, 2017


Documentation Home Return to the Tool List Up to Top