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

 

Understanding Program Objects

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> All Other Mainframe Topics
View previous topic :: :: View next topic  
Author Message
jerryte

Active User


Joined: 29 Oct 2010
Posts: 183
Location: Toronto, ON, Canada

PostPosted: Tue Apr 14, 2015 12:53 am    Post subject: Understanding Program Objects
Reply with quote

I want to gain a better understanding of compiled program object versus a linked load module. Is there an IBM redbook that explains these concepts and how to use them? I have an IBM manual on Program Management User Guide but it focuses more on the Binder tool rather then on the concepts. If someone can point me in the right direction then I would like to read up on this. Thanks

Some background - the current method I use is to compile a program and then link the load module with AUTOCALL. This creates problems if there are changes to called subroutines. I have to be careful for the order that these are compiled in order to get the latest version of each.
Back to top
View user's profile Send private message

Bill Woodger

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7223

PostPosted: Tue Apr 14, 2015 2:06 am    Post subject: Reply to: Understanding Program Objects
Reply with quote

Which compiler version and release? I'm assuming for now you are talking about Object decks which are the main output of the compiler, rather than Program Objects in a PDSE which are the "loadmodules" when using V5.0 or higher.
Back to top
View user's profile Send private message
jerryte

Active User


Joined: 29 Oct 2010
Posts: 183
Location: Toronto, ON, Canada

PostPosted: Tue Apr 14, 2015 5:45 pm    Post subject: Re: Reply to: Understanding Program Objects
Reply with quote

Bill Woodger wrote:
Which compiler version and release? I'm assuming for now you are talking about Object decks which are the main output of the compiler, rather than Program Objects in a PDSE which are the "loadmodules" when using V5.0 or higher.

What is the difference between a Program Object and a Load module? I am using COBOL version 4 on z/OS
Back to top
View user's profile Send private message
enrico-sorichetti

Global Moderator


Joined: 14 Mar 2007
Posts: 10201
Location: italy

PostPosted: Tue Apr 14, 2015 6:10 pm    Post subject: Reply to: Understanding Program Objects
Reply with quote

You will find the differences here

z/OS MVS Program Management: User's Guide and Reference
SA23-1393-00
Back to top
View user's profile Send private message
Bill Woodger

DFSORT Moderator


Joined: 09 Mar 2011
Posts: 7223

PostPosted: Tue Apr 14, 2015 6:36 pm    Post subject: Reply to: Understanding Program Objects
Reply with quote

OK, you're 4, so put actual Program Objects to the side.

The compiler generates code. It does this on 80-byte fixed-length records. Because in the distant past, these would be physically punched on cards which would then be read by the linkage editor to make into the executable program.

These are "object decks" or "object programs".

With COBOL V5, you get Program Objects. Program Objects are also used in specific situations in V4.

Here's some random quote from many:

Quote:
Partitioned data set extended (PDSE) load library data sets

Enterprise COBOL V5 executables are program objects that can only reside in PDSE data sets. This is not an entirely new requirement. Enterprise COBOL V4 used program objects and PDSE for long names, COBOL/Java interoperability, and DLL support.

If you are currently using PDS data sets for load libraries, you need to move to PDSE data set load libraries before running COBOL V5 programs. Otherwise, when you try to bind a COBOL V5 object program into a PDS dataset, the operation will fail with this error message:

IEW2606S 4B39 MODULE INCORPORATES VERSION 3 PROGRAM OBJECT FEATURES AND CANNOT BE SAVED IN LOAD MODULE FORMAT.


So a PDSE load library containing Enterprise COBOL V5+ executables contains Program Objects, not Load Modules. COBOL V5+ executables cannot use a PDS, they cannot be Load Modules.

There is more to it than a change in name, but at the simplest level you can view it as just that.
Back to top
View user's profile Send private message
steve-myers

Active User


Joined: 30 Nov 2013
Posts: 460
Location: The Universe

PostPosted: Tue Apr 14, 2015 8:48 pm    Post subject:
Reply with quote

From a practical point of view a "program object" in a PDSE can use external names longer than 8 bytes.

You have all the advantages (automatic space reclamation when you delete a member) and disadvantages (poor performance relative to a PDS, greater space requirements) of a PDSE.
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 -> All Other Mainframe Topics All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts IMS BMP program causes 878 system abend Artemk IMS DB/DC 7 Tue Nov 22, 2016 8:26 pm
No new posts Need Help in understanding what is th... mainakdalal PL/I & Assembler 9 Mon Oct 03, 2016 8:03 pm
No new posts A sample of exit program for exit XMN... lind sh CICS 2 Mon Oct 03, 2016 5:07 pm
No new posts Need points to tune IMS Checkpoint Pr... satish.ms10 IMS DB/DC 2 Fri Sep 30, 2016 4:12 pm
No new posts ISPF program to set SCRNAME prino TSO/ISPF 5 Fri Sep 30, 2016 2:18 pm


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