| Date: | Wed, 21 Jul 2004 08:55:28 -0700 |
| Reply-To: | "Choate, Paul@DDS" <pchoate@DDS.CA.GOV> |
| Sender: | "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU> |
| From: | "Choate, Paul@DDS" <pchoate@DDS.CA.GOV> |
| Subject: | Re: FTP Excel. Need help - follow-up |
Dear SAS-L -
This is my follow-up to an offline conversation on filename FTP recfm and
lrecl options, all comments of course welcome:
The documentation says that in filename ftp recfm=f is the same as the
binary option, it is fixed in the sense that there are no embedded line
delimiters, not unlike fixed files on MVS:
<v9 sasdoc>
FTP Options
BINARY
is fixed-record format. Thus, all records are of size LRECL with no line
delimiters. Data is transferred in image (binary) mode.
The BINARY option overrides the value of RECFM= in the FILENAME FTP
statement, if specified, and forces a binary transfer.
Alias: RECFM=F
Interaction: If you specify the BINARY option and the S370V or S370VS
option, then SAS ignores the BINARY option.
.....
RECFM=recfm
where recfm is one of three record formats:
F is fixed-record format. Thus, all records are of size LRECL with no line
delimiters. Data is transferred in image (binary) mode.
Alias: BINARY
The BINARY option overrides the value of RECFM= in the FILENAME FTP
statement, if specified, and forces a binary transfer.
S is stream-record format. Data is transferred in image (binary) mode.
Interaction: The amount of data that is read is controlled by the current
LRECL value or by the value of the NBYTE= variable in the INFILE statement.
The NBYTE= option specifies a variable that is equal to the amount of data
to be read. This amount must be less than or equal to LRECL.
See Also: The NBYTE= option in the INFILE statement.
V is variable-record format (the default). In this format, records have
varying lengths, and they are transferred in text (stream) mode.
</v9 sasdoc>
One may use different lrecl settings in the filename statements, setting
lrecl=4096 on an 18 mg transfer created a 4% performance improvement over
the default lrecl=256.
Use recfm=v for a text transfer. Recfm=s is for binary stream and I believe
is used for direct connection of applications through filename
socket/url/http/and ftp. I imagine it enables the use of third party apps,
like visual basic, to be used within SAS over the Internet, but I have not
used it in this manner and am unsure.
Paul Choate
DDS Data Extraction
(916) 654-2160
|