// All articles
Articles
206 posts — sorted by latest first
[IBM I ADMINISTRATION]
Parameters, category values and output options for the IBM i Work with System Values (WRKSYSVAL) command, including how to display…
[IBM I ADMINISTRATION]
Parameters, required OBJTYPE values, authority requirements and escape messages for the Retrieve Object Description (RTVOBJD) CL command, for use inside…
[IBM I ADMINISTRATION]
Look up RTVJOBA parameters for retrieving job name, user, library lists, output queue, print device, date format and CCSID into…
[IBM I ADMINISTRATION]
A parameter-level reference for OVRDBF: FILE, TOFILE, MBR, POSITION, SHARE, SEQONLY and OVRSCOPE, how stacked overrides resolve, and how DLTOVR…
[IBM I MODERNIZATION]
A concrete, file-by-file GitHub Actions pipeline for ILE RPG: a self-hosted runner that reaches your IBM i over SSH, a…
[DB2 FOR I]
A reference to the QSYS2 SQL services that cover job monitoring, PTF and group-PTF status, and ASP/storage capacity — the…
[DB2 FOR I]
What SQLCODE -803 (SQL0803) means on Db2 for i, how to find the unique index or constraint and the row…
[DB2 FOR I]
Worked, concrete examples of INNER JOIN, LEFT OUTER JOIN, and the IBM-i-specific EXCEPTION JOIN on Db2 for i, plus the…
[DB2 FOR I]
A practical walkthrough of SQL DDL on Db2 for i: CREATE TABLE, PRIMARY KEY and FOREIGN KEY constraints, CHECK constraints,…
[RPG PROGRAMMING]
Field-level DDS keyword reference for display files: CHECK validity-checking codes, EDTCDE and EDTWRD numeric editing, and the COLOR and DSPATR…
[RPG PROGRAMMING]
How RPGLE locks a record on CHAIN and READ for an update file, the N extender that skips the lock,…
[RPG PROGRAMMING]
DCL-PR and DCL-PI syntax in free-form RPGLE: declaring parameters, the CONST, VALUE and OPTIONS keywords, EXTPROC and EXTPGM, and how…
[IBM I ADMINISTRATION]
Command-level reference for creating, changing, and deleting IBM i user profiles: CRTUSRPRF and CHGUSRPRF parameters and defaults, and the OWNOBJOPT/PGPOPT…
[IBM I ADMINISTRATION]
A symptom-first triage decision tree for IBM i: job stuck in MSGW, SQL error codes, lock waits, abends, and slow…
[CL PROGRAMMING]
A tutorial on reading a physical or logical file from a CL program: declaring it with DCLF, reading records with…
[CL PROGRAMMING]
A reference for declaring CL variables with DCL — *CHAR, *DEC, *LGL, *INT, *UINT, *PTR — and changing their values…
[CL PROGRAMMING]
The skeleton every CL program is built on: PGM and its PARM parameter, DCL variable declarations, ENDPGM, and the two…
[DB2 FOR I]
What SQLCODE -204 (SQL0204) means on Db2 for i, how naming mode, the library list, and the default schema decide…
[RPG PROGRAMMING]
What STRDBG (Start Debug) does, its twelve parameters and their defaults, how it opens the ILE source debugger, why UPDPROD(*NO)…
[DB2 FOR I]
What SQLCODE -501 (SQL0501, 'Cursor &1 not open') means on Db2 for i, the causes IBM documents, how COMMIT, ROLLBACK,…
[DB2 FOR I]
What SQLCODE -802 (SQL0802) means on Db2 for i, how to read IBM's documented error types (arithmetic overflow, division by…
[DB2 FOR I]
What SQLCODE -913 (SQL0913) actually means on Db2 for i, why the preceding CPD6DEF diagnostic message matters, how WRKOBJLCK and…
[RPG PROGRAMMING]
SFLNXTCHG is a record-level, parameterless DDS keyword that forces a subfile record to be returned by the next READC (get-next-changed)…
[RPG PROGRAMMING]
A walkthrough of the expandable-subfile pattern: size SFLSIZ against IBM's 9,999-record hard limit, get control back at the last loaded…
[RPG PROGRAMMING]
How to build a load-all subfile in free-format RPGLE: sizing SFLSIZ far above SFLPAG, loading the full result set in…
[RPG PROGRAMMING]
The real DDS message-subfile pattern — SFLMSGRCD on the record format, a hidden SFLMSGKEY first field, and SFLPGMQ identifying the…
[RPG PROGRAMMING]
Syntax, parameters, return value and character-translation patterns for the RPGLE %XLATE built-in function, including case conversion and the predefined case…
[RPG PROGRAMMING]
Syntax, parameters, return value and validation patterns for the RPGLE %CHECK and %CHECKR built-in functions: finding the first or last…
[RPG PROGRAMMING]
Syntax, parameters, return type and edge cases for the RPGLE %REPLACE built-in function: replacing part of a string, inserting text,…
[RPG PROGRAMMING]
Syntax, the optional character-list parameter, return type and edge cases for the RPGLE string built-in functions %TRIM, %TRIML and %TRIMR.
[RPG PROGRAMMING]
How UPDSRVPGM replaces modules in a service program without rebuilding it, how DSPSRVPGM shows its modules, exports and signatures, and…
[RPG PROGRAMMING]
What CRTSRVPGM creates, how EXPORT decides the public interface, the parameters and defaults that matter, a tested example and the…
[RPG PROGRAMMING]
What CRTPGM binds into a program, how ENTMOD and ACTGRP choose the entry point and the activation group, the parameters…
[RPG PROGRAMMING]
What the CRTRPGMOD command creates, the parameters and defaults that matter, a working example, and what to do with the…
[RPG PROGRAMMING]
What CRTBNDRPG creates, why DFTACTGRP(*YES) is its default, the parameters that matter, and the two errors you meet when you…
[RPG PROGRAMMING]
The ACTGRP and DFTACTGRP values for CRTBNDRPG, CRTPGM and CRTSRVPGM, what an activation group holds, when one is deleted, and…
[RPG PROGRAMMING]
What a binding directory holds, the order in which the binder searches for exports, how RPGLE names one with BNDDIR,…
[RPG PROGRAMMING]
STRPGMEXP, EXPORT and ENDPGMEXP with their parameters, how service-program signatures are generated and checked, the rules for compatible changes, and…
[RPG PROGRAMMING]
The three RPGLE module types (cycle, MAIN and NOMAIN), what each can contain, how to export and import procedures and…
[RPG PROGRAMMING]
What an ILE service program is, how it differs from a program and a module, bind by copy versus bind…
[IBM I ADMINISTRATION]
A task-first IBM i command index for jobs, library lists, objects, spooled files, messages, subsystems, backup, security, and system maintenance.
[IBM I ADMINISTRATION]
Lookup WRKSPLF, WRKOUTQ, DSPSPLF, CHGSPLFA, HLDSPLF, RLSSPLF, DLTSPLF, HLDOUTQ and RLSOUTQ for IBM i printer output troubleshooting.
[IBM I ADMINISTRATION]
A practical lookup for WRKOBJ, DSPOBJD, CHKOBJ, DSPLIB, WRKLIB, WRKMBRPDM and DSPFD when finding IBM i objects, libraries and members.
[IBM I ADMINISTRATION]
Lookup DSPLIBL, ADDLIBLE, RMVLIBLE, CHGLIBL, EDTLIBL and CHGCURLIB, with examples for wrong-object and batch-versus-interactive library-list problems.
[IBM I ADMINISTRATION]
A safe runbook for an IBM i job in MSGW: find the inquiry message, inspect the job log, choose whether…
[IBM I ADMINISTRATION]
A practical lookup for WRKACTJOB, WRKJOB, DSPJOB, DSPJOBLOG, ENDJOB, HLDJOB and RLSJOB, with safe inspection versus job-changing actions.
[RPG PROGRAMMING]
Syntax, file usage keywords, which record UPDATE changes, the %FIELDS form, WRITE and duplicate keys, DELETE by key or after…
[RPG PROGRAMMING]
Syntax, read loops that end correctly, key-change behaviour of READE, backwards reading with READP and READPE, locks and what to…
[RPG PROGRAMMING]
Syntax, search arguments, where the file is left after SETLL and SETGT, the %FOUND and %EQUAL results, the existence test…
[IBM I ADMINISTRATION]
Where to find an IBM i job log, how to read a CPF message ID, which commands show message text,…
[RPG PROGRAMMING]
Syntax, the start and length rules, use on the left side of an assignment, and range behaviour for the RPGLE…
[RPG PROGRAMMING]
Free-form syntax and behaviour of the RPGLE control-flow opcodes IF, ELSEIF, SELECT, WHEN, DOW, DOU, FOR, FOR-EACH, LEAVE, ITER, RETURN…
[RPG PROGRAMMING]
Syntax, single and composite keys, %KDS, the no-lock extender, %FOUND handling and the CHAIN then UPDATE pattern for the RPGLE…
[RPG PROGRAMMING]
Syntax, start and length arguments, return values, case sensitivity and examples for the RPGLE built-in functions %SCAN and %SCANRPL, including…
[RPG PROGRAMMING]
Free-form syntax, result tests and examples for the RPGLE file operations CHAIN, READ, READE, READP, SETLL, SETGT, WRITE, UPDATE and…
[RPG PROGRAMMING]
Convert old RPGLE fixed-format calculation lines to free-form, opcode by opcode, with before and after pairs for arithmetic, loops, file…
[RPG PROGRAMMING]
Which RPGLE operation sets %FOUND, %EOF, %EQUAL, %ERROR and %STATUS, what each returns, and the edge cases that make a…
[RPG PROGRAMMING]
Syntax, return values and edge cases for the RPGLE array built-in functions %ELEM, %SIZE, %LOOKUP and its comparison variants, and…
[RPG PROGRAMMING]
A lookup of the RPGLE operation codes grouped by task, with the free-form statement to use in new code and…
[RPG PROGRAMMING]
Syntax, formats, return values and edge cases for the RPGLE date and time built-in functions %DATE, %TIME, %TIMESTAMP, %DAYS, %MONTHS,…
[RPG PROGRAMMING]
Syntax, rounding and truncation rules, return values and edge cases for the RPGLE numeric and conversion built-in functions %INT, %INTH,…
[RPG PROGRAMMING]
Syntax, parameters, return values and edge cases for the RPGLE string built-in functions %SUBST, %SCAN, %TRIM, %REPLACE, %LEN and %CHAR.
[RPG PROGRAMMING]
A lookup index of the RPGLE built-in functions you use most, grouped by task, with one-line syntax and links to…
[RPG PROGRAMMING]
Learn how RPGLE varying-dimension arrays grow within a declared maximum, when to choose *VAR or *AUTO, and how to guard…
[RPG PROGRAMMING]
Learn how fixed-size RPGLE arrays use DIM, one-based subscripts, and %ELEM to store and process ordered values safely.
[RPG PROGRAMMING]
Use RPGLE LEAVE and ITER correctly: exit a loop immediately, skip the rest of the current iteration, and keep loop-control…
[RPG PROGRAMMING]
Learn how pre-test RPGLE DOW loops evaluate their while-condition before the body runs, why the body can execute zero times,…
[RPG PROGRAMMING]
Learn how post-test RPGLE DOU loops run their body first, evaluate the until-condition at ENDDO, and guarantee at least one…
[RPG PROGRAMMING]
Learn how counted RPGLE DO loops initialize an index, repeat a controlled block, advance through an inclusive limit, and avoid…
[RPG PROGRAMMING]
Learn how RPGLE comparison operators and AND/OR logic build boolean conditions, how precedence and grouping actually work, and how to…
[RPG PROGRAMMING]
Learn how RPGLE guard clauses and early exits can flatten nested conditions, expose the main path, and make procedure logic…
[RPG PROGRAMMING]
Learn how RPGLE SELECT, WHEN, OTHER, and ENDSL express readable multi-branch decisions, with ordered evaluation and practical business examples.
[RPG PROGRAMMING]
Learn how RPGLE IF, ELSEIF, ELSE, and ENDIF choose one-way, two-way, and ordered decision paths through practical business examples.
[RPG PROGRAMMING]
Learn what RPGLE's default (reference-style) parameter passing, VALUE, and CONST actually do to caller storage, with before/after worked examples and…
[DB2 FOR I]
Learn how to use the Db2 for i MERGE statement to update matching rows and insert new rows in one…
[RPG PROGRAMMING]
Learn the difference between an RPGLE variable, a named constant, and a literal, and how to use DCL-C, character/numeric/typed literals,…
[RPG PROGRAMMING]
Learn RPGLE data structure basics: declare typed subfields, use QUALIFIED access, reuse layouts with LIKEDS, and read simple nested structures.
[RPG PROGRAMMING]
Use RPGLE character, decimal, integer, date/time, and indicator types correctly by understanding what each declaration's length and precision mean.
[RPG PROGRAMMING]
Declare RPGLE variables with DCL-S, and see how scope and storage type - automatic, static, and working storage - control…
[RPG PROGRAMMING]
Organize fully free-form RPGLE with consistent sections, spacing, indentation, continuations, and comments that make program flow easier to review.
[RPG PROGRAMMING]
Learn how RPGLE indicators and status flags control legacy program flow, and how to map many patterns to clearer fully…
[RPG PROGRAMMING]
Learn how legacy RPGLE C-specs express calculations and control flow, then map those responsibilities to clear, fully free-form RPGLE logic.
[RPG PROGRAMMING]
Beginner guide to traditional RPGLE input and output specifications, their relationship to records and fields, and the modern fully free-form…
[RPG PROGRAMMING]
Beginner guide to RPGLE compiler directives, the **free directive, ctl-opt, and program-wide control options.
[RPG PROGRAMMING]
Beginner guide to the major sections of a typical RPGLE program and why each section exists.
[RPG PROGRAMMING]
Beginner guide to clearer RPGLE names, cleaner ordering, and easier-to-maintain code.
[RPG PROGRAMMING]
Beginner guide to reading RPGLE source in the right order.
[RPG PROGRAMMING]
Beginner guide to RPGLE editing tools and the edit, compile, diagnose, run workflow.
[RPG PROGRAMMING]
Beginner guide to the three RPGLE source styles you will see in IBM i code.
[RPG PROGRAMMING]
Beginner guide to how RPGLE source becomes a compiled IBM i program object.
[RPG PROGRAMMING]
Beginner guide to RPGLE terminology on IBM i.
[RPG PROGRAMMING]
Beginner-friendly RPGLE pillar for IBM i.
[IBM I FUNDAMENTALS]
REST APIs and HTTP clients let IBM i exchange business data with modern systems while keeping the core logic controlled…
[IBM I FUNDAMENTALS]
JSON and XML processing let IBM i exchange structured data with modern systems without forcing the core logic to change…
[IBM I FUNDAMENTALS]
Good IBM i error handling turns a vague failure into a message, a log entry, and a clear recovery path.
[IBM I FUNDAMENTALS]
Modules, bound programs, and binding directories are the packaging layer that turns compiled IBM i code into reusable application components.
[IBM I FUNDAMENTALS]
Prevent IBM i resource leaks and job restarts by mastering activation groups, call stacks, ACTGRP settings, and a practical RPG,…
[IBM I FUNDAMENTALS]
Good IBM i application design separates concerns, keeps business logic readable, and makes change safer for the whole team.
[IBM I FUNDAMENTALS]
Security auditing and authority collection help IBM i teams see how access is used in practice and where permissions should…
[IBM I FUNDAMENTALS]
Release upgrades succeed when compatibility, testing, and rollback planning are treated as first-class work.
[IBM I FUNDAMENTALS]
A practical IBM i maintenance plan: PTF types, HIPER and defective PTFs, checking what is installed, temporary versus permanent and…
[IBM I FUNDAMENTALS]
Access Client Solutions is the modern client toolkit many IBM i users rely on for sessions, SQL work, file transfer,…
[IBM I FUNDAMENTALS]
The Integrated File System is how IBM i works with stream files and directories in a way that looks familiar…
[IBM I FUNDAMENTALS]
Data areas, data queues, and user spaces give IBM i programs simple building blocks for sharing state and passing messages.
[IBM I FUNDAMENTALS]
A practical look at why IBM i remains relevant in 2026, including stability, integrated architecture, and long-lived business value.
[IBM I FUNDAMENTALS]
Output queues and spool files are the IBM i print and report pipeline, even when the final destination is not…
[IBM I FUNDAMENTALS]
A practical guide to IBM i security basics, including authorities, object protection, and simple best practices.
[IBM I FUNDAMENTALS]
Subsystems and job descriptions are the operational framework that decides where work runs and how jobs are classified on IBM…
[IBM I FUNDAMENTALS]
Journaling and commitment control are the pieces that help IBM i applications protect data changes and recover cleanly after failures.
[IBM I FUNDAMENTALS]
A practical IBM i career path starts with the basics, then grows into development, operations, database work, and broader platform…
[IBM I FUNDAMENTALS]
What Db2 for i is, how it is built into the operating system, how SQL and native file access map…
[IBM I FUNDAMENTALS]
Good IBM i maintenance is about managing change safely: source control, review, testing, documentation, and predictable releases.
[IBM I FUNDAMENTALS]
What Control Language does on IBM i: running commands, variables and flow control, handling errors with MONMSG, submitting jobs, and…
[IBM I FUNDAMENTALS]
SQL on IBM i is the modern way to query and manage Db2 for i data. Beginners can start with…
[IBM I FUNDAMENTALS]
Performance tuning on IBM i starts with measurement, workload understanding, and small changes that improve real bottlenecks.
[IBM I FUNDAMENTALS]
IBM i batch work runs on schedules, queues, and jobs. Understanding that flow helps beginners see how the platform handles…
[IBM I FUNDAMENTALS]
How IBM i organizes everything as objects in libraries: object types, members in source and data files, the library list,…
[IBM I FUNDAMENTALS]
Debugging on IBM i starts with logs, messages, and the right tools. Beginners can learn to isolate problems without guessing.
[IBM I FUNDAMENTALS]
A beginner-friendly explanation of the IBM i architecture, including the operating system, integrated database, objects, and the server layer.
[IBM I FUNDAMENTALS]
IBM i organizes data through libraries, files, members, and SQL access. Understanding those layers makes the platform much easier to…
[IBM I FUNDAMENTALS]
IBM i and mainframe systems both support serious enterprise workloads, but they are different platforms with different operating models, scale…
[IBM I FUNDAMENTALS]
Modernizing IBM i does not mean replacing the platform. It usually means exposing existing systems through APIs, SQL, better interfaces,…
[IBM I FUNDAMENTALS]
A short history of the AS/400 platform lineage and how it evolved into the IBM i environments that run on…
[IBM I MODERNIZATION]
Call external REST APIs from IBM i in 2026: use QSYS2.HTTP_GET and QSYS2.HTTP_POST SQL table functions to make HTTP requests,…
[RPG PROGRAMMING]
Build an ILE RPG service program: NOMAIN source, binder language with STRPGMEXP, EXPORT and ENDPGMEXP, signatures and compatibility, CRTSRVPGM, UPDSRVPGM,…
[IBM I ADMINISTRATION]
Master IBM i save and restore in 2026: save and restore individual objects with SAVOBJ and RSTOBJ, save entire libraries…
[IBM I FUNDAMENTALS]
AS400 usually means IBM i running on IBM Power hardware. This beginner's guide explains AS/400, IBM i, and IBM Power…
[CL PROGRAMMING]
Master IBM i commitment control in 2026: start and end commitment definitions with STRCMTCTL and ENDCMTCTL, control DB2 transaction scope…
[CL PROGRAMMING]
Master IBM i job scheduling in 2026: add recurring batch jobs with ADDJOBSCDE, manage schedules with WRKJOBSCDE and CHGJOBSCDE, create…
[IBM I MODERNIZATION]
Build AI-driven anomaly detection for IBM i operational data in 2026: query QSYS2 system views for job and performance metrics,…
[IBM I MODERNIZATION]
Integrate IBM MQ with IBM i in 2026: create and configure queue managers, define local and remote queues, set up…
[IBM I ADMINISTRATION]
Master IBM i output queue and print management in 2026: create and configure output queues with CRTOUTQ and CHGOUTQ, work…
[IBM I MODERNIZATION]
Master ILE RPG string handling on IBM i in 2026: use %SCAN, %SUBST, %REPLACE, %TRIM, %TRIMR, and %TRIML for text…
[IBM I ADMINISTRATION]
Configure and troubleshoot IBM i TCP/IP networking in 2026: use CFGTCP to manage interfaces and routes, add IP addresses with…
[IBM I MODERNIZATION]
Apply the strangler fig pattern to IBM i modernization in 2026: identify seams in monolithic RPG applications, build a facade…
[IBM I MODERNIZATION]
Build a production REST API server on IBM i in 2026 using Node.js and Express in PASE: connect to DB2…
[IBM I FUNDAMENTALS]
Read and write IFS stream files from ILE RPG programs on IBM i in 2026: use Qp0lOpen, Qp0lRead, Qp0lWrite, and…
[CL PROGRAMMING]
Master IBM i data areas and data queues for inter-program communication in 2026: create and manage data areas with CRTDTAARA,…
[DB2 FOR I]
Master DB2 for i window functions in 2026: use ROW_NUMBER, RANK, DENSE_RANK, NTILE, LAG, LEAD, FIRST_VALUE, and LAST_VALUE with the…
[DB2 FOR I]
Master ILE RPG date and time handling in 2026: declare date, time, and timestamp fields, convert between formats using %DATE…
[IBM I MODERNIZATION]
Bring AI inference to IBM i in 2026 with IBM watsonx on Power: deploy Granite foundation models co-located with your…
[IBM I ADMINISTRATION]
Tune IBM i memory performance in 2026: understand the *BASE, *INTERACT, and *SPOOL shared pool structure, set pool sizes and…
[IBM I MODERNIZATION]
Send email from IBM i in 2026 using every available method: configure the SMTP server with CHGSMTPA, send plain-text alerts…
[IBM I ADMINISTRATION]
Schedule IBM i batch work with the base job scheduler: ADDJOBSCDE frequency, day and date parameters, omitted dates, hold and…
[DB2 FOR I]
Unlock the power of DB2 for i CTEs and recursive SQL in 2026: write readable multi-step queries using the WITH…
[IBM I MODERNIZATION]
Master IBM i RPG subfile programming in 2026: design subfile and subfile control record formats in DDS with SFLPAG and…
[IBM I FUNDAMENTALS]
Secure the IBM i Integrated File System in 2026: understand the IFS authority model, control *PUBLIC access, use CHGAUT and…
[IBM I ADMINISTRATION]
Master IBM i journal management in 2026: create journals and journal receivers with CRTJRN, start and end object journaling with…
[IBM I MODERNIZATION]
Modernize fixed-format RPG on IBM i using AI tools in 2026: convert with CVTRPGSRC and IBM Merlin, use LLMs like…
[IBM I MODERNIZATION]
Implement OAuth 2.0 authentication from IBM i in 2026: the client credentials flow using HTTPAPI and DB2 HTTP functions, storing…
[DB2 FOR I]
Optimize DB2 for i query performance in 2026: understand SQE vs CQE query engines, use Visual Explain in ACS to…
[CL PROGRAMMING]
Build robust IBM i CL programs with proper exception handling: IBM i message types, MONMSG command patterns, program message queue…
[RPG PROGRAMMING]
Master ILE RPG data structures: dcl-ds syntax, qualified data structures with dot notation, LIKEDS for cloning a structure, template data…
[IBM I FUNDAMENTALS]
Understand the IBM i PASE runtime in depth: AIX binary compatibility, how PASE differs from QShell, managing environment variables, PASE…
[IBM I MODERNIZATION]
Set up a modern IBM i development environment in 2026: install the Code for IBM i VS Code extension, edit…
[IBM I ADMINISTRATION]
A complete guide to IBM i work management in 2026: create custom subsystem descriptions, configure routing entries and class objects,…
[IBM I MODERNIZATION]
Learn how to integrate IBM i with Microsoft Azure in 2026 using the Azure Python and Node.js SDKs in PASE.…
[DB2 FOR I]
A comprehensive guide to DB2 for i JSON and XML functions in 2026: extracting scalars with JSON_VALUE, shredding arrays with…
[CL PROGRAMMING]
A deep dive into the IBM i ILE binding model: how modules, programs, service programs, and binding directories relate, how…
[CL PROGRAMMING]
Master IBM i CL exception handling in 2026: message file architecture, CRTMSGF and ADDMSGD to define messages, SNDPGMMSG for escape…
[IBM I ADMINISTRATION]
A practical guide to IBM i security hardening in 2026: QSECURITY levels 10–50, auditing user profiles with QSYS2.USER_INFO, removing excessive…
[DB2 FOR I]
A comprehensive guide to DB2 for i SQL stored procedures and user-defined functions in 2026: CREATE PROCEDURE syntax, IN/OUT parameters,…
[IBM I MODERNIZATION]
A practical guide to using AI and large language models to document legacy IBM i RPG programs in 2026: extracting…
[CL PROGRAMMING]
A complete guide to IBM i system startup and shutdown procedures in 2026: understanding the IPL sequence, configuring QSTRUP, starting…
[IBM I MODERNIZATION]
HTTPAPI by Scott Klement is the standard open source library for making outbound HTTP calls from IBM i RPG programs.…
[DB2 FOR I]
DB2 for i triggers fire automatically on INSERT, UPDATE, and DELETE, enforcing rules that application code cannot bypass. This post…
[IBM I MODERNIZATION]
A complete guide to RPGUnit for ILE RPG in 2026: install the framework, write test cases and test suites for…
[IBM I MODERNIZATION]
A practical IBM i application modernisation roadmap for 2026: compare six strategies from screen transformation and API wrapping to selective…
[DB2 FOR I]
Vector search and text embeddings bring semantic search to IBM i in 2026 — converting DB2 for i text fields…
[DB2 FOR I]
DB2 for i replication in 2026 is built on IBM i journals — the same journal receivers that underpin HA…
[IBM I MODERNIZATION]
A hands-on guide to connecting IBM i with Apache Kafka in 2026 — running kafkajs and confluent-kafka-python producers in PASE,…
[IBM I MODERNIZATION]
A practical guide to IBM i display files in 2026 — DDS syntax, CRTDSPF, RPG EXFMT screen I/O, subfile programming…
[IBM I ADMINISTRATION]
How to order cumulative and group PTFs with SNDPTFORD, install them with GO PTF option 8 or APYPTF, deliver them…
[IBM I ADMINISTRATION]
IBM i high availability and disaster recovery in 2026 requires understanding the full stack: geographic mirroring at the storage layer,…
[IBM I MODERNIZATION]
Python runs natively on IBM i in PASE with direct DB2 access via ibm_db and pyodbc, IBM i program calls…
[IBM I ADMINISTRATION]
The IBM i OS API layer accessible from ILE RPG: QCMDEXC for running CL commands at runtime, the list API…
[IBM I FUNDAMENTALS]
Advanced IBM i IFS topics for production environments: enabling journalling on IFS directories for recovery and replication, sharing IFS directories…
[CL PROGRAMMING]
The operational CL commands IBM i administrators use every day: WRKACTJOB status codes explained (RUN, DSKW, LCKW, MSGW), CHGJOB and…
[DB2 FOR I]
Advanced DB2 for i query performance: the SQE versus CQE split and what it means for your queries, column statistics…
[IBM I ADMINISTRATION]
IBM i performance problems are almost always paging (undersized memory pools) or SQL without indexes. This post covers the IBM…
[IBM I MODERNIZATION]
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 MODERNIZATION]
AI intersects with IBM i in three ways: as an integration target (calling OpenAI or watsonx from RPG and SQL…
[IBM I FUNDAMENTALS]
The IBM i Integrated File System is the foundation of modern IBM i development — Git, open-source packages, Node.js, Python,…
[IBM I ADMINISTRATION]
IBM i security is object-based and OS-enforced — bypassing the application does not bypass security. This post covers QSECURITY levels,…
[IBM I ADMINISTRATION]
DB2 for i is not a database running on IBM i — it is part of the operating system. This…
[IBM I ADMINISTRATION]
Modern RPG is not the fixed-format column-dependent code that gave the language its reputation. This post covers fully free-format RPG…
[IBM I ADMINISTRATION]
CL is not a legacy language waiting to be replaced — it is the correct tool for controlling the IBM…
[IBM I MODERNIZATION]
IBM i can integrate with Azure, AWS, and SaaS platforms without custom adapters or protocol gymnastics. This post covers five…
[IBM I ADMINISTRATION]
IBM i has collected detailed performance data for decades — most shops only look at it when something breaks. This…
[IBM I MODERNIZATION]
IBM i DevOps is not theoretical — Git, Bob, RPGUnit, and GitHub Actions all run on IBM i 7.3+. This…
[IBM I MODERNIZATION]
REST APIs are the bridge between IBM i and modern front ends. This post covers every practical option — IAS…
[IBM I MODERNIZATION]
The "should we leave IBM i?" conversation has been happening for twenty years. The shops that handled it well are…
[RPG PROGRAMMING]
Most IBM i shops still manage source the same way they did in the 1990s — members in source physical…
[CL PROGRAMMING]
IBM i batch jobs are the ones nobody watches — until one fails. This post covers SBMJOB, WRKJOBSCDE, job queues,…
[RPG PROGRAMMING]
Every RPG developer eventually writes a program that does something it should not. The calculation is wrong. The loop runs…
[RPG PROGRAMMING]
Most RPG programs are written to handle the happy path. The file exists, the record is found, the calculation succeeds,…
[IBM I ADMINISTRATION]
Performance problems on IBM i tend to fall into a small number of categories. A query that reads every record…
[IBM I ADMINISTRATION]
Every IBM i developer eventually ends up doing some administration. A job gets stuck. The output queue fills up. A…
[IBM I MODERNIZATION]
IBM i has been talking to other systems for decades. EDI over AS/400 communications, FTP file drops, MQ message queues…
[IBM I FUNDAMENTALS]
Most IBM i developers spend their entire careers working with physical files and never touch the IFS. That is understandable…
[DB2 FOR I]
Every physical file you have ever defined in DDS, every CHAIN and READ in your RPG programs, every logical file…
[CL PROGRAMMING]
If you write RPG, you already use CL whether you realise it or not. Every time you submit a job,…
[RPG PROGRAMMING]
You already know how to read files with READ and CHAIN. They work. But the moment your query involves a…
[RPG PROGRAMMING]
Subprocedures let you break logic into reusable blocks inside a single program. Service programs take it further — compile your…
[RPG PROGRAMMING]
You already write RPG. Free-format does not replace what you know — it removes the straitjacket. No more counting columns,…
[IBM I MODERNIZATION]
A practical enterprise guide to IBM i modernization covering APIs, RPG transformation, AI-assisted modernization, and legacy system evolution.