Wednesday, July 30, 2025

Finding source members with the same name

How would I find if a source member with the same name is found in more than one source file? If there is, which one was modified most recently? I am sure those are questions many of us have asked ourselves. How could we can make this easy for ourselves to get this information? Fortunately, Db2 for i has everything I need to do it.

I start with the SYSMEMBERSTAT View, it was introduced a couple of Technology Refreshes ago, IBM i 7.5 TR4 and 7.4 TR10, and it is used in place of SYSPARTITIONSTAT when I need information about members.

What are the columns I am interested in:

Monday, July 28, 2025

SDA is not available in IBM i 7.6

The announcement of IBM i 7.6 included notice that the following application development tool set commands were no longer available:

  • STRSDA:  Start Screen Design Aid
  • STRRLU:  Start Report Layout Utility
  • STRAPF:  Start Advanced printer Function
  • MRGFORMD:  Merge Form Description
  • STRCGU:  Start Character Generator Utility
  • CPYIGCSRT:  Copy DBCS Master Sort Table
  • MRGFORMD:  Merge Form Description

The web page with this information is here.

In the past week there were rumors circulating in social media that this is not true, and it is still possible to use the STRSDA command in 7.6 .

Wednesday, July 23, 2025

Retrieve the SQL statements from multiple QM queries

The germ for this post came from a message I received:

Is there any way to retrieve sources for all QMQRY objects available inside a library in one go? My objective is, there are 100's of QMQRY objects(SQL type) inside a library but they don't have predefined source members. I need search for particular string inside all those SQL queries used inside the QMQRY objects.

I decided to work out a way I could do this.

I did not create "100's" of Query Management, QM, queries as what will work for two will work for many more too.

It is possible to retrieve the SQL statement from a QM query object by use of the Retrieve Query Management Query command, RTVQMQRYM. That command copies the retrieved statement into a source member.

Monday, July 21, 2025

CPW ratings for Power11 servers

When the IBM Power11 servers were announced, July 8, several people contacted me if I had the CPW rating for the new servers.

What is CPW? It is a number that is frequently mentioned, but I have never seen its definition. After some digging I found the following:

The CPW, Commercial Processing Workload, rating provides a measure to show how on-line transactions processing, OLTP, workloads perform on systems that run IBM i. The CPW rating is built using workloads that can utilize the full processing power of the system.

Below is a summary of the Power11 CPW. I have included the top of range Power10 equivalent too, its column is gray.

Wednesday, July 16, 2025

Moving one person's spool files to a different output queue

I was asked if there was a simple way to check an output queue, and if there is a spool file of a certain name for one user, to move it to another output queue.

Fortunately this is not as complicated as it sounds as I can use a SQL Table function to retrieve a list of those spool files, and a scalar function to move the spool file.

In this example I am going to be the user, my profile is SIMON, and whenever I find a spool file QPQUPRFIL in the output queue MYOUTQ I want to move it to the output queue OUTQ2.

First I need to produce a list of eligible spool files. Here I can use the SPOOLED_FILE_INFO SQL Table function:

Monday, July 14, 2025

Some Power11 performance and efficiency information

I had been unable to find any information comparing the performance and efficiency of the new IBM Power11 to previous IBM Power servers. I reached out for this information to people I know and they shared with me an IBM document, whose information I have copied into this post.

Before we get started I need to briefly explain what rPerf is. It is a method to approximate the difference in performance between two Power servers. rPerf is only for AIX. For IBM i performance CPW is used. I found an IBM page explaining what rPerf is here.

All of the quotes I giving below are from the document I received. They are divided into Performance and IT Efficiency. While the document did not group them together I am doing so. I am not including the disclaimers with the quotes, as that will make it difficult to read. The disclaimers can be found at the bottom of this post.

Tuesday, July 8, 2025

IBM Power11 chips and servers are announced

Today is the day! The new IBM Power servers using the new Power11 chips have been announced.

Over the years IBM has developed increasingly more power Power, chips that have been significant improvements from the previous one.

Monday, July 7, 2025

New Modernization Techniques Redbook from IBM

On May 20, 2025, IBM published a Redbook with the title "Modernization Techniques for IBM Power".

The abstract that accompanies the Redbook on their website states:

This IBM Redbook offers a high-level overview of modernization, including key concepts and terminology to guide your modernization journey. It explores the components and architectural layers of the IBM Power ecosystem, demonstrating how they create an ideal platform for running mission-critical applications in today's world. The content is designed for business leaders, architects, and application developers.

It devotes a chapter, chapter 9, to the IBM i. I think it is worth downloading this document even if you only read chapter 9.

You can download this Redbook from the link here.

Wednesday, July 2, 2025

SQL table function to list all imports for ILE program or service program

This is one of the IBM i enhancements that was released in version 7.6, but not in 7.5 TR6. This new table function, PROGRAM_RESOLVED_IMPORTS, allows me to get a list of all the imports for an ILE program or service program.

This Table function has four parameters:

  1. PROGRAM_LIBRARY:  Library that contains the ILE program or service program. "*LIBL" is not supported.
  2. PROGRAM_NAME:  Name of the ILE program or service program.
  3. OBJECT_TYPE*PGM for ILE program, *SRVPGM for ILE service program.
  4. IGNORE_ERRORS:  Optional. NO when an error is encounter an error is returned. YES a warning is returned, this is the default.

This looks like: