• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Guru: SUBSET on EXECUTE and OPEN

    June 15, 2020 Paul Tuohy

    The DB2 for i Enhancements in IBM i 7.3 Technology Refresh 8 / IBM i 7.4 Technology Refresh 2 just made dynamic SQL, embedded in RPG, a lot easier to use. It includes an enhancement entitled USING SUBSET on EXECUTE and OPEN with Extended indicators. This enhancement provides a simple and effective solution to a problem that I first highlighted in an article I wrote back in September of 2015. (See A First Look At SQL Descriptors.)

    The “problem” we are dealing with is how to handle a variable number of host variables being used in a dynamic …

    Read more
  • Guru: Graphical Debugging Through ACS

    June 8, 2020 Ted Holt

    ACS (IBM i Access Client Solutions) keeps getting better and better. I can’t stay up-to-date with the latest releases of all the software I use, but I do everything I can to keep up-to-date with ACS. One of the handiest of the relatively most recent releases is the ability to access IBM i Debugger through Run SQL Scripts. If you haven’t tried IBM i Debugger, you’re missing out.

    IBM i Debugger (a.k.a. System Debugger) is part of the IBM Toolkit for Java. It’s graphical, and it makes the green-screen debugger (STRDBG) look like something built by cavemen. To show you …

    Read more
  • Guru: RDi V9.6, Part 8 – Better Ways To Copy Members, Manage LIBLs, and Find Preferences

    May 18, 2020 Susan Gantner

    If my crystal ball had told me just how many RDi V9.6 fix packs there would be and, more importantly, how many great new features would be added, I might have thought differently about starting a numbered series! Looks like I may well make it into double digits. But I’m not complaining. RDi has always been a great tool, and the pace of significant new functionality added since late 2017, when V9.6 first appeared, has reached new heights.

    This tip covers some of the features added in V9.6.0.7. Yes, I still have some catching up to do since 9.6.0.8 recently …

    Read more
  • Guru: RDi V9.6 Part 7 – Zoom in, Know Where You Are, Refactor Constants and More

    May 11, 2020 Susan Gantner

    RDi enhancements just keep coming. Since my last installment in this series on V9.6 there have been more fix packs and quite a few new features. Here in part 7 I’ll cover refactoring character constants, two ways for RDi to indicate “you are here”, and a small but really useful way to zoom in on your code. Plus a small bonus item for those who do their compiles in batch.

    You Are Here!

    Two new features were added in 9.6.0.6 that act a bit like those “you are here” indications on maps. When editing RPG code, it tells you if …

    Read more
  • Guru: Calling RPG Programs From Python, Part 2

    April 27, 2020 Mike Larsen

    In Calling RPG Programs From Python, Part 1, I showed how to call an RPG program from a Python script passing single string parameters as input and output. In the second part of this series, I’ll make the process a little more robust by passing a data structure to the RPG program.

    The first part of the Python script (shown in the first piece of code below) imports the itoolkit modules and assigns them to local names. Next, I set up the first command that adds a library list entry to where the RPG object resides.

    from itoolkit import 
    …

    Read more
  • Guru: A Simple, Effective Way To Compare Data Using SQL

    April 20, 2020 Ted Holt

    One thing I have learned over the years is that no matter how much technology changes, people always ask the same questions like: “Why does the computer say we have 50 widgets when we only have 45?” and “Can you tell me who changed the due date of order number 12345?” and “How do sales of widgets this year compare to the same time last year?” It is the last of these that I wish to address today.

    Comparing data is a very common activity. Everybody compares data: sales people, production people, purchasing people, and of course management people. This …

    Read more
  • Guru: Copy From Stream File FMTOPT(*NOCHK)

    April 13, 2020 Bob Cozzi

    Using SQL frequently, as I do, I tend to look for solutions to problems that can be resolved using the database language (i.e., SQL). Sometimes I have to invent a missing piece of the puzzle. Often that entails writing a User-Defined Function (UDF) for use in SQL, but sometimes a CL command is the better choice.

    Recently I had a situation where what the client calls an “EDI File” was being downloaded using sftp on the IBM server running i. This file is created at a vendor that runs IBM mainframes (an actual mainframe by the way) and the file …

    Read more
  • Guru: SQL Checks For Control Breaks

    April 6, 2020 Ted Holt

    A control break occurs when the combined value of one or more fields changes from one row (record) to the next when reading a data set sequentially. I used to write RPG programs with control breaks often. Now that reports are less common, I write them less often, but that’s not to say I never write a program with control breaks.

    When I first learned to handle control breaks in RPG, I used the L1 through L9 level indicators. These worked wonderfully and fed my family for several years. When I moved from the System/36 world to the S/38 (and …

    Read more
  • Guru: Calling RPG Programs From Python, Part 1

    March 30, 2020 Mike Larsen

    In a prior article, I showed how to pass parameters to a Python script and execute the script from an RPG program. Based on feedback and my own curiosity, I wanted to see how I could pass parameters to an RPG program and call it from Python. After a bit of research, I found the Python interface itoolkit.

    itoolkit is an open source project provided by IBM as an interface to the XMLSERVICE toolkit, which allows us to call RPG programs, service programs, CL programs, and PASE Shell commands. itoolkit can be installed using an SSH terminal with …

    Read more
  • Guru: Maximum Number Of Jobs And Job Table Warning Customization

    March 23, 2020 Dawn May

    The QMAXJOB system value specifies the maximum number of jobs that can exist on your IBM i partition. The default value is 163,520, with the valid range being 32,000 through 970,000. If you reach the maximum number of jobs as defined by this system value, very bad things can happen to your system. You can always sign on to the console as the system reserves one job table entry for the console, but if you hit the limit on the maximum number of jobs, you will not be able to start any new jobs. In the worst case, it will …

    Read more

Previous Articles Next Articles

Content archive

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

Recent Posts

  • With Power11, Power Systems “Go To Eleven”
  • With Subscription Price, IBM i P20 And P30 Tiers Get Bigger Bundles
  • Izzi Buys CNX, Eyes Valence Port To System Z
  • IBM i Shops “Attacking” Security Concerns, Study Shows
  • IBM i PTF Guide, Volume 27, Number 26
  • Liam Allan Shares What’s Coming Next With Code For IBM i
  • From Stable To Scalable: Visual LANSA 16 Powers IBM i Growth – Launching July 8
  • VS Code Will Be The Heart Of The Modern IBM i Platform
  • The AS/400: A 37-Year-Old Dog That Loves To Learn New Tricks
  • IBM i PTF Guide, Volume 27, Number 25

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