On Tue, 7 Feb 2017 12:45:05 -0600, Peter Ten Eyck 
<[email protected]> wrote:

>We have an OS/VS COBOL program that calls an assembler program that runs fine 
>in production (z/OS 2.2).
>
>We brought down the COBOL program to development and compiled the program 
>using Enterprise COBOL 4.2. The compile output and link output look good, no 
>concerning messages. I ran an AMBLIST on both the production and the newly 
>created development load modules and they are identical in the "M O D U L E   
>S U M M A R Y" report.
>
>The program gets a SOC4 (in the called assembler program) when run at the 
>development level and runs fine at the production level, the only change is 
>the compile.
>
>The programmer added code to bypass the header record on the first file read, 
>now it runs at the development level.
>
>Scratching my head why... did not see anything in the migration guide that 
>explained it to me.

My guess would be that the Assembler program is running Amode 24.  OS/VS COBOL 
programs could only run Rmode 24 so any data areas passed to Assembler programs 
are below the line and available to Amode 24 programs.  Enterprise COBOL 4.2 is 
probably creating an Rmode ANY Load Module and now the data area being passed 
to the Assembler program is above the line and only available to Amode 31 and 
above programs.  You can try changing the Assembler program to run Amode 31 or 
you will have to make sure the COBOL program is linked Rmode 24.  (If you are 
using the RENT Compile option, then you would have to specify the DATA(24) 
Compiler option to have your COBOL Working Storage allocated below the line.

-- 
Dale R. Smith

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to