Does anyone know of sources which make the argument for or speak of the benefits of modularizing classical (procedural) ABAP code into procedures (a.k.a. sub-routines)? When I refer to modularization and procedures, I mean much more than just breaking up the code into FORMs. With modularization, global variables, structures, and tables are not referenced in sub-routines. Instead, the sub-routine's input and output are governed exclusively by the sub-routine's formal parameters (i.e., USING... and CHANGING...). Within the sub-routine, i/o parameters and locally-declared variables, structures and tables are referenced. This approach has a variety of benefits: improved program readability; easier program maintenance and troubleshooting; and data encapsulation.
While such an approach is embraced near-universally in the academic community and extensively in the professional world (for most computer languages), I find that modularization is rare in the ABAP world. I suspect that this is the case due to some combination of the following reasons:
1) ABAP descended extensively from Cobol which does not well-facilitate modularization (if my recollection is correct);
2) Modularization was unwieldy and syntactically cumbersome in the earlier versions of ABAP (i.e., IMPORTING..., EXPORTING...); and
3) A large percentage of ABAP coders, particularly years ago, were not university-trained in computer science. So they were never taught the benefits or the discipline of modularization.
So, in an effort to persuade my colleagues and manager of the benefits and reasonableness of modularization, I would like to present to them numerous texts which advocate it. Given how modularization is ubiquitously embraced in the larger computer science world, I am afraid that it may be hard to find texts which advocate what is generally viewed as obvious. So far, I have found two sources:
ABAP Objects written by Horst Keller and Sascha Kruger; and
Data Structures, Algorithms, and Program Style by James F. Korsh (a Pascal-centric book).
I would much appreciate being pointed to any on-line or hardcopy sources. While ABAP-focused books may be most persuasive to my colleagues, I would appreciate any source regardless of which computer programming language the text primarily deals with.