IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Copy a PDS to a new PDS - why do I need to know Volume info


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Smouch Smith

New User


Joined: 27 Oct 2021
Posts: 17
Location: Germany

PostPosted: Wed Oct 27, 2021 1:26 pm
Reply with quote

I am very new to using ISPF, and working on zOS in general.
I am slowly becoming more comfortable with the tools, even if I do find them rather unhelpful and archaic, and trying to learn.

I have inherited an extremely complicated in-house panel application (as usual with essentially zero documentation) which is made up of hundreds of files (or, I guess, DSNs). I have looked through the sources rather extensively, and now wish to start making some changes to, for example, at least populate the available menu options so that I don't have to remember them all. Most of the panels respond to at least a dozen different menu options (from single character options like: '1', 'A', etc, to full word options like 'dbload', or 'insert', depending upon which panel (sub-panel) is being shown) but usually less than half of these command-options are shown on the list of available options. This makes using the panel application very non-intuitive !

Anyway, now that you have a little background, I want to make a copy of all the files before I start modifying anything. I tried to use ISPF copy (3.3), but when I enter the PDS,
example:

Code:
 From ISPF Library:                                                     
    Project . . . MYUSER              (--- Options C and CP only         ---)
    Group . . . . DEV         . . .          . . .          . . .         
    Type  . . . .  MYPROJ                                                     
    Member  . . . *                 (Blank or pattern for member list,   
                                    "*" for all members)               


I get the error "Data set not cataloged".

I can see there is another location where I can work with uncataloged data sets:

Code:
From Other Partitioned or Sequential Data Set:                                 
   Name  . . . . . . .                                                         
   Volume Serial . . .            (If not cataloged)                           


When I enter the name: MYUSER.DEV.MYPROJ.*, and leave Volume Serial blank, I get an error "Invalid DSN - qualifier"

I guess this *might* be because I have left VolSer empty - although, perhaps not. The problem is that all the members of the PDS are scattered across different Volumes. So, there's no (obvious) answer to what to put in that field.

Any help or pointers is greatly appreciated.
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1205
Location: Dublin, Ireland

PostPosted: Wed Oct 27, 2021 3:19 pm
Reply with quote

Quote:
The problem is that all the members of the PDS are scattered across different Volumes.


IBM documentation states :
"PDS and PDSE data sets are limited to one volume." So how can the members of a PDS be scattered across different volumes?

As to having to specify the volume - if you have allocated and cataloged the dataset, there should be no need. Is your system set up to automatically assign volumes and catalog datasets?

Garry.
Back to top
View user's profile Send private message
Smouch Smith

New User


Joined: 27 Oct 2021
Posts: 17
Location: Germany

PostPosted: Wed Oct 27, 2021 4:37 pm
Reply with quote

So, it seems that actually, I am dealing with several PDSs.

I thought I was dealing with a single PDS (MYUSER.DEV.MYPROJ), but I guess not.

Each PDS contains 1 to many! files. I was hoping to copy them all at one time.

Example:
Code:

PDS                           Volume
MYUSER.DEV.MYPROJ.CLIST       TSO006
MYUSER.DEV.MYPROJ.DATA        TSO001
MYUSER.DEV.MYPROJ.EXEC        TSO002
MYUSER.DEV.MYPROJ.MLIB        TSO007
MYUSER.DEV.MYPROJ.PLIB        TSO001
MYUSER.DEV.MYPROJ.SLIB        TSO003
MYUSER.DEV.MYPROJ.TLIB        TSO005


BUT, even if I provide a single PDS, and provide the Volume :
Code:

From Other Partitioned or Sequential Data Set:                                 
   Name  . . . . . . . MYUSER.DEV.MYPROJ.EXEC                                 
   Volume Serial . . . TSO002     (If not cataloged)                           

I get the error: "Data set not cataloged"
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1205
Location: Dublin, Ireland

PostPosted: Wed Oct 27, 2021 5:16 pm
Reply with quote

Quote:
BUT, even if I provide a single PDS, and provide the Volume :
Code:

From Other Partitioned or Sequential Data Set:
Name . . . . . . . MYUSER.DEV.MYPROJ.EXEC
Volume Serial . . . TSO002 (If not cataloged)


Have you tried putting quotes around the dataset name and leave out the volume? If it's cataloged, it should be found. Without the quotes, the dataset name will be prefixed, perhaps with your userid.

Garry.
Back to top
View user's profile Send private message
Smouch Smith

New User


Joined: 27 Oct 2021
Posts: 17
Location: Germany

PostPosted: Wed Oct 27, 2021 5:50 pm
Reply with quote

Quote:
...quotes...


Magic !

I don't understand that at all; but it worked.

So, if I don't quote the PDS (or I guess also a DSN) name, it will automatically be prefixed with my USER ? Even if it I specify my USER as the first element of the name ?
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1205
Location: Dublin, Ireland

PostPosted: Wed Oct 27, 2021 6:43 pm
Reply with quote

Yes, in TSO most options require at least the leading quote. If your userid is MYUSER, it would have been looking for MYUSER.MYUSER.DEV.MYPROJ.EXEC and finding that it's not cataloged icon_smile.gif Alternatively, try specifying just DEV.MYPROJ.EXEC without the quotes.

Thanks for letting me know. Glad I could help.

Garry.
Back to top
View user's profile Send private message
sergeyken

Senior Member


Joined: 29 Apr 2008
Posts: 2146
Location: USA

PostPosted: Wed Oct 27, 2021 7:41 pm
Reply with quote

Smouch Smith wrote:
Quote:
...quotes...


Magic !

I don't understand that at all; but it worked.

So, if I don't quote the PDS (or I guess also a DSN) name, it will automatically be prefixed with my USER ? Even if it I specify my USER as the first element of the name ?

It is not magic...

This is one of very standard rules for using the quoted (e.g. fully qualified) DSNAME vs the unquoted ones (e.g. the TSOID is automatically appended in front of the specified DSN.

P.S.
There are hundreds and thousands of other basic rules required to start working with TSO/ISPF
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 736
Location: Denmark

PostPosted: Wed Oct 27, 2021 8:21 pm
Reply with quote

In your first screenshot it looks as if you have a blank before MYPROJ. If that is so, then remove that and try again.
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Wed Oct 27, 2021 11:00 pm
Reply with quote

A little history, so bear with us.

In 1965 or so, when OS/360 was first conceived as a true disk operating system. As an aside, DOS/360 was a tape operating system, TOS/360, stuffed onto disks in a manner similar to IBSYS/IBJOB for second generation systems.

In 1965, online storage was maybe 100 megabytes for a gigantic system.

Most data sets in this environment were not cataloged; the catalog was a a new phenomenon and only system data sets were cataloged. User data, for the most part, was on magnetic tape and not cataloged.

By 1970, when TSO was initially conceived, online storage had grown to 1 or 2 gigabytes in many OS/360 shops, and many smaller user data sets were on disk and location information was stored in the catalog. There were still a lot of data sets that were not cataloged, especially data sets on magnetic tape.

The TSO command language tried to recognize these facts. User data sets, for convenience, were named userid.XXX.YYY.

This fit in well with the design of the OS/360 catalog scheme, though it caused performance issues in larger shops with many users. The YYY portion of the data set name usually indicated the type of data in the data set; YYY might be DATA for ordinary data, PLI for a PL/I program and so on. The XXX was freeform for the user.

A TSO user, to create a data set to contain a PLI program might enter

e newpgm pli

where E indicated the TSO command processor, EDIT in this case, newpgm was freeform, and PLI indicated both the type of data in the data set, and the DCB attributes of the data sets. This, in fact, was more flexible than meets the eye as EDIT could handle PLI data in both fixed format data sets as well as variable format data sets.

Programmers could edit system data sets:

e 'sys1.proclib(asmfc)' cntl

The single quotes around the data set name indicate the data set name was "fully qualified;" TSO would not insert a userid into the data set name. Notice, though, that EDIT demanded a type: CNTL indicates that data set contains JCL.

Now skip forward to 1975 when SPF, which ultimately morphed into the modern ISPF/PDF, was conceived. The designers conceived of a production environment where data sets would be OS/360 PDS data sets. Littered through SPF were panels containing structures like
Code:
From ISPF Library:
   Project . . . X
   Group . . . . X
   Type  . . . . X
   Member  . . .
I put in X as a default so the cursor will alight on the member name area. The assumption was these data sets would be cataloged. They also realized there were a lot of possible data sets that didn't meet this standard, so most panels have something like
Code:
From Other Partitioned or Sequential Data Set:     
   Name  . . . . . . .
   Volume Serial . . .            (If not cataloged)

For better or worse, ISPF/PDF panels still have this antique concept.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts Copy only TEXT or String from a record SYNCSORT 4
No new posts Use Copy Utility DB2 7
No new posts VB to VB copy - Full length reached SYNCSORT 8
No new posts Need COBOL COPY Help in MVS Environment COBOL Programming 4
No new posts Issue after ISPF copy to Linklist Lib... TSO/ISPF 1
Search our Forums:

Back to Top