IBM i 7.3 - TR9 Enhancements
|IBM i 7.3 - Enhancements timed with Technology Refresh 9|
Note: The announcement materials for IBM i 7.3 TR9 can be found here.
The remainder of this landing page intends to make it easy to see the supporting detail for these enhancements.
Db2 for i Enhancements
- SQL Precompiler additional support for WHENEVER
- DROP support for IF EXISTS
- CREATE SEQUENCE supports FOR SYSTEM NAME
- SQL precompilers support DBGVIEW(*STMT) and DBGVIEW(*LIST)
- SELECTIVITY clause on queries
IBM i Services (new)
- QSYS2.SYSDISKSTAT (Table function)
IBM i Services (enhanced)
- QSYS2.SYSDISKSTAT (View)
Db2 for i - Services (new)
Db2 for i - Services (enhanced)
- Rename for System Groups
- Rename Template
- Specify Order of execution for Scripts and Commands plug-in
- Specify Order of execution for SQL Query Verifier plug-in
- Nested Groups for Console
- Console Import Systems
- Password Save for Console
- TR and MRI PTF support
- Fix action for User profiles
|IBM Navigator for i|
Performance Data Investigator (PDI)
The recently delivered modern PDI visualization has been improved to provide more complete information to system administrators trying to understand IBM i performance. The new chart interface has been expanded to many more PDI functions. Some of these are listed below:
- Multi-collection support - multiple performance collections can now be viewed in a single perspective
- Job Wait Interval details panel (within Job Watcher)
- Timeline chart support
- Pie chart support
- QAPMCONF panel
- Updated Dojo table function including filter, column ordering, and row selection navigation
- Launching to a System Monitor single metric perspective will now open the chart using the new Dojo interface by default
For a complete overview on the modernized updates to chart visualization, see Modernized Charting for PDI.
The management of system monitors has been enhanced to allow users to manage all monitors on IBM i, not just those that were created by that user profile. With this improvement, a user profile included in the QINAVMNTR and QPMCCFCN authorization lists will be allowed to manage all monitors on that IBM i. This includes starting and stopping those monitors.
The ESA support has been updated to give IBM i system administrators the flexibility to allow ESA jobs to be scheduled with a choice of scheduling options. ESA is installed as a component of the IBM i operating system. Details and the PTF information can be found here: https://www.ibm.com/support/pages/node/635879
Application Development Enhancements
In this TR, IBM i delivers additional capabilities in the RPG language, part of Rational Development Studio for i. Many of these requirements have been requested from the IBM i developer community providing ease of use, easier integration, and other enhancements, including:
- Parameter REQPREXP is added to the CRTBNDRPG and CRTRPGMOD commands to control how the compiler responds when there is no prototype specified for an exported procedure. Additionally, the keyword REQPREXP can be placed in the Control Specification (H-spec). The default for the LEVEL parameter is *NO. With the *WARN level, the compiler will issue a warning diagnostic message. With the *REQUIRE level, the compiler will issue a severe diagnostic message causing the compile to fail.
- With keyword EXPROPTS(*ALWBLANKNUM), a value of blanks will not cause an error %INT, %INTH, %UNS, %UNSH, %DEC, %DECH, and %FLOAT. The built-in function will return the value zero. A blank value will also be allowed for a numeric value for XML-INTO and DATA-INTO.
- With control keyword EXPROPTS(*USEDECEDIT), %DEC and %DECH will accept "thousands" separators in a string operand. Thousands separators are used when separating decimal characters into thousands, for example the comma is the thousands character in 1,000,000. The decimal point and thousands separator specified by the DECEDIT keyword will be used to interpret the string.
- Built-in functions %LIST and %RANGE, and 'IN' operator:
- %LIST allows specification of an array directly in calculations. %LIST can be used wherever an array can be used, with a few exceptions such as SORTA and %LOOKUP.
- The IN operator with %RANGE allows checking whether a value is in a range of values or whether the value is in an array or list.
- Operation code FOR-EACH allows you to iterate over an array, a sub-array, or %LIST.
- When control keyword DEBUG(*RETVAL) is specified, the value being returned by a subprocedure can be determined within the debugger by evaluating the special variable _QRNU_RETVAL.
For more information about details and updates, see the RPG Cafe website.
IWS Server provides an easy-to-use, robust environment for creating and hosting REST or SOAP APIs. This is an easy way to expose key ILE programs, service programs, and well-formed SQL as REST APIs.
This TR provides additional capabilities for the IWS environment:
- Ability to directly specify a user registry that may be used for authentication for the IWS request.
- Ability to configure IWS server to integrate with a third-party security service by using TAI. The TAI is a service provider API that enables the integration of third-party security services with an IWS server. When processing the web request, the IWS server calls out and passes the HttpServletRequest and HttpServletResponse to the trust association interceptors. This support also enables the use of JSON Web Tokens for Authentication.
The Integrated Web Services Client for ILE provides an easy way to consume SOAP and REST services. The latest update includes support for Transport Layer Security version 1.3 (TLSv1.3) protocol.
Details about the latest support can be found on the Integrated Web Services for IBM i - Web services made easy web page.
- LDAP referral support - The following directives have been added to provide the ability to have a 'referral' LDAP server when using LDAP for your authentication methodology.
- LDAPReferral has been added to explicitly configure LDAP referral
- LDAPReferralHopLimit to limit the number of referral hops for LDAP query
- User-based library list for CGI jobs - The library list for CGI jobs can now be set to the Authorized users library list
IBM toolbox for Java contains native Java methods for accessing, updating, and interacting with objects and interfaces on IBM i. These key interfaces continue to be updated and improved to ensure that the Java developer has access to the latest IBM i technologies. Some of the enhancements added in this TR include:
- IFS performance improvement when retrieving attributes for directories, files, and symbol links.
- Support for converting varchar to bytes. When using AS400Text.toByte(), the program receives the string without the first two characters because the first two bytes of a varchar are the length of string. The support for varchar in Java toolbox is added.
- IFS User Handle 2 provides single sign-on support to retrieve attributes of IFS files using Kerberos-based authentication.
RDi is the strategic tool for RPG and COBOL development and is used by IBM i developers all over the world. These developers contribute suggestions and ideas to IBM. Many features have been added to assist in the process of refactoring and modernizing application code, including:
- The extract procedure refactoring feature can be used to convert business rules into reusable procedures.
- The library list view is enhanced to easily modify a library list from any RDi perspective.
- A simpler way to search for RDi preferences with the preferences keyword filter.
- Variables larger than 4,095 characters can be seen in the RDi debugger.
- Service entry points allow conditional entries for breakpoint.
- Persist display hover text for procedure parameters has been added.
- Double-clicking of source elements will allow the inclusion of the "*" symbol when appropriate.
- Sorting by name control in the outline view will not affect the sorting of key fields.
- Additional features in the RDi editor to support functions in the RPG Language (see RDS section above):
- DATA-GEN opcode is supported.
- OPTIONS(*EXACT) for prototyped parameters is added.
- OVERLOAD keyword is supported in the editor.
- Editor navigation for marked occurrences of variables has been enabled.
- Many SQL formatter improvements.
- The improved “Copy To” dialog reduces the chances of a user copying to an unintended location.
- /copy and /include files now can be opened from source stored on IFS.
- IBM i Access Client Solutions (ACS) can be launched from RDi without requiring a separate Java Runtime Environment installation.
For more information on these and many more enhancements, see the IBM Rational Developer for i fix list.
MI Instruction GENUUID
Hardware and Firmware
IBM Power H922 model 9223-22S
- IBM Power H924 model 9223-42S
- #EC7B, #EC7A - PCIe4 1.6 TB NVMe Flash Adapter for VIOS
- #EC7M, #EC7L - PCIe4 3.2 TB NVMe Flash Adapter for VIOS
- #EC7P, #EC7N - PCIe4 6.4 TB NVMe Flash Adapter for VIOS
- #EN2A, #EN2B - PCIe3 16 Gb 2-port Optical Fibre Channel adapter
- #EC6J, #EC6K - PCIe2 x8 2-Port USB 3.0 adapter
- #ESJT, #ESJK - Mainstream 931 GB SAS 4k SSD for IBM i
- #ESJV, #ESJM - Mainstream 1.86 TB SAS 4k SSD for IBM i
- #ESJX, #ESJP - Mainstream 3.72 TB SAS 4k SSD for IBM i
- #ESJS, #ESJJ - Mainstream 931 GB SAS 4k SSD for VIOS
- #ESJU, #ESJL - Mainstream 1.86 TB SAS 4k SSD for VIOS
- #ESJW, #ESJN - Mainstream 3.72 TB SAS 4k SSD for VIOS
- NPIV Acceleration
- Multiple Mapping of NPIV ports for Live Partition Mobility (LPM) operations
- IPL Time Improvement
- Improved Performance for Duplicating Tape Media
The open source ecosystem continues to grow, with particular emphasis on the RPM-based set of deliveries. These enhancements include compression tools, command-line utilities, open source databases, and Node.js updates. To get started with RPMs, please visit http://ibm.biz/ibmi-rpms
p7zip is a port of the command-line version of 7-Zip to Unix-like POSIX systems. It can work with various file formats including 7-Zip archives (those ending with .7z). For more information, see http://p7zip.sourceforge.net/
zstd (or Zstandard) is a newer compression library from Facebook. It is designed for real-time activities, so by design it prioritizes speed of compression/decompression operations. For more information, see http://facebook.github.io/zstd
pigz is a parallelized version of gzip. It can take advantage of multiple CPU cores to speed up compression over standard gzip. For more information, see https://zlib.net/pigz/
Curl with SSH and SFTP support
Curl has been upgraded to 7.70.0 and was also built with the newly released libssh2. This allows it to use ssh:// and sftp:// URLs.
“man page” viewer
The ‘man’ command is now available via delivery of the ‘man-db’ package. This allows you to view reference manuals (often called “man pages”) for many of the packages delivered as RPMs.
The autossh package provides a tool for keeping SSH tunnels open. For instance, it will automatically restart the tunnel if it crashes. For more information, see https://www.harding.motd.ca/autossh/
A popular terminal multiplexer, tmux, is now available. It allows you to create multiple SSH terminal sessions that are persistent, meaning you can reconnect and resume work, even if you are disconnected because of a network outage or some other unpredicted event. It also enables multiple windows within your session. For more information, see https://github.com/tmux/tmux/wiki
The Python Paramiko package is now available in RPM form. Paramiko makes it easy to use SSH, SCP, and SFTP from within Python. It provides a powerful and highly-automatable way use SSH/SFTP as part of business procedures, like pushing or pulling data, running commands, etc. It also provides an easy way to make remote XMLSERVICE calls (especially to IBM i instances in IBM Cloud) using SSH and xmlservice-cli (part of the ‘itoolkit-utils’ package). For more information on Paramiko, see http://paramiko.org/
The ability to customize which shell is used for SSH sessions has existed for some time via an SQL service. Now, with the chsh RPM package, it’s even easier. For example, just run ‘chsh -s /QOpenSys/pkgs/bin/bash’ to set your default shell to bash.
The logrotate tool can be used to automatically rotate, compress, and even remove your log files. This is very useful for log files that may grow very big if left unchecked. The HTTP Server for i supports this out of the box with log cycling, but not all products do this, so having a specialized tool can be useful.
It is very configurable, allowing you to customize the name format of archived logs, how many logs to keep, or whether the archived logs should be compressed. Note that this is not a service that runs continuously. Instead you must run it periodically (or via the job scheduler). It will then analyze all the log files which it is configured to rotate and rotate the files as needed. For more information, see https://linux.die.net/man/8/logrotate
PostgreSQL describes itself as “a powerful, open source object-relational database system that uses and extends the SQL language combined with many features that safely store and scale the most complicated data workloads.“ PostgreSQL has earned a strong reputation for its proven architecture, reliability, data integrity, robust feature set, extensibility, and the dedication of the open source community behind the software to consistently deliver performant and innovative solutions. For more information, see https://www.postgresql.org/
There are also instructions for installing PostgreSQL on IBM i at https://github.com/IBM/ibmi-oss-examples/blob/master/postgresql/installingpostgresqlonibmi.md
The MariaDB open source relational database is a drop-in replacement for MySQL. It is also one of the most popular open source databases in the world and is the default database for numerous turnkey applications, especially in the PHP ecosystem. For more information, see https://mariadb.org/
GNU Privacy Guard (GPG)
GNU Privacy Guard, also referred to as GnuPG or GPG is an open source implementation of the OpenPGP standard. It uses public key cryptography for signing and encryption. For more information, see https://gnupg.org/
Node.js version 14
The latest release of Node.js that will be on a long-term support (LTS) schedule is available. This release has numerous improvements in performance, security, and diagnostics. For more information on the Node.js release schedule, see https://github.com/nodejs/Release
Ansible is IT automation engine that automates configuration management, application deployment, service orchestration, cloud provisioning, security automation, and so on. The Ansible Content for IBM Power Systems - IBM i provides modules, action plugins, roles and sample playbooks to automate tasks on IBM i, such as command execution, system and application configuration, work management, fix management, application deployment, etc. A new version of Ansible for IBM i collections is available. For detail information, please check https://www.ibm.com/support/pages/ansible-support-ibm-i.
IBM Cloud Storage Solutions provides an API interface for moving IBM i data to storage based in a cloud environment. It has tight integration with BRMS allowing for automated IBM i backup to cloud-based storage. The list of supported cloud storage systems has been enhanced to include Google Cloud storage using an S3 connection. Additionally, IBM Cloud Storage Solutions can support leveraging a proxy server when running in a pure cloud-based infrastructure.
GA - December 18, 2020
- Greatly reduced the complexity and number of commands to deploy PowerHA environments
- Default settings for common cluster configurations are provided that can readily be modified as needed
- Provide ability to specify port numbers for Geographic Mirroring, enabling customizable port configurations for performance
- Contextual F4 prompt options for simplified commands
- PowerHA dashboards provide an at-a-glance overview of the health of one or more PowerHA clusters
- Recovery Point Objective (RPO) information for Geographic Mirroring on IBM i 7.3 or later
- For synchronous or asynchronous configurations
- The PRTRPTBRM command using parameter TYPE(*CTLGRPSTAT) has two enhancements:
- The EXPDATE parameter allows reporting of active control group data
- The parameter now shows if encryption was used during the backup of any control group entries<
- BRMS has changed the sync job for maintenance with the Reorganize BRMS database parameter RGZBRMDB(*YES) to reduce the amount of time there are locks on the network related files. This will help to prevent locks during maintenance
- The following values for *LNK Backup Control Group Entries on the Save While Active attribute have been added: *ALWCKWR, *ALWCKSY, *LNKALL, *LNKALLS
- When backing up IFS data, allow a checkpoint to happen without locking the file
- Changes were made in the BRMS Recovery Report (QP1ARCY) to streamline the required recovery steps
- BRMS enhanced the Backup Control Group processing of an empty *OUTQ
- When the output queue is empty we no longer say that there was an error
- Some SQL services are now included in BRMS which provide a similar view of media information provided by the WRKMEDBRM command
- A move policy location for full volumes has been added
- The WRKOBJBRM command has been enhanced with the START parameter to order which entries are shown first
- You control how to view the data
02 July 2021