Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
What functionality is lost with AMODE(24) RMODE(24) ?

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> COBOL Programming
View previous topic :: :: View next topic  
Author Message
dcshnier

New User


Joined: 28 Dec 2006
Posts: 27
Location: Baltimore, MD 21215

PostPosted: Fri Jul 10, 2009 7:16 pm    Post subject: What functionality is lost with AMODE(24) RMODE(24) ?
Reply with quote

We are releasing a brand new COBOL-DB2 program that has to call some legacy programs that are statically linked at AMODE(24) RMODE(24).
Our initial tests failed on a S0C4 when calling these modules because our new COBOL-DB2 calling program was compiled at AMODE(31) RMODE(ANY). We fixed the problem by recompiling the new program using AMODE(24) RMODE(24). Unfortunately, the better alternative of recompiling the called programs to be above the line, was not an option. Can anyone give any examples of functionality that we wil have lost by now having to run this new calling program 'below' the 16 MEG line.
For example. I seem to recall 12 years ago during a file expansion project, when the new record length became very large, that the program would periodically blow up. We fixed the problem by compiling above the line AMODE(31) RMODE(ANY). So I am looking for those types of examples of lost functiionality (i.e. dealing with large record lengths), when the program is compiled below-the line. Can anyone think of any ?

thanks greatly
dcshnier
Back to top
View user's profile Send private message

Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8165
Location: East Dubuque, Illinois, USA

PostPosted: Fri Jul 10, 2009 8:03 pm    Post subject:
Reply with quote

After accounting for system overhead, there's generally about 9 to 10 megabytes available below the line for programs to run in. If you have a lot of programs being called, or large programs, you could run into memory issues. By contrast, above the line you've got about 1.9 gigabytes of memory available so there is not as much a chance of running into memory issues (although you never know about Java).
Back to top
View user's profile Send private message
dcshnier

New User


Joined: 28 Dec 2006
Posts: 27
Location: Baltimore, MD 21215

PostPosted: Fri Jul 10, 2009 8:26 pm    Post subject: Reply to: WHAT FUNCTIONALITY IS LOST WITH AMODE(24) RMODE(24
Reply with quote

Thank-you Robert

That is really useful to know.
Your patience is appreciated, because I am not the best person who can judge just how much of that 9-10 megabytes we may be using up.
But two questions arise on this memory limitation that you bring up:

(1) If we could make this program a pure COBOL program (without DB2), do you think that would buy us some memory to make it worth the effort ?
(albeit, it would still have to call some DB2 programs).

(2) The program that we are releasing calls 4 programs in static mode and 2 programs in dynamic mode. However, those called programs make calls to other programs that in turn make calls to other programs. So when you imply that calling many programs could lead to memory issues, is this threshhold impacted by all calls throughout the calling chain or just those programs that are being directly called ?

again, your patience is appreciated.

regards
dcshnier
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2504
Location: Atlanta, Georgia, USA

PostPosted: Fri Jul 10, 2009 8:29 pm    Post subject: Reply to: WHAT FUNCTIONALITY IS LOST WITH AMODE(24) RMODE(24
Reply with quote

Are you running this in CICS? If so, what's your version/release?

Regards,
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8165
Location: East Dubuque, Illinois, USA

PostPosted: Fri Jul 10, 2009 8:58 pm    Post subject:
Reply with quote

If you're running in CICS, the call chain depends upon whether an XCTL or LINK is done -- the XCTL can release the calling program's storage since you're not going back to it; the LINK requires that the calling program be preserved since you will be going back to it.

Generally, static and dynamic refer to whether the program is part of the load module or not; the memory requirement (for batch) tends to be the length of the calling chain (although CANCEL of a dynamic program can change that). Static programs are part of the memory requirement of the load module while dynamic programs only require memory upon invocation. Of course, if you have dynamic program calling dynamic program calling dynamic program ... you will sooner or later run into memory issues.

I don't know for sure whether including the DB2 stuff in the load module has an impact, but I suspect the impact, if any, would be minor. If it is not part of the load module, then it has to be dynamically loaded at run time when the DB2 call occurs. You can pay the piper now, or you can pay the piper later but the piper is getting paid. The only exception would be if the bulk of the DB2 work is being done in a different address space, which would have its own memory.

If this seems like a serious issue to you, contact your site support group and discuss how your site is set up. There may be some things they can do to help alleviate your memory issues.
Back to top
View user's profile Send private message
dcshnier

New User


Joined: 28 Dec 2006
Posts: 27
Location: Baltimore, MD 21215

PostPosted: Fri Jul 10, 2009 9:54 pm    Post subject: Reply to: What functionality is lost with AMODE(24) RMODE(24
Reply with quote

Thank-you to all who have replied.
In case this makes a difference to what responses have been offered thus far, this is a batch process (not a CICS process).
But you have given us much thought to go over.
thanks again.


regards
dchnier
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> COBOL Programming All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Delimit functionality in COBOL anandinmainframe COBOL Programming 7 Sat Mar 15, 2014 3:57 pm
No new posts Functionality of MQ RACF rikdeb Java & MQSeries 2 Mon Feb 24, 2014 2:40 pm
No new posts how to define decimals in cics map us... ram_vizag CICS 10 Tue Dec 03, 2013 4:01 pm
No new posts Functionality for converting exponent... pavanchandana COBOL Programming 7 Tue Jun 25, 2013 2:57 pm
No new posts AMODE 64 C system() alternative Eric Olson All Other Mainframe Topics 2 Tue May 21, 2013 8:05 pm

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us