Date: Wed, 13 Oct 93 15:02:47 EST
From:  Clark Gaylord                                    
To:    IR OS/2 subscribers, etc.
Subject: Addendum to Part 4

I learned something more about FTP today.

The most common error in FTPing files is to get the file type wrong, i.e., tell
ftp to transfer as ascii when you should use binary or vice versa.  Today, I 
learned that there can be arguments to the BINARY command (at least on VM) to 
specify record format (like Fixed) and logical record length.  The reason this 
is important hinges about another aspect of file system incompatibility -- the 
existance of logical records.

In OS/2, DOS, Unix, and most modern operating systems, the file systems view 
files as streams of bytes.  If a given application wants to interpret, for 
example, Ascii code 12, as an end to line, that is fine, but the operating 
system itself does not get in to the business of interpreting such matters. 
However, VM's file system does concern itself with records of files; it views 
files as sequences of *records* not sequences of bytes.

Therefore, you can encounter problems when you bring in a binary file (which 
does not pay attention to line termination characters) to VM, and the VM 
application that uses it expects it to have a given record structure.  To 
address this problem, the BINARY command in FTP can take arguments indicating 
the VM record format and logical record length, for example:
        ftp> BIN F 80
says you want ftp to transfer as binary, but make the resulting binary file (on
VM, presumably) have fixed records of length 80.

This is relevent in potentially many applications, but the one I (now!) know 
about is in transferring SAS Xport engine datasets from one (non-VM) host to 
another (VM) host.  This applies to VTAIX or OS/2 to VM1.  (BECKY: Are you 
paying attention here?)  When bringing the transport dataset to VM1, first 
issue the command above (bin f 80), *then* get/put the file.

As always, feel free to come in and pick my brain if you need any 
clarification.

Enjoy
Clark