Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in


Load Module of a Cobol Converted code

Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> PL/I & Assembler
View previous topic :: :: View next topic  
Author Message

New User

Joined: 02 Feb 2006
Posts: 2

PostPosted: Wed Apr 02, 2008 8:38 pm    Post subject: Load Module of a Cobol Converted code
Reply with quote

I am converting code from COBOL I to COBOL II. Can any one tell me whether load module size increases or decreases in doing so?.
Back to top
View user's profile Send private message

Bill O'Boyle

CICS Moderator

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

PostPosted: Wed Apr 02, 2008 11:45 pm    Post subject: Load Module of a Cobol Converted code
Reply with quote

COBOL2 Load Modules will be larger than COBOL1. What the percentage that would be depends on some factors.

If you activate the OPTIMIZE compiler option in a COBOL2 environment, you'll probably find that the load-module size is larger than the same load-module compiled with NOOPTIMIZE, as an optimized COBOL2 load-module tends to copy PERFORMED routines in-line, resulting in duplication. However, when this occurs, the logic presents itself as more "Top Down" resulting in less page faults and thus, faster execution.

One other compiler option that you must be careful of is TRUNC, which relates to binary data.

If you have WS binary-fields with a VALUE clause and this value exceeds the number of digits in the picture and you've specified TRUNC(OPT), you'll get high-order truncation.

Otherwise, TRUNC(BIN) should be specified, which will not cause high-order truncation, based upon the picture-clause number of digits.

Example -


03  WS-HWORD PIC S9(04) COMP VALUE +32767.

In the above, the value will be truncated to +2767, even though (technically), it's a binary-halfword, whose signed-value maximum is +32767 (65535 unsigned), TRUNC(OPT) doesn't see it that way.

If you don't have any binary-fields with a VALUE clause, whose value exceeds the maximum number of digits, then TRUNC(OPT) will be fine.

Note that the object code generated by TRUNC(BIN) is usually 100% to 300% more instructions, so keep this in mind and such, load-module sizes will be different when one is used instead of the other.

IIRC, TRUNC(STD) is the default and I'd advise you to override this as it is similar to TRUNC(BIN), but not as grossly inefficient.

Also (very important), watch your AMODE/RMODE settings for COBOL2 callers who are calling AMODE24 sub-programs. You WILL crash and burn as 24-Bit sub-programs can't address 31-Bit data.

Keep in mind that you're migrating from an unsupported release of COBOL to another unsupported release of COBOL and (IMHO), the migration should be to one of the more current (and supported) releases, such as Enterprise.

Your IBM representative should be discussing these issues with your management and assisting with future migration considerations.

Also, it's either CICS TS/3.1 or CICS/TS 3.2 (can't recall exactly) which does NOT support COBOL1 (OS/VS COBOL) and will crash and burn if these types of load-modules are found.

Again, your IBM representative should be working closely with your people to ensure a smooth transition and if an IBM product breaks, that you'd be on a supported version/release.

Otherwise, IBM will gladly accept your check to fix out of support products. icon_wink.gif



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 -> PL/I & Assembler All times are GMT + 6 Hours
Page 1 of 1


Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Can sending 5 MB data between cobol p... Kevin Vaz CICS 11 Tue Oct 18, 2016 4:50 pm
No new posts cobol embedded sql MS_Developer COBOL Programming 7 Fri Oct 14, 2016 2:39 pm
No new posts Cobol EZASOKET call to SETSOCKOPT fails Andi1982 COBOL Programming 6 Thu Oct 06, 2016 7:12 pm
This topic is locked: you cannot edit posts or make replies. Need to code a Rexx PGM sundaram.naveen CLIST & REXX 18 Thu Oct 06, 2016 6:45 pm
No new posts COBOL 5 Compile oerdgie COBOL Programming 3 Thu Oct 06, 2016 6:14 pm

Back to Top
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us