Discussion:
copy PS into PDS with RPF?
d8tahl
2010-08-07 12:03:22 UTC
Permalink
tso command example
copy seq. dataset addu to 'sys2.proclib' as member newm

READY
pds addu cop 'sys2.proclib(newm)'
PDS484W COPY IS IN PROGRESS
DATA SET UTILITY - GENERATE
PAGE 0001
PROCESSING ENDED AT EOD

READY
Is there an RPF / TSO command to copy a PS into a PDS?
I've looked through the RPF menus, tried to use it's copy command, but
it said the source was not a PDS.
I started up the PDS command from TSO, but dont' see anything.
So do I need to do the (dreaded) JCL / + some utility ? ;)
Mike
Mike Stramba
2010-08-07 10:44:49 UTC
Permalink
Is there an RPF / TSO command to copy a PS into a PDS?

I've looked through the RPF menus, tried to use it's copy command, but
it said the source was not a PDS.

I started up the PDS command from TSO, but dont' see anything.

So do I need to do the (dreaded) JCL / + some utility ? ;)

Mike
Mike Schwab
2010-08-07 13:45:05 UTC
Permalink
On ISPF, edit the member then issue a copy command. The input can be
a member within the same PDS, a sequential file, or a PDS and member
name.
Is there an RPF / TSO command to copy a PS into a PDS?
I've looked through the RPF menus, tried to use it's copy command, but
it said the source was not a PDS.
I started up the PDS command from TSO, but dont' see anything.
So do I need to do the (dreaded) JCL / + some utility ? ;)
Mike
--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?
Rick Fochtman
2010-08-07 15:27:55 UTC
Permalink
-----------------------------<snip>--------------------------
Is there an RPF / TSO command to copy a PS into a PDS?
I've looked through the RPF menus, tried to use it's copy command, but
it said the source was not a PDS.
I started up the PDS command from TSO, but dont' see anything.
So do I need to do the (dreaded) JCL / + some utility ? ;)
----------------------------<unsnip>---------------------------
From TSO READY prompt you can do this:

ALLOC FI(SYSUT1) DA('input-ps-dataset') SHR
ALLOC FI(SYSUT2) DA('output-pds(membername')) SHR
ALLOC FI(SYSIN) DUMMY
ALLOC FI(SYSPRINT) DA(*)
CALL 'SYS1.LINKLIB(IEBGENER)'

or you can do this from batch:

// job statement
// EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD DISP=SHR,DSN=input-ps-dataset
//SYSUT2 DD DISP=SHR,DSN=output-pds(membername)

There's no reason to "dread" the utilities; they're your "friends in
need" and can save a LOT of headaches. :-)

JCL gets much easier with practice; just learn to treat it as a new
language and you'll pick it up much faster.

Where most "newbies" get tangled up is in over-specifiying JCL parameters.

I haven't checked lately but if you can find the site
<www.mvs-training.com>, they publish a book titled "OS.390 MVS JCL Quick
Reference Guide", by Olivia R. Carmandi (ISBN 1-892559-06-4) that's a
good learning aid for JCL. If you can't find that link, try going
through <www.diversifiedsoftware.com> You might also be able to find it
on AMAZON; it's not expensive but for a newcomer to the world of MVS JCL
it can be a real lifesaver. Just beware: there are features of OS/390
and z/OS JCL that aren't available in MVS 3.8. Like everything else in
the world of mainframe computing, evolution adds new features and
changes old ones.

Rick
Mike Stramba
2010-08-07 16:08:39 UTC
Permalink
Rick,

While I thrive on learning new stuff, sometimes I actually want to
*use* a command / utility for something (quasi) useful ;)

My primary goal was to try to assemble a 3270 program.
-- Secondary goal was to copy the source into the pds

So
" pds atc01.asm cop lib1.asm(atc) "

is a lot easier to remember / (type one line) use than :

ALLOC FI(SYSUT1) DA('input-ps-dataset') SHR
ALLOC FI(SYSUT2) DA('output-pds(membername')) SHR
ALLOC FI(SYSIN) DUMMY
ALLOC FI(SYSPRINT) DA(*)
CALL 'SYS1.LINKLIB(IEBGENER)'

.. On the other hand, IEBGENER, is "standard", and I assume pds is an
optional program (is it the 'pds' from the cbt tape?

E.g. I haven't found 'pds' in TSO while working on OS390 r8 or zos
1.4 systems, so I guess that's where your "generic" solution will
work. (I'll try it on both).

thx

Mike
Post by Rick Fochtman
-----------------------------<snip>--------------------------
Is there an RPF / TSO command to copy a PS into a PDS?
I've looked through the RPF menus, tried to use it's copy command, but
it said the source was not a PDS.
I started up the PDS command from TSO, but dont' see anything.
So do I need to do the (dreaded) JCL / + some utility ? ;)
----------------------------<unsnip>---------------------------
ALLOC FI(SYSUT1) DA('input-ps-dataset') SHR
ALLOC FI(SYSUT2) DA('output-pds(membername')) SHR
ALLOC FI(SYSIN) DUMMY
ALLOC FI(SYSPRINT) DA(*)
CALL 'SYS1.LINKLIB(IEBGENER)'
// job statement
// EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD DISP=SHR,DSN=input-ps-dataset
//SYSUT2 DD DISP=SHR,DSN=output-pds(membername)
There's no reason to "dread" the utilities; they're your "friends in
need" and can save a LOT of headaches. :-)
JCL gets much easier with practice; just learn to treat it as a new
language and you'll pick it up much faster.
Where most "newbies" get tangled up is in over-specifiying JCL parameters.
I haven't checked lately but if you can find the site
<www.mvs-training.com>, they publish a book titled "OS.390 MVS JCL Quick
Reference Guide", by Olivia R. Carmandi (ISBN 1-892559-06-4) that's a
good learning aid for JCL. If you can't find that link, try going
through <www.diversifiedsoftware.com> You might also be able to find it
on AMAZON; it's not expensive but for a newcomer to the world of MVS JCL
it can be a real lifesaver. Just beware: there are features of OS/390
and z/OS JCL that aren't available in MVS 3.8. Like everything else in
the world of mainframe computing, evolution adds new features and
changes old ones.
Rick
Gerhard Postpischil
2010-08-07 17:07:42 UTC
Permalink
Post by Mike Stramba
So
" pds atc01.asm cop lib1.asm(atc) "
ALLOC FI(SYSUT1) DA('input-ps-dataset') SHR
ALLOC FI(SYSUT2) DA('output-pds(membername')) SHR
ALLOC FI(SYSIN) DUMMY
ALLOC FI(SYSPRINT) DA(*)
CALL 'SYS1.LINKLIB(IEBGENER)'
As usual, there are a number of distinct ways of doing things.
In my case, I have canned JCL for everything I need regularly,
and then some. Usually requires changing one or two names. If I
have the requirement or preference to do it in TSO, the above
can be encapsulated in a CLIST (e.g., define a PROC with an
obvious, but unique name, such as COPY, and use either two
positional or two keyword parameters for the in and out names).
Post by Mike Stramba
.. On the other hand, IEBGENER, is "standard", and I assume pds is an
optional program (is it the 'pds' from the cbt tape?
E.g. I haven't found 'pds' in TSO while working on OS390 r8 or zos
1.4 systems, so I guess that's where your "generic" solution will
work. (I'll try it on both).
PDS is the greatest thing since sliced bread <G>. Go to
www.cbttape.org and download a copy for your OS/390 and later
systems before you forget <g>. There's even a version for MVT if
you want even older system stuff.

Gerhard Postpischil
Bradford, VT


------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/turnkey-mvs/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/turnkey-mvs/join
(Yahoo! ID required)

<*> To change settings via email:
turnkey-mvs-digest-***@public.gmane.org
turnkey-mvs-fullfeatured-***@public.gmane.org

<*> To unsubscribe from this group, send an email to:
turnkey-mvs-unsubscribe-***@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Mike Stramba
2010-08-07 17:35:04 UTC
Permalink
Gerhard,

I've tried to setup CLISTS, with parameters to JCL procedures, and
haven't been able to figure out the syntax of the parameters / quoting
brackets etc.

Can you "CLIST" the example below?

thx

Mike
have the requirement or preference to do it in TSO, the above If
can be encapsulated in a CLIST (e.g., define a PROC with an
obvious, but unique name, such as COPY, and use either two
positional or two keyword parameters for the in and out names).
Post by Mike Stramba
So
" pds atc01.asm cop lib1.asm(atc) "
ALLOC FI(SYSUT1) DA('input-ps-dataset') SHR
ALLOC FI(SYSUT2) DA('output-pds(membername')) SHR
ALLOC FI(SYSIN) DUMMY
ALLOC FI(SYSPRINT) DA(*)
CALL 'SYS1.LINKLIB(IEBGENER)'
As usual, there are a number of distinct ways of doing things.
In my case, I have canned JCL for everything I need regularly,
and then some. Usually requires changing one or two names. I
have the requirement or preference to do it in TSO, the above If
can be encapsulated in a CLIST (e.g., define a PROC with an
obvious, but unique name, such as COPY, and use either two
positional or two keyword parameters for the in and out names).
Post by Mike Stramba
.. On the other hand, IEBGENER, is "standard", and I assume pds is an
optional program (is it the 'pds' from the cbt tape?
E.g. I haven't found 'pds' in TSO while working on OS390 r8 or zos
1.4 systems, so I guess that's where your "generic" solution will
work. (I'll try it on both).
PDS is the greatest thing since sliced bread <G>. Go to
www.cbttape.org and download a copy for your OS/390 and later
systems before you forget <g>. There's even a version for MVT if
you want even older system stuff.
Gerhard Postpischil
Bradford, VT
------------------------------------
Yahoo! Groups Links
ScottC
2010-08-07 19:43:55 UTC
Permalink
This post might be inappropriate. Click to display it.
Ron Hudson
2010-08-07 17:54:19 UTC
Permalink
On Sat, Aug 7, 2010 at 10:07 AM, Gerhard Postpischil
Post by Mike Stramba
ALLOC FI(SYSUT1) DA('input-ps-dataset') SHR
ALLOC FI(SYSUT2) DA('output-pds(membername')) SHR
ALLOC FI(SYSIN) DUMMY
ALLOC FI(SYSPRINT) DA(*)
CALL 'SYS1.LINKLIB(IEBGENER)'
Will this work to copy a PDS member into a non-pds dataset as well?
(If the need ever arose...)
Rick Fochtman
2010-08-09 03:17:58 UTC
Permalink
-----------------------<snip>-----------------------------
Post by Ron Hudson
On Sat, Aug 7, 2010 at 10:07 AM, Gerhard Postpischil
Post by Mike Stramba
ALLOC FI(SYSUT1) DA('input-ps-dataset') SHR
ALLOC FI(SYSUT2) DA('output-pds(membername')) SHR
ALLOC FI(SYSIN) DUMMY
ALLOC FI(SYSPRINT) DA(*)
CALL 'SYS1.LINKLIB(IEBGENER)'
Will this work to copy a PDS member into a non-pds dataset as well?
(If the need ever arose...)
----------------------------------<unsnip>---------------------------
Yes. IEBGENER copies from SYSUT1 to SYSUT2 and the type of dataset named
on each DD statement has not effect.

BEWARE of one common mistake: not specifying a member name on SYSUT2
when the dataset is a PDS. You'll over-write the directory and
essentially destroy the PDS.

Rick
<mailto:hudson.ra-***@public.gmane.org?subject=Re:%20%5Bturnkey-mvs%5D%20copy%20PS%20into%20PDS%20with%20RPF?>
Carlos Aguilera Sr.
2010-08-07 15:52:15 UTC
Permalink
This is another that new and old practitioners should follow, it has a lot
of practical widwom.



Carlos Aguilera Sr.

1401 Liggates Rd.

Lynchburg, VA 24502

434-401-4828

Carlos-FiVMtmHp2a9Wk0Htik3J/***@public.gmane.org
Mike Stramba
2010-08-07 16:17:58 UTC
Permalink
Carlos,

Thanks for the doc, I'm always looking for more info on JCL

This is a pretty good site, with lots of downloadable code examples :
http://www.simotime.com/indexjcl.htm

Mike
Post by Carlos Aguilera Sr.
This is another that new and old practitioners should follow, it has a lot
of practical widwom.
Carlos Aguilera Sr.
1401 Liggates Rd.
Lynchburg, VA 24502
434-401-4828
Mike Stramba
2010-08-07 15:57:52 UTC
Permalink
d8tah,

Thanks !

I (eventually) got it working.

1) First snag was that IND$FILE created a VB recfm file by default,
had to change the options to recfm(fb) lrecl(80) blksize(3120)

2) Second snag was trying to copy in to the default-created
herc01.test.asm, apparently wasn't enough space.

pds atc01.asm cop test.asm(atc)
ABEND SB14 U0000 AT 0C6F48

What is the *size* column in rpf 3,4 ?

After fixing the IND$FILE options, creating a new PDS, all is good !

Thanks !

Mike
Post by d8tahl
tso command example
copy seq. dataset addu to 'sys2.proclib' as member newm
READY
pds addu cop 'sys2.proclib(newm)'
PDS484W COPY IS IN PROGRESS
DATA SET UTILITY - GENERATE
PAGE 0001
PROCESSING ENDED AT EOD
READY
Is there an RPF / TSO command to copy a PS into a PDS?
I've looked through the RPF menus, tried to use it's copy command, but
it said the source was not a PDS.
I started up the PDS command from TSO, but dont' see anything.
So do I need to do the (dreaded) JCL / + some utility ? ;)
Mike
Loading...