IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

DATA(31) Option in compile JCL


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
himanshu_gupta02

New User


Joined: 31 Jul 2006
Posts: 6

PostPosted: Wed Oct 24, 2007 7:39 pm
Reply with quote

Hi Friends,

I have an urgent query. I compiled my program in test and It ran fine.
But when I compiled my program in Production; it compiled file but bombed at run time.

I assumed that default option is DATA(31). But I was told that I was supposed to use DATA(31) option in JCL at compile time to prevent this problem of memory. This is not CICS program. Its only COBOL module.

I am not sure what exactly is wrong. Please guide me. What changes I can make to make the JCL DATA(31) option free and make it default to prevent this problem in future.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Wed Oct 24, 2007 7:48 pm
Reply with quote

Quote:

I assumed that default option is DATA(31). But I was told that I was supposed to use DATA(31)


if You used the default/standard procedures of Your shop, then :
there is no reason to force an already assumed default.

the first step to analyze the problem is to look at any differences between
the two compile listings ( as far as the cobol options assumed/specified )

and then ...

if there are still issues post again
Back to top
View user's profile Send private message
himanshu_gupta02

New User


Joined: 31 Jul 2006
Posts: 6

PostPosted: Thu Oct 25, 2007 2:33 am
Reply with quote

My assumption was wrong. The setting is made with RENT and DATA(24) option as default.

So it took the 24 option and bombarded.
What can be done to change default settings to 31?
Any specific reason because of which this could have been chosen?

Does 24 takes less memory?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Thu Oct 25, 2007 2:43 am
Reply with quote

Hello,

I'd suggest you talk with your system support people and determine why the test and production environments are not in sync (if indeed they are not).

Your tech support people will know far more about your system than we will.

It should be a rule that everyone uses standard jcl, so if you have problems, others will have them also. If you are using some kind of "custom" jcl, i suggest you convert to standard jcl. I would not spend time modifying "your own" jcl - using the standard jcl will be far more reliable.
Back to top
View user's profile Send private message
himanshu_gupta02

New User


Joined: 31 Jul 2006
Posts: 6

PostPosted: Thu Oct 25, 2007 4:01 am
Reply with quote

Thanks for your inputs.

I want to know what could be the technical reason for the setting DATA(24).
Some memory allocation saving or something?
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Thu Oct 25, 2007 11:57 am
Reply with quote

Quote:
I want to know what could be the technical reason for the setting DATA(24).


Some user written program subroutines ( probably assembler )
expect parameters under the 16MB line

there are no performance penalties for either modes
data(24) only will give access to less memory to store data
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Thu Oct 25, 2007 7:44 pm
Reply with quote

Hello,

Quote:
I want to know what could be the technical reason for the setting DATA(24).
The best answer to this will be gotten from the people who defined this way of compiling/running.

I know of no business or technical reason to have one environment defined differently than the other.

It is possible that the "standard" jcl needs to be changed so both are the same. It may not be a "plan" at all. Again, the local system support people would have the most information.
Back to top
View user's profile Send private message
Mistermind

New User


Joined: 08 Feb 2008
Posts: 46
Location: Dublin

PostPosted: Sun Mar 16, 2008 2:43 am
Reply with quote

I think DATA(24) for cobol equates to AMODE(24) for assembler.

In the days before IBM opened up 31-bit addressing for customers' use, the high-order byte of any fullword address was always unused. Many IBM assembler macros would hijack that byte to store options and use as workfields. When AMODE31 came along IBM had to issue AMODE31 versions of said macros. But there are too many of those old macros and programs, and I believe not every macro now has a clean 31-bit version available.

The assembling process should highlight these AMODE24 macros whose hijacking action will cause problems at runtime if you load above the 16MB line, accessing the last 7 bits of the high-order byte as true partition address. But not cobol compilers.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts Compile Several JCL JOB Through one r... CLIST & REXX 4
No new posts Store the data for fixed length COBOL Programming 1
No new posts Compile rexx code with jcl CLIST & REXX 6
No new posts Data set Rec-Cnt and Byte-Cnt Testing & Performance 2
No new posts SCOPE PENDING option -check data DB2 2
Search our Forums:

Back to Top