I’m not sure if upgrading is the right word, perhaps switching or converting or even “just learning a new technique” would be better?
Modernizing legacy applications written on legacy computers like the AS400, or the older iSeries machines can seem like a daunting task
Either way, I didnt write this document but still found it a very enlightening read:
Free e-book: Converting RPG to Set Based SQL (Part 1: Input Operations)
Below is a link to download a free e-book to help current, or former, RPG programmers learn SET based SQL. There are significant benefits when using SQL for I/O, but the benefits increase dramatically when you use SET based SQL (versus one row at a time processing). This is a learn by example book with many of the commonly used RPG input operation code combinations, with their SET based SQL equivalents.
If you’re using SQL to simply mimic RPG’s input operation codes by reading one physical row at a time, you’re not leveraging the best aspects of SQL. If you’ve not mastered SET based SQL, you’ve not mastered SQL. SET based SQL provides dramatic run time improvements, a large reduction in code volume, improved simplicity, and a greatly reduced chance for defects.
Prior to reading this book, you need to already have a basic understanding of SQL SELECT queries, in particular the SELECT, FROM, JOIN, WHERE, and ORDER BY clauses. There are numerous online, free training resources available to you to gain that basic understanding.
This book will provide a solid introduction to SET based SQL for the RPG programmer. It is not intended to make you an expert, but it should help you to make good progress thinking, designing, and coding in SETs.
For someone with highly advanced skills in SQL and SET based processing, this book probably does not have much to offer, since it is intended an introduction.
However, if you are not using LATERAL joins, this book has something for you.
For advanced readers, the book has one complex SET based example #28, that may keep you entertained if the other examples bore you.
IBM i Software Developer, Digital Dad, AS400 Anarchist, RPG Modernizer, Alpha Nerd and Passionate Eater of Cheese and Biscuits. Nick Litten Dot Com is a mixture of blog posts that can be sometimes serious, frequently playful and probably down-right pointless all in the space of a day. Enjoy your stay, feel free to comment and in the words of the most interesting man in the world: Stay thirsty my friend.
Using RPGLE to extract invoice numbers from an alpha string
Grabbing a library description in RPG with SQL
Install LANSA AXES – Automatic Web Interface for IBM i (AS/400) 5250 Applications
How to rename Fresche (BCD) Presto Library – XL_PRESTO
Cleaning messy IBM i Integrated File System (IFS) file names
IBM i ACS 5250 EMULATOR FONT – and other ridiculous mumbo jumbo
The State of AS400 iSeries Application Modernization
Email every spool file in an output queue – EMLOUTQ for IBM i
Send IBM i Email including SQL Table Data automatically