The Language Environment CBLPSHPOP runtime option is used to control whether CICS PUSH HANDLE and CICS POP HANDLE commands are issued when a VS COBOL II, IBM COBOL, or Enterprise COBOL subroutine is called using a CALL statement. Depending on the setting of CBLPSHPOP, you can get either faster CICS performance or compatible behavior (depending on how your programs are coded).
The VS COBOL II run time issues the PUSH HANDLE and POP HANDLE commands automatically on calls to COBOL subroutines. To receive this same behavior in Language Environment, you must specify the Language Environment CBLPSHPOP(ON) runtime option.
If your application calls COBOL (VS COBOL II, IBM COBOL, or Enterprise COBOL) subroutines under CICS, performance is better with CBLPSHPOP(OFF) than with CBLPSHPOP(ON). (You can set the CBLPSHPOP runtime option on an enclave by enclave basis by using CEEUOPT.)
CBLPSHPOP(OFF) prevents the issuing of the PUSH HANDLE and POP HANDLE commands and must be used with care to avoid compatibility problems when upgrading. If you do not issue a CICS PUSH HANDLE command before a call to a COBOL subroutine, the subroutine will inherit any IGNORE CONDITION or HANDLE command from the caller. If the subroutine then issues an IGNORE CONDITION or HANDLE command, the caller will inherit their effects upon return.
Note that CICS HANDLE...(label) commands in the caller will not cause compatibility problems with CBLPSHPOP(OFF) as long as your program does not contain any of the statements listed above.
The next two examples show the effect of the CBLPSHPOP option on VS COBOL II compatibility.