Re: ADRDSSU VTOC -- also IEBCOPY

2014-06-07 Thread Bob Raicer

On Fri, 6 Jun 2014 10:43:57 -0600, Paul Gilmartin
paulgboul...@aim.com wrote:

 I suspect the restriction (we have it at 1.13) spans many
 releases.  How silly to go to trouble to avoid doing nothing.

 DISP={OLD|NEW} seems to make no difference.  I suspect that DISP
 is among many DD options that are simply ignored in connection
 with DUMMY.


Here are few extractions from the DUMMY Parameter topic contained
within z/OS 1.11 MVS JCL Reference (SA22-7597-13):

   Because no I/O is performed to the dummy data set, the system
checks the SPACE and DISP parameters, if coded, for syntax,
then ignores them.  If you code UNIT with DUMMY, the system
will ignore it if the specified unit name is syntactically
correct and defined to the system.  Otherwise the system
terminates the job.

:
:
:

   Use one of the following access methods with the DUMMY
parameter:

 . Basic sequential access method (BSAM)
 . Virtual storage access method (VSAM)
 . Queued sequential access method (QSAM)
 . BDAM load mode (BSAM with MACRF=WL in the data control
   block)


You'll notice that BPAM (and many other access method types) is
(are) not supported.  Nothing has changed here in decades.


I certainly cannot look at the source code for IEBCOPY, but I
suspect that IEBCOPY simply checks the device type associated with
the DD to be operated upon and if it's not something it likes (i.e.
DASD, TAPE) you get the results you're seeing.  Actually supporting
DUMMY allocations would require more work, not less as your
assertion implies.

Bob


Re: ADRDSSU VTOC -- also IEBCOPY

2014-06-07 Thread Paul Gilmartin
On 2014-06-07, at 08:30, Bob Raicer wrote:

 On Fri, 6 Jun 2014 10:43:57 -0600, Paul Gilmartin wrote:

  I suspect the restriction (we have it at 1.13) spans many
  releases.  How silly to go to trouble to avoid doing nothing.
 
...
   Use one of the following access methods with the DUMMY
parameter:

 . Basic sequential access method (BSAM)
 . Virtual storage access method (VSAM)
 . Queued sequential access method (QSAM)
 . BDAM load mode (BSAM with MACRF=WL in the data control
   block)

But does IEBCOPY use any of these?

 I certainly cannot look at the source code for IEBCOPY, but I
 suspect that IEBCOPY simply checks the device type associated with
 the DD to be operated upon and if it's not something it likes (i.e.
 DASD, TAPE) you get the results you're seeing.  Actually supporting
 DUMMY allocations would require more work, not less as your
 assertion implies.

No.  Simply check DSORG.  If DSORG=PO, treat the data set as PDS(E).
Otherwise as PDSU (IEBCOPY's jargon).  Avoid device type dependencies
entirely.  This would, for example, allow unloading a PDS directly
to a UNIX file.  I suspect GIMZIP does this in two steps, IEBCOPY to
unload to a temporary data set, followed by ad hoc code (or IEBGENER
would suffice) to copy to the target UNIX file.

-- gil


Re: ADRDSSU VTOC -- also IEBCOPY

2014-06-07 Thread Robert A. Rosenberg

At 08:30 -0600 on 06/07/2014, Bob Raicer wrote about Re: ADRDSSU VTOC
-- also IEBCOPY:


I certainly cannot look at the source code for IEBCOPY, but I
suspect that IEBCOPY simply checks the device type associated with
the DD to be operated upon and if it's not something it likes (i.e.
DASD, TAPE) you get the results you're seeing.  Actually supporting
DUMMY allocations would require more work, not less as your
assertion implies.


I disagree.

Here is my reasoning.

Support of output to SYSUT2 requires that for each file that is being
selected to be potentially copied to SYSUT2, there is a check to see
if it already is in the PDS(E) UNLESS Replace (SYSUT2,R) is coded in
the Copy command before the copy is attempted.

If SYSUT2 is DUMMY/NULLFILE, then the check is bypassed and the copy
acts as if the file does not exist in SYSUT2. All that is needed is
to error at open time if you have a DUMMY as input. For output, set a
flag that says the dataset is dummy, and as each file is selected,
just issue the copied to message bypassing any reading of the member
itself.

Note, I am assuming that you do not want to be warned of duplicate
files from input (ie: No Replaced or Not Copied messages).

If I am missing something in this analysis, please point it out.


Re: ADRDSSU VTOC -- also IEBCOPY

2014-06-07 Thread Paul Gilmartin
On 2014-06-07, at 09:30, Robert A. Rosenberg wrote:
 ...
 Support of output to SYSUT2 requires that for each file that is being
 selected to be potentially copied to SYSUT2, there is a check to see
 if it already is in the PDS(E) UNLESS Replace (SYSUT2,R) is coded in
 the Copy command before the copy is attempted.
 ...
 If I am missing something in this analysis, please point it out.

My objective when I raised the topic of IEBCOPY was to obtain a list
of members in the SYSUT1 PDSU archive.  For this, it would suffice,
and I assumed, that SYSUT2 has DSORG=PS.  Certainly I'd expect
a failure attempting to create a member or update a directory in
any object not having DSORG=PO.

-- gil


Re: ADRDSSU VTOC -- also IEBCOPY

2014-06-07 Thread John Gilmore
Bob Raicer can defend his own positions, but it does seem to me that
he made it clear, with appropriate extracts from the manual, that
DUMMY is usable only with BSAM, QSAM, and VSAM, i.e., not with BPAM.

That being the case, most of this  backing and filling is, at best, irrelevant.

John Gilmore, Ashland, MA 01721 - USA


Re: ADRDSSU VTOC -- also IEBCOPY

2014-06-07 Thread Paul Gilmartin
On 2014-06-07, at 10:06, John Gilmore wrote:

 Bob Raicer can defend his own positions, but it does seem to me that
 he made it clear, with appropriate extracts from the manual, that
 DUMMY is usable only with BSAM, QSAM, and VSAM, i.e., not with BPAM.

Why are people fixated on BPAM?  My assumption was that both
SYSUT1 and SYSUT2 have (or can be treated as) DSORG=PS.  BPAM
is irrelevant, and as you say, DUMMY is usable with BSAM or QSAM.

-- gil


Re: ADRDSSU VTOC -- also IEBCOPY

2014-06-07 Thread retired mainframer
Bob quoted the JCL manual.  So yes, DUMMY is usable with QSAM.

The issue however is what is IEBCOPY's requirement.  My manual says SYSUT2
must reside on a device that supports QSAM, such as (but not limited to)
DASD or tape.  Since a DUMMY dataset does not reside on a device, it fails
that test.

The fact that the error message refers only to DASD and tape is just another
example of poor wording.

Why IEBCOPY has such an apparently unneeded restriction is a different
question.

And the original issue about member lists is solved by using VIO instead of
DUMMY.

:: -Original Message-
:: From: IBM Mainframe Assembler List [mailto:ASSEMBLER-
:: l...@listserv.uga.edu] On Behalf Of John Gilmore
:: Sent: Saturday, June 07, 2014 9:07 AM
:: To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
:: Subject: Re: ADRDSSU VTOC -- also IEBCOPY
::
:: Bob Raicer can defend his own positions, but it does seem to me that
:: he made it clear, with appropriate extracts from the manual, that
:: DUMMY is usable only with BSAM, QSAM, and VSAM, i.e., not with BPAM.
::
:: That being the case, most of this  backing and filling is, at best,
:: irrelevant.
::
:: John Gilmore, Ashland, MA 01721 - USA


Re: ADRDSSU VTOC -- also IEBCOPY

2014-06-07 Thread John Gilmore
To retired mainframer's post my response can be brief:  I think not.

A single member of a PDS[E] can be accessed in the usual way using
BSAM or QSAM.  A list of them cannot.  For that operation BPAM must be
used.  BPAM does not support the use of DUMMY.

John Gilmore, Ashland, MA 01721 - USA


Re: ADRDSSU VTOC -- also IEBCOPY

2014-06-07 Thread Bob Raicer

I don't think there is anything particularly wrong with what
you propose, however, it is both more code/work than what
currently exists and looking inside the data set referenced by
the DD being operated upon can only happen after it is OPENed
(and the BPAM OPEN will fail when referencing a DUMMY allocation).

Bob


On 2014-06-07 9:30 AM, Robert A. Rosenberg wrote:

At 08:30 -0600 on 06/07/2014, Bob Raicer wrote about Re: ADRDSSU VTOC -- also 
IEBCOPY:


I certainly cannot look at the source code for IEBCOPY, but I
suspect that IEBCOPY simply checks the device type associated with
the DD to be operated upon and if it's not something it likes (i.e.
DASD, TAPE) you get the results you're seeing.  Actually supporting
DUMMY allocations would require more work, not less as your
assertion implies.


I disagree.

Here is my reasoning.

Support of output to SYSUT2 requires that for each file that is being selected 
to be
potentially copied to SYSUT2, there is a check to see if it already is in the 
PDS(E)
UNLESS Replace (SYSUT2,R) is coded in the Copy command before the copy is 
attempted.

If SYSUT2 is DUMMY/NULLFILE, then the check is bypassed and the copy acts as if 
the file
does not exist in SYSUT2. All that is needed is to error at open time if you 
have a
DUMMY as input. For output, set a flag that says the dataset is dummy, and as 
each file
is selected, just issue the copied to message bypassing any reading of the 
member itself.

Note, I am assuming that you do not want to be warned of duplicate files from 
input (ie:
No Replaced or Not Copied messages).

If I am missing something in this analysis, please point it out.



Re: ADRDSSU VTOC -- also IEBCOPY

2014-06-07 Thread Paul Gilmartin
On 2014-06-07, at 11:17, retired mainframer wrote:

 Bob quoted the JCL manual.  So yes, DUMMY is usable with QSAM.

 The issue however is what is IEBCOPY's requirement.  My manual says SYSUT2
 must reside on a device that supports QSAM, such as (but not limited to)
 DASD or tape.  Since a DUMMY dataset does not reside on a device, it fails
 that test.

Which manual and section?  This depends on some nice semantics of
reside on a device.  Why, for example, does it permit VIO and SYSOUT
but prohibit DUMMY and UNIX files?  The latter, at least have to reside
somewhere.  And it's arguable whether VIO files reside on a device.

 The fact that the error message refers only to DASD and tape is just another
 example of poor wording.

Indeed.

 Why IEBCOPY has such an apparently unneeded restriction is a different
 question.

Indeed.  I think of Doug Gwyn's maxim (out of context here): Unix was not
designed to stop its users from doing stupid things, as that would also stop
them from doing clever things.

Sometimes it seems to me that z/OS more effectively stops users' doing
clever things than their doing stupid things.

 And the original issue about member lists is solved by using VIO instead of
 DUMMY.

Which has lower overhead, VIO or SYSOUT?

-- gil


Re: ADRDSSU VTOC -- also IEBCOPY

2014-06-07 Thread retired mainframer
:: -Original Message-
:: From: IBM Mainframe Assembler List [mailto:ASSEMBLER-
:: l...@listserv.uga.edu] On Behalf Of Paul Gilmartin
:: Sent: Saturday, June 07, 2014 11:46 AM
:: To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
:: Subject: Re: ADRDSSU VTOC -- also IEBCOPY
::
:: On 2014-06-07, at 11:17, retired mainframer wrote:
::
::  Bob quoted the JCL manual.  So yes, DUMMY is usable with QSAM.
:: 
::  The issue however is what is IEBCOPY's requirement.  My manual says
:: SYSUT2
::  must reside on a device that supports QSAM, such as (but not limited
:: to)
::  DASD or tape.  Since a DUMMY dataset does not reside on a device, it
:: fails
::  that test.
:: 
:: Which manual and section?  This depends on some nice semantics of

The DFSMSdfp Utilities manual in the chapter devoted to IEBCOPY.