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
