Thursday, January 15, 2026

New ACS update, 1.1.9.11, fixes vulnerability

On Tuesday, January 14, an announcement was posted on the IBM's ACS Updates page:

IBM i Access Client Solutions is vulnerable to an attacker carrying out an XML External Entity injection via a crafted XFA file inside of a PDF.

Apache Tika is used by the Run SQL Scripts feature to determine the content type of binary column data in a table on the IBM i.

IBM strongly recommends upgrading to 1.1.9.11, and discontinuing use of versions 1.1.9.8 through 1.1.9.10.

The download was not available until Wednesday morning. When I received the following alert when starting my ACS:

Wednesday, January 14, 2026

Another way to list files defined in Querys

After writing the post about Retrieving the print file name from a Query it struck me that I could use the same methodology to answer a question I have been asked on several occasions: Which Querys are using a particular file?

I cannot answer which Querys are using a file. I can list all the files that Querys are defined to use.

What are the steps I need to perform to get that information:

  1. Make a list of all the Querys in a particular library
  2. Print their definitions using PRINT_QUERY_DEFINITION
  3. Extract the file names from the spool file, and write them to an output file

I am going to show you how I manually executed the above steps. And then I will show a program I created to do the same thing.

First, I need to make a list of all the Querys in a library, MYLIB. I will use the OBJECT_STATISTICS SQL Table function.

01  SELECT OBJLIB,OBJNAME
02    FROM TABLE(QSYS2.OBJECT_STATISTICS('MYLIB','*QRYDFN','*ALL'))

Line 1: I only want the Query library and name in my results.

Wednesday, January 7, 2026

A new way to list columns for SQL insert

The latest Technology Refreshes introduced a new way to give the columns I am inserting with an SQL Insert statement into a Table or file.

This is the DDL Table I will be inserting into:

01  CREATE TABLE RPGPGM1.TEST_TABLE
02  (IDENTITY BIGINT GENERATED ALWAYS AS IDENTITY NOT NULL,
03         LAST_NAME FOR COLUMN "LNAME" VARCHAR(30),
04        FIRST_NAME FOR COLUMN "FNAME" VARCHAR(20),
05      ADDRESS_CITY FOR COLUMN "CITY" VARCHAR(20),
06     ADDRESS_STATE FOR COLUMN "STATE" CHAR(2),
07   ADDRESS_COUNTRY FOR COLUMN "COUNTRY" CHAR(3)) ;

Thursday, January 1, 2026

Happy New Year 2026 to you all

New Years is one of my favorite times of year, as we are filled with the excitement for what 2026 will bring us all.

Before we put our feelings and thoughts of 2025 behind us, what did you find interesting last year? These were the top ten popular posts from last year: