As mainframe programmers know, link editing is one of the most tricky part in creating an executable program. Compiling is easy. Choose the right compiler for your source, input your source and you have an object code.
Link editing can be tricky. For a simple program with no called modules, this is simple. This can even be done in the same job without much thought.
For programs that call other modules, this can be a little bit tricky. Questions like where does the module reside? Which environment should the module come from, development, test or production?
Sometimes, a developer will mistakenly pick up a production version when the version she wants to use is in development, or vice-versa. This is one of the problems if the link-edit JCL is not done properly.
However, if one takes the time to understand how the linkage editor works, the process is not that difficult. I have created an online course that will discuss the concepts of the link-edit process, the files used and also provide some scenarios that will explain how to use the INCLUDE statement.
This is available at: http://courses.conceptsolutionsbc.com