Between major IBM i releases, IBM ships frequent enhancements using the Technology Refresh (TR). Particular features are present with specific TR levels. SQL offers an easy way to identify the latest TR level on an IBM i system.
IBM i services comprise a collection of DB2 and SQL objects that provide a wealth of system information. The GROUP_PTF_INFO view will display an IBM i’s TR level to the user who runs this SQL:
|
SELECT CURRENT SERVER CONCAT ' is running ' CONCAT PTF_GROUP_TARGET_RELEASE CONCAT ' with TR level: ' CONCAT PTF_GROUP_LEVEL AS TR_LEVEL FROM QSYS2.GROUP_PTF_INFO WHERE PTF_GROUP_DESCRIPTION = 'TECHNOLOGY REFRESH' AND PTF_GROUP_STATUS = 'INSTALLED' ORDER BY PTF_GROUP_TARGET_RELEASE, PTF_GROUP_LEVEL DESC LIMIT 1; |
When run on my server, the result was a single column, TR_LEVEL, with the value:
|
SEIDENI is running V7R2M0 with TR level: 3 |
Time for me to upgrade, yes?
Here is my original post with older techniques:
I recently needed to know if a client’s IBM i 7.1 system had Technology Refresh 4 (TR4). If it did, I could use the relatively new INSERT with remote SUBSELECT technique, which allows a single SQL statement to copy DB2 data from one partition to another. Such are the benefits of keeping current with Technology Refreshes.
After reading an article on TRs by Steve Will, I decided to document how to determine which TRs are installed on an IBM i system.
TRs, which were introduced with IBM i 7.1, are packaged as Program Temporary Fixes (PTFs). They can be found with the DSPPTF command.
First, determine the product number of the licensed internal code of your system. For 7.1, the product number is 5770999.
Then use the DSPPTF command followed by this product number. For example:
When run on my test system, this command produced a list of PTFs that included MF99007, MF99006, MF99005, MF99004, MF99003, MF99002, and MF99001.
Because Technology Refresh PTF numbers follow the format MF99nnn, where nnn is the TR number (bolded above), I knew that TR7, TR6, TR5, TR4, TR3, TR2, and TR1 were available. I was pleased to learn I could use TR4’s enhancements to DB2.