• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Guru: Remove Extra Blanks, Or Why I Attend Conferences

    October 28, 2019 Ted Holt

    Have you been to a conference lately? If not, you may be shortchanging yourself. I attend several conferences every year and I get immense benefit from them. I learn a lot, I get a break from the day-to-day, and best of all, I build relationships with other people.

    I recently attended the RPG & DB2 Summit in Minneapolis, where I met a bright young developer named Kevan Robinson. He was kind enough to share his version of a tip that I shared with him and other attendees. It’s a technique that I learned ages ago from Craig Mullins, a mainframe …

    Read more
  • Guru: Move Objects with Access Client Solutions

    October 14, 2019 Dawn May

    Sending objects from one IBM i partition to another is a common task. Access Client Solutions’ IFS task makes it simple to copy or send objects. The IFS task was introduced in ACS in July 2016, so this is not a new development, but it may not be widely known.

    Perhaps you need to send a save file to another IBM i partition. There are several ways to do this. FTP and Secure FTP are often used, but using FTP to transfer IBM i objects involves all sorts of complications. The IBM i Knowledge Center dedicates an entire section on …

    Read more
  • Guru: Edit Result Sets in Run SQL Scripts

    October 7, 2019 Paul Tuohy

    Before getting into the detail in this article, I want it to be clear that I do NOT (in any way) advocate the direct editing of data in a production database. But when it comes to a test database, then the ability to directly edit data is invaluable.

    Back in the days of System i Navigator, you could right click on a table, select the Edit option and a window would open containing the contents of the table. You could directly edit the contents of any cell. Rows could be inserted or deleted using the Rows option on the menu. …

    Read more
  • Guru: MERGE, Chicken, And Eggs

    September 30, 2019 Ted Holt

    Which came first: the chicken or the egg? I don’t have time to ponder such trivialities. However, I am glad to know that SQL has a way to help me with chicken-and-egg database updates, i.e., when two statements need to run but each politely needs for the other to go first.

    Suppose you support an IBM i system that keeps up with inventory. It has an item master table (physical file) that stores general information such as a description, the standard cost, and the list price of an item.

    create table ItemMaster
      (ItemNumber     char(6),
       Revision       dec(3),
       Description    char(20),
       Cost           dec(5,2),
       
    …

    Read more
  • Guru: Parsing JSON With DATA-INTO And A Twist

    September 23, 2019 Mike Larsen

    One of my recent projects required me to parse JSON returned from a web service. On the surface this sounded like a pretty easy task, but I quickly ran into a challenge. The JSON being retuned didn’t have a top-level element, and since I wanted to load the JSON into a data structure, my program couldn’t handle it.

    After some searching, I found that some of my options included changing the code in the parser (JSONPARSE) or using a totally different parser altogether. While both of these are viable options, I decided to take a slightly different route.

    Before I …

    Read more
  • Guru: Enumerated Data Types In RPG

    September 16, 2019 Ted Holt

    IT has changed a lot since I entered the field several decades ago, but some things have not changed. I would read in those early days that COBOL was dead, and I read the same thing now. Yet COBOL is 60 years old and still going strong. Back then I heard RPG criticized as “Real Poor Garbage”. These days I hear it scorned as “legacy”, which I assume is supposed to mean the same thing. Yet today’s RPG is better than any of its predecessors for business programming.

    RPG supposedly does not have the features of modern languages. Maybe not, …

    Read more
  • Guru: I’m A Number, You’re A Number, Everybody’s A Number

    September 9, 2019 Ted Holt

    Do you, like Bob Seger, sometimes feel that you are nothing more than a number? Me too. That’s because to many people, that’s exactly what we are. And if there’s one thing that computers are good at, it’s assigning numbers — to orders, to accounts, to invoices, to transactions, and of course, to people. Since we have to make the computer assign numbers, we may as well learn the modern way to do it.

    In my earliest days of programming, I would store the last assigned of a series of numbers in a data file. (The S/34 and S/36 …

    Read more
  • Guru: Read a Data Area As a One-Row Table with SQL, Take Two

    August 26, 2019 Ted Holt

    Fifteen years ago, reader W.G. asked me about the possibility of treating a data area as a one-row table (a physical file with one record) in an SQL query. The question intrigued me because in my System/36 days, I had often wished that I could access the local data area (LDA) as a one-record data file in a query.

    Today, thanks to Scott Forstie and his team at IBM, I update my response to W.G. with more information. It’s not that the technique I presented in 2004 is outdated — it’s as relevant as ever — but that the fine …

    Read more
  • Guru: Going Dark In RDi

    August 19, 2019 Paul Tuohy

    In this article I am going to show you how to configure RDi for dark mode. Dark mode is where the background of an application is changed from white to black. Some say that dark mode makes text (and especially code) easier to read. Others say it’s more difficult to read. Personally, I am a convert, but I know other developers who hate it. Maybe you should give it a try and see which you prefer.

    Recently, there has been a lot of debate about dark mode (mostly prompted by Apple introducing it as an option in its operating systems), …

    Read more
  • Guru: RDi Code Coverage Without SEPs

    August 12, 2019 Susan Gantner

    My last Guru tip provided an introduction to RDi’s Code Coverage tool that you can use to determine how complete your tests are. In that tip I discussed how to run it using Service Entry Points (SEPs). In this follow-on tip, I’ll continue the exploration of this tool with some additional details plus introduce you to an alternative way to run a Code Coverage session.

    Before going into the alternative approach to running Code Coverage, there are a few details I didn’t mention in the first tip.

    I mentioned that Code Coverage uses the debug engine. What I didn’t mention …

    Read more

Previous Articles Next Articles

Content archive

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

Recent Posts

  • SEU’s Fate, An IBM i V8, And The Odds Of A Power13
  • Tandberg Bankruptcy Leaves A Hole In IBM Power Storage
  • RPG Code Generation And The Agentic Future Of IBM i
  • A Bunch Of IBM i-Power Systems Things To Be Aware Of
  • IBM i PTF Guide, Volume 27, Numbers 21 And 22
  • Public Preview For Watson Code Assistant for i Available Soon
  • COMMON Youth Movement Continues at POWERUp 2025
  • IBM Preserves Memory Investments Across Power10 And Power11
  • Eradani Uses AI For New EDI And API Service
  • Picking Apart IBM’s $150 Billion In US Manufacturing And R&D

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