This is a discussion on Re: record length translate - Protocols ; On 2007-01-29, Don Lewis wrote: : I'm using Kermit 8.0.209 under VMS 7.3-2 : I receive a ziped archive of files which are created on a system using code : page 850. I need the data to be iso-latin1. Kermit ...
On 2007-01-29, Don Lewis
: I'm using Kermit 8.0.209 under VMS 7.3-2
: I receive a ziped archive of files which are created on a system using code
: page 850. I need the data to be iso-latin1. Kermit translates the
: characters correctly using the command translate source-file cp850
: latin1-iso translated-file. The problem is that Kermit breaks up records
: that are longer than 254 bytes into multiple 254 byte records. The incoming
: file is defined as stream_lf with carriage return carriage control. I can
: convert the file to variable with a declared record length, but Kermit still
: breaks up long records. Is there a setting to change this behavior, or is
: 254 bytes a Kermit limitation?
I believe it's just that, in the TRANSLATE command (as in the COPY command),
Kermit just uses regular C library i/o, rather than RMS. If you transferred
the files unzipped, Kermit could convert the character sets on the fly ("set
file character-set", "set transfer character-set") and store them in a
sensible record format.
There might be a way to force matters using some crazy syntax in the
destination filename, but I don't remember enough about VMS to say for sure.
Of course, any VMS programmers are welcome to take a look at this and jump in.