As I like to tell IBM i clients: the goal isn’t to get rid of the AS/400 database. It’s to discover that you’ve actually been running one of the world’s best SQL databases all along. The Advantages of Modernizing an Old AS/400 Database to Modern SQL If you are still rocking physical files defined in

Read More

If you have ever written a tidy little subprocedure that does some embedded SQL, then checked SQLCODE afterwards only to find it stubbornly sitting at zero even though the statement clearly failed, you have probably met this gotcha. Today we are going to answer three questions that trip up plenty of IBM i developers: Spoiler:

Read More

SQLRPGLE – A Sortable Subfile with Column Headings and Search using RTNCSRLOC If you have been following the subfile series, you will know we already have a solid working example in the SORTSFLBOB program. Now it is time to add the finishing touches that make it feel properly modern. Let’s go with the assumption that

Read More

The 3am Wake-Up Call You Didn’t Need: Service Account Password Expiration If your web services or overnight batch jobs have ever thrown a wobbly because a password decided to expire at the worst possible moment, you are not alone. On IBM i systems, password expiration is one of those security features that works brilliantly for

Read More

DISCLAIMER: This is not my usual style of programming video. It’s long format, lots of me muttering at the camera while trying to fix some RPG code. I started recording with no idea if it would work or not. Spoiler – it did in the end. Also featuring an AI generated video, a growling version

Read More

If you have read my previous blogs, you probably know that I recommend we all stop guessing file sizes and switch to SIZE(*NOMAX) for all physical files! Now for something a little more radical, STOP USING DDS and start defining your database objects with SQL instead! Upgrading from legacy DDS to SQL for defining tables,

Read More

In almost all the IBM-i shops I’ve worked at, we have always set the initial size of physical files to what seems like a reasonable value. Quite often we just accept the system default of 10,000 records with three increments of 1,000 records each. Sometimes we tweak one or more of those numbers, usually the

Read More

Welcome back to another dieting adventure in IBM-i land. Ever wondered why your IBM i disk space is disappearing faster than expected? Those fat libraries are usually the culprits. Follow my Fat Stuff Blogs on how to use SQL to find the large objects on our IBM-i systems. Here is a quick and practical lesson

Read More

If you are working with stored procedures on your IBM i system, you know they are handy for encapsulating business logic and making your SQL calls more efficient. But what happens when you need to back them up or restore them after a hiccup? Today, I am walking you through the process in a straightforward

Read More

IBM i SQL Stored Procedures are the King of the IBM i Database Jungle Welcome to a deep dive into the world of database management! Today, we’re focusing on a powerful tool that can transform how you handle data: stored procedures. Whether you’re working with IBM i, SQL Server, or another database system, stored procedures

Read More

Converting an old Physical File (PF) to a modern SQL table can significantly enhance your database’s functionality and performance. Here are the general steps to achieve this: Here’s a simple example of how you might convert a PF to an SQL table: Creating SQL TABLES is easy – so How do we convert old DDS

Read More

Playing with SQL on the IBM i System: IBM-i Aggregate Functions In the world of data management, SQL (Structured Query Language) stands out as a powerful tool for querying and manipulating databases. Among its many features, aggregate functions are some of the most valuable yet often underutilized capabilities. These functions allow you to perform calculations

Read More