Tuesday, December 31, 2024

Performance FAQ updated

The "IBM i on Power – Performance FAQ" has been updated, effective December 2024.

This guide gives information on how to measure the performance of your IBM i partition, and how to optimize whatever tools and programming languages you use to get the best from the operating system we all love.

You can open and download the document from here.

Tuesday, December 24, 2024

How to run a SQL statement that is in a column of a table

This is a question that pops up every once in a while, therefore, I have decided to write this post to answer the question. I am sure what I am going to describe here is not the only way to execute a SQL statement that is in a column/field of a table/file. It is just the way I do it. If you know of another way please either comment, below, or use the Contact Form, in the right column, to send me the details.

In the example I am writing about I want to make SQL Aliases for each member in the multiple member file TESTFILE. I have created a CTE to do this, but what I am going to do is to show the individual SQL statements that make up the CTE before I show the CTE statement.

Firstly, I need to establish a list of members in TESTFILE. Here I can use the new SQL view SYSMEMBERSTAT. I am only interested in returning the following columns in the results:

Wednesday, December 18, 2024

How to define a file twice for two members?

I was asked this question about reading a two members from a DDS file in a RPG:

I'm not understanding what the definition of 'FILE1' and 'FILE2' would be if i am defining the same file in order to use 2 different members. I get the external definitions for file and member, but how do i define the same file in the dcl-f spec?

This post will describe how I would do it.

First I need a file with two members. I start with a DDS file, with one field FIELD.

01 A          R TESTFILER
02 A            FIELD         30A

Friday, December 13, 2024

TR PTFs for Db2 now available

The PTFs for Db2 for i for the latest Technology Refreshes become available today, December 13, 2024.

The PTF for Db2, not the TR PTF, are:

  • Database (SQL) and RPG 7.5: SF99950 level 8
  • Database and RPG 7.4: SF99704 level 29

You can download them by follow the appropriate link on the Db2 for IBM i 2024 PTF Group Schedule page.

I have asked RZKH to download these PTFs so I can start experimenting and start writing about the features in these TR.

The TR PTF are:

  • IBM i 7.5 TR5: SF99957
  • IBM i 7.4 TR11: SF99737

Read about:

Wednesday, December 11, 2024

What I do with the SELF data

It is often a question I am asked about SELF: What do I do with the data it generates?

Once a week I take the data and copy it from IBM's SELF table into one of my own. Why?

I am only interested in errors I can fix. I am not interested in errors SELF has reported for any of the following:

  • Errors with objects in IBM's libraries
  • Errors with objects in third party vendor tools
  • Errors with the core objects in the ERP's libraries

Wednesday, December 4, 2024

DDS display file windows

I was asked a question about using DDS Windows with display files, that is when I noticed I did not have any examples of them. IMHO that is an omission on my part, and I am going to correct here. The examples I will be giving will also answer the question I was asked.

We have been able to create "pop-up" Windows using DDS Display files for many releases, and I have used them for scenarios where a user presses F4 in a field on the display file, a window is displays containing a subfile that the user can select a record from. I am going to keep the following examples much simpler than that, enough to be able to demonstrate some of the features of DDS windows. Examples of coding subfiles in RPG can be found elsewhere on this website.

For these examples I am using one display file and one RPG program. I am going to "break" the display's code into parts so I can describe what is going on and what is different from others. The RPG program can just be shown in one place, as it is very simple. Here is that RPG program: