[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

PKZIP and file record attribute problems?

» close window

The Question is:

 
I want to transfer many Fortran source code files and data files (ascii and
 binary) from Alpha to NT using FTP. Command line FTP is too slow since there
 are thousands of files in hundreds of directories. I have tried a few Windows
 FTP utilities which allo
w me to transfer many directories and subdirectories at once, but the files
 become corrupted and illegible. However the files seem to be transfered
 perfectly when I use command line FTP. Do you know of any suitable Windows FTP
 utility?
 
An alternative is to zip up the files before transfer. However when using PKZIP
 in OpenVMS and unzipping with Winzip on NT, all CR/LFs seem to be lost. Is
 there any way around this problem?
 
Thanks in advance
Mike
 


The Answer is :

 
  It appears that PKZIP -- the OpenVMS Wizard experimented with Zip 2.1,
  April 27th 1996, from the OpenVMS Freeware -- will try to "help" in
  recognizing records.  (Use of one of the versions of zip referenced
  in the OpenVMS FAQ may be of interest, as the pre-built images on the
  OpenVMS Freeware are known to have problems -- BILF errors are quite
  common -- on V7.2 and later.  Rebuilding from source can help, too.)
 
  You can further assist the file attribute process by specifying the
  "-V" -- you must quote that option -- to propogate the OpenVMS RMS
  record semantics.
 
  The OpenVMS Wizard is not particularly familiar with what triggers
  particular behaviour reported within ZIP.
 
  On the OpenVMS side, ZIP will read a record at a time, and packs them
  up.  This means that the OpenVMS way to determine where a record ends
  (count or delimitor: CR, LF, CRLF) is lost.  So whether the text file
  had CR or LF as terminator, it is going to end up the same.  Knowing
  this, you can sometimes cheat and get reasonable results:
 
     - convert call files to STREAM (CR-LF terminator) for example:
 
    		$CONVERT/FDL=SYS$INPUT old new
    		record; format stream;
    		$
 
    - SET FILE/ATTRIBUTES=RFM=STMLF
 
      This will cause the LF from the CR-LF pair into the OpenVMS
      record terminator, leaving the CR "visible" as the last byte
      in each record.
 
    - ZIP
 
    - FTP ZIP file
 
    - UNZIP on NT.
 

answer written or last revised on ( 21-APR-2000 )

» close window