• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Guru: When RNF0722 Won’t Let Your Legendary RPG Program Compile

    October 12, 2026 Gregory Simmons

    Some RPG programs have been around for decades. They started small enough. Then another calculation was added here, another subroutine there, a /COPY member or two, and years of enhancements, fixes, and changing business requirements.

    Eventually, some of them became colossal. And let’s face it, we all have “legacy” or, as some would argue, “legendary” programs that are older than a lot of our new hires.

    We all know these programs. They’re the ones everybody agrees should be broken apart someday, but they’re also important production programs that still need to be maintained today. And sometimes “today” presents a very …

    Read more
  • Guru: A Modernization Experiment Using IBM Bob 2.0

    October 5, 2026 Dan Darnell and Eric Whitcomb

    The most common use case for business applications is the CRUD model. The Create, Read, Update, and Delete operations, performed against a business database, are found almost everywhere. Behind every fancy inquiry dashboard with all the graphical bling you can muster are a slew of tried and true so-called “maintenance programs” doing the heavy lifting over the data being presented. Whether it is back-office parameter tables, customer maintenance, or order entry applications, the CRUD model is fundamental. Most of us can whip out a simple green-screen maintenance program with our eyes closed in, oh, a couple hours or so, depending …

    Read more
  • Guru: Two More Small But Handy RPG Enhancements: LIKE(*EXT) And %LOOKUPNE

    September 28, 2026 Gregory Simmons

    Not every trip into the field calls for hauling the whole pack, and not every search calls for scanning everything by hand. Two of the smaller enhancements in this batch of July PTFs for IBM i 7.5 and 7.6 are exactly that kind of quiet convenience: tools that let you reach for just the piece you actually need instead of doing more work than the job requires.

    DISCLAIMER: The mushroom names and file/field names used in the examples below are purely to give the sample programs some context and make them more interesting. Before foraging for or consuming any wild …

    Read more
  • Guru: Where’s The Table?

    September 14, 2026 Ted Holt

    It began with an irritation. I considered it a simple request. “Which file did my SQL query read?” I was using the Run SQL Scripts tool to modify an SQL query with unqualified table names. And yet I knew of no ready way to determine the schema (library) name of any of the files. How was I to know which tables I had just queried?

    Let me back up a bit. My SQL client of choice is the Run SQL Scripts tool, which is part of IBM’s Access Client Solutions (ACS). It is not unusual for me to copy and …

    Read more
  • Guru: Putting Failure Handling In Its Place

    August 24, 2026 Gregory Simmons

    One of the things I enjoy most about procedure-driven RPG is that it encourages us to think about responsibility. Every procedure should have a clear purpose. It should perform one task well and leave unrelated concerns to other parts of the application.

    That sounds straightforward enough, yet one responsibility often finds its way into nearly every procedure we write: failure handling.

    If you have worked with RPG for any length of time, you have probably encountered applications where nearly every procedure begins with a MONITOR operation. The procedure performs its work, catches any exception that occurs, logs an error, returns …

    Read more
  • Guru: Claude’s SQL Tip

    August 10, 2026 Ted Holt

    Today’s tip comes to us from Claude, as in the AI chatbot created by Anthropic. I don’t need to introduce him. Many readers of this august publication are far better acquainted with him than I am. I have heard reports of IBM i programmers who have quit writing source code, telling Claude to write it for them. Some folks seem to be right proud of that fact. Furthermore, I’m told that some places no longer allow humans to write source code.

    I had a few ideas in mind for this article and was weighing the merits of each one when …

    Read more
  • Guru: Beyond Three-Part Naming – Running SQL Across Remote IBM i Systems

    August 3, 2026 Gregory Simmons

    In my article Guru: Finding Data in The Forest – Exploring Three-Part Naming In SQL, I helped you to get started with three-part naming. If you have a network of IBM i systems and haven’t availed yourself of this capability, you may be surprised at just how powerful it can be. Instead of relying on data transfers, replication, or intermediate files, SQL can reach directly into remote systems as though the data were local.

    That works well when you know exactly which remote system contains the data you need. But what happens when your network grows from a handful …

    Read more
  • Guru: Deterministic Application Development With AI

    July 27, 2026 Dan Darnell and Eric Whitcomb

    Perhaps the key feature of AI is the way answers are obtained by virtue of a conversation with the AI. Contrast this with using a search engine where each “ask” is an independent request with a response.

    An AI conversation has context while search engine interactions do not. More and more, we use AI to create applications through the contextual, iterative, conversational process. As we have ideas we add these to the conversation and our application changes accordingly. Our customers are getting in on the action too. They are providing us with AI generated prototypes for new software or new …

    Read more
  • Guru: Analyzing User Session Statistics, Part 1

    July 20, 2026 Mike Larsen

    I wanted to report on user activity on our IBM i. Knowing that there is a wealth of SQL table functions available to me, I knew it wouldn’t be hard to find something that would help me. For this report, I wanted to see how many times a user logged into the system during a certain timeframe.

    The table function I used is QSYS2.HISTORY_LOG_INFO. I’ll show the code I built, followed by a breakdown of what is does.

    Here is the SQL statement to determine the number of times a user signed in:

    SELECT COUNT(DISTINCT DATE(MESSAGE_TIMESTAMP)) AS DAYS_LOGGED_IN
    FROM 
    …

    Read more
  • Guru: Finding Data In The Forest – Exploring Three-Part Naming In SQL

    June 22, 2026 Gregory Simmons

    Anyone who has spent time foraging for mushrooms knows that location matters. A chanterelle found in the Pacific Northwest is not the same as one discovered in the hardwood forests of the Midwest. Experienced foragers do not simply note what they found. They record exactly where they found it: the region, the forest, and the specific location. Context matters.

    The same is true in SQL. Most IBM i developers are comfortable with two-part naming. A reference like MUSHLIB.FORAGE_LOG identifies both the schema and the object. It tells SQL where to look within a single system, much like noting the forest …

    Read more

Previous Articles

Content archive

  • The Four Hundred
  • Four Hundred Stuff
  • Four Hundred Guru

Recent Posts

  • IBM Goes GA With Power Autonomous Operations
  • IBM Wheels And Deals To Sell Power Systems, Storage, and Software
  • Guru: When RNF0722 Won’t Let Your Legendary RPG Program Compile
  • A Read-Only MCP Server For Db2 for i
  • IBM i PTF Guide, Volume 28, Number 35
  • Please Take The IBM i Marketplace Survey So We Know What You Know
  • IBM’s Bob AI Assistant Can Now Live In Your Datacenter
  • Start Where the Data Lives: Best Practices for Taking IBM i Into AI
  • Guru: A Modernization Experiment Using IBM Bob 2.0
  • How Are IBM i Shops Using AI? Fortra and COMMON Want to Know

Subscribe

To get news from IT Jungle sent to your inbox every week, subscribe to our newsletter.

Pages

  • About Us
  • Contact
  • Contributors
  • Four Hundred Monitor
  • IBM i PTF Guide
  • Media Kit
  • Subscribe

Search

Copyright © 2025 IT Jungle