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