Author name: AS400 Decoded

Operations & Admin

IBM i PTF Management and OS Upgrades in 2026: Ordering Cumulative PTFs, Managing SF99xxx Groups, and Planning an OS Upgrade

IBM i PTF management in 2026 spans four distinct fix types — individual PTFs, cumulative PTF packages, SF99xxx group PTFs, and Technology Refreshes — each with its own ordering, application, and scheduling discipline. This post explains how to check what is currently installed with DSPPTF and WRKPTF, which SF99xxx groups matter most (DB2, Java, open source, security, HTTP, and TCP/IP), how to order fixes via SNDPTFORD and IBM Fix Central, and how to apply them safely using APYPTF and APYGRPPF with an understanding of IPL-required PTFs and hold/release mechanics. The post also covers using IMGCLG image catalogues to load cumulative packages without physical media, and walks through the order of operations for planning a full IBM i OS version upgrade — from CHKPRDOPT and licence checks through GO LICPGM and the upgrade IPL itself.

Operations & Admin

IBM i High Availability and Disaster Recovery in 2026: Geographic Mirroring, Switchable ASPs, and HA Tools Compared

IBM i high availability and disaster recovery in 2026 requires understanding the full stack: geographic mirroring at the storage layer, switchable Independent Auxiliary Storage Pools for role swaps, and journal-based logical replication for granular data protection. This post compares the major IBM i HA architectures and leading third-party tools — MIMIX, iTera, and PowerHA SystemMirror for i — explaining how to align your RTO and RPO targets with the right replication strategy. You will learn how IASPs enable a production disk pool to be varied off one system and varied on another, how geographic mirroring keeps a remote copy synchronised at the hardware level, and how journals underpin every logical replication product on the platform. Practical CL command examples cover VRYCFG, STRGEOMRR, DSPGEOMRR, CHGJRN, and the steps needed to execute and test a planned switchover.

Modern Integrations

Python on IBM i in 2026: Running Python in PASE, Accessing DB2 for i, Calling IBM i Programs with itoolkit, and AI Integration

Python runs natively on IBM i in PASE with direct DB2 access via ibm_db and pyodbc, IBM i program calls via itoolkit-for-i, and access to the full Python AI ecosystem. This post covers installing Python via yum, querying DB2 for i with ibm_db_dbi, loading IBM i data into pandas DataFrames, calling CL commands and RPG programs with itoolkit, extracting IBM i data to AWS S3 with boto3, batch AI classification with the OpenAI Python library, watsonx.ai integration, running Python from CL, and when to use Python versus Node.js versus RPG.

Operations & Admin

Advanced ILE RPG in 2026: System Pointers, IBM i OS APIs, Dynamic Program Calls, and User Spaces

The IBM i OS API layer accessible from ILE RPG: QCMDEXC for running CL commands at runtime, the list API pattern using user spaces (QUSCRTUS, QUSLOBJ, QUSRTVUS), listing objects in a library at runtime, dynamic program calls using variable names and procedure pointers, system pointers and the capability-based OS model, and QUSROBJD for checking object existence without triggering an error message.

IFS & File Systems

IBM i IFS Advanced in 2026: Journalling Stream Files, NetServer SMB Shares, IFS Backup, Large Files, and CCSID Encoding

Advanced IBM i IFS topics for production environments: enabling journalling on IFS directories for recovery and replication, sharing IFS directories as Windows network drives through NetServer, NFS exports for Linux clients, saving and restoring IFS data with SAV/RST, large file support for files over 1GB, and CCSID encoding management — why CCSID 1208 (UTF-8) matters, how to set it, and the CCSID 65535 trap that breaks modern tooling.

CL Commands

IBM i System Operations with CL in 2026: Subsystem Management, Job Control, Data Queues, Output Queues, and Job Scheduling

The operational CL commands IBM i administrators use every day: WRKACTJOB status codes explained (RUN, DSKW, LCKW, MSGW), CHGJOB and ENDJOB for job control, WRKSBS and ENDSBS for subsystem management, DSPMSG and SNDMSG for message queues, WRKSPLF and CPYSPLF for output queues, CRTDTAQ and RCVDTAQ for inter-job data queues, ADDJOBSCDE for the built-in job scheduler, and practical patterns for production operations.

DB2 for i

DB2 for i Advanced SQL in 2026: SQE vs CQE, Index Advisor, Column Statistics, Materialized Query Tables, and Query Performance Patterns

Advanced DB2 for i query performance: the SQE versus CQE split and what it means for your queries, column statistics and automatic maintenance, the Index Advisor and MTI (Managed Temporary Index) detection, Visual Explain in ACS, Materialized Query Tables for pre-computed aggregations, bitmap indexes for analytics, and the SQL anti-patterns that consistently cause performance problems on IBM i — non-sargable predicates, SELECT *, implicit type conversions, and leading wildcard LIKE.

Operations & Admin

IBM i Performance Tuning in 2026: Memory Pools, Reading WRKACTJOB, Collection Services, and Diagnosing Slow Batch Jobs

IBM i performance problems are almost always paging (undersized memory pools) or SQL without indexes. This post covers the IBM i memory pool model, reading WRKSYSSTS and WRKACTJOB correctly, key performance system values including QPFRADJ, Collection Services for historical analysis, diagnosing LCKW and DSKW job states, the Index Advisor, and common performance anti-patterns in batch RPG and SQL programs.

Modern Integrations

IBM i and Node.js in 2026: Running Node.js in PASE, Accessing DB2 for i, and Building REST APIs on IBM i

Node.js runs natively on IBM i in PASE with direct in-process access to DB2 for i via idb-connector and to IBM i programs via itoolkit. This post covers installing Node.js via yum, synchronous and async DB2 queries with idb-pconnector, calling RPG service programs with itoolkit, building a REST API with Express.js, managing processes with PM2, JWT authentication, and using nginx as a reverse proxy on IBM i.

Scroll to Top