LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (December 2008, week 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Wed, 17 Dec 2008 15:03:09 -0800
Reply-To:   "Choate, Paul@DDS" <pchoate@DDS.CA.GOV>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   "Choate, Paul@DDS" <pchoate@DDS.CA.GOV>
Subject:   Re: Submitting JCL to MVS via PC remote connect RSUBMIT false comment error question
Content-Type:   text/plain; charset="us-ascii"

Just in case anyone is following this thread....

One important improvement - for JCL the lefthand spaces need to be preserved - so the $char informat and format are useful:

data temp.JCL; input JCL $char80.; cards; //WVRTP2D JOB (DSDBX6009T,DS80,20,5,0),'DDS IS',TIME=1, // USER=DSPAULC,MSGCLASS=X,NOTIFY=DSPAULC //** ------------------------------------------------------------ ** //* DELETE DATASET GROUP WITH RETENTION PERIODS -- ** //** ------------------------------------------------------------ ** //STEP01 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSIN DD * DELETE (DSPAULC.UFS214.POS.DISK.BKP.*.D) PURGE // /* ; rsubmit; filename TSO sysout=a pgm=intrdr recfm=fb lrecl=80; data _null_; set JCL; file TSO; put JCL $char80.; run; endrsubmit;

Paul Choate DDS Data Extraction (916) 654-2160 -----Original Message----- From: Choate, Paul@DDS Sent: Thursday, December 11, 2008 3:21 PM To: SAS(r) Discussion Subject: Re: Submitting JCL to MVS via PC remote connect RSUBMIT false comment error question

Thanks Ian, Chang and Barry -

I wanted to be able to write the JCL to my TSO processor as-is without changes - so I can simply drop the JCL I need in and let SAS do the rest - I wound up doing what Ian also suggested - read it in SAS PC and move it up to MVS as a SAS dataset, instead of RSUBMITting cards lines:

data temp.JCL; input JCL $80.; cards; //WVRTP2D JOB (DSDBX0000T,DS80,20,5,0),'DDS IS',TIME=1, // USER=DSPAULC,MSGCLASS=X,NOTIFY=DSPAULC /*ROUTE PRINT U370 //* //STEP1 EXEC PGM=IEBGENER //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //* //SYSUT1 DD DISP=SHR,DSN=DS.FPIBS.MED503BN.FED0203.MEDTRANS.JAN2004.T //SYSUT2 DD DSN=DSPAULC.MED503BN.FED0203.MEDTRANS.JAN2004, // DISP=(NEW,CATLG,DELETE), // UNIT=(SYSDA,3), // SPACE=(CYL,(250,50),RLSE), // LABEL=(,,RETPD=30) ;

rsubmit; filename TSO sysout=a pgm=intrdr recfm=fb lrecl=80; data _null_; set JCL; file TSO; put JCL; run; endrsubmit;

btw - I define TEMP as my remote MVS temp workspace, so here the dataset uploads during the first datastep.

Thanks to all you DataShapers out there. ;-)

Paul Choate DDS Data Extraction (916) 654-2160

-----Original Message----- From: Ian Whitlock [mailto:iw1sas@gmail.com] Sent: Thursday, December 11, 2008 2:58 PM To: SAS(r) Discussion Cc: Choate, Paul@DDS Subject: Re: Submitting JCL to MVS via PC remote connect RSUBMIT false comment error question

Summary: Hide /* from SAS or find better method of communication iw-value=1

Paul,

My experience on MVS predates the term PC, so I would look to SAS ways of hiding the problem.

rsubmit; filename outrdr sysout=a pgm=intrdr recfm=fb lrecl=80; data _null_; infile cards; file outrdr noprint notitles; input; _infile_ = translate(_infile_,"*","#") ; put _infile_; cards; //WVRTP2D JOB (DSDBX0000T,DS80,20,5,0),'DDS IS',TIME=1, // USER=DSPAULC,MSGCLASS=X,NOTIFY=DSPAULC /#ROUTE PRINT U370 //STEP1 EXEC PGM=IEBGENER //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //SYSUT1 DD DISP=SHR,DSN=DS.FPIBS.MED503BN.FED0203.MEDTRANS.JAN2004.T //SYSUT2 DD DSN=DSPAULC.MED503BN.FED0203.MEDTRANS.JAN2004, // DISP=(NEW,CATLG,DELETE), // UNIT=(SYSDA,3), // SPACE=(CYL,(250,50),RLSE), // LABEL=(,,RETPD=30) ; run; endrsubmit;

Another solution would be to omit the first "/" as understood and use

put "/" _infile_ ;

On the other hand using a CARDS statement seems like a pretty crude way of communicating. What about making it a SAS data set and transferring it to MVS? This sort of solution seems more robust. To me, it is just a fortunate accident that the lines of your "cards" did not also get mangled.

Ian Whitlock ===============

"Choate, Paul@DDS" <pchoate@DDS.CA.GOV> wrote in part:

Merry Christmas all -

My IS people moved a large number of flat MVS files to tape that I need to read occasionally. I prefer to run things from PC SAS via remote connect, which won't allow me to have direct tape access, so I wrote a little code to copy the tapes to disk for a month so I can work with them:

rsubmit; filename outrdr sysout=a pgm=intrdr recfm=fb lrecl=80; data _null_; infile cards; file outrdr noprint notitles; input; put _infile_; cards; //WVRTP2D JOB (DSDBX0000T,DS80,20,5,0),'DDS IS',TIME=1, // USER=DSPAULC,MSGCLASS=X,NOTIFY=DSPAULC /*ROUTE PRINT U370 //STEP1 EXEC PGM=IEBGENER //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //SYSUT1 DD DISP=SHR,DSN=DS.FPIBS.MED503BN.FED0203.MEDTRANS.JAN2004.T //SYSUT2 DD DSN=DSPAULC.MED503BN.FED0203.MEDTRANS.JAN2004, // DISP=(NEW,CATLG,DELETE), // UNIT=(SYSDA,3), // SPACE=(CYL,(250,50),RLSE), // LABEL=(,,RETPD=30) ; run; endrsubmit;

This works like a charm, except my /*ROUTE PRINT card generates a warning that the RSUBMIT is seeing an open SAS comment and the ENDRSUBMIT isn't processed. I stopped the error by adding a DD comment card //**/ to make SAS see an end to the supposed comment.

... /*ROUTE PRINT U370 //**/ ...

But this makes me wonder if there isn't a way for RSUBMIT to understand the CARDS input correctly so it doesn't think the /*ROUTE PRINT card is a SAS /* */ comment line.

Here is the log showing the error:

221 rsubmit; NOTE: Remote submit to HHSDC commencing. WARNING: Unclosed comment detected in current RSUBMIT. Comment termination will be assumed at end of this RSUBMIT block. 43 filename outrdr sysout=a pgm=intrdr recfm=fb lrecl=80; 44 data _null_; 45 infile cards; 46 file outrdr noprint notitles; 47 input; 48 put _infile_; 49 cards; NOTE: The file OUTRDR is: Dsname=DSPAULC.DSPAULC.TSU34098.INTRDR.?, Unit=SYSOUT,Volume,Disp=MOD,Blksize=240, Lrecl=80,Recfm=FB NOTE: 13 records were written to the file OUTRDR. NOTE: The DATA statement used 0.01 CPU seconds and 15393K. NOTE: The address space has used a maximum of 884K below the line and 17840K above the line. 63 ; 64 run; endrsubmit; ---------- 180 ERROR 180-322: Statement is not valid or it is used out of proper order. 65 */ NOTE: Remote submit to HHSDC complete. REMOTE(HHSDC): 12.22.07 JOB34329 $HASP165 WVRTP2D ENDED AT HWDC MAXCC=0 CN(INTERNAL)

With the //**/ the log becomes:

227 rsubmit; NOTE: Remote submit to HHSDC commencing. 66 filename outrdr sysout=a pgm=intrdr recfm=fb lrecl=80; 67 data _null_; 68 infile cards; 69 file outrdr noprint notitles; 70 input; 71 put _infile_; 72 cards; NOTE: The file OUTRDR is: Dsname=DSPAULC.DSPAULC.TSU34098.INTRDR.?, Unit=SYSOUT,Volume,Disp=MOD,Blksize=240, Lrecl=80,Recfm=FB NOTE: 14 records were written to the file OUTRDR. NOTE: The DATA statement used 0.01 CPU seconds and 15393K. NOTE: The address space has used a maximum of 884K below the line and 17840K above the line. 87 ; 88 run; NOTE: Remote submit to HHSDC complete. REMOTE(HHSDC): 12.27.52 JOB34367 $HASP165 WVRTP2D ENDED AT HWDC MAXCC=0 CN(INTERNAL)

Thanks.

Paul Choate DDS Data Extraction (916) 654-2160


Back to: Top of message | Previous page | Main SAS-L page