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 (June 2002, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Thu, 6 Jun 2002 13:11:52 -0400
Reply-To:     Gerhard Hellriegel <ghellrieg@T-ONLINE.DE>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Gerhard Hellriegel <ghellrieg@T-ONLINE.DE>
Subject:      Re: Flat file

On Thu, 6 Jun 2002 11:51:58 -0400, Tre <rafi.sheikh@INGENIX.COM> wrote:

>Hello, I would like your help in two areas: >1. Can one make a transport file out of flat files? >2. When ftp'ng from MVS to Unix in ascii, FTP by default put a line feed at >the end of obs, which SAS has has difficulty reading (I have to increase my >LRECL to one more byte. For example if it was 99 in MVS, now I have to say >100. Any work arounds? Solutions etc. > >Thank you in advance > >Tre

Yes, why not, but you have to make a SAS file first.

data x; infile "nnnnn" lrecl=???; input a $???; run; proc cport data=x file="your.trans.port.file"; run;

The other way: store your file in a SAS catalog with a known type, eg. source or log and make a transport file of the catalog.

For what you want a workaround? You have different file organizations on the different platforms! MVS normally have a kind of record-structure, where you have either a fixed record length (F) or variable (V) with a leading inforamation about each record-length. In UNIX there is nothing like that. That means, each record must be ended by a control-byte which says that the record is finished and a new one begins (or the file is finished by EOF, another control-char). So you must live with that: the MVS file with RECFM=FB, LRECL=99 has the information, that the record is 99 byte long, in UNIX there must be a CR/LF control for each record, which must be stored anywhere at the end of the record. So each record will be 100 byte long.


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