Due to unforeseen circumstances the May meeting of the Central Texas IBM i User Group has been postponed.
When a date next month, is agreed, I will publish an update.
We apologize for this inconvenience.
Advice about programming, operations, communications, and anything else I can think of
Due to unforeseen circumstances the May meeting of the Central Texas IBM i User Group has been postponed.
When a date next month, is agreed, I will publish an update.
We apologize for this inconvenience.
The title is not as descriptive as I would have liked, my original title was too long to appear reasonably at the top of this page. I am going to describe how you can determine the length of the string of characters within a column from a DDS file or DDL table using SQL. I have found this most useful when using it within a Select statement.
This SQL function can be called by one of two names: CHARACTER_LENGTH or CHAR_LENGTH.
There is also a related function, LENGTH, that I will describe later in this post.
As its name suggests, CHARACTER_LENGTH will return the length of a string expression. In the following example I am using the VALUES SQL statement with CHARACTER_LENGTH:
01 VALUES CHARACTER_LENGTH('A ')
|
This is another post about something I did not know existed until a few days ago. I have been building some commands to help automate certain processes, and I thought it would be a good idea to create help text for the commands so that anyone using it could use it instead of asking me how to use the command.
Help text for commands must be in the form of a panel group object, *PNLGRP. The programming language used to create the contents of a panel group is User Interface Manager, UIM. Don't worry if you have never used UIM, I think it is a simple language to understand.
Several years ago I wrote a post about creating help panel groups with UIM, therefore, if you want more information than I am going to mention here please refer to that post.
I "stumbled" across the command GENCMDDOC, Generate Command Documentation, which will create a template for my command that I can then add details to. I admit I have never heard of it before, and having used it I found it saved me a lot of time.
First I need a command. I just randomly copied some parts of commands I had created earlier into one new command, TESTCMD.
The RPGPGM.COM-unity continues to grow. I handed out more of the ribbons at this year's COMMON PowerUp than I have at any other event. You can see who I gave them to here.
If you see me at an IBM i event feel free to introduce yourself to me. In all likelihood I will have a RPGPGM.COM-unity ribbon on me, and you can join the community. All I ask in return is a photograph of you with it.
If you would like to learn more about the RPGPGM.COM-unity click here.
I was creating a command with what I am going to call a "list parameter", to allow the entry of up to ten libraries. While writing the Command Processing Program, CPP, I encountered something I could not find a good description of how to handle. Therefore, I am writing this post to give you a good example of how I did it.
I am not going to go into too much detail on how to create commands and their parameters as I covered many of the basics in two earlier posts: Creating your own commands, part 1 and Creating your own commands, part 2.
My example command, MYCMD, has just one parameter, which will be the list of up to ten libraries. The source for the command is as follows:
01 CMD PROMPT('List of libraries')
02 PARM KWD(LIBRARY) TYPE(*NAME) MIN(1) MAX(10) +
03 PROMPT('Libraries')
|
Line 2 and 3: The command parameter LIBRARY has a number of keywords:
The 2026 System i Developer Lunch & Learn series is upon us, with nine online prestenations from Tuesday May 12 - Thursday May 28. I will be making two of them:
The speakers are all IBM i experts and the presentations are free, click here to see what they are about.
I always register for all of them as I find I learn something new from them every one of them.
One of the duties of a good System Administrator is to keep the group PTFs up to date on the IBM i partitions you are responsible for. To assist with this IBM has "Group PTF Currency". The first time I encountered this phrase I was confused as I could not equate how PTFs related to money. The confusion was cleared up when I found out the "currency" refers to how current your PTFs are.
In the past the System Administrator would have manually check IBM's Fix Central website and compare the version of the PTFs on their partitions to the ones shown.
To make life easier IBM created a SQL view, GROUP_PTF_CURRENCY, in IBM i 7.1 that would retrieve the latest information about the group PTFs from the IBM "Preventive Service Planning", PSP, website. This View shows the PTF group level installed and the latest group level available. By comparing the two the System Administrator can decide whether it is time to get and apply the latest PTF group.
We can see the data on the PSP website as is it an XML file and can be reached at:
The Electronic Service Agent, ESA, is part of the IBM i operating system. Its purpose is to monitor your system's health, detect potential hardware failures, and report issues directly to IBM Support. If it encounters problems it can "call home" to report the issue to IBM.
To be able to "call home" it must be able to connect to IBM. How can we test that it can?
We can either use:
I am going to explain both of these below.
I have to thank the person who contacted me to tell me that a new release of ACS, 1.1.9.12, is now available for download today, Tuesday April 21.
I have mentioned the SQL View GROUP_PTF_INFO a couple of times in passing in other posts on this website, I have not explained what this View gives us.
A PTF Group is a bundle of related PTFs which are designed and managed as a single group. This simplifies PTF updates as all the necessary individual PTFs for a specific group are applied together. Examples of PTF groups are:
There are several ways I can check on the PTF Groups on my IBM i partition:
In all of my examples I am going to use the PTF Group for Db2 for i, SF99960, on a partition that is running IBM i 7.6 .
When I use the commands DSPPTFGRP and WRKPTFGRP I am frustrated that I cannot get an output file of the information it retrieves. With WRKPTFGRP I can only display the results:
I handed out more of the RPGPGM.COM-unity ribbons at the NEUGC 2026 conference. You can see those I gave them to here.
If you see me at an IBM i event feel free to introduce yourself to me. In all likelihood I will have a RPGPGM.COM-unity ribbon on me, and you can become a member. All I ask in return is a photograph of you with it.
If you would like to learn more about the RPGPGM.COM-unity click here.
On the usual schedule there is a Technology Refresh at about the time of the COMMON PowerUp conference. This year will be different.
I was told by an IBM insider, last week, that the release date of the TRs has been postponed until July of this year. They would not say why. I assumed that news of the delay was business proprietary information, and was not going to share it.
This morning I see a couple of other websites running the story that the TRs are being delayed until the time more of the new IBM Power11 servers are announced.
As others are reporting this news, I am publishing what I know.