Language Environment (LE) for z/VSE is the commonly used application run-time component in z/VSE shops worldwide. This mainly comprises run-time support for z/VSE batch and online applications written in C, COBOL, PL/1 and Assembler, or a combination of these languages.
Existing Values and Constant Challenges
No doubt there are many z/VSE applications with a long implementation history or specific requirements for optimum integration into daily operations. Frequently, a complex and customized infrastructure exists to run the overall application set. Such infrastructure encompasses job control, caller hierarchy, and a multitude of routines, passed parameters, associated files, databases, compilers and run-time settings.
There also are numerous legacy applications that ran error-free for a long time but may not have been revised for many years or don’t get specific attention dayto- day despite their value. The Year 2000 challenge might have been the last occasion to prompt a closer look at them. Programmers who originally designed those applications probably are no longer available, nor were their skills passed on to current programmers.
On the other hand, relatively new applications may not exploit desirable or modern functions or techniques. A significant number of applications are:
• Running in compromise mode based on the “don’t change anything as long as it runs” approach
• Exploiting inappropriate or old programming features and interfaces (e.g., stub routines)
• Poorly built or operating unsupported (e.g., using improper linkage options or old compiler/language run-time routines)
• Not taking advantage of programming or setup options (e.g., COBOL device-independent coding elements and storage pre-initialization)
• Wasting operating system resources (e.g., using adverse storage allocation sizes or running with debugging in production)