Wednesday, November 27, 2024

Auto incrementing elements to Auto extending array

At a recent conference one of the attendees point out to me that my examples of using an auto-extending array only used it as the place for data when I fetched data from a SQL cursor. What about a scenario I want to load values into an auto-extending using a For group or Do loop?

I was surprised that I have not given an example of this scenario. This post remediates that oversight.

I wanted to keep my example program as simple as possible:

Friday, November 22, 2024

Technology Refresh PTFs for RPG are now available

This morning Barbara Morris, lead developer for the RPG compiler, announced that the RPG PTFs for the latest Technology Refreshes, IBM i 7.5 TR5 and 7.4 TR11, are now available.

You can see what these are here.

I don't have the specific PTF numbers for RPG. You will want the latest PTFs for 5770WDS, ILE RPG compiler. Those you can download from Fix Central.

This does not appear to have been coordinated with the Db2 Database (SQL) PTFs. They show they will be available December 13, 2024.

Thursday, November 21, 2024

ACS 1.1.9.7 now available

 

The original contents of this page have become obsolete, go to this page for up-to-date information.

 

Wednesday, November 20, 2024

Using expression in CL call parameters

Starting in IBM i 7.4 it is possible to use CL Built in Functions, BiF, in the parameters of CL's Call command. This becomes even easier when I use the additional parameters in the Parameter parameters of the CALL command.

Those of you who have seen example of my RPG code have seen examples where I have used BiFs in its Call operation code parameters. When I learned that there was now similar functionality in CL I became very curious what could I do with it.

I chosen a number of scenarios to write examples for, as these are things I have done many times with RPG's Call operation code.

Tuesday, November 19, 2024

IBM Power11 is coming, but not announced

I do not think I have ever seen IBM do this before. The Vice President of Product Management for the IBM Power Servers, Bargav Balakrishnan, wrote a blog post in the IBM Newsroom about IBM Power11 processors being released next year, 2025.

While his post was not technical, explaining the differences from IBM Power10 and Power11, he did give some details about the performance improvement we could see when comparing these two servers.

He also wrote about integrating the IBM Spyre Accelerator to allow IBM Power servers used to be able the scale AI workloads.

The last section of his post talked about IBM's AI tool for RPG, RPG code assistant, stating that IBM intends to deliver it next year too.

You can read his blog post here.

This goes to show that 2025 is going to be an exciting year for IBM Power, IBM i and RPG.

Thursday, November 14, 2024

Fall 2024 IBM i Performance Guide

On Tuesday, November 12 2024, IBM i Chief Architect and CTO, Steve Will, announced the updated "Fall 2024 IBM i Performance FAQ" guide had been published, and is available for download.

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.

I have already downloaded and read this document this guide. And I think it would be good for you to do the same.

Wednesday, November 13, 2024

Using Fields BiF to update Subfile

When I use RPG Update operation code I tend to use the %FIELDS Built in Function, BiF, with it. The %FIELDS allows me to list the file fields I want to update, all other are unchanged. As I like my code to be "self-documenting" I use it a lot if I am not updating all of the fields in the record, this allows other developers to learn that I was only interested in updating the fields listed.

These days almost all of my data file I/O is with SQL, which leaves me using RPG I/O with just display and printer files. I cannot update a record in a printer file, therefore, this post is exclusively about display files, and subfiles in particular.

Why do I feel the need to write about this when %FIELDS and subfiles have been around for several releases. It is because of a change that is in IBM i 7.5. In this release it is no longer possible to compile a program that uses the %FIELDS when updating a subfile without some extra work. But before I go into that let me show my example code, starting with the DDS source for the display file:

Tuesday, November 12, 2024

RPGPGM.COM-unity in Canada

Last week I was presenting at COMMON's Navigate in Toronto, Canada, and I took the opportunity to hand out more of the RPGPGM.COM-unity ribbons. You can see who I gave them to here.

If I gave you a ribbon and I missed taking a photograph of you with it, please send me a photograph posed like the other people I photographed with their ribbons.

What is the RPGPGM.COM-unity? You will have to click on this link to learn what it means.

Wednesday, November 6, 2024

Learning about active queries

Have you ever wanted to know what is going on within an active SQL Query Engine, SQE, query?

If, like me, you do there is a table function that shows all kinds of interesting information.

The table function ACTIVE_QUERY_INFO has been around since IBM i 7.3 . It has four parameters that allow you to select the results you want returned.

  1. JOB_NAME:  This is the parameter I have found the most useful. Rather than it using the qualified job name it uses the job name part of the job name. Therefore I can just search for jobs with wildcards, for example 'DSP1*'. I can also use '*' to return results for the current job only, and '*ALL', or blank, to return the results for all active jobs.
  2. JOB_USER:  The user name from the job name. A wildcard can be used here too.
  3. JOB_NUMBER:  The job number part of the job name. '*ALL' can be used here.
  4. USER_NAME:  The user name for the job, which may not be the same as the job user name.