Jump to page titleUNITED STATES
hp.com home products and services support and drivers solutions how to buy
» contact hp

:

more options
 

hp.com home
End of Jump to page title
[PL/1] Include File Generates PLI-W-RTB Message
Jump to content



» 

business support center

Home & Home Office Support:
» HP branded products
» Presario branded products
» Services & Warranties
Small & Medium Business Support:
» Small & Medium Business products
» Small & Medium Business services
Support for IT Professionals:
» Enterprise products (IT Resource Center)
» NonStop enterprise products
» Business & IT Services
Content starts here
Copyright (c) Digital Equipment Corporation 1992,1995. All rights reserved

PRODUCT:  VAX PL/1
          DEC PL/1

OP/SYS:   OpenVMS VAX
          OpenVMS AXP

SOURCE:   Digital Equipment Corporation


SYMPTOM:

Received error at compile time:

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


WORKAROUNDS:

Convert the file to variable length records using the convert utility.
Or, edit the file and exit, causing it to reset the LRL in the file
header.


DIGITAL RESPONSE:

The following has now been documented in the PLI release notes:

    o  The compiler can now handle records up to 32K  which  is  RMS
       max.   After  a file is opened, a buffer equal to the longest
       record length is allocated.  This buffer is  then  used  when
       the record is read.

       This change is highly dependent on obtaining the longest
       record  length value for a file from RMS (using the xab$w_lrl
       field of fhc_xab block) when the file  is  opened.   However,
       there  are  some  rare  cases in which RMS fails to provide a
       correct  value  in  that  field.    If   this   occures   the
       %PLIG-F-READERR  message,  followed by an -RMS-F-USZ, invalid
       user buffer size error will be returned.

       One suggested user action is to edit the source file and
       write  out a new version, causing RMS to update the lrl value
       in the file header.


ANALYSIS:

This error was generated at compile time when trying to do a %include
with a file that has a record format of stream, or a record length
greater than 32000.

This command procedure will reproduce the behavior:

$CREATE INCLUDE_FILE.PLI

 do: proc options(main);

 dcl incfl  stream;
 dcl i fixed bin(31);


 open output file(incfl) title('incfl.inc');
 do i = 1 to 10000;

 put file(incfl) edit ('newdata ',i)(a,f(5,0));

 end;

 close file(incfl);

 end;
$ CREATE INCFL.FDL
IDENT   "30-JUL-1992 08:27:41   VAX/VMS ANALYZE/RMS_FILE Utility"

SYSTEM
        SOURCE                  VAX/VMS

 FILE
        ALLOCATION              315
        BEST_TRY_CONTIGUOUS     no
        CLUSTER_SIZE            3
        CONTIGUOUS              no
        EXTENSION               0
        FILE_MONITORING         no
        GLOBAL_BUFFER_COUNT     0
        NAME                    "INCFL.INC"
        ORGANIZATION            sequential
        PROTECTION              (system:RWED, owner:RWED, group:RE, world:)

 RECORD
        BLOCK_SPAN              yes
        FORMAT                  stream
$ PLI INCLUDE_FILE
$ LINK INCLUDE_FILE
$ RUN INCLUDE_FILE
$ CONVERT/FDL=incfl.fdl incfl.inc incfl.inc
$ CREATE TEST.PLI
 test: proc options(main);

 %include 'incfl.inc';

 end test;
$ PLI/SHOW=ALL TEST.PLI


REFERENCES:

"SYS$HELP:PLI$035.RELEASE_NOTES", Section 5, KNOWN PROBLEMS AND RESTRICTIONS

"SYS$HELP:DPLI040.RELEASE_NOTES", Section 4.1 Compiler Known Errors and
Methods of Avoidance



buy online or call 1.800.AT.COMPAQ
privacy statementusing this site means you accept its terms