Operating System - OpenVMS
1752690 Members
5679 Online
108789 Solutions
New Discussion юеВ

Re: Error executing com script -

 
Nipun Patel
Occasional Advisor

Error executing com script -

Hi,
I am using VMS 7.3-2 and have logged in as system and tried to execute a com script and got the following error (I am new to VMS please give me details on how to retrieve information in case you need more info)

%RMS-W-RTB, 5511 byte record too large for user's buffer

I did the steps remotely as well as from the terminal and yet I got the same error. I am also posting below terminal charactericts incase that is helpful

Input: 9600 LFfill: 0 Width: 80 Parity: None
Output: 9600 CRfill: 0 Page: 24

Terminal Characteristics:
Interactive Echo Type_ahead No Escape
Hostsync TTsync Lowercase No Tab
Wrap Scope No Remote No Eightbit
Broadcast No Readsync No Form Fulldup
No Modem No Local_echo No Autobaud No Hangup
No Brdcstmbx No DMA No Altypeahd Set_speed
No Commsync Line Editing Insert editing No Fallback
No Dialup Secure server No Disconnect No Pasthru
No Syspassword No SIXEL Graphics No Soft Characters No Printer Port
Numeric Keypad No ANSI_CRT No Regis No Block_mode
No Advanced_video No Edit_mode No DEC_CRT No DEC_CRT2
No DEC_CRT3 No DEC_CRT4 No DEC_CRT5 No Ansi_Color
VMS Style Input
$


7 REPLIES 7
Robert Gezelter
Honored Contributor

Re: Error executing com script -

Nipun,

The first step should be to turn on DCL verification (SET VERIFY). This will log each and every command executed by the command file.

Doing a DIRECTORY/FULL command on the file that is causing the error is a start.

Also, doing a DUMP/RECORD/ASCII would be a good thought.

The file (or a file that it is operating on), would appear to have a long record. This may be for any number of reasons.

- Bob Gezelter, http://www.rlgsc.com
Hoff
Honored Contributor

Re: Error executing com script -

First, please go read the OpenVMS User's Guide. It is entirely your obligation to learn how to use the basics of the platform and its command interface, and that manual provides you with the basic knowledge required. You'll save yourself a whole lot of time here, and frustration.

The OpenVMS manuals (and other manuals) are here:

http://www.hp.com/go/openvms/doc

Here, you're going to have to debug the DCL command procedure that's tossing out the error.

Whether this is related to the terminal settings or not is not in evidence. Usually, this isn't the terminal settings. See the DCL command HELP /MESSAGE/FACILITY=RMS RTB for the basics of the error itself. Here's the output from that:

--
RTB, 'nnn' byte record too large for user's buffer

Facility: RMS, OpenVMS Record Management Services

Explanation: A record that was retrieved from a file by an RMS $GET
operation within an application program is too large for the
buffer provided by the application. The status value (STV)
field of the RAB contains the size of the record that is too
large; the returned record is truncated to the size of the
user buffer.

User Action: Ensure that the RMS record structure and the RMS file
attributes on the associated RMS file meet the requirements
of the application. If they do, the application program must
be rebuilt or reconfigured to provide a buffer large enough to
read the failing record from the file. alternatively, the size
of the failing record must be reduced to fit into the buffer
provided by the application.
--

The basic DCL debugging sequence here involves some examination of the DCL procedure itself, and particularly looking at the DCL to see how to enable verification. With some procedures, you can issue SET VERIFY at the command line and then invoke the procedure. You'll then see what the procedure is doing, and usually get a better idea of what is tossing the error. With other DCL command procedures, you have to add a SET VERIFY or an f$verify(1) inside the procedure, usually near the top.

Then you have to figure out what command is failing. And why.

In summary, you use the knowledge gained in reading the OpenVMS User's Guide to understand the basics of DCL debugging and DCL command syntax and potentially the trigger. Or at least toward having the particular command(s) that are failing, so that somebody can look at it.



Nipun Patel
Occasional Advisor

Re: Error executing com script -

Thanks Robert,
Here is some of the info

Set verify - did not give any more results as to any specific line etc. The same output as before


2) Dir/full

Size: 5KB/128KB Owner: [xxx,xxx]
Created: 11-MAR-2009 11:15:24.62
Revised: 11-MAR-2009 11:15:24.63 (1)
Expires:
Backup:
Effective:
Recording:
Accessed:
Attributes:
Modified:
Linkcount: 1
File organization: Sequential
Shelved state: Online
Caching attribute: Writethrough
File attributes: Allocation: 256, Extend: 0, Global buffer count: 0
No version limit
Record format: Variable length, maximum 0 bytes, longest 5511 bytes
Record attributes: Carriage return carriage control
RMS attributes: None
Journaling enabled: None
File protection: System:RWED, Owner:RWED, Group:RE, World:
Access Cntrl List: None
Client attributes: None


3) dump...

$ dump/record/ascii cslgmenu.com










Dump of file DISK11:[xxxx.xxx.xxx]xxxxx on 11-MAR-2009 12:50:23.12
x.COM;1
File ID (102273,8,0) End of file block 11 / Allocated 256

Record number 1 (00000001), 5511 (1587) bytes, RFA(0001,0000,0000)

20202020 20202020 20202020 20202124 $! 000000
59504F43 20202020 20202020 20202020 COPY 000010
42203039 39312029 43282054 48474952 RIGHT (C) 1990 B 000020
20202020 20202020 20202020 21240A59 Y.$! 000030
204C4154 49474944 20202020 20202020 DIGITAL 000040
524F5052 4F432054 4E454D50 49555145 EQUIPMENT CORPOR 000050
240A4452 414E5941 4D202C4E 4F495441 ATION, MAYNARD.$ 000060
20202020 20202020 20202020 20202021 ! 000070
45535548 43415353 414D2020 20202020 MASSACHUSE 000080
53544847 4952204C 4C412020 2E535454 TTS. ALL RIGHTS 000090
21240A21 240A2E44 45565245 53455220 RESERVED..$!.$! 0000A0
20455241 5754464F 53205349 48542020 THIS SOFTWARE 0000B0
444E5520 44454853 494E5255 46205349 IS FURNISHED UND 0000C0
444E4120 45534E45 43494C20 41205245 ER A LICENSE AND 0000D0
444E4120 44455355 20454220 59414D20 MAY BE USED AND 0000E0
594C4E4F 20202124 0A444549 504F4320 COPIED.$! ONLY 0000F0
57204543 4E414452 4F434341 204E4920 IN ACCORDANCE W 000100
464F2053 4D524554 20454854 20485449 ITH THE TERMS OF 000110
4E412045 534E4543 494C2048 43555320 SUCH LICENSE AN 000120
554C434E 49204548 54204854 49572044 D WITH THE INCLU 000130
20454854 20464F20 2021240A 4E4F4953 SION.$! OF THE 000140
20544847 49525950 4F432045 564F4241 ABOVE COPYRIGHT 000150
4F532053 49485420 202E4543 49544F4E NOTICE. THIS SO 000160
544F2059 4E412052 4F204552 41575446 FTWARE OR ANY OT 000170
54202021 240A5345 49504F43 20524548 HER COPIES.$! T 000180
4220544F 4E205941 4D20464F 45524548 HEREOF MAY NOT B 000190
544F2052 4F204445 4449564F 52502045 E PROVIDED OR OT 0001A0
41564120 4544414D 20455349 57524548 HERWISE MADE AVA 0001B0
544F2059 4E41204F 5420454C 42414C49 ILABLE TO ANY OT 0001C0
202E4E4F 53524550 20202124 0A524548 HER.$! PERSON. 0001D0
444E4120 4F542045 4C544954 204F4E20 NO TITLE TO AND 0001E0
48542046 4F205049 48535245 4E574F20 OWNERSHIP OF TH 0001F0
45482053 49204552 41575446 4F532045 E SOFTWARE IS HE 000200
44455252 4546534E 41525420 59424552 REBY TRANSFERRED 000210
464E4920 45485420 2021240A 21240A2E ..$!.$! THE INF 000220
53494854 204E4920 4E4F4954 414D524F ORMATION IN THIS 000230
42555320 53492045 52415754 464F5320 SOFTWARE IS SUB 000240
57204547 4E414843 204F5420 5443454A JECT TO CHANGE W 000250
4E412045 4349544F 4E205455 4F485449 ITHOUT NOTICE AN 000260
544F4E20 444C554F 48532020 21240A44 D.$! SHOULD NOT 000270
53412044 45555254 534E4F43 20454220 BE CONSTRUED AS 000280
59422054 4E454D54 494D4D4F 43204120 A COMMITMENT BY 000290
454D5049 55514520 4C415449 47494420 DIGITAL EQUIPME 0002A0
0A2E4E4F 49544152 4F50524F 4320544E NT CORPORATION.. 0002B0
41204C41 54494749 44202021 240A2124 $!.$! DIGITAL A 0002C0
4E4F5053 4552204F 4E205345 4D555353 SSUMES NO RESPON 0002D0
45485420 524F4620 5954494C 49424953 SIBILITY FOR THE 0002E0
4C494241 494C4552 20524F20 45535520 USE OR RELIABIL 0002F0
53202021 240A5354 4920464F 20595449 ITY OF ITS.$! S 000300
50495551 45204E4F 20455241 5754464F OFTWARE ON EQUIP 000310
544F4E20 53492054 41485420 544E454D MENT THAT IS NOT 000320
47494420 59422044 45494C50 50555320 SUPPLIED BY DIG 000330
2A2A2A2A 2A21240A 21240A2E 4C415449 ITAL..$!.$!***** 000340
2A2A2A2A 2A2A2A2A 2A2A2A2A 2A2A2A2A **************** 000350












Dump of file DISK11:[xxxx.xxxx.xxxx.xxx]xxxxx on 11-MAR-2009 12:50:23.12
x.COM;1
File ID (102273,8,0) End of file block 11 / Allocated 256

2A2A2A2A 2A2A2A2A 2A2A2A2A 2A2A2A2A **************** 000360
2A2A2A2A 2A2A2A2A 2A2A2A2A 2A2A2A2A **************** 000370
2A2A2A2A 2A2A2A2A 2A2A2A2A 2A2A2A2A **************** 000380
454D474C 53432021 240A2A2A 2A2A2A2A ******.$! CSLGME 000390
3D3D3D3D 3D3D3D21 240A4D4F 432E554E NU.COM.$!======= 0003A0
64452021 240A2124 0A3D3D3D 3D3D3D3D =======.$!.$! Ed 0003B0
21240A21 240A7972 6F747369 48207469 it History.$!.$! 0003C0
72655620 20202020 20202065 74614420 Date Ver 0003D0
20202020 206F6857 20202020 20202073 s Who 0003E0
30202124 0A21240A 7365676E 61684320 Changes.$!.$! 0 0003F0
2020302E 31202020 34392D6C 754A2D36 6-Jul-94 1.0 000400
66202020 20202020 44522020 20202020 RD f 000410
0A21240A 65736165 6C657220 74737269 irst release.$!. 000420
2A2A2A2A 2A2A2A2A 2A2A2A2A 2A2A2124 $!************** 000430
2A2A2A2A 2A2A2A2A 2A2A2A2A 2A2A2A2A **************** 000440
2A2A2A2A 2A2A2A2A 2A2A2A2A 2A2A2A2A **************** 000450
2A2A2A2A 2A2A2A2A 2A2A2A2A 2A2A2A2A **************** 000460
44202124 0A21240A 2A2A2A2A 2A2A2A2A ********.$!.$! D 000470
74726F68 7320656D 6F732065 6E696665 efine some short 000480
0A21240A 736C6F62 6D797320 646E6168 hand symbols.$!. 000490
544E4952 5022203D 20544E49 52500924 $.PRINT = "PRINT 0004A0
54495257 22203D3A 20594153 09240A22 ".$.SAY := "WRIT 0004B0
240A2220 54555054 554F2453 59532045 E SYS$OUTPUT ".$ 0004C0
203D204E 45455243 535F5241 454C4309 .CLEAR_SCREEN = 0004D0
55505455 4F245359 53204554 49525722 "WRITE SYS$OUTPU 0004E0
240A2222 22485B1B 4A325B1B 22222054 T "".[2J.[H""".$ 0004F0
1B22203D 204E4F5F 45535245 56455209 .REVERSE_ON = ". 000500
55424952 54544109 240A226D 373B305B [0;7m".$.ATTRIBU 000510
226D305B 1B22203D 2046464F 5F534554 TES_OFF = ".[0m" 000520
6873696C 62617473 45202124 0A21240A .$!.$! Establish 000530
61202C65 72612065 77206572 65687720 where we are, a 000540
65687420 73612074 69206573 7520646E nd use it as the 000550
20726F66 20746E69 6F702065 73616220 base point for 000560
240A7365 636E6572 65666572 206C6C61 all references.$ 000570
766E6524 66203D20 676C7363 09240A21 !.$.cslg = f$env 000580
4445434F 52502228 746E656D 6E6F7269 ironment("PROCED 000590
20726964 6B736964 09240A29 22455255 URE").$.diskdir 0005A0
2C2C676C 73632865 73726170 2466203D = f$parse(cslg,, 0005B0
2466202B 20292C22 45434956 4544222C ,"DEVICE",) + f$ 0005C0
4944222C 2C2C676C 73632865 73726170 parse(cslg,,,"DI 0005D0
66656409 240A292C 2259524F 54434552 RECTORY",).$.def 0005E0
4F495441 434F4C24 474C5343 20656E69 ine CSLG$LOCATIO 0005F0
240A2124 0A277269 646B7369 6427204E N 'diskdir'.$!.$ 000600
69666544 2073746E 6174736E 6F432021 ! Constants Defi 000610
4E454D09 240A2124 0A736E6F 6974696E nitions.$!.$.MEN 000620
554E454D 09240A31 203D204E 494D5F55 U_MIN = 1.$.MENU 000630
7475706E 6909240A 35203D20 58414D5F _MAX = 5.$.input 000640
21240A21 240A3020 3D20726F 7272655F _error = 0.$!.$! 000650
6E612075 6E656D20 79616C70 73694420 Display menu an 000660
63696F68 63207265 73752074 65672064 d get user choic 000670
504F4F4C 5F554E45 4D20240A 21240A65 e.$!.$ MENU_LOOP 000680
09240A79 616C7073 69642021 09240A3A :.$.! display.$. 000690
7309240A 4E454552 43535F52 41454C43 CLEAR_SCREEN.$.s 0006A0
5F574822 28697973 74656724 66207961 ay f$getsyi("HW_ 0006B0
502F4550 59540924 0A202922 454D414E NAME") .$.TYPE/P 0006C0
6F697461 636F6C24 676C7363 20454741 AGE cslg$locatio 0006D0




------------------------------

There are several such lines... again starting with

Dump of file DISK11:




Hoff
Honored Contributor

Re: Error executing com script -

Your CSLGMENU.COM license PAK menu DCL command procedure was probably incorrectly transferred from where ever you got it from; what's shown there looks to be corrupt. (This part of the procedure's settings is not likely correct: /Record format: Variable length, maximum 0 bytes, longest 5511 bytes/)

Get a fresh copy. If the file went through a Windows or Unix box, it may well have gotten corrupted -- Windows in particular will default to assuming a .COM file is an image, and will select the wrong transfer mode. This above and beyond the usual lack of support for the OpenVMS sequential file formats.)

Or prepare to unsnarl a corrupted sequential file. That's more work.
Nipun Patel
Occasional Advisor

Re: Error executing com script -

thanks Hoff,
I will check on that I did transfer as ASCII from Windows to VMS. Usually for other com files this problem does not occur.

I will look into this. thanks!
Hein van den Heuvel
Honored Contributor

Re: Error executing com script -

Look at the 2nd byte in the 3rd dump line (counting out from the middle).
And the 2nd to last byte in line 7 (2nd from left). Those are linefeed characters, meant to be line terminators.
The 5511 is a numeric interpretation of what shout be the string "$!"

So what have here is a STREAM-LF file, used as a veriable length file.

To fix this issue:
$SET FILE /ATTRIB=RFM:STMLF

Now try again.

"That was easy!"

Hein.




Hoff
Honored Contributor

Re: Error executing com script -

If you're going to migrate files through a Microsoft Windows box or most any other non-OpenVMS box, the I'd suggest use of the zip "-V" mechanisms and a zip archive to protect the files. Don't toss raw OpenVMS files around.

When the archive file arrives on the target box, then use unzip.

zip and unzip aren't in the base OpenVMS distribution, but they are present on the Freeware distribution in the 000TOOLS area. And they should be in your own local installation, and they should be used for tasks such as this.

There are newer versions available over at Info-Zip.org, too.