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

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.

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

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 in to accomodate
these changes. If you are migrating from a previous IBM i release such
as 7.3 or 7.4 and do not update your tools to refresh R73 prior to the
upgrade you may notice some issues with 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

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 that help will be
packaged in a panel group for 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


    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.


    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.



    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.


    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


    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.


    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.


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


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


    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.



    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.


    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.


    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.


    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.


    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.


    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
    the CVTIFSAUT2 command internally. No changes were needed to those


    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.


    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.


    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.


    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.


    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.


    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


    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.


    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.


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


    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.


    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.


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

-   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


  CRTBNDCL2    CRTBNDCL2    Create Bound CL Pgm 2 - CRTBNDCL2


  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





  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


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


    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.


    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.



    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.


    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.


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


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


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


    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.


-   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.


    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.


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


    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.


    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.


    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.


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


    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


    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.


    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.


    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.


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


    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.


    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'.


    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.


    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


    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.


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


    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.


    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.


    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.


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


    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.


    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.


    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.


    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.


    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.


    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.


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


    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.


    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.


    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.


-   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


    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.


    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.


-   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.


    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.


    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.


    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.


    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.


    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.


    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.


    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.


    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.



    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


    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.


    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.


    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.


    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.


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


    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.


    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.


    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.


    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


    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.


    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.



    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.


    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.

2019-08-15 (R70)

Refresh 70 (August 15, 2019) 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


    The new Compare Environment Variables command allows a comparison
    of environment variables between two systems or two versions
    converted from the same system. A listing is printed noting the
    differences between the two ENVVAR files being compared.


    The new Convert Environment Variables command converts job and
    system environment variables to an outfile. The outfile can be
    used to verify current environment variable settings, or to
    compare ENVVAR settings overtime to ensure they remain consistent
    on the system.


-   Support for IBM i 7.4

    A new version of the tools has been created to install and run on
    IBM i 7.4. If you upgrade your system to IBM i 7.4 you will have
    60 days in which to upgrade the tools to match the operating
    system. The 7.3 and prior versions of the tools are not supported
    on IBM i 7.4 so you are encouraged to upgrade promptly.

-   Support for multiple licenses

    The tools can now support multiple licenses on a single system.
    This makes it much easier to manage cases where the system image
    must be switched or replicated to a system with a different serial
    number. This would include cases for capacity backup (CBU),
    disaster recovery (DR), high availability (HA), or live partition
    mobility (LPM).

    Supplemental licenses can be installed in addition to the base
    license for a system. The base license is created either during
    install or with CHGTAAKEY. Its serial number must match the system
    at that time. Supplemental licenses are installed on that same
    system and can reference other serial numbers. If a license check
    fails for the base license, the supplemental licenses are checked.

    The base license resides in the TAATOOL/TAALICENSE data area.
    There can be up to 9 supplemental licenses in TAATOOL named
    TAALIC_001 through TAALIC_009. You create a supplemental license
    using the CHGTAAKEY command as follows:


    This creates a supplemental license in TAALIC_001.

    When the additional system is used, the base license and
    supplemental licenses are available since they've been replicated
    or switched. The base license check will fail, but the
    supplemental license check will succeed. This will be entirely
    transparent to you.

-   Support for handling * and ? in IFS names

    The Root and QOpenSys file systems in IFS can have files and
    directories that have the * and ? characters in the names. Various
    IFS command would come across these while scanning the directory
    structure and treat these as pattern names. Several commands have
    been updated to handle these names properly - most notably DLTIFS.

    The commands now also allow for quoting arguments in the same
    manner as WRKLNK. Thus, if you don't want a pattern match you have
    to quote the designated string twice on the command line. For
    example, suppose you have the following files in your home


    Let's assume the current directory is your home directory.

    The following command lists four files.

        WRKLNK 'abc*.txt'

    But this command only lists one file.

        WRKLNK '''abc*.txt'''

    Thus, the following command would delete the four files that begin
    with abc.

        DLTIFS OBJ('.') OBJNAM('abc*.txt')

    However, as expected, this command would delete only abc*.txt.

        DLTIFS OBJ('.') OBJNAM('''abc*.txt''')


    Check IFS Damage works by saving the IFS objects to a temporary
    save file. It now provides diagnostic information in the job log
    that shows the save file size calculation in case of a CRTSAVF


    Copy User Profile 2 is an option on the SECOFR2 menu. It allows an
    "assistant security officer" the ability to establish a user
    profile by copying an existing one and initializing its password
    with INZPWD. CPYUSRPRF2 is now disabled if *ALLCRTCHG is specified
    in the QPWDRULES system value since the intent is to give the user
    a relatively easy password that will be immediately changed.


    Convert Query Statement was enhanced to allow it to be used in


    The Convert Subsystem Description tool was enhanced to include the
    last used date for the job queue in the SBSJBQENT outfile that is


    Convert System Values has been enhanced to fully capture all the
    system values. Prior to this refresh some long system values were
    not being fully captured.


    We added a parameter to the DSAOLDPRF command that allows you to
    select a method for disabling old profiles. The *CHGUSRPF default
    method will disable any profile that meets the aging criteria
    including QSECOFR. The *DSAUSRPRF method will use a DSAUSRPRF
    command and can be more selective. It will never disable QSECOFR
    and other profiles can be protected as well. See the documentation
    for DSAUSRPRF for details.


    Display Submitted Jobs received several enhancements.

    1.  Job numbers can roll over. Jobs are now sorted by their entry
        date and time, not by job number so job number rollover no
        longer prevents toggling between ascending and descending

    2.  Option 8 now shows an appropriate message if the job no longer
        exists in the system.

    3.  Displaying with no jobs now allows F5=Refresh and

    4.  A misbehaving SPLFPGM will no longer terminate the command,
        but will halt processing of the list.

    5.  DSPSBMJOB now shows batch immediate jobs as submitted jobs.
        These jobs are usually started by the system to carry out
        asynchronous tasks for long running APIs. WRKSBMJOB does show


    The Display Summary of Job Queue command was enhanced by adding a
    sequence parameter to sort the outfile by ascending or descending


    The Execute Commands command can print a list of commands that
    were executed from a source file. This listing would truncate some
    lines if they were too long. The tool now prints a longer line
    along with its change date.


    The Generate Random Password 2 tool has been enhanced so that it
    now respects all the settings for QPWDRULES that could apply to
    generation without knowing the password history.

    The following QPWDRULES are now supported:

        *MAXLENnnn    *MINLENnnn
        *REQANY3      *MIXCASEn
        *LTRMIN       *DGTMIN      *SPCCHRMIN
        *LTRMAX       *DGTMAX      *SPCCHRMAX

        If QPWDRULES is set to *PWDSYSVAL then the following
        system password rules are supported:

        QPWDMAXLEN - like *MAXLENnnn
        QPWDMINLEN - like *MINLENnnn
        QPWDRQDDGT - like *DGTMINn (n is 0 or 1)
        QPWDLMTCHR - no corresponding rule in QPWDRULES
            This is only used if the password level is 0 or 1


    The Print Journal Receivers command has been enhanced by adding
    two fields to it's output - the first sequence number and volume
    ID. This allows you to identify which media volume (usually tape)
    on which the journal receiver is stored.


    The Convert Query Statement command of the QRYUSE tool was
    enhanced to allow the tool to run in all environments, including


    The Replace System Value tool has been enhanced to be able to set
    the QSSLCSL value if QSSLCSLCTL is set to *USRDFN. QSSLCSL was
    being skipped and had to be manually set.

    Also the exception report produced by RPLSYSVAL now has all of the
    message text associated with any errors that might be encountered
    when doing the CHGSYSVAL.


    The Retrieve Database Relations was enhanced to show the
    additional view of dependencies of a logical file.



    Apply User Journal Changes overrides a printer file to change the
    name of the report to the name of the file whose changes were
    being applied. This was failing if changes were being applied to
    *ALL files. The override in this case now assigns APYUSRCHG to the
    name of the report.


    The Change Object Authorization would occasionally fail when used
    by the CVTWRKACT tool. This was due to an undocumented lock on the
    output file being held by a system thread in CRTDUPOBJ. The
    workaround is to wait on a lock for the object held by that thread
    and proceed when that lock is acquired.


    The Copy Spooled File to IFS would fail when creating a PDF when
    the overflow line of the spooled file was less than 60. This has
    been corrected.


    The Convert Journal Attributes tool is used by several other
    tools. In very rare circumstances the tool would fail if the files
    being journaled were deleted while it was running. Monitors have
    been added to check for this condition.


    The tool was not behaving well for ENDJOB *CNTRLD if accounting
    entries were being added on a frequent basis. The check for the
    *CTRLD end is now being made more frequently.


    The Convert Library Locks tool would fail if an override existed
    for the file TAATOBJDP - the model file for the output from the
    command. This has been fixed.


    The Convert Message Queue tool could fail in rare circumstances
    with an index out of range due to extremely long messages in the
    message queue.


    The Display Message Queue Inquiries command would sometimes miss
    an inquiry message if those messages were present next to each
    other without replies in the message queue. This has been fixed.


    In some was possible for Display Submitted Jobs to get a pointer
    error if there are a large number of job entries on the system.
    This has been fixed.


    The End Subsystem Jobs command was fixed to continue processing
    when a job not found condition was encountered. This avoids
    command exceptions due to system timing conflicts when jobs end
    before the command completes.


    The Find Command tool would give a date conversion error when the
    command index file would exceed 183 days old. A parameter size was
    fixed to correct this problem.


    The INZPWD and INZPWD2 commands will only use GENRANPWD2 if
    QPWDRULES system value specifies *ALLCRTCHG. If it is not
    specified then the passwords generated for users will be follow
    simpler rules that might not conform to the password rules. This
    is desirable for help desk use.


    The Maintain Journal command would not delete journal receivers in
    SAVED state if SAVINQMSG(*BYPASS) was specified and if the
    receiver had no object saved date. This could happen if the
    receivers had only been saved with GO SAVE 21 or SAVSYS. The
    receivers in SAVED state will now be deleted if they meet the
    attach or detach date qualfications for removal regardless of the
    save date.


    The job submitted by SBMMONMSGQ would occasionally report on
    messages that had blank message ids. These have been removed.


    The IM type was missing as a valid type for the retrieve. This has
    been corrected.


    The Retrieve System Status command changed to correctly retrieve
    the LPAR current available processor for the CURPRCCAP parameter.


    The Validate Database File command has been changed to bypass null
    capable files, or files whose record length exceeds 4000. This
    improves VALMNYDBF, which would throw errors when these conditions
    were encountered. Now the files are bypassed, and a message is


-   Commands that refer to previous releases (7.4 only)

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

2018-10-15 (R69)

Refresh 69 (October 15, 2018) is for IBM i 7.2 and 7.3.

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


    Add Distribution List Entry 2 is a new tool to assist with adding
    users to the same distribution lists to which another user
    belongs. If the user is already on one of the identified lists, no
    action is taken.


    Find Message ID is a new tool which will find the message file(s)
    that hold a message ID. This is very useful when handling jobs
    which list a message id with and unknown message file. The product
    issuing the message can often be identified this way.


    Scan All Distribution Lists is a new tool to scan all distribution
    lists for a particular User ID. An output file is created listing
    all the dist lists in which the User ID was found.



    Performance of CVTIFSAUT has been improved by streamlining the
    connection between it and the CVTIFSEAUT tool.



    The CVTJOB command would occasionally get decimal data errors when
    dealing with a very large number of jobs. The module using the
    QUSLJOB API has been rewritten to avoid this problem.


    The Convert Library Object Authorities command would fail when
    LIB(*ALL) was requested. The tool has been fixed to handle the
    *ALL parameter.


    The Convert Message Queue tool could fail in rare circumstances
    with an index out of range. This has been fixed.


    The Display Audit Log 2 display was not updating the minutes field
    of the TIME column properly. This has been fixed.


    The Display Job Schedule Calendar tool was showing jobs scheduled
    starting tomorrow. The tool was changed changed to display jobs
    that are scheduled to run from the system job scheduler for the
    next 7 days, starting today.


    The Display Job Schedule Entry tool was always displaying jobs in
    scheduled order, even when SEQ(*JOB) was requested. SEQ(*JOB) now
    displays in job name order.


    The Display Submitted Jobs tool was not displaying the jobs that
    were submitted by the current user on behalf of another user. For
    example, if SBMJOB CMD(...) USER(OTHER) was used then that job was
    not appearing on the DSPSBMJOB display. In addition, jobs
    belonging to the current user, but not submitted by the current
    user were being displayed. Both of these problems have been fixed.
    DSPSBMJOB now functions as documented and behaves similarly to


    The DSPSBSJOBQ / WRKSBSJOBQ display output was not refreshing
    correctly. The job number in the header was not updating, and once
    a job queue had all completed jobs, the queue did not list
    *Nojobs*. Both these problems have been corrected.


    The Edit Data Area tool will acquire an exclusive lock on the data
    area being edited. The tool presents a warning if you attempted to
    edit a character data area containing data with code points below
    x'40'. Canceling this warning failed to release this lock. This
    has been fixed.


    The Generate Random Password 2 tool was throwing an error when
    PWDLVL was set to 0 or 1. GENRANPWD2 was generating passwords
    which included lowercase characters, which is not supported with
    PWDLVL 0 or 1, causing INZPWD2 and INZPWD to fail when requested
    to generate a random password. This has now been corrected in the
    GENRANPWD2 tool.


    The Print Reverse tool was cutting off the last line of the last
    page when reverse printing a spool file. This has been corrected.


    The Retrieve IFS Entry Authority tool uses system APIs that cannot
    be run if the job is multithreaded. Some tools, such as SNDSPLPDF,
    use APIs that now spin off threads in the current job. RTVIFSEAUT
    will now wait for those threads to finish instead of failing with
    an exception when used in those tools.


    The Retrieve Subsystem Batch Status tool would fail if the
    subsystem description for the named active subsystem could not be
    found in the library list. A fix was made so that the library of
    the active subsystems is correctly determined. In addition, the
    RTVSBSBCH command documentation indicated that *ALL was valid. It
    is valid on PRTSBSBCH, but not on RTVSBSBCH. The documentation has
    been corrected.


    The Send Spool as a PDF tool documentation was updated to indicate
    that both PASE and Transform Services are required to run this


    The Print Spool Store (PRTSPLSTO) command in the Spool Store tool
    (re)prints a stored spooled file. If that spooled file was created
    with an output queue specified as *DEV, *JOB, or *SAME then the
    output queue must be determined at run time. This is now done

-   TAATOOL/TAAARCAC2 data area locked during install of the tools

    After an IBM i release upgrade the data area TAAARCAC2 in TAATOOL
    could be locked by the TAAINQMSG2 job. The install process for the
    tools now ends this job so that the TAATOOL library can be cleared
    and refreshed.


There are no known incompatibilities in this refresh.

2018-04-15 (R68)

Refresh 68 (April 15, 2018) is the last refresh for IBM i 7.1. Fixes
to 7.1 tools will continue to be made on an "as needed" basis until
April 15, 2020.

New Tools


    The Generate Random Password 2 command generates a random password
    according to the system password rules which are set. This tool is
    available only on IBM i 7.2 and later.


    Retrieves the output queue of a job resolving any special values.



    Convert Job was enhanced to add two new character timestamp fields
    for job start and end times. These are blank if they don't apply.
    This affects the model outfile. Outfiles from previous versions of
    the tool will need to be deleted. The tool will re-create these on
    first use.


    These tools have been enhanced to support data queues up to
    99,999,999 entries in length.


    The Initialize Password command(s) set a user profile to a new
    password. A new INZPWD3 password has been added in IBM i 7.2 and
    later. The password generated using INZPWD3 will comply with the
    system values.


    A new parameter, IGNMAPERR, was added to the SCNDBF command to
    ignore data mapping errors when scanning. The default is *NO.



    The Capture System Information command was fixed to correctly skip
    /QSYS.LIB entries when capturing information on all IFS entries.


    Clear Message Queue 2 was not correctly marking message queues
    that contained messages that could not be deleted. This condition
    was rare. Those queues are now marked appropriately.


    The Compare System Information for IFS command was fixed so that
    the temporary files that are used in the will not require
    extension by the system operator.


    the members that were selected for copy all ended up in the first
    file selected instead of the matching file name in the second
    library. This has been corrected.


    There were cases where CVTJRNA could issue an array bounds check
    if there were a large number of files being journaled to this
    journal. This has been fixed.


    Under rare circumstances on 7.3 the CVTLIBDBF tool would fail on a
    CPYF command insisting that the FMTOPT(MAP DROP) had to be coded.
    We added that keyword which fixes the issue. CVTLIBDBF is used by
    RGZLIB and the problem initially appeared in that context.


    Convert Work Active would always include jobs with a blank status
    even if a desired set of active job status values was specified.
    Jobs with a blank active status are in a short-lived transition
    state and should not have been included. They will now only be
    included if STATUS(*ALL) is specified.


    OUTPUT(*PRINT) would end with an MCH1210 when 9999 data queue
    entries had been printed. It now supports all the entries that can
    be retrieved with one call to the system API.


    The Find Source Text command would occasionally miss one of the
    members whose descriptive text matched the pattern given on the
    command. This has been fixed.


    The MSGCTL tool was found to incorrectly log and forward messages
    that matched a generic message ID found in the MSGCTLP file. This
    has been fixed.


    The command can return a list of jobs if a specific job is not
    specified. The command and documentation were updated to ensure
    this was properly filtered by the CURUSER keyword.


    The Submit Job Scheduling Entry submits a job based on the
    parameters in a job scheduling entry. One of these is the job
    description which was not found in some circumstances. This has
    been fixed.


    The Scan IFS command was fixed to prevent looping on very large


    The Work with IP Devices tool can be used to show remote printer
    queues as well as printer devices. This was showing SNA defined
    remote queues and showing the remote queue name instead of the
    host IP name of remote queues. It now shows only IP defined remote
    queues and gives the first 15 characters of the host name in the
    IP address field if the queue is defined with that instead of an
    IP address.


    The Work Subsystem Description 2 command was incorrectly adding
    quotes to the compare value *ANY on the Routing Entries screen.
    This has been fixed.


    The Work with System Information command now correctly removes the
    IFS entry information when removing a capture. This also fixes
    some interaction anomalies that may have occurred when removing a



-   The outfile for CVTJOB has been modified to add two new fields to
    the end of the record format. See enhancements above. 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, 2022

Added to TAA Productivity tools October 15, 2017

Home Page Up to Top