Hi Chuck, Thanks. Yes, I was able to recreate the issue after making the post with the questions in.
RENT,REUS or REUS or RENT, ie any combinaton, on the linkediting/bindering causes no new executable to be loaeded in this case, so tha ALIASed ENTRY is in the same executable as the CALL. This causes COBOL to notice that the program has been entered again, before control has left the program (entered a subsequent time, prior to a GOBACK). This causes the IGZ0064S message to be attempted, which causes the handler (ENTRY) to be entered again, which causes (attempts) the IGZ message again, until LE reaches its defined limit for the number of "nested" conditions it is supposed to be able to deal with (user option). Making the program RECURSIVE (PROGR-ID. xxxx IS RECURSIVE) effectively removes the COBOL check that the program has been subsequently re-entered before a GOBACK has been processed, so that handler is not entered a second time. So, you have a situation which "works", or more than one. Without RENT or REUS on the linkedit/bindering, you should get a new executable for the SET for the ENTRY and not have a problem with IGZ0064S. With RENT or REUS and using PROGRAM-ID .... IS RECURSIVE you should not have a problem, as long as you bear in mind that you are now "sharing" the WORKING-STORAGE, and that there are special-registers which you are not sharing. The IBM-recommended way to use the ENTRY for a dynamic CALL is to use CANCEL for the PROGRAM-ID to be able to use the ENTRY and for the ENTRY to be able to use the PROGRAM-ID (or another ENTRY). You can't do the CANCEL from *within* the program, so that is out. There are at least two ways that a CALL to an ENTRY within the same program *should* be able to be made to work, even though there is no documentation for the CALL to an ENTRY within the same program, and I've never heard of it being done on the Mainframe, those outline above. I'd personally feel exposed with "we can kind of get it working, it is not straightforward to understand, and isn't documented by IBM". Note, I've reproduced with an "ordinary" CALL to a an ENTRY, not with an ENTRY which is established as a handler. I'd do it as two programs, unless there is an absolute, paramount, overriding reason to do it as one program. It is difficult for me to imagine what that reason may be. You currently have the "already needs a CBL/PROCESS/PARM for NAME(ALIAS), now also needs IS RECURSIVE or not to use RENT or REUS on the linkedit/binder". ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN