If you still write RPG code as you did 20 years ago, or if you have RPG ILE on your resume but don’t actually use or understand it, this book is for you. It will help you transition from the Original Programming Model (OPM) to a more modern, modular, and efficient RPG ILE. With this book, each concept of ILE is made accessible. You will start by taking baby steps with small, easily understandable examples, and build to more complete and complex pieces of code. All the while, you will explore each component of modern RPG, learning how it fits with the other pieces to gain the full RPG ILE picture. By its nature, this book is not an ILE quick-reference guide. Rather, it is a "slow reference guide." It introduces new concepts with analogies to OPM whenever possible, explaining and expanding with realistic scenarios of increasing complexity (like inventory management programs, for instance). The book also goes beyond ILE, with comprehensive chapters about SQL and code organization and structure. Then it goes even further--the final part of the book is dedicated to Modernization: * It shows what can be modernized in your legacy applications and how to do it; * Explains different approaches to the issue, discussing the pros and cons of each one; and * Sets a few sound guidelines and offers advice on how to proceed, based on the author's and other several experts' experience. By the end of the book, you'll be a better programmer. You'll have new tools, new approaches, and most importantly, new ideas, to solve those problems big and small that are the life of an RPG programmer. Upon completion of this book, you will be able to: * Migrate your OPM code to ILE RPG in a structured and easier-to-maintain way. * Write code in free-format RPG. * Use built-in functions to solve hard-to-tackle and/or time-consuming issues. * Get a comprehensive knowledge about SQL and how it can be useful to an RPG programmer. * Learn about SQL's stored procedures and user-defined functions concepts and how to use them to modernize your application. * Understand the possibilities that embedded SQL in RPG offers. * Use SQL cursors to replace OPNQRYFs. * Understand how you can modernize your legacy applications. * Use SQL's Data Definition Language to replace DDS-defined physical and logical files, which can bring system performance and programmer productivity gains. * Learn about the MVC and how it can help revolutionize your application's user interface. * Become a "modern RPG" programmer, with a new set of skills and tools.