Stored procedures, although useful and resoutceful, aren’t for every scenario just like prototyping ILE isn’t for every scenario. It depends on the circumstances and objectives of the project at hand. Stored procedures are very resourceful especially in client/server type applications, where all the processing will be done on the AS/400; with a simple SQL call to the stored procedure, you can process information, display tables, etc., and get it using the HLL (High Level Language) you want. Just because something is popular, however, doesn’t mean that it is the method of choice for every business requirement.
You create stored procedures because that’s the facility that the SQL uses to call program functions. It’s like asking why you need to code a prototype to call a procedure in C — that’s how the C language is defined. If you can find SQL that can make CALLs to something other than stored procs, share it here.
If you aren’t using SQL to make cross-platform calls, then don’t create stored procs. You won’t be calling them.
Note that DB2 on your AS/400 will allow SQL stored proc calls to programs even if a stored proc definition has not been registered. This can only work if the stored proc doesn’t have output parameters that must be returned to the calling platform. IOW, you don’t always have to “write stored procedures”.