About IBM i Operating System in more detail
IBM i Operating System in more detail
Module Content
IBM i Operating System in more detail
Diving into the IBM i Ecosystem
MEMBERS ONLY
Introduction to the IBM i system menu
Everything is an Object In IBM i (AS/400), all system resources—programs, files, commands, and even libraries—are encapsulated as objects. This abstraction provides a unified way to manage diverse elements without needing separate handling rules
What are the typical nouns used in IBM i commands, and what do they represent?
IBM i Libraries and Objects
Library List, Types and Objects in more detail
The IBM i System uses library lists to determine where a job can find the objects it needs. Each job on the system has a library list attached to it.
The Integrated File System (IFS) is a file system used in IBM i Power Systems (also used on the older AS/400 and iSeries machines). It operates as a storage system that replicates the classic folder/document folder used by Unix and windows systems. It allows full operability with these other systems.
QDLS (Document Library Services) is an old, legacy file system within IBM i. IBM states that QDLS dates back to System/36 and System/38 and is maintained only for backward compatibility. [ibm.com]
We all know that a database stores data - but what is the difference between a Table, a Physical File, a Logical File, a View, an Index?
DDS Definitions for Physical File - How to Create a file with Default Values
Let's go through a code example of creating a *PF - Physical File
Logical Files are IBM's way of saying "lets look a this file data in a certain sequence". They really are quite logical. Let's go through a code example of creating a *LF - Logical File
It's time to grab some old AS400 Physical Files and drag them kicking and screaming into the IBM i SQL Age...
Demystify SQL Stored Procedures on IBM i and make them feel less like arcane magic and more like practical wizardry.
Journaling is a function which records the changes in a file in a journal. These record images are used to recover the changes in the file should the system ends abnormally. Commitment control is a function that allows you to define and process a no of changes to database files as a single unit (transaction).
The IBM i System utilises various types of libraries to organise and manage objects within the system. Library lists, which are associated with each job, specify the libraries that the job can access.
To configure your IBM i system to enforce long passwords with a minimum of 10 characters and require at least one special character, you'll need to adjust several system values related to password rules. Here's a breakdown of what to set:
If you are new to IBM i or just need a refresher, today is all about Licensed Programs. These are the building blocks that extend your system's capabilities beyond the base OS. We will keep it straightforward, technical, and hands-on. Think of this as your quick-start lesson to understanding what they are, why they matter, and the basics of installing and uninstalling them.
What is an IBM PTF? That is the question I get asked all the time by new IBM i programmers and even some old hands who have never really dug into the details. So let me give you the clear, straight answer right up front: An IBM PTF, or Program Temporary Fix, is IBMs official way of delivering targeted updates to your IBM i operating system and its licensed programs. Think of a PTF as a smart software patch. It fixes bugs, plugs security holes, improves performance, adds new features, and in many cases bundles up as a Technology Refresh that keeps your system modern without forcing a full OS upgrade. These are not random one-offs. PTFs come in different shapes: individual fixes for a specific problem, group PTFs focused on one area like security or Java, cumulative packages that roll up hundreds of fixes, and those powerful Technology Refresh groups that stack nicely on top of each other.
It's time to dive into the world of Independent ASPs (iASPs) on IBM i. We begin with the basics of ASP types—comparing System ASP, Basic User ASPs, and Independent ASPs to familiar Windows drive concepts—then dive deep into what makes iASPs unique: detachable storage pools with separate databases, private vs. switchable configurations, and vary on/off capabilities. A detailed architecture diagram illustrates SYSBASE alongside multiple iASPs, each with isolated libraries, IFS directories, and relational databases, highlighting namespace isolation where identical library names can coexist across different iASPs (as long as only one ASP group is active per thread). Practical command examples like SETASPGRP, VRYCFG, and job-description overrides demonstrate real-world access methods, while the final chapter covers essential best practices including user profile settings, backup strategies (why Option 21 skips iASPs!), SMAPP considerations, and application design tips for maximum reliability and performance.
IBM i Commands
MEMBERS ONLY
The 10 most commonly used IBM i (AS/400 / iSeries) commands neatly march into a few predictable categories: library/object management, job control, system monitoring, file/database utilities, and the ever-glamorous spooled file handling. According to the sacred scrolls of admin cheat sheets and developer guides, these commands pop up so often they might as well have their own punch card for frequent use.
WRKACTJOB (Work with Active Jobs): Monitors CPU, memory, and status of running jobs.
WRKACTJOB is one of the most useful commands on IBM i, but once you move past the basics, it opens up a whole world of detail that many programmers never fully explore. Hidden behind those columns and options are powerful insights into performance, job behavior, wait conditions, and system health. In this lesson, we’ll go beyond the surface and unpack WRKACTJOB in a way that makes every field, filter, and function feel intuitive. By the end, you’ll read this display like a seasoned operator spotting issues faster, understanding system flow more clearly, and making smarter decisions with confidence.
WRKSPLF (Work with Spool Files): Manages print output, allowing users to view, hold, or delete spooled files.
WRKLNK (Work with Links): Navigates and manages the Integrated File System (IFS).
WRKOBJ (Work with Objects): Searches for and manages system objects, such as files, programs, and libraries.
WRKOUTQ (Work with Output Queues): Manages queues for printed output, allowing release or deletion of jobs.
DSPLIBL (Display Library List): Shows the current library list for the user session.
DSPJOB (Display Job): Displays details, status, and logs for a specific job.
SBMJOB (Submit Job): Submits a command or program to run in a batch subsystem.
SIGNOFF: Logs the user off the system.
DSPMSG QSYSOPR (Display System Operator Messages): Views messages sent to the operator queue.
In this video, we explore the PRTCMDUSG command on IBM i, a powerful tool for analyzing command usage and understanding how commands are structured and accessed. Whether you're an RPG developer, system admin, or just diving into IBM i command architecture, this tutorial will help you: ✅ Understand what PRTCMDUSG does 🛠️ Learn how to run it and interpret its output 📁 See real-world examples of command usage reports 🔍 Discover how it can help with debugging and documentation
WRKUSRPRF Work with User Profiles – Manage and view user profiles on the system. **WRKUSRPRF (Work with User Profiles)** on IBM i is the central command for viewing, managing, and maintaining user profiles the objects that define how a person or job interacts with the system. It provides a single panel where you can list all profiles, drill into attributes like passwords, special authorities, initial menus, job descriptions, group memberships, and status, and perform actions such as creating, changing, disabling, enabling, or deleting profiles. Administrators use WRKUSRPRF constantly because it ties together security, access control, and system behavior: from controlling who can sign on, to what libraries they see, to what commands they’re allowed to run. In short, it’s the IBM i “user management hub,” combining visibility and control in one familiar green‑screen interface.
GO is the command that launches any system or custom menu, acting as a fast‑track navigation hub for operators and developers. When you run GO followed by a menu name, such as GO MAIN, GO SECTOOLS, or your own application menu, the system displays a structured list of options that group related commands, tasks, and workflows. It’s essentially IBM i’s built‑in “start menu,” letting you jump into security tools, job management, programming utilities, or application functions without remembering every command. Because menus can be customized, GO also becomes a powerful way to build user‑friendly entry points for business applications, guiding users through tasks while keeping the underlying command complexity hidden.
**DSPLIB (Display Library)** on IBM i shows you a detailed view of the objects inside a specific library, making it one of the simplest ways to inspect what an application or system library actually contains. When you run `DSPLIB LIB(MYLIB)` the system lists every object in that library along with its type, attribute, and size, and you can drill into individual objects for more information. It is a read focused command, perfect for quick audits, troubleshooting, or confirming that a program, file, or service object exists where you expect it to be. While WRKLIB gives you a list of libraries, DSPLIB takes you one level deeper and shows the contents of a single library in a clean, easy to navigate format.
WRKLIB is the command administrators use to display, explore, and manage libraries, the top‑level containers that hold objects such as files, programs, and service tools. Running WRKLIB LIB(*ALL) (or a specific name or pattern like WRKLIB LIB(MYLIB*)) brings up a list of matching libraries along with options to view attributes, rename, delete, change authorities, or drill into their contents. It’s essentially the “library control panel” of the system, giving you quick visibility into where application objects live, how libraries are organized, and what storage or security settings they use. For anyone maintaining IBM i environments, WRKLIB is a daily driver because it ties together object management, troubleshooting, and system organization in one clean interface.
Display Messages like an IBM-i champion! **DSPMSG (Display Messages)** on IBM i shows you the messages waiting in a specific message queue, most commonly your own workstation message queue. When you run `DSPMSG` the system displays a list of messages that may include informational notices, escape messages, job errors, system warnings, or replies required by running jobs. From the panel you can read full message text, view message details, send replies, or delete messages you no longer need. It is one of the core tools for monitoring what the system is trying to tell you, making it essential for operators and developers who need to keep an eye on job activity, errors, and system events.
**WRKMSGD (Work with Message Descriptions)** on IBM i is the command you use to browse, create, change, or delete message descriptions stored in message files. A message description defines the text, severity, substitution variables, help text, and other attributes for a specific message ID such as CPF9898 or RPG0005. When you run `WRKMSGD MSGF(MYMSGF)` the system lists all message IDs in that message file and lets you drill into each one to edit wording, add second level text, or adjust how programs receive and display the message. It is an essential tool for application developers who maintain custom message files because it centralizes all message text in one place, keeps programs clean, and supports multilingual or environment specific messaging without changing code.
**CRTCLPGM (Create CL Program)** on IBM i compiles a CL source member into an executable program object, turning your CL commands into a runnable program that can be called from menus, jobs, or other programs. When you run `CRTCLPGM PGM(MYLIB/MYCLPGM) SRCFILE(MYLIB/QCLSRC)` the system reads the source, checks syntax, resolves commands, and produces a program object of type *CLP or *CLLE depending on the source type. It supports options like debugging views, optimization levels, and activation groups, making it flexible for both traditional OPM CL and modern ILE CL. Developers use CRTCLPGM whenever they update automation scripts, job control logic, menu drivers, or system utilities, because it is the essential step that transforms CL source code into something the system can execute.
Need to delete an IBM-i User Account? It's called a "User Profile" and this is how you do it... **DLTUSRPRF (Delete User Profile)** on IBM i removes a user profile from the system and optionally handles all of the objects owned by that profile. When you run `DLTUSRPRF USRPRF(MYUSER)` the system deletes the profile itself, but you must choose what to do with its objects using the `OWNOBJOPT` parameter which lets you delete them, transfer them to another user, or keep them orphaned for later reassignment. The command is powerful and potentially destructive because user profiles often own libraries, files, job descriptions, output queues, and other critical objects. Administrators typically use DLTUSRPRF when cleaning up old accounts, decommissioning contractors, or tightening security, and they always double check object ownership before running it to avoid accidental data loss.
Need to make CHANGES to an IBM-i User Account? It's called a "User Profile" in the IBM-i world, and this is how you do it... **CHGUSRPRF (Change User Profile)** on IBM i is the command used to modify the attributes of an existing user profile, letting administrators update security settings, passwords, group memberships, job descriptions, initial menus, special authorities, and dozens of other characteristics without recreating the profile. When you run `CHGUSRPRF USRPRF(MYUSER)` you can adjust anything from password rules to library lists to whether the user can run commands or access system functions. It is one of the core security and system management tools because user profiles define how every person and job interacts with the system. CHGUSRPRF keeps those profiles current as roles change, permissions evolve, or security policies tighten, making it essential for day to day administration on IBM i.
Submitting IBM-i jobs is easy... finding them and figuring out what they are doing is just as easy with the WRKSBMJOB command. **WRKSBMJOB (Work with Submitted Jobs)** on IBM i lets you view and manage all jobs that have been submitted to batch but have not yet completed. When you run `WRKSBMJOB` the system shows a list of submitted jobs along with their current status such as scheduled, waiting, or running, and you can drill into each job to see details like job queue, job description, user, and parameters. From the same panel you can hold, release, change, or even cancel submitted jobs, making it a key tool for operators who need to control batch workloads. WRKSBMJOB is especially useful when troubleshooting jobs that are stuck in a queue, verifying that scheduled tasks were submitted correctly, or monitoring batch activity during heavy processing windows.
Display IBM i PTF's and browse through the operating system fixpacks that have been delivered from IBM. **DSPPTF (Display Program Temporary Fixes)** on IBM i shows you all PTFs that are loaded or applied on the system, making it the go to command for checking system maintenance and patch levels. When you run `DSPPTF LICPGM(*ALL)` the system lists every installed licensed program along with the PTFs applied to each one, including their status such as applied, temporarily applied, or superseded. You can drill into individual PTFs to see details like release level, APAR information, and whether a system IPL is required. Operators and administrators rely on DSPPTF to verify that fixes have been applied correctly, confirm prerequisites before installing new software, troubleshoot issues related to missing or partial PTFs, and maintain a clean, fully patched IBM i environment.
