Procedures are what it’s all about these days.
When you start using RPG IV, you will soon come across subprocedures. They are a big change to RPG. Think of it as the ability to execute a subroutine stored outside of the program that requires it in another program (Service Program).
As a Procedure is stored external to the program that requests it, it is reusable so create a single Procedure to (for example) get Customer Details (#GetCustomerDetail or something) and execute it from any program in the application that needs a Customer Detail such as their name, Credit limit etc. Future modifications only occur in one source member.
Subprocedures lead you into true modularization and a whole new way of writing applications. They are also the lead in to Integrated Language Environment (ILE).