Date: Tue, 24 Oct 2000 08:36:10 -0700
Reply-To: "Stanley A. Gorodenski" <vvgsgor@DE.STATE.AZ.US>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: "Stanley A. Gorodenski" <vvgsgor@DE.STATE.AZ.US>
Subject: Re: SAS Program and JCL skeleton HELP
Content-Type: multipart/alternative;
Chris,
The following may help you a little and it is not intended to be
comprehensive. Some of this may be installation specific, although it appears
you are running the same system we have here.
The following JCL is for a program that processes about the same number of
records that you are processing. The sas catalogued procedure (it is called
SAS6 in our system in the JCL below) may be set up differently, if you have
one, than ours. If your EDP support has not created a sas catalogued procedure
than you have a major JCL task on your hands. Thus, the work='800,200' (in
cylinders) specification may not work for you. The CURFIL99 and CURFIL00 are
tape files. If you have disk files, change the DISP=OLD to DISP=SHR and delete
the UNIT=AFF=CURFIL99 statement. The TEMP1IN1 and TEMP2IN1 are temporary SAS
work files (from a DATA TEMP1IN1; sas data step and a DATA TEMP2IN1; sas data
step) that you may not need in your application.
The OPTIONS=72 is a sas statement that you may need if your program is in JCL
format. It prevents reading the line numbers as sas statements. If your
program is in data format you would not need it.
Stan
//VWGUFSAG JOB (1731#PR3),'STAN GORODENSKI',MSGCLASS=X,
// CLASS=O,TIME=20,NOTIFY=VVGSGOR,MSGLEVEL=(1,1)
/*ROUTE PRINT LOCAL
/*JOBPARM ROOM=733A
/*
// EXEC SAS6,WORK='800,200'
//CURFIL99 DD DSN=USRG.LABOR.TURN.YR1999.SECOND.STAN,DISP=OLD
//CURFIL00 DD DSN=USRG.LABOR.TURN.YR2000.STAN,DISP=OLD,
// UNIT=AFF=CURFIL99
//TEMP1IN1 DD UNIT=SYSDA,DISP=(NEW,PASS,DELETE),
// SPACE=(CYL,(40,40),RLSE),DCB=(BUFNO=2,BLKSIZE=4096)
//TEMP2IN1 DD UNIT=SYSDA,DISP=(NEW,PASS,DELETE),
// SPACE=(CYL,(20,20),RLSE),DCB=(BUFNO=2,BLKSIZE=4096)
//SYSIN DD *
OPTIONS S=72;
Chris Smith wrote:
> I have a SAS program which cycles through millions of records, sorting and
> scoring, etc.
>
> I have been unable to run it completely on an MVS OS/390 mainframe
> completely (it chokes after a 4 million record sort when writing the
> records back).
>
> I was told that I should wrap it up in a JCL skeleton and run it in batch
> mode. However, I don't know the first thing about JCL, or about how our
> programmers have set things up where I work.
>
> Piece of advice number two was to obtain a boilerplate, stick my code in
> and try and run it.
>
> Can someone help me obtain, or lend some advice or JCL code that precedes
> and follows the SAS code I need to run, please? Also, what do I need to be
> aware of to do this, pitfalls, potential problems, etc?
>
> Is there a good reference book, or does SAS offer a course?
>
> I appreciate all your help. -- Chris
[text/html]
|