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
Re: symbolic date parameter (EZACFSM1)
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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