Rational Developer for System z
Enterprise COBOL for z/OS, Version 4.1, Compiler and Runtime Migration Guide


Last-used state behavior under Language Environment

The OS/VS COBOL NOENDJOB/ENDJOB compiler option produces different results when running with the Language Environment library than when running with the OS/VS COBOL library. When specifying NOENDJOB and running under OS/VS COBOL, your subprograms are always entered in the last-used state.

In the Language Environment runtime environment, when nonpreloaded OS/VS COBOL subprograms that are compiled with RES and NOENDJOB terminate, the programs and their internal work areas are deleted; their external work areas (storage acquired with a GETMAIN) and library routines remain in dynamic storage. When ENDJOB is used instead of NOENDJOB, there is essentially no difference except that the external work areas and library routines are deleted as well.

Because Enterprise COBOL programs and their resources (all work areas and library routines) are always deleted at termination, the way ENDJOB and NOENDJOB work in the Language Environment runtime environment allows both Enterprise COBOL and OS/VS COBOL programs to be treated similarly with respect to last-used state.

In the OS/VS COBOL runtime environment, ENDJOB was the strongly recommended compiler option when running IMS transactions that invoked nonpreloaded COBOL programs.

In the VS COBOL II runtime environment when using the LIBKEEP runtime option, OS/VS COBOL programs compiled with ENDJOB were treated as NOENDJOB. NOENDJOB was required for preloaded OS/VS COBOL programs.

Note: When using LRR, NOENDJOB behavior is always in effect.


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)