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
Yes, why not, but you have to make a SAS file first.
infile "nnnnn" lrecl=???;
input a $???;
proc cport data=x file="your.trans.port.file";
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.