People,

I have been following the COBOL V5 debate with interest,

Currently, when using the binder to create a program object, the output load
library MUST be a PDSE.

There is a lot of animosity about PDSEs.  They have been around for many
years.  But, when it comes to sharing them across systems and/or Sysplexes,
IBM still haven't gotten it right.

PDS's can be put on a shared pack and be shared across multiple systems
and/or Sysplexes.  Of course, you had better not try to update them
simultaneously from several places or bad things can happen. Sites that do
the sharing usually have procedures in place for that.

Looking at the IHAPDS map (in SYS1.AMODGEN), which maps a load module (or
program object.) PDS entry returned by BLDL, and the directory data on disk,
there is a flag that can be used by a program to distinguish a program
object from a load module.  There is an optional extension that has larger
offsets (greater than 3 bytes.)

SO, what if that bit was set in a directory entry on disk in a PDS load
library?  That could mean that the actual data in the PDS member was a
program object, not a load module, and be handled appropriately by the
system loader.  Then, you would get all the advantages of a program object
with none of the problems associated with a PDSE.  (The issues associated
with long alias names are not covered here.  But note that when it comes to
execution, you need an 8-character name anyway - look at the LOAD etc.
macro(s) for example)

(The binder could have a special option that would tell it to put a program
object in a PDS - to override the default of putting a load module there)

Just my $0.02.

Peter Morrison

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

Reply via email to