Operating System - OpenVMS
1828225 Members
2506 Online
109975 Solutions
New Discussion

OpenVMS LAT to TELNETSYM truncates data

 
Roger Cole
New Member

OpenVMS LAT to TELNETSYM truncates data

I use the following initialization:
-----------------------------------------------------------------------------------------
$ DEFINE/FORM/NOTRUNCATE/NOWRAP/LENGTH=255/WIDTH=65535/NOPAGE_SETUP/MARGIN=(BOTTOM=0,TOP=0,RIGHT=0,LEFT=0) MYFORM 42
$ ASSIGN/SYSTEM 1 UCX$TELNETSYM_RAW_TCP
$ ASSIGN/SYSTEM 1 UCX$TELNETSYM_SUPPRESS_FORMFEEDS
$ ASSIGN/SYSTEM "0 00:00:01" UCX$TELNETSYM_RETRY_INTERVAL
$ ASSIGN/SYSTEM 1 UCX$TELNETSYM_NO_OPCOM
$ INIT/QUEUE/START/PROC=UCX$TELNETSYM/ON="192.168.0.50:9200"-
/DEF=(FORM=MYFORM,NOFEED)/SCHEDULE=NOSIZE/FORM=MYFORM RAWQ9200
$ MCR LATCP CREATE PORT LTA21 ! RAWQ9200, Create LAT port
$ SET TERM/PERM/FORM/PASSTHRU LTA21 ! RAWQ9200, Make pass-through
$ SET DEVICE/SPOOLED=(RAWQ9200,SPOOL) LTA21: ! RAWQ9200, spool LAT to RAWQ9200
-----------------------------------------------------------------------------------------

* If I copy a 2kB file to LTA21, the file prints perfectly.
* If I print a 2kB file to queue RAWQ9200, the file prints perfectly.
* I have a legacy application that can print 2kB+ files
to LAT printers.
* When I use this legacy application to print to LTA21
instead of directly to a LAT printer, the data is always
truncated at either 513 or 1026 bytes. (not 512 or 1024 bytes).
* No disk quotas are enabled.
* The users have permissions in the SPOOL directory

Questions:
1. Why would the data be truncated at 513 or 1026 bytes?
Is there a setting that I am missing? Any suggestions
on what might be the problem?

2. Is there any other way to print from a legacy LAT-based
application to a RAW TCP device? (I have already tried
to use /ON="IP_RAWTCP/:", but nothing prints
at all from my Legacy application.)
4 REPLIES 4
Volker Halle
Honored Contributor

Re: OpenVMS LAT to TELNETSYM truncates data

Roger,

welcome to the OpenVMS ITRC forum.

Are you saying you can change your application to either:

- write to a spooled LTA device
- print to a (LAT) print queue

This would involve different code in the application.

Consider to have your application print to a working queue, STOP/QUE the queue before printing and look at the queue with SHO QUE/FULL/ALL after printing from the app. Do you see a valid filename ? If so, consider to copy the submitted file, so you have the original file to play with during testing. Does this file look good ?

What happens if you:

- COPY file LTA21:
- PRINT/QUE=RAW9200 file

Volker.
Roger Cole
New Member

Re: OpenVMS LAT to TELNETSYM truncates data

Thank you for the reply!

> Are you saying you can change your > application to either:
>
>- write to a spooled LTA device
>- print to a (LAT) print queue

No, I do not have access to the code of the application.

>Consider to have your application print to a >working queue, STOP/QUE the queue before >printing and look at the queue with SHO >QUE/FULL/ALL after printing from the app. Do >you see a valid filename ? If so, consider >to copy the submitted file, so you have the >original file to play with during testing. >Does this file look good ?

The spool file was temporary, so I had to use
ANALYZE/DISK/REPAIR/CONFIRM
in order to save the queue spool file to SYSLOST.

I examined the recovered file. This file is truncated. That may mean that the problem is occuring before TELNETSYM takes over.

> What happens if you:
>
>- COPY file LTA21:
>- PRINT/QUE=RAW9200 file

The files print with no truncation.

I also tried the following, but with no luck:
! ----------------------------------------------------------
$ DEFINE/FORM/NOTRUNCATE/NOWRAP-
/LENGTH=255-
/WIDTH=65535-
/NOPAGE_SETUP-
/MARGIN=(BOTTOM=0,TOP=0,RIGHT=0,LEFT=0)-
MYFORM 42
$ ASSIGN/SYSTEM 1 UCX$TELNETSYM_RAW_TCP
$ ASSIGN/SYSTEM 1 UCX$TELNETSYM_SUPPRESS_FORMFEEDS
$ ASSIGN/SYSTEM "0 00:00:01" UCX$TELNETSYM_RETRY_INTERVAL
$ ASSIGN/SYSTEM 1 UCX$TELNETSYM_NO_OPCOM
$ INIT/QUEUE/START-
/PROC=UCX$TELNETSYM/ON="192.168.0.50:9200"-
/NOBLOCK_LIMIT-
/DEFAULT=(FORM=MYFORM,NOFEED,NOBURST,NOFLAG,NOTRAILER)-
/ENABLE_GENERIC-
/NO_INITIAL_FF-
/PROTECTION=(S:RSMD,O:RSMD,G:RSMD,W:RSMD)-
/RETAIN=ALL-
/WSEXTENT=25-
/WSDEFAULT=25-
/SCHEDULE=NOSIZE-
/FORM=MYFORM-
RAWQ9200
$ MCR LATCP CREATE PORT LTA21
$ SET TERM/PERM/FORM/PASSTHRU LTA21
$ SET DEVICE/SPOOLED=(RAWQ9200,SPOOL) LTA21:
! ----------------------------------------------------------


Volker Halle
Honored Contributor

Re: OpenVMS LAT to TELNETSYM truncates data

Roger,


When I use this legacy application to print to LTA21 instead of directly to a LAT printer, the data is always truncated ...


How excatly does the application 'directly print to a LAT printer' ? Can you capture such a 'good' 2kb+ print-file for testing ?

My question regarding alternative printing from the application to a LTA device OR a LAT print queue was meant to find out, how you change the parameters (print settings) of your application to achieve this. I was not asking to change the code.

If the file is corrupted BEFORE being processed by the print-symbiont, don't bother to change FORM settings, as they will only come into play in the symbiont itself.

What is the file and record format of the 'truncated' file (DIR/FULL) ? And of a 'good' file ?

I did a simple experiment: created a simple variable-length text file with one line of 2100 characters. COPY file LTA1: (LTA1: is spooled to a disk). Recovered the spooled file with ANAL/DISK/REP/CONF and DIR/FULL of the file in [SYSLOST] as well as a DIFFERENCES showed no corruption/truncation at all (on OpenVMS Alpha V8.2).

Volker.
Bojan Nemec
Honored Contributor

Re: OpenVMS LAT to TELNETSYM truncates data

Roger,

To avoid ANALYZE/DISK/REPAIR/CONFIRM yuo can use the little DCL procedure that I posted in this thread:

http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=1016592


The TCP/IP service will act as a printer. Of course you must start the telnetsym queue on this port ( START RAWQ9200 /ON="localhost:9100" if your service is listening on port 9100 ). You can ommit the print command in the procedure and only examine the file. The contents of the file will be the same as it will be sent to the printer.

Bojan