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

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

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

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.

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

-   CMPENVVAR

    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.

-   CVTENVVAR

    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.

Enhancements

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

        CHGTAAKEY KEY() LICNBR(1)

    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
    directory:

        aaa.txt
        abc.txt
        abc*.txt
        abc?.txt
        abc'.txt

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

-   CHKIFSDMG

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

-   CPYUSRPRF2

    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.

-   CVTQRYSTMT

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

-   CVTSBSD

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

-   CVTSYSVAL

    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.

-   DSAOLDPRF

    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.

-   DSPSBMJOB

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

    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
        F6=Ascending/Descending.

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

-   DSPSUMJOBQ

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

-   EXCCMD

    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.

-   GENRANPWD2

    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:

        *PWDSYSVAL
        *MAXLENnnn    *MINLENnnn
        *REQANY3      *MIXCASEn
        *CHRLMTAJC    *CHRLMTREP
        *LTRMIN       *DGTMIN      *SPCCHRMIN
        *LTRMAX       *DGTMAX      *SPCCHRMAX
        *LTRLMTAJC    *DGTLMTAJC   *SPCCHRLMTAJC
        *LTRLMTFST    *DGTLMTFST   *SPCCHRLMTFST
        *LTRLMTLST    *DGTLMTLST   *SPCCLHRMTLST

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

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

-   PRTJRNRCV

    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.

-   QRYUSE

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

-   RPLSYSVAL

    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.

-   RTVDBR

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

Fixes

-   APYUSRCHG

    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.

-   CHGOBJAUT

    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.

-   CPYSPLFIFS

    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.

-   CVTJRNA

    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.

-   CVTJOBACG3

    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.

-   CVTLIBLCK

    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.

-   CVTMSGQ

    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.

-   DSPMSGQINQ

    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.

-   DSPSBMJOB

    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.

-   ENDSBSJOB

    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.

-   FNDCMD

    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.

-   INZPWD

    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.

-   MTNJRN

    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.

-   MONMSGQ

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

-   RTVAUDMDLF

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

-   RTVSYSSTS

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

-   VALDBF

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

Incompatibilities

-   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
    been affected: CHKTGTRLS, CMPOUTFILE, CRTBNDCL2, CRTBNDRPG2,
    CRTSFLPGM, CRTSFLPGM2, CRTTGTRLS, RPLGENPGM, RPLOBJ, RPLMOD,
    RPLPGM, RPLSFLPGM, SAVALLACT, SAVCHGACT, SAVJRNACT, SAVLIBIFS,
    SAVOBJIFS, SAVEONELIB, SAVOWNOBJ, SAVRCVL, SAVSNDL, SAVSNDM,
    SAVSRCF, SBMSAVRCVL, SBMSAVSNDL, SNDOBJMAIL.

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

-   ADDDSTLE2

    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.

-   FNDMSGID

    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.

-   SCNALLDSTL

    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.

Enhancements

-   CVTIFSAUT

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

Fixes

-   CVTJOB

    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.

-   CVTLIBOBJA

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

-   CVTMSGQ

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

-   DSPAUDLOG2

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

-   DSPJOBSCDC

    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.

-   DSPJOBSCDE

    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.

-   DSPSBMJOB

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

-   DSPSBSJOBQ / WRKSBSJOBQ

    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.

-   EDTDTAARA

    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.

-   GENRANPWD2

    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.

-   PRTREVERSE

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

-   RTVIFSEAUT

    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.

-   RTVSBSBCH

    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.

-   SNDSPLPDF

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

-   SPLSTO

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

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

Incompatibilities

There are no known incompatibilities in this refresh.

Copyright TAA Tools, Inc. 1995, 2023
					

Added to TAA Productivity tools October 15, 2017


Home Page Up to Top