Paul,

While I am NOT a fan of PDSE's, I believe that there are entries in the PDSE "directory" (ie entries GT 9 bytes) that cannot be contained in a normal PDS directory. Or there are items that cannot be contained in a PDS directory. Such items as an entry point in c++ (or any other program) might be entry_for_my_pgm_named_gil (or some such name).

Ed

On Oct 12, 2013, at 11:43 AM, Paul Gilmartin wrote:

On Sat, 12 Oct 2013 08:42:02 -0400, John Gilmore wrote:

A PDSE member containing a program object has a very different, and
very sketchily documented, mixed internal structure.  Moreover, the
loading of some of its text elements may be deferred until they are
required|requested.

"sketchily documented" by intent. At SHARE Denver, John E. practically
boasted that IBM would not make the same mistake with program
objects, of docmenting that structure and allowing customers and ISVs
to come to rely on it, making it impossible for IBM to change the
specification.

BPAM, which reads both with different expectations for each, is not
equipped to read flat files; and neither BSAM nor QSAM can make any

No.  BPAM is capable of reading (but not writing) base members of UNIX
directories.  I hope we can agree that those members (though not
the directories) are flat files.

sense of either a load-module PDS member or a very differently
organized program-object PDSE member.

Paul Gilmartin's question,

| Why couldn't the same information [a program
| object] be stored in a PDS?

thus misses the mark.

Shmuel Metz's response to that question,

| Because a PDS member doesn'y have the
| right structure.

is of course correct or "so nearly so as makes no difference", but it
is not really very responsive.  I am reminded of Moliere's physician
who, asked how sleeping draughts functioned, replied that their
effectiveness was due to their dormitive powers.

That said, I can feel considerable sympathy for Shmuel's response if
he judged, as I do, that Paul's question was at least in part
tendentious.

No.

The experiment that R.S. hinted at, and Charles lacked the stamina to do:

//GEN1  EXEC  PGM=IEBGENER
//SYSPRINT  DD  SYSOUT=(,)
//SYSIN     DD  *
//SYSUT2    DD  DISP=(,PASS),UNIT=SYSDA,SPACE=(1000,(1000,,5)),
//  DSNTYPE=PDS,DSN=&&FLAT(TEMP)
//SYSUT1    DD  PATHOPTS=ORDONLY,PATH='&XDIR/tiny',
//  RECFM=VB,LRECL=1000,BLKSIZE=32760
//*
//GEN2  EXEC  PGM=IEBGENER
//SYSPRINT  DD  SYSOUT=(,)
//SYSIN     DD  *
//SYSUT2    DD  PATHOPTS=(ORDWR,OTRUNC,OCREAT),
//  PATHMODE=SIRWXU,PATH='&XDIR/tiny2'
//SYSUT1    DD  DISP=(OLD,PASS),DSN=&&FLAT(TEMP)
//*
//UNIX  EXEC  PGM=BPXBATCH,
// PARM='SH cd &XDIR; cksum tiny tiny2; ./tiny2 &&&& echo ∎' //* PARM='SH cd &XDIR; cksum tiny tiny2; ./tiny2 &&&& echo ∎'
//STDIN  DD   PATHOPTS=ORDONLY,PATH='/dev/./null'
//STDOUT DD   SYSOUT=(,)
//STDERR DD   SYSOUT=(,)
//
... produces in STDOUT:

pgilmart@brm3:198$ cat 106.STDOUT.txt
3496628668      86016   tiny
3496628668      86016   tiny2
Hello, world!
∎

I suppose you might insist that IEBGENER in the second step
somehow reconstituted the "black-magic format" of a program
object that had (temporarily) resided as a flat file in a PDS
 Shmuel may distrust IEBGENER to that extent; I don't.

-- gil

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

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

Reply via email to