|
|
WRITE fails when record is greater than 255 chars
Hello All
I am reading from a RELATIVE file from DCL and writing to a TEXT FILE
(SEQUENTIAL).
WRITE THE_FILE THE_REC
The message I get it this:
%DCL-W-TKNOVF, command element is too long - shorten
And the output file is empty.
How can I get around the limitation of THE_REC having to be less than
255 chars?
Thanks!!
|
|
0
|
|
|
|
Reply
|
Keshav
|
4/30/2010 1:15:32 PM |
|
On Apr 30, 2:15=A0pm, Keshav Tadimeti <rapers...@gmail.com> wrote:
> Hello All
> I am reading from a RELATIVE file from DCL and writing to a TEXT FILE
> (SEQUENTIAL).
>
> WRITE THE_FILE THE_REC
>
> The message I get it this:
> %DCL-W-TKNOVF, command element is too long - shorten
>
> And the output file is empty.
>
> How can I get around the limitation of THE_REC having to be less than
> 255 chars?
>
> Thanks!!
Try WRITE/SYMBOL
|
|
0
|
|
|
|
Reply
|
IanMiller
|
4/30/2010 1:29:27 PM
|
|
On Apr 30, 11:49=A0am, koeh...@eisner.nospam.encompasserve.org (Bob
Koehler) wrote:
> In article <5af7c800-07e4-4ee2-bfd4-e224350f4...@s13g2000prc.googlegroups=
..com>, Keshav Tadimeti <rapers...@gmail.com> writes:
:
> > How can I get around the limitation of THE_REC having to be less than
> > 255 chars?
Like Ian writes.... just use $ WRITE/SYMBOL
But if you have more problems with this, then you need to provide the
OpenVMS version details.
Bob> =A0 =A0Program in a language that can handle it.
DCL is a fine 'language' for basic/low volume record reads and write.
Better than Perl!
For high volumens it may not be sufficiently performance due to RMS
buffer restrictions for DCL.
DCL even provides keyed access to relative file if desirable.
(allthough bytes with the value for double-quote are a bit of
challenge :-).
Now if you just want to unload all records, then a simple convert may
be more desirable:
$ CONVERT /STAT /FDL=3DNL: rel.dat seq.dat
Hein
|
|
0
|
|
|
|
Reply
|
Hein
|
4/30/2010 3:29:48 PM
|
|
In article <5af7c800-07e4-4ee2-bfd4-e224350f44f4@s13g2000prc.googlegroups.com>, Keshav Tadimeti <raperswil@gmail.com> writes:
> Hello All
> I am reading from a RELATIVE file from DCL and writing to a TEXT FILE
> (SEQUENTIAL).
>
> WRITE THE_FILE THE_REC
>
> The message I get it this:
> %DCL-W-TKNOVF, command element is too long - shorten
>
> And the output file is empty.
>
> How can I get around the limitation of THE_REC having to be less than
> 255 chars?
Program in a language that can handle it.
|
|
0
|
|
|
|
Reply
|
koehler
|
4/30/2010 3:49:02 PM
|
|
Keshav Tadimeti wrote:
> Hello All
> I am reading from a RELATIVE file from DCL and writing to a TEXT FILE
> (SEQUENTIAL).
>
> WRITE THE_FILE THE_REC
>
> The message I get it this:
> %DCL-W-TKNOVF, command element is too long - shorten
>
> And the output file is empty.
>
> How can I get around the limitation of THE_REC having to be less than
> 255 chars?
>
> Thanks!!
Write your own CLI!
Alternatively, use a language better suited to the job.
|
|
0
|
|
|
|
Reply
|
Richard
|
4/30/2010 4:54:00 PM
|
|
On Apr 30, 12:54=A0pm, "Richard B. Gilbert" <rgilber...@comcast.net>
wrote:
> Keshav Tadimeti wrote:
> > How can I get around the limitation of THE_REC having to be less than
> > 255 chars?
Richard> Write your own CLI!
Richard> Alternatively, use a language better suited to the job.
Hmm, I'm confused.
You are the second person to suggest that DCL would not be able to
handle this.
DCL is one of the more flexible 'languages' to deal with RMS IO,
whether it is sequential files, relative or indexed file
organizations, and even direct disk blocks.
Yeah it has limitations, but it for 'quick & dirty' stuff there not
much better around.
The 255 bytes was very restrictive, but the 2048 bytes now available
allows one to process 99% of the files out there using DCL
Admittedly the $ HELP /MESS TKNOVF does not point out the $ WRITE /
SYMB
But $ HELP WRITE /SYMBOL is clear. On 8.3:
WRITE
/SYMBOL
Causes the expression to be interpreted and its expanded value
placed in a 2048-byte (instead of a 1024-byte) buffer before the
write operation is performed. If you specify multiple
expressions,
their values are concatenated and placed in the 2048-byte
buffer.
Use the /SYMBOL qualifier to write a very large record.
If you do not use the /SYMBOL qualifier, the entire command,
including the expression or expressions, is placed in a 1024-byte
buffer.
Hein
|
|
0
|
|
|
|
Reply
|
Hein
|
4/30/2010 5:16:08 PM
|
|
Are RMS operations over DECnet are restricted to 255byte buffers ?
(isn't that why MAIL has that restriction ?)
Also, in terms of size limits, is there a difference between:
$write myfile "''mysymbol'"
versus
$write myfile mysymbol
|
|
0
|
|
|
|
Reply
|
JF
|
4/30/2010 8:58:15 PM
|
|
|
6 Replies
804 Views
(page loaded in 0.351 seconds)
|
|
|
|
|
|
|
|
|