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 (August 1996, week 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Thu, 15 Aug 1996 12:26:37 PDT
Reply-To:   TWB2%Rates%FAR@GO50.COMP.PGE.COM
Sender:   "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From:   TWB2%Rates%FAR@GO50.COMP.PGE.COM
Subject:   Re: Reading a XPORT file off a tape created on MVS
Comments:   To: anataraj@uci.edu

I've been wrong before, but in my experience transport files which are created on an MVS system with a block size other than 8000 are only readable on the creating system. This caused me some embarassment--I verified the files before I sent them and I told my agency the contract was complete, but the files were unreadable on a CMS system. Eventually I added a DCB parameter to the NDM job which moved the data. That reblocked the data and the new copies were PROC CIMPORT-able.

My point is, check your DCB. Maybe the files are really blocked 80/8000. Transport files ARE NOT variable blocked files, so the stuff which shows alternating record lengths of 79 and 81 is not a transport file.

Tim ----------------------[Reply - Original Message]----------------------

Sent by:"A. Natarajan" <anataraj@uci.edu> Hi folks:

I am trying to read 3 XPORT format files off a 9-track tape, and I am having problems - this is more in the nature of a UNIX query than a SAS query, though.

The tape is a 9-track 6250 bpi tape, with an IBM Standard Label. The 3 files are supposed to SAS XPORT format files, created on an MVS machine, about 3 years ago.

I don't have access to an MVS mainframe, or indeed any IBM type O.S. machine. I am trying to read the tape on a Convex, running its version of UNIX. This means that I am using a 'dd' command to read stuff off the tape.

On the Convex there is a tape utility which I had to use to get the label, so that I could then by-pass the label. This utility tells me that the files are FB, 32640 BlockSize, and the Record Length is 80. This sort of assures me that the files are really in XPORT format, otherwise this whole exercise is pointless.

I use this dd command (or a variant thereof)

dd if=/dev/rmt/0n ibs=32640 obs=80 conv=block,ascii of=file1.xport

[I have also tried with conv=sync, cbs=80, etc....]

The problem is that I end up with Variable Record files, with the first line 79 characters long, the second 81 characters, the third back to 79, after which it sort of alternates between 79, 81 and a third value. Obviously SAS (either on a PC or on a Sun) cannot read this as a transport file. The person who gave us the tape does not have an MVS machine at his site, or access to the data on another machine, so we are stuck with this tape.

When I look at the file created on the Convex (using more or vi), I see the SAS headers that say that file was created under SAS 6.09 on MVS, and the names of the variables, and the labels. The data is in hex, and using 'od', I have not been able to decipher the contents.

My question is if someone has used dd to retrieve files successfully off a tape created on a mainframe running MVS. If so what command did you use? and are there any special tricks?

Failing which, can someone recommend a data bureau in the Orange County area that can read MVS tapes and convert them into 8 mm or 4 mm? Or at some other location? I am tired of schlepping the tape over and forcing an operator to mount it on this Convex, and then waiting for the tape mount, and trying other combinations of dd, mt etc.

Thanks, Ashok

=====================================================================


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