Re: symbolic date parameter (EZACFSM1)

2010-09-21 Thread Walter Marguccio
 Have you considered the system symbol interpreter called EZACFSM1?  I 
 checked to make sure it was available in Comm Server 1.7.  This is what your 
 sample job will turn into:

I've followed the old, frequent thread about variables in JCL for ages,
and it never occurred to me that this program was able to did the trick.
For trivial things like create a SYSIN-type dataset for FTP or IDCAMS,
where date and time within a dataset name is required, EZACFSM1is perfect,
instead of creating, say, an ad-hoc REXX which does the same.
However, it doesn't look to me as the solution IBM recommends to solve
the 'system variable in jcl' issue, otherwise the use and scope of this pgm
would have been more widely published, and not only on a single, spare page in 
the
z/OS x.yy IP Configuration Guide.  
So my question(s) to this forum are what other mates sysprog do with this 
program.
Do you use it ? Did you widespread the use to programmers or other staff who 
use 
jcl ?
Do you see any remarkable drawbacks which I don't see ?
Are there any statements of direction from IBM ? 

TIA.

Walter Marguccio
z/OS Systems Programmer
BELENUS LOB Informatic GmbH
Munich - Germany




--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter (EZACFSM1)

2010-09-21 Thread Peter Nuttall
We use it here to transfer files (reports) to the server on a weekly basis 
as follows :

//STEPRPL  EXEC PGM=EZACFSM1 
//SYSOUTDD DSN=FILEN,DISP=(NEW,PASS),SPACE=(TRK,(1,1)), 
// LRECL=80,RECFM=FB,DSORG=PS 
//SYSIN DD * 
  WINDSN=\'PFILE002\\ADSHARE\\10.METHODS\ !! - 
  \\\06 MEASUREMENTS\\G DATA COLLECTION\\LOC\ !! - 
  \\\COUNTS_WKLYRUN_DYYMMDD_THHMMSS..TXT'\ - 
/* 
//** 
//* C:D TO TRANSFER FILE COMING FROM MAINFRAME * 
//** 
//DMBATCH  EXEC PGM=DMBATCH,REGION=1024K,PARM=(YYSLYNN) 
//*INCLUDE MEMBER=CDISLIB 
//DMNETMAP  DD DISP=SHR,DSN=SYSTEM.NETMAP.FILE 
//DMMSGFIL  DD DISP=SHR,DSN=SYSTEM.MSGFILE  
//DMPUBLIB  DD DISP=SHR,DSN=SYSTEM.CDPROCES 
//NDMCMDS   DD SYSOUT=* 
//DMPRINT   DD SYSOUT=* 
//SYSPRINT  DD SYSOUT=* 
//SYSIN DD * 
  SIGNON 
  SUBMIT PROC=CPY2WIN - 
//  DD DSN=FILEN,DISP=(OLD,DELETE,DELETE) 
//  DD * 
  SNODE=PCDCRP01 - 
  DISP=NEW - 
  SYSOPTS='DATATYPE(TEXT) STRIP.BLANKS(NO)' - 
  MFDSN='DATASET.PRJSTAT.COUNTS.WKLYRUN(0)' 
  SIGNOFF 
/* 

Must admit, I had not seen it before coming here . (am in the 
Configuration Management team) 

Kind regards,
Peter
 
 



Walter Marguccio walter_marguc...@yahoo.com 
Sent by: IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu
21/09/2010 10:31 AM
Please respond to
IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu


To
IBM-MAIN@bama.ua.edu
cc

Subject
Re: symbolic date parameter (EZACFSM1)








 Have you considered the system symbol interpreter called EZACFSM1?  I 
 checked to make sure it was available in Comm Server 1.7.  This is what 
your 
 sample job will turn into:

I've followed the old, frequent thread about variables in JCL for ages,
and it never occurred to me that this program was able to did the trick.
For trivial things like create a SYSIN-type dataset for FTP or IDCAMS,
where date and time within a dataset name is required, EZACFSM1is perfect,
instead of creating, say, an ad-hoc REXX which does the same.
However, it doesn't look to me as the solution IBM recommends to solve
the 'system variable in jcl' issue, otherwise the use and scope of this 
pgm
would have been more widely published, and not only on a single, spare 
page in 
the
z/OS x.yy IP Configuration Guide. 
So my question(s) to this forum are what other mates sysprog do with this 
program.
Do you use it ? Did you widespread the use to programmers or other staff 
who use 
jcl ?
Do you see any remarkable drawbacks which I don't see ?
Are there any statements of direction from IBM ? 

TIA.

Walter Marguccio
z/OS Systems Programmer
BELENUS LOB Informatic GmbH
Munich - Germany


 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



This e-mail message, including any attachments transmitted with it, is 
CONFIDENTIAL and may contain legally privileged information. This message is 
intended solely for the use of the individual or entity to whom it is 
addressed. If you have received this message in error, please notify us 
immediately and delete it from your system. Please visit our website to read 
the full disclaimer: http://www.euroclear.com/site/public/disclaimer

Re: symbolic date parameter

2010-09-17 Thread Staller, Allan
A shell script will also work just fine to extract the system date in
just about any format practical.
See the MAN pages for the UNIX DATE command.

HTH,

snip

I came up against this and now build the whole ftp job using a batch
initiated REXX program.
/snip

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-17 Thread Robert Birdsall
At the risk of going overboard, here is JCL that will do this with Rexx.
The only advantage of this over PGM=EZACFSM1 (which is simpler) is that you 
can do date manipulation (e.g. yesterday or next month).
The comments are, of course, optional.

//FTPTEST  JOB (JOB,JOB),'RHARRIS',CLASS=Z,MSGCLASS=M
//*
//* Create a temp DSN with dates in it.
//GETDATE  EXEC PGM=IKJEFT1B
//SYSEXEC  DD DISP=(NEW,PASS),DSN=amp;SYSEXEC,
// LRECL=80,RECFM=FB,DSORG=PO,SPACE=(TRK,(1,1,1))
//MEMBER   DD DISP=(OLD,DELETE),VOL=REF=*.SYSEXEC,DSN=amp;SYSEXEC
(REXX)
//PARM DD DISP=(NEW,PASS),DSN=amp;PARM,
// LRECL=80,RECFM=FB,SPACE=(TRK,(1,1))
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD *
  REPRO INFILE(REXX) OUTFILE(MEMBER)
  %REXX
/*
//REXX DD DATA,DLM=$$
/* Rexx program */
parse VALUE Date(S) Date(B) WITH Year +4 Month +2 Day Base
/* Year + n: */
/*Year = Year+n */
/* Month + n: */
/*Month = Month+n */
/*tM = 12*Year+(Month-1) */
/*Year = tM%12 */
/*Month = tM//12 +1 */
/* Day + n: */
/*parse VALUE Date('S',Base+n,'B') WITH Year +4 Month +2 Day */
/* skip 1st 2 chars of year - century */
YyMmDd = SubStr(Date('S',Year||Month||Day,'S'),3)
queue xxx.xxx.xxx.xxx
queue userid password
queue PUT 'randys.test.ftp.dataset' 'randys.test.ftp.dataset.DYymmdd'
queue QUIT
ExecIO Queued() DiskW PARM (FINIS
$$
//*
//* FTP the dataset
//STEP01   EXEC PGM=FTP
//SYSFTPD  DD  DSN=parmlib(FTPSDATA),DISP=(SHR,KEEP)
//SYSTCPD  DD  DSN=parmlib(TCPDATA),DISP=(SHR,KEEP)
//SYSPRINT DD  SYSOUT=*
//OUTPUT   DD  SYSOUT=*
//INPUTDD  DISP=OLD,DSN=amp;PARM


On Thu, 16 Sep 2010 15:47:59 -0500, Harris, Randy 
rhar...@furniturebrands.com wrote:

Trying to do an ftp from mainframe (z/OS v1.7) to a network server.
I would like to be able append the system date to the dataset in the put 
statement.
Is there a symbolic parameter for date that will allow me to do this?

-removed JCL-

Thanks,

Randy Harris
Lane Furniture Industries, Inc.
Tupelo, MS 38802
Phone: 662-566-3447
rhar...@furniturebrands.commailto:rhar...@furniturebrands.com

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


EZACFSM1 (was: symbolic date parameter)

2010-09-17 Thread Paul Gilmartin
On Fri, 17 Sep 2010 08:29:01 -0500, Robert Birdsall wrote:

At the risk of going overboard, [...] JCL [...] will do this with Rexx.
The only advantage of this over PGM=EZACFSM1 (which is simpler) is that you
can do date manipulation (e.g. yesterday or next month).

And I wonder about the support status of EZACFSM1.  Since it's
not really documented as a utility, but only mentioned as
ancillary to TCP/IP configuration and installation, is it likely
that if a customer were to report a problem with EZACFSM1 IBM
might say that use on data other than TCP/IP configuration
files is unsupported?

--gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-17 Thread Shmuel Metz (Seymour J.)
In aanlktiks+kkf+n4kfqzcgrja1vaccpbjxmp2-h02=...@mail.gmail.com, on
09/16/2010
   at 05:32 PM, Roberto Halais roberto.hal...@gmail.com said:

Why don't you use a REXX script that will generate your JCL and parms
and submit the job.

Why submit a separate job? Do the FTP in the script.
 
-- 
 Shmuel (Seymour J.) Metz, SysProg and JOAT
 ISO position; see http://patriot.net/~shmuel/resume/brief.html 
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-16 Thread Ted MacNEIL
You'll have to migrate to VSE to get this feature.

Or have a front end to parse the data before submission.

-
I'm a SuperHero with neither powers, nor motivation!
Kimota!

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-16 Thread Frank Swarbrick
You'll have to migrate to VSE to get this feature.

:-)

On 9/16/2010 at 2:47 PM, in message
d075e858419f4f45ab32ccfc321a616202b3edfad...@fbnex.furniturebrands.com,
Harris, Randy rhar...@furniturebrands.com wrote:
 Trying to do an ftp from mainframe (z/OS v1.7) to a network server.
 I would like to be able append the system date to the dataset in the put 
 statement.
 Is there a symbolic parameter for date that will allow me to do this?
 
 //FTPTEST  JOB  (JOB,JOB),'RHARRIS',CLASS=Z,MSGCLASS=M
 //STEP01   EXEC PGM=FTP
 //SYSFTPD  DD  DSN=parmlib(FTPSDATA),DISP=(SHR,KEEP,KEEP)
 //SYSTCPD  DD  DSN=parmlib(TCPDATA),DISP=(SHR,KEEP,KEEP)
 //SYSMDUMP DD  SYSOUT=*
 //SYSPRINT DD  SYSOUT=*
 //OUTPUT   DD  SYSOUT=*
 //INPUTDD  *
 xxx.xxx.xxx.xxx
 userid password
 PUT 'randys.test.ftp.dataset' ''randys.test.ftp.dataset.Dyymmdd' 
 QUIT
 /*
 
 Thanks,
 
 Randy Harris
 Lane Furniture Industries, Inc.
 Tupelo, MS 38802
 Phone: 662-566-3447
 rhar...@furniturebrands.commailto:rhar...@furniturebrands.com
 
 
 
 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html

 

The information contained in this electronic communication and any document 
attached hereto or transmitted herewith is confidential and intended for the 
exclusive use of the individual or entity named above.  If the reader of this 
message is not the intended recipient or the employee or agent responsible for 
delivering it to the intended recipient, you are hereby notified that any 
examination, use, dissemination, distribution or copying of this communication 
or any part thereof is strictly prohibited.  If you have received this 
communication in error, please immediately notify the sender by reply e-mail 
and destroy this communication.  Thank you.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


symbolic date parameter

2010-09-16 Thread Harris, Randy
Trying to do an ftp from mainframe (z/OS v1.7) to a network server.
I would like to be able append the system date to the dataset in the put 
statement.
Is there a symbolic parameter for date that will allow me to do this?

//FTPTEST  JOB  (JOB,JOB),'RHARRIS',CLASS=Z,MSGCLASS=M
//STEP01   EXEC PGM=FTP
//SYSFTPD  DD  DSN=parmlib(FTPSDATA),DISP=(SHR,KEEP,KEEP)
//SYSTCPD  DD  DSN=parmlib(TCPDATA),DISP=(SHR,KEEP,KEEP)
//SYSMDUMP DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//OUTPUT   DD  SYSOUT=*
//INPUTDD  *
xxx.xxx.xxx.xxx
userid password
PUT 'randys.test.ftp.dataset' ''randys.test.ftp.dataset.Dyymmdd'
QUIT
/*

Thanks,

Randy Harris
Lane Furniture Industries, Inc.
Tupelo, MS 38802
Phone: 662-566-3447
rhar...@furniturebrands.commailto:rhar...@furniturebrands.com



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-16 Thread Mike Schwab
I wrote a small program that took the parm (after the system
substituted the variables) and wrote it as a F 80 80 file w 1 record.
Ran it once for each card then used all the files for the input file.

On Thu, Sep 16, 2010 at 4:19 PM, Frank Swarbrick
frank.swarbr...@efirstbank.com wrote:
 You'll have to migrate to VSE to get this feature.

 :-)

 On 9/16/2010 at 2:47 PM, in message
 d075e858419f4f45ab32ccfc321a616202b3edfad...@fbnex.furniturebrands.com,
 Harris, Randy rhar...@furniturebrands.com wrote:
 Trying to do an ftp from mainframe (z/OS v1.7) to a network server.
 I would like to be able append the system date to the dataset in the put
 statement.
 Is there a symbolic parameter for date that will allow me to do this?

 //FTPTEST  JOB  (JOB,JOB),'RHARRIS',CLASS=Z,MSGCLASS=M
 //STEP01   EXEC PGM=FTP
 //SYSFTPD  DD  DSN=parmlib(FTPSDATA),DISP=(SHR,KEEP,KEEP)
 //SYSTCPD  DD  DSN=parmlib(TCPDATA),DISP=(SHR,KEEP,KEEP)
 //SYSMDUMP DD  SYSOUT=*
 //SYSPRINT DD  SYSOUT=*
 //OUTPUT   DD  SYSOUT=*
 //INPUT    DD  *
 xxx.xxx.xxx.xxx
 userid password
 PUT 'randys.test.ftp.dataset' ''randys.test.ftp.dataset.Dyymmdd'
 QUIT
 /*

 Thanks,

 Randy Harris
 Lane Furniture Industries, Inc.
 Tupelo, MS 38802
 Phone: 662-566-3447
 rhar...@furniturebrands.commailto:rhar...@furniturebrands.com



 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html



 The information contained in this electronic communication and any document 
 attached hereto or transmitted herewith is confidential and intended for the 
 exclusive use of the individual or entity named above.  If the reader of this 
 message is not the intended recipient or the employee or agent responsible 
 for delivering it to the intended recipient, you are hereby notified that any 
 examination, use, dissemination, distribution or copying of this 
 communication or any part thereof is strictly prohibited.  If you have 
 received this communication in error, please immediately notify the sender by 
 reply e-mail and destroy this communication.  Thank you.

 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html




-- 
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-16 Thread Paul Gilmartin
On Thu, 16 Sep 2010 15:47:59 -0500, Harris, Randy wrote:

Trying to do an ftp from mainframe (z/OS v1.7) to a network server.
I would like to be able append the system date to the dataset in the put 
statement.
Is there a symbolic parameter for date that will allow me to do this?

I believe that in the newest z/OS release (1.12?) FTP will
be able to take its input from a named pipe (FIFO).  With
this, you could achieve your result by concatenating
the output of date(1) and your data set into such a pipe.

So, wait patiently.

//FTPTEST  JOB  (JOB,JOB),'RHARRIS',CLASS=Z,MSGCLASS=M
//STEP01   EXEC PGM=FTP
//SYSFTPD  DD  DSN=parmlib(FTPSDATA),DISP=(SHR,KEEP,KEEP)
//SYSTCPD  DD  DSN=parmlib(TCPDATA),DISP=(SHR,KEEP,KEEP)
//SYSMDUMP DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//OUTPUT   DD  SYSOUT=*
//INPUTDD  *
xxx.xxx.xxx.xxx
userid password
PUT 'randys.test.ftp.dataset' ''randys.test.ftp.dataset.Dyymmdd'
QUIT

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-16 Thread Roberto Halais
Why don't you use a REXX script that will generate your JCL and parms and
submit the job.
That way you will get the date from REXX functions.

On Thu, Sep 16, 2010 at 5:26 PM, Ted MacNEIL eamacn...@yahoo.ca wrote:

 You'll have to migrate to VSE to get this feature.

 Or have a front end to parse the data before submission.

 -
 I'm a SuperHero with neither powers, nor motivation!
 Kimota!

 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html




-- 
The philosopher has never killed any priests, whereas the priest has
killed a great many philosophers.
~ Denis Diderot

I am as you, in you, for you. One as you in all, as all, forever. My call
is your call.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-16 Thread Paul Gilmartin
On Thu, 16 Sep 2010 16:43:42 -0500, Mike Schwab wrote:

I wrote a small program that took the parm (after the system
substituted the variables) and wrote it as a F 80 80 file w 1 record.
Ran it once for each card then used all the files for the input file.

But you had to type the date by hand into the PARM, failing
to satisfy the OP's requirement for a symbolic parameter.

 On 9/16/2010 at 2:47 PM, Harris, Randy wrote:

 Is there a symbolic parameter for date that will allow me to do this?

Come to think of it, nowadays FTP can take its input from
a DDNAME.  Many installations have dealt with the symbolic
date stupidity by providing a parameter member that's
updated periodically, automatically.  You could use such
a member as the first catenand.

Hmmm.  DDNAME.  Concatenation.  I know some of the deficiencies
of FTP.  I'd be pessimistic about supplying:

//FTPDATA  DD  PATH='/...'
// DD  *
// DD  DSN=...
// ...

I wonder whether that works?  I wonder whether it's
documented that it doesn't?

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-16 Thread Wayne Bickerdike
I came up against this and now build the whole ftp job using a batch
initiated REXX program.

We ftp backup files to a remote server and I needed a generation of 3
weeks worth of files.

Our ftp datasets now look like this:

PACK#10.D10210.T10801 etc...

I use another REXX program to build a series of FTP DELETE statements
to remove files older than 3 weeks old.

Clunky but it works OK.

If the OP wants a sample, email me off list.



On Fri, Sep 17, 2010 at 8:11 AM, Paul Gilmartin paulgboul...@aim.com wrote:
 On Thu, 16 Sep 2010 16:43:42 -0500, Mike Schwab wrote:

I wrote a small program that took the parm (after the system
substituted the variables) and wrote it as a F 80 80 file w 1 record.
Ran it once for each card then used all the files for the input file.

 But you had to type the date by hand into the PARM, failing
 to satisfy the OP's requirement for a symbolic parameter.

 On 9/16/2010 at 2:47 PM, Harris, Randy wrote:

 Is there a symbolic parameter for date that will allow me to do this?

 Come to think of it, nowadays FTP can take its input from
 a DDNAME.  Many installations have dealt with the symbolic
 date stupidity by providing a parameter member that's
 updated periodically, automatically.  You could use such
 a member as the first catenand.

 Hmmm.  DDNAME.  Concatenation.  I know some of the deficiencies
 of FTP.  I'd be pessimistic about supplying:

    //FTPDATA  DD  PATH='/...'
    //         DD  *
    //         DD  DSN=...
    // ...

 I wonder whether that works?  I wonder whether it's
 documented that it doesn't?

 -- gil

 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html




-- 
Wayne V. Bickerdike

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-16 Thread John McKown
On Thu, 2010-09-16 at 16:35 -0500, Paul Gilmartin wrote:
 On Thu, 16 Sep 2010 15:47:59 -0500, Harris, Randy wrote:
 
 Trying to do an ftp from mainframe (z/OS v1.7) to a network server.
 I would like to be able append the system date to the dataset in the put 
 statement.
 Is there a symbolic parameter for date that will allow me to do this?
 
 I believe that in the newest z/OS release (1.12?) FTP will
 be able to take its input from a named pipe (FIFO).  With
 this, you could achieve your result by concatenating
 the output of date(1) and your data set into such a pipe.
 

I think that is referring to accessing a named pipe in the PUT or GET
ftp subcommand. Not for using a pipe to send the commands to the ftp
processor.

For PGM=FTP, I cannot think of an EASY way to do this. Using Co:Z to
launch a shell session to do the FTP, it is brain dead easy.


//FTPSTEP EXEC PROC=COZPROC
//STDOUT DD SYSOUT=*
//STDERR DD SYSOUT=*
//STDIN DD *
YYMMDD=$(date +%C%m%d)
ftp -e server.ip.address EOF
userid password
put 'randys.test.ftp.dataset' 'randys.test.ftp.dataset.${DYYMMDD}'
EOF
/*

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-16 Thread Paul Gilmartin
On Thu, 16 Sep 2010 18:12:56 -0500, John McKown wrote:
 
 I believe that in the newest z/OS release (1.12?) FTP will
 be able to take its input from a named pipe (FIFO).  With
 this, you could achieve your result by concatenating
 the output of date(1) and your data set into such a pipe.

I think that is referring to accessing a named pipe in the PUT or GET
ftp subcommand. Not for using a pipe to send the commands to the ftp
processor.

We're in intense agreement on that point.  And I just glanced
at the 1.12 Comm Svr Commands manual.  A bunch of rules about
named pipes.  But the server can create, delete, and manipulate
named pipes on behalf of the client, and the client can use
named pipes as local files for either GET or PUT.

But, as I feared, FTP misbehaves when I put from a local //DD:
which refers to a mixed concatenation (sample job below).
When the first catenand is a Unix file, all subsequent catenands
seem to be ignored.  In the case given, the imbedded instream
data set is mixed with hundreds of blank lines.  IEBGENER with
the same SYSUT1 gets it right.  A major violation of the KISS
principle.  Why can't FTP just do QSAM GETs from the supplied
DDNAME and write to the socket?  Obviously it tries something
more complicated and fails miserably.  (z/OS 1.10)

//STEP1EXEC  PGM=FTP,PARM='SERVER (EXIT'
//OUTPUTDD   SYSOUT=(,)
//NETRC DD   PATHOPTS=ORDONLY,RECFM=VB,LRECL=999,
//  FILEDATA=TEXT,
//  PATH='NETRC'
//SYSUT1DD   *
===
== Prefixed instream data
===
//  DD   PATHOPTS=ORDONLY,RECFM=FB,LRECL=80,BLKSIZE=24000,
//  FILEDATA=TEXT,
//  PATH='/etc/rc'
//  DD   *
===
== This is instream data
===
//  DD   DISP=SHR,DSN=SYS1.MACLIB(SPLEVEL)
//INPUT DD   *
put //DD:SYSUT1  foo.catftp
quit
//*
//* Compare to IEBGENER =
//STEP2EXEC PGM=IEBGENER
//SYSPRINT  DD  SYSOUT=(,)
//SYSIN DD  DUMMY
//SYSUT2DD  SYSOUT=(,)
//SYSUT1DD   *
===
== Prefixed instream data
===
//  DD   PATHOPTS=ORDONLY,RECFM=FB,LRECL=80,BLKSIZE=24000,
//  FILEDATA=TEXT,
//  PATH='/etc/rc'
//  DD   *
===
== This is instream data
===
//  DD   DISP=SHR,DSN=SYS1.MACLIB(SPLEVEL)
//

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-16 Thread Roland Fernandez
Randy,

Have you considered the system symbol interpreter called EZACFSM1?  I 
checked to make sure it was available in Comm Server 1.7.  This is what your 
sample job will turn into:

//FTPTEST  JOB  (JOB,JOB),'RHARRIS',CLASS=Z,MSGCLASS=M
//STEP01   EXEC PGM=EZACFSM1
//SYSOUT   DD   DSN=T1,DISP=(,PASS),UNIT=VIO
//SYSINDD   *
xxx.xxx.xxx.xxx
userid password
PUT 'RANDYS.TEST.FTP.DATASET' randys.test.ftp.dataset.MONDAYamp;YR2
QUIT
/*
//*
//STEP02   EXEC PGM=FTP
//SYSFTPD  DD  DSN=parmlib(FTPSDATA),DISP=(SHR,KEEP,KEEP)
//SYSTCPD  DD  DSN=parmlib(TCPDATA),DISP=(SHR,KEEP,KEEP)
//SYSMDUMP DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//OUTPUT   DD  SYSOUT=*
//INPUTDD  DSN=T1,DISP=(OLD,PASS)
/*

Regards,
Roland

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-16 Thread Paul Gilmartin
On Thu, 16 Sep 2010 18:32:41 -0500, Roland Fernandez wrote:

Have you considered the system symbol interpreter called EZACFSM1?  I
checked to make sure it was available in Comm Server 1.7.

Thanks!  I didn't know about this.  I still know very little;
the only meager documentation I can find is a single example
in:

#1.2.9.1 z/OS V1R10.0 Comm Svr: IP Configuration Guide
1.2.9.1 MVS system symbols

no formal syntax description, DDNAME specification, Usage Notes,
etc.

Sarcasm Wonderful! Sarcasm
So IBM provides this utility that has all the uncertainty
that IBM claims they're protecting me from by not making
system symbols available in batch JCL for only the minor
inconvenience of wrapping my JCL in another job.  But it
is available to all potential customers.  And it substitutes
system symbols in instream data sets.  But it doesn't
substitute JCL symbols.  A test case:

//EZACFSM1  JOB  505303JOB,'Paul Gilmartin',
// MSGLEVEL=(1,1),REGION=0M
//*
//* Doc: Demonstrate the use of EZACFSM1
//*
//USERCOUTPUT JESDS=ALL,DEFAULT=YES,
//  CLASS=R,PAGEDEF=V0648Z,CHARS=GT12
//*
//  SET JCLSYM='Test symbol value'
//*
//SUBMIT   EXEC  PGM=EZACFSM1
//SYSOUTDD   SYSOUT=(,INTRDR)
//SYSIN DD   DATA,DLM='..'
//EZACFSMX  JOB  505303JOB,'Paul Gilmartin',
// MSGLEVEL=(1,1),REGION=0M
//*
//USERCOUTPUT JESDS=ALL,DEFAULT=YES,
//  CLASS=R,PAGEDEF=V0648Z,CHARS=GT12
//*
//DOIT EXEC  PGM=IEBGENER
//TEST  DD   DISP=(,DELETE),UNIT=SYSALLDA,SPACE=(CYL,1),
//  DSN=SYSUID..ECATEST.DATA.DMONDAYYR2
//SYSPRINT  DD   SYSOUT=(,)
//SYSIN DD   DUMMY
//SYSUT2DD   SYSOUT=(,)
//SYSUT1DD   *
datum is SYSUID..ECATEST.DATA.DMONDAYYR2
JCL symbol is JCLSYM
Does double ampersand (amp;) protect amp;MONamp;DAYamp;YR2  Yes!
But it doesn't protect itself amp;WTF
//

Thanks again,
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: symbolic date parameter

2010-09-16 Thread Kirk Wolf
John,

I like it!, but in your example I think you meant to use PGM=COZBATCH, and
not PROC=COZPROC
Also (a nit), but you have a typo (two different names for the shell
variable).

This is a good example of how inline use of the z/OS Unix shell can be used
as an effective scripting language in the context of JCL.  It may not be of
interest to traditionalists, but more and more folks using z/OS these days
also know Unix and mixing USS with JCL can be very cool.

Kirk Wolf
Dovetailed Technologies
http://dovetail.com

PS Just to clarify:
COZBATCH runs a shell script in batch ( a friendlier replacement for
BPXBATCH).
COZPROC is a PROC for the Co:Z Launcher, which runs a script on a remote
system, in an environment where the remote script can access z/OS datasets
in the launching job.
Both are part of the free Co:Z Toolkit

On Thu, Sep 16, 2010 at 6:12 PM, John McKown joa...@swbell.net wrote:


 I think that is referring to accessing a named pipe in the PUT or GET
 ftp subcommand. Not for using a pipe to send the commands to the ftp
 processor.

 For PGM=FTP, I cannot think of an EASY way to do this. Using Co:Z to
 launch a shell session to do the FTP, it is brain dead easy.


 //FTPSTEP EXEC PROC=COZPROC
 //STDOUT DD SYSOUT=*
 //STDERR DD SYSOUT=*
 //STDIN DD *
 YYMMDD=$(date +%C%m%d)
 ftp -e server.ip.address EOF
 userid password
 put 'randys.test.ftp.dataset' 'randys.test.ftp.dataset.${DYYMMDD}'
 EOF
 /*

 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
 Search the archives at http://bama.ua.edu/archives/ibm-main.html


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html