EXEC PGM=ASM1 (LOAD and CALL)--> VSCOB2RES Also: ASM1 (LOAD and CALL via CEEPIPI)--> eCOBOL52
Two different CALL's in one top-level assembler program to COBOL programs compiled with different COBOL compilers. Either or both COBOL programs may be called multiple times in one execution of ASM1. My question was prompted by the eCOBOL V5.2 migration statement that COBOL V5.2 programs can call and be called by VS COBOL II RES programs. I cannot use CEEPIPI to CALL the VS COBOL II RES program because CEEPIPI returns RC=20 when you try to add it to the CEEPIPI table. I can call the VS COBOL II RES program multiple times if I first LOAD and call IGZERRE once (the LE version from CEE.SCEERUN), but using IGZERRE and CEEPIPI together is not allowed either according to the migration guide (cannot establish 2 different COBOL environments at the same time in the same LE enclave, which makes sense to me). If eCOBOL V5.2 can call and be called by VS COBOL II RES programs, how does it do that, and how can I do the same thing? Peter -----Original Message----- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Lizette Koehler Sent: Tuesday, May 30, 2017 8:30 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: How to call VS COBOL II RES program from COBOL V5.2-enabled assembler? Could you explain a little more of the calling order? When you quote from the eCOBOL V5.3 manual, I tend to get confused as to what you are trying to do. Assm --> VS COBOL II eCOBOL V5.3 --> Assm --> VS Cobol II VS Cobol should run as the SCEERU N libraries will contain the required modules. I am not sure why this may not work. Lizette -----Original Message----- >From: "Farley, Peter x23353" <peter.far...@broadridge.com> >Sent: May 30, 2017 4:41 PM >To: IBM-MAIN@LISTSERV.UA.EDU >Subject: How to call VS COBOL II RES program from COBOL V5.2-enabled assembler? > >The COBOL V5.2 Migration Guide (GC14-7383-03) says: > >"Enterprise COBOL V5 programs can dynamically call (and be dynamically called >by) VS COBOL II RES programs." > >If I have an existing assembler program which calls a VS COBOL II RES program >after calling the older COBOL environment setup program IGZERRE, how can I now >call the existing VS COBOL II RES program using the CEEPIPI technique mandated >for COBOL V5.2 subroutines? > >In other words, if COBOL V5.2 can call a VS COBOL II RES program, how do I now >do this myself from assembler when I may also be calling COBOL V5.2 >subroutines which require the use of CEEPIPI to make a call? > >The problem is that the CEEPIPI (add_sub) function call returns error RC=20 >(not an LE program) for VS COBOL II RES programs I have tested so far, so I do >not see any way to use CEEPIPI to call such routines. > >Currently in my assembler code I found that I can identify VS COBOL II RES >programs (after a LOAD) by the compiler ID string "C2 1.3.1" at zero-relative >offset decimal 14 (1-relative byte position 15) in the generated object code. >The compiler listing header for such programs is: > >PP 5668-958 IBM VS COBOL II Release 3.1 09/19/89 > >Is this COBOL version too old to be LE-compatible, even when programs were >compiled with the RESident option? > >Peter -- This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail and delete the message and any attachments from your system. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN