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 (April 1998, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Thu, 2 Apr 1998 15:22:58 -0800
Reply-To:   "William W. Viergever" <wwvierg@IBM.NET>
Sender:   "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From:   "William W. Viergever" <wwvierg@IBM.NET>
Subject:   Re: Concatenating tapes in MVS
Comments:   To: "Patton, Nancy (CAP, RFS)" <Nancy.Patton@GECAPITAL.COM>
In-Reply-To:   <5C6EDD5045E5D011882300805FBE6C1301A19817@STA01XBMAILGE>
Content-Type:   text/plain; charset="us-ascii"

This has bugged me since the 70's. Ever tried talking SAS to a systems operator about a job like this? It's all in the concept of a STEP, "//STEPONE EXEC SAS" is an OS job "step" and the "data claims" is a SAS "step" so I've never really received a good answer to this dilema.

With "DATA temp1; set CLAIM36 CLAIM46 CLAIM56 CLAIM96 ;", even though SAS knows that it's going to read them sequentially, SAS does something that tells MVS (or whatever) either that it, SAS, is trying to "open" *all* the files at one time, or something that MVS interprets to mean it needs to have all file open (and devices allocated), hence the conflict and the abend.

One data step at time works fine as you point out.

At 04:01 PM 4/2/98 -0500, Patton, Nancy (CAP, RFS) wrote: >Very interesting! Your JCL code is exactly correct if you trying to >concatenate two sequential files! I created two SAS data set, each on a >different tape (like you have). In a different job I attempted to >concatenate them in a data step, like you do. I got the same error. I know >that it is possible to concatenate in JCL using UNIT=AFF= for sequential >files- I do it all the time. I never tried this for SAS data sets in this >context. So, I don't know how to make it work in one data step! But this >will work & use only one drive, but obviously more than one data steps. > >> //STEPONE EXEC SAS >> //CLAIMS36 DD DSN=&MRGD..FY96.INV03,DISP=OLD >> //CLAIMS46 DD DSN=&MRGD..FY96.INV04,DISP=OLD,UNIT=AFF=CLAIMS36 >> //CLAIMS56 DD DSN=&MRGD..FY96.INV05,DISP=OLD,UNIT=AFF=CLAIMS36 >> //CLAIMS96 DD DSN=&MRGD..FY96.INV09,DISP=OLD,UNIT=AFF=CLAIMS36 >> >DATA CLAIMS36; set claims36.clms; >DATA CLAIMS46; set claims46.clms; >DATA CLAIMS56; set claims56.clms; >DATA CLAIMS96; set claims96.clms; > >DATA temp1; set CLAIM36 CLAIM46 CLAIM56 CLAIM96; > >------------------------------------------------- >* Nancy Patton >* Phone (757)722-1177 >* Nancy.Patton@Worldnet.Att.net >* Nancy.Patton@GECapital.com >* pager: 1-800-Sky-Page, pin: 123-1895 > >> ---------- >> From: Kowalczyk, Andrew[SMTP:AKowalczyk@NT.DMA.STATE.MA.US] >> Reply To: Kowalczyk, Andrew >> Sent: Thursday, April 02, 1998 2:37 PM >> To: SAS-L@UGA.CC.UGA.EDU >> Subject: Concatenating tapes in MVS >> >> Each of these datasets is SAS structured file on a tape. >> Each is also a multi-volume dataset. >> When I do not specify UNIT=AFF= this step runs fine - but I need three >> tape drives. >> I am trying to not be a resource hog so I thought the following should >> work - with each of the dozen or so tapes mounted in order. >> >> //STEPONE EXEC SAS >> //CLAIMS36 DD DSN=&MRGD..FY96.INV03,DISP=OLD >> //CLAIMS46 DD DSN=&MRGD..FY96.INV04,DISP=OLD,UNIT=AFF=CLAIMS36 >> //CLAIMS56 DD DSN=&MRGD..FY96.INV05,DISP=OLD,UNIT=AFF=CLAIMS36 >> //CLAIMS96 DD DSN=&MRGD..FY96.INV09,DISP=OLD,UNIT=AFF=CLAIMS36 >> DATA TEMP1; >> SET >> CLAIMS36.CLMS CLAIMS46.CLMS CLAIMS56.CLMS CLAIMS96.CLMS; >> RUN; >> >> Yields the following system message: >> IEC145I 413-04,IFG0194A,DMABHWTE,SAS609,CLAIMS46,70B,M10904,DMADLY. >> IEC145I 413-04,IFG0194A,DMABHWTE,SAS609,CLAIMS56,70B,M10904,DMADLY. >> IEC145I 413-04,IFG0194A,DMABHWTE,SAS609,CLAIMS96,70B,M10904,DMADLY. >> IEF450I DMABHWTE SAS609 PROFILE - ABEND=S000 U0999 REASON=00000000 >> >> And the following SAS messages: >> ERROR: Library CLAIMS46 is not in a valid format for access method >> SASV6SEQ. >> ERROR: Library CLAIMS56 is not in a valid format for access method >> SASV6SEQ. >> ERROR: Library CLAIMS96 is not in a valid format for access method >> SASV6SEQ. >> >> >> Why shouldn't this work? >> >> Can I do this in a single data step? >> >> I have decided against PROC APPEND because I am selecting only some >> records and am creating derivative variables, as well. >> > > /*=====================*/ W. W. Viergever Viergever & Associates Sacramento, CA (916) 923-2355 /*=====================*/


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