I am not sure that I fully understand exactly what you want to do or the exact sequence in which you want to do it.
Your objective is, however, clear: You want to be able to use the CICS RENTPGM=PROTECT facility. If 1) you specify this option for a CICS application program (AP) and 2) CICS honors it, that AP is placed in read-only storage. A later attempt to execute such an AP will have dire consequences if it in fact modifies itself. You may not therefore specify this option for a load module or program object that contains a non-reentrant assembly-language module or modules. As you have noted, there is no great difficulty about making your COBOL modules reentrant. Instructing your compiler to do so will accomplish this. Specifying the RENT option when you assemble your HLASM subroutines instructs the HLASM to check your code for non-reentrant constructs, and it finds many but not quite all of them. (You can and should use the &SYSOPT_RENT boolean within each assembly unit to ensure that the RENT option has in fact been specified for it.) I strongly recommend that you also make these assembly-language modules LE-compatible. Using the LE's LIFO storage-management facilities will make the task of making these modules reentrant much easier. John Gilmore, Ashland, MA 01721 - USA ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN