Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: FTP JCL EXAMPLE - FTP PDS

443 views
Skip to first unread message

willie bunter

unread,
Sep 7, 2017, 12:47:50 PM9/7/17
to
John,

I am stuck again. Would you have the parm when FTPing a PDS/PDSE?

I tried the following:

QUOTE SITE PRI=50 SEC=20 CYL
MPUT 'FTP.V8050.MVS.BUILDJCL(*)' +
'DRP.V8050.MVS.BUILDJCL.NEW'
QUIT

--------------------------------------------
On Fri, 9/1/17, John McKown <john.arch...@GMAIL.COM> wrote:

Subject: Re: FTP JCL EXAMPLE
To: IBM-...@LISTSERV.UA.EDU
Received: Friday, September 1, 2017, 11:27 AM

On Fri, Sep 1, 2017 at 10:19 AM,
willie bunter <
0000001409bd234...@listserv.ua.edu>
wrote:

> Good Day To
All,
>
>      I am
trying to FTP a dsn of 90 cylinders from one MAINFRAME Lpar
to
> another.  The FTP function is
unsuccessful because of a space abend.
>
> Would anybody have an
example of how to code the space parm in the FTP
> batch job?
>
> I thought about pre-allocation the dsn on
the target LPAR.  This works
> however
because of other dsns which will be FTP'd, the size of
the dsns are
> not known because the
application batch jobs are run overnight.
>
> I looked at IBM
KNOWLEDGE CENTER but I couldn't find anything that
would
> satisfy my  requirement.
>
> Here is my
batchjob.  Please note I blanked out the IP address.
>
> //STEPFTP  EXEC
PGM=FTP,REGION=4096K,TIME=5,
> //
PARM='1XX.1XX.XX.XXX
> //SYSPRINT DD
SYSOUT=*
> //OUTPUT  DD SYSOUT=*
> //INPUT      DD *
>  O00070 PASSWORD
>

​QUOTE SITE PRI=20 SEC=20
CYL​



>  PUT 'O00070.OTTCAUDR.AUDITLOG'
+
>     
'O00070.OTTCAUDR.AUDITLOG'

QUIT
> /*
> //
>
> Thanks.
>

​The
QUOTE SITE above is equivalent to SPACE=(CYL,(20,20))​. Of
course,
this is a "hard coded"
value which may be too large for some DSNs and not
large enough for others. If you need something
which "dynamically adjusts"
the
values, then you'll need to do more work. FTP itself
cannot do this for
you.


--
Caution!
The OP is an hyperpolysyllabicsesquipedalianist and this
email may
cause stress to those with
hippopotomonstrosesquipedaliophobia.

Maranatha! <><
John
McKown

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive
access instructions,
send email to list...@listserv.ua.edu
with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to list...@listserv.ua.edu with the message: INFO IBM-MAIN

John McKown

unread,
Sep 7, 2017, 1:33:31 PM9/7/17
to
On Thu, Sep 7, 2017 at 11:47 AM, willie bunter <
0000001409bd234...@listserv.ua.edu> wrote:

> John,
>
> I am stuck again. Would you have the parm when FTPing a PDS/PDSE?
>
> I tried the following:
>
> QUOTE SITE PRI=50 SEC=20 CYL
> MPUT 'FTP.V8050.MVS.BUILDJCL(*)' +
> 'DRP.V8050.MVS.BUILDJCL.NEW'
> QUIT
>
>
​That MPUT command just looks "wrong" to me. I am assuming that you want to
send all the members in FTP.V8050.MVS.BUILDJCL to a new PDSE called
DRP.V8050.MVS.BUILDJCL.NEW. What I think you need is akin to:


-- use the next two if transferring within same z/OS system (don't key in
this line)
quote site pri=50 sec=20 cyl
mkdir 'DRP.V8050.MVS.BUILD.JCL.NEW' (like 'FTP.V8050.MVS.BUILDJCL
-- or use the next two if the receiving dataset is on a different z/OS
system (don't key in this line)
quote site lrecl=? recfm=? pri=50 sec=20 cyl dir=100 pdstype=pdse
mkdir 'DRP.V8050.MVS.BUILD.JCL.NEW'​
​-- common commands (don't key in this line)
cd 'DRP.V8050.MVS.BUILD.JCL.NEW'
lcd 'FTP.V8050.MVS.BUILDJCL'
prompt
mput *
bye

You can use the first "quote & mkdir" lines - the one with the "(like ..."
- only if the FTP.--- DSN is on the system from which you are doing the
ftp, which is not likely. If you're sending from one z/OS to another, then
use the "quote site" and the second "mkdir"​. You must use the "cd" command
to direct the output into the DRP.--- dataset. You must use the "lcd"
command to read the member from the FTP.--- dataset. I put in the "prompt"
command to disable the normal prompt for confirming the transfer of each
member. The "mput *' actually transfer the members from the FTP.--- to the
DRP.--- dataset.


--
UNIX was not designed to stop you from doing stupid things, because that
would also stop you from doing clever things. -- Doug Gwyn

Cieri, Anthony

unread,
Sep 7, 2017, 1:41:45 PM9/7/17
to

If you are transferring a PDS from one MVS LPAR to another and creating the target PDS, couldn't you use:

mvsput 'FTP.V8050.MVS.BUILDJCL' 'DRP.V8050.MVS.BUILDJCL.NEW' (REAllocate

John McKown

unread,
Sep 7, 2017, 2:04:04 PM9/7/17
to
On Thu, Sep 7, 2017 at 12:40 PM, Cieri, Anthony <ACi...@seic.com> wrote:

>
> If you are transferring a PDS from one MVS LPAR to another and
> creating the target PDS, couldn't you use:
>
> mvsput 'FTP.V8050.MVS.BUILDJCL' 'DRP.V8050.MVS.BUILDJCL.NEW'
> (REAllocate


​Oh, that is good. I'm still stuck on z/OS 1.12, so I'm not up on the
newest and greatest FTP commands. I need to go read the 2.3 books on that
to see what other goodies exist.​

willie bunter

unread,
Sep 15, 2017, 8:54:40 AM9/15/17
to
John,
Quick question.  Could you tell me how I can continue on the next line.  For example :mvsput 'FTP.V8050.MVS.BUILDJCL'  'DRP.V8050.MVS.BUILDJCL.NEW' (REAllocate

If the output disn has more characters I run out of space .  I  tried typing + as a continuation (in col 72) and then on the next lineI typed ' (REAllocate.
mvsput 'FTP.V8050.MVS.BUILDJCL'  'DRP.V8050.MVS.BUILDJCL.NEW'                +(REAllocate

  However the command didn't work because of unbalanced parenthesis.  Do you have a solution?
Thanks. From: John McKown <john.arch...@GMAIL.COM>
To: IBM-...@LISTSERV.UA.EDU
Sent: Thursday, September 7, 2017 2:04 PM
Subject: Re: FTP JCL EXAMPLE - FTP PDS

willie bunter

unread,
Sep 15, 2017, 8:58:37 AM9/15/17
to
Sorry it wasn't parenthesis but: Mismatched quotes on pathname 'DRP.V8050.MVS.BUILDJCL.NEW'(REAllocate

Paul Gilmartin

unread,
Sep 15, 2017, 9:18:45 AM9/15/17
to
On Fri, 15 Sep 2017 12:54:06 +0000, willie bunter wrote:

>John,
>Quick question.  Could you tell me how I can continue on the next line.  For example :mvsput 'FTP.V8050.MVS.BUILDJCL'  'DRP.V8050.MVS.BUILDJCL.NEW' (REAllocate
>
>If the output disn has more characters I run out of space .  I  tried typing + as a continuation (in col 72) and then on the next lineI typed ' (REAllocate.
>mvsput 'FTP.V8050.MVS.BUILDJCL'  'DRP.V8050.MVS.BUILDJCL.NEW'                +(REAllocate
>
Why restrict yourself to 72 characters? For many releases now, JCL
has imposed no such restriction on SYSIN.

Old habits, however detrimental, die hard.

-- gil

John McKown

unread,
Sep 15, 2017, 9:22:58 AM9/15/17
to
On Fri, Sep 15, 2017 at 7:54 AM, willie bunter <
0000001409bd234...@listserv.ua.edu> wrote:

> John,
> Quick question. Could you tell me how I can continue on the next line.
> For example :mvsput 'FTP.V8050.MVS.BUILDJCL' 'DRP.V8050.MVS.BUILDJCL.NEW'
> (REAllocate
>
> If the output disn has more characters I run out of space . I tried
> typing + as a continuation (in col 72) and then on the next lineI typed '
> (REAllocate.
> mvsput 'FTP.V8050.MVS.BUILDJCL' 'DRP.V8050.MVS.BUILDJCL.NEW'
> +(REAllocate
>
> However the command didn't work because of unbalanced parenthesis. Do
> you have a solution?
>

​Hum, seems like it should work according to
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r2.halu001/ftpreq.htm

mvsput 'FTP.V8050.MVS.BUILDJCJ' 'DRP.V8050.MVS.BUILDJCL.NEW' +
(REALLOCATE

or maybe try

mvsput 'FTP.V8050.MVS.BUILDJCJ' +
'DRP.V8050.MVS.BUILDJCL.NEW' (REALLOCATE

John McKown

unread,
Sep 15, 2017, 9:28:49 AM9/15/17
to
On Fri, Sep 15, 2017 at 8:18 AM, Paul Gilmartin <
0000000433f0781...@listserv.ua.edu> wrote:

> On Fri, 15 Sep 2017 12:54:06 +0000, willie bunter wrote:
>
> >John,
> >Quick question. Could you tell me how I can continue on the next line.
> For example :mvsput 'FTP.V8050.MVS.BUILDJCL' 'DRP.V8050.MVS.BUILDJCL.NEW'
> (REAllocate
> >
> >If the output disn has more characters I run out of space . I tried
> typing + as a continuation (in col 72) and then on the next lineI typed '
> (REAllocate.
> >mvsput 'FTP.V8050.MVS.BUILDJCL' 'DRP.V8050.MVS.BUILDJCL.NEW'
> +(REAllocate
> >
> Why restrict yourself to 72 characters? For many releases now, JCL
> has imposed no such restriction on SYSIN.
>
> Old habits, however detrimental, die hard.
>

​Job may be in a "normal" production JCL library. Trying to convince a
production control person that JCL can be in anything other than an FB/80
library is likely to be a very frustrating experience. Sometimes we must do
things old style just to placate other people. Yes, it would be nice to
educate people. But it can be _impossible_ in some cases. I had a JCL
checker which I set up to do a WARNING if the JCL contained obsolete but
acceptable parameters. I was raked over the coals by a programmer who "has
been coding JCL for over 25 years, damn it!" when I flagged a SEP= in his
JCL. He _refused_ to stop coding it. And he complained up the chain that
the JCL checker was broken because it flagged the statement as "accepted by
unneeded". He demanded it be changed to not issue the warning because it
was distracting to him and "hiding" any "real problems".



>
> -- gil
>
>

--
UNIX was not designed to stop you from doing stupid things, because that
would also stop you from doing clever things. -- Doug Gwyn

Maranatha! <><
John McKown

Paul Gilmartin

unread,
Sep 15, 2017, 10:01:53 AM9/15/17
to
On Fri, 15 Sep 2017 08:28:37 -0500, John McKown wrote
>>
>> Why restrict yourself to 72 characters? For many releases now, JCL
>> has imposed no such restriction on SYSIN.
>>
>> Old habits, however detrimental, die hard.
>
>​Job may be in a "normal" production JCL library. Trying to convince a
>production control person that JCL can be in anything other than an FB/80
>library is likely to be a very frustrating experience. Sometimes we must do
>things old style just to placate other people. ...
>
Sigh. Will this take longer than it took to remove the whipsockets from
the design of motorcar dashboards?

OK. An alternative technology, but alas, newer and subject perhaps to
greater future shock:

Define the long data set name in a SET statement.
code "INPUT DD *,SYMBOLS=JCLONLY" to enable substitution of the
symbol.

Caution: if the SET precedes an EXEC, astonishing, perhaps undesirable
results may occur.

-- gil

willie bunter

unread,
Sep 15, 2017, 10:09:08 AM9/15/17
to
Thanks John, I will try out your suggestion. 
Thanks to all who responded and help.

John McKown

unread,
Sep 15, 2017, 10:17:01 AM9/15/17
to
On Fri, Sep 15, 2017 at 9:01 AM, Paul Gilmartin <
0000000433f0781...@listserv.ua.edu> wrote:

> On Fri, 15 Sep 2017 08:28:37 -0500, John McKown wrote
> >>
> >> Why restrict yourself to 72 characters? For many releases now, JCL
> >> has imposed no such restriction on SYSIN.
> >>
> >> Old habits, however detrimental, die hard.
> >
> >​Job may be in a "normal" production JCL library. Trying to convince a
> >production control person that JCL can be in anything other than an FB/80
> >library is likely to be a very frustrating experience. Sometimes we must
> do
> >things old style just to placate other people. ...
> >
> Sigh. Will this take longer than it took to remove the whipsockets from
> the design of motorcar dashboards?
>

​Oh, wow! I want a whipsocket on my dashboard. I could use it to hold a
very long bull whip to use on people who are irritating me while I drive.
Why did we ever remove such a useful facility?!?​



>
> OK. An alternative technology, but alas, newer and subject perhaps to
> greater future shock:
>
> Define the long data set name in a SET statement.
> code "INPUT DD *,SYMBOLS=JCLONLY" to enable substitution of the
> symbol.
>
> Caution: if the SET precedes an EXEC, astonishing, perhaps undesirable
> results may occur.
>
> -- gil
>


--
UNIX was not designed to stop you from doing stupid things, because that
would also stop you from doing clever things. -- Doug Gwyn

Maranatha! <><
John McKown

Jesse 1 Robinson

unread,
Sep 15, 2017, 1:21:56 PM9/15/17
to
It's Friday. Long ago I was a Peace Corps Volunteer in Nigeria. Rode once in a taxi whose driver kept a switch (thin tree branch) on the dashboard. Whenever a swerving bicycle rider came too close, driver would grab the switch and whip the rider. No special automotive accessory required.

.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler
SHARE MVS Program Co-Manager
323-715-0595 Mobile
626-543-6132 Office ⇐=== NEW
robi...@sce.com

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-...@LISTSERV.UA.EDU] On Behalf Of John McKown

Dejan Stamatovic

unread,
Sep 18, 2017, 3:52:16 AM9/18/17
to
I have been there and I know what you are talking about!
Old solutions can also do the job but lets hope there is a new, better spin to that old solution.

Best regards

Dejan Stamatović

CROZ D.O.O.
0 new messages