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
|