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

Reply via email to