1 Compile_time_errors BASIC diagnoses compile-time errors and: o Indicates the program line that generated the error or errors o Displays this program line o Shows you the location of the error or errors and assigns a number to each location for future reference o Displays the mnemonic, statement number within the line, the location number as previously displayed, and the message text. This is repeated for each error in the line. 2 ACTARGMUS ERROR - A DEF function reference contains a null argument, for example, FNA(1,,2) Specify all arguments when referencing a DEF function. 2 ALLOCSML WARNING - A MAP or COMMON with the same name exists in more than one program module, and first one encountered by the compiler is smaller than the subsequent ones. BASIC first allocates MAP and COMMON areas in the main program, then MAP and COMMON areas in subprograms, in the order in which they were loaded. Thus, you can avoid this error by loading modules with the largest MAP or COMMON first. However, it is better practice to make MAP and COMMON areas equal in size. 2 AMBRECCOM ERROR - The program contains an ambiguous RECORD component reference, for example, A::D when both A::B::D and A::C::D exist. Change the RECORD component reference. 2 AMPCONILL ERROR - A program contains an %INCLUDE directive followed by an ampersand continuation to another statement. Ampersand continuation of the %INCLUDE directive is legal, however. Recode to eliminate the line continuation or use backslash continuation. 2 AMPCONREP ERROR - A program contains a %REPORT directive followed by an ampersand continuation to another statement. Ampersand continuation of the %REPORT directive is legal, however. Recode to eliminate the line continuation or use backslash continuation. 2 ANYDIMNOT ERROR - Both a datatype of ANY and a DIM clause were specified in an EXTERNAL statement. Remove either the ANY datatype or DIM clause from the EXTERNAL statement. 2 APPMISNUM ERROR - An attempt was made to append a source file that does not contain a line number on the first line. Put a line number on the first line of the appended file. 2 APPNOTALL ERROR - You cannot use the APPEND command or the plus sign (+) to concatenate programs without line numbers. Use an include file. 2 ARRMUSHAV ERROR - An array with multiple dimensions is specified where a one dimensional array is required. Specify an array which has one dimension. 2 ARRNAMREQ ERROR - The type of variable name required must be an array name. Change the variable name to an array name. 2 ARRNOTALL ERROR - The parameter list for a DEF function definition contained an entire array. Remove the array specification; you cannot pass an entire array as a parameter to a DEF function. 2 ARRTOOBIG ERROR - An array requires more than (2^29 - 1) bytes of storage. Reduce the size of the array. 2 ATROVRVAR ERROR - A variable name appears in more than one overlaid MAP; however, the attributes specified for the variable are inconsistent. If the same variable name appears in multiple overlaid MAPs, the attributes (for example, data type) must be identical. 2 ATRPRIREF WARNING - A variable or array is referenced before the MAP that declares it. The attributes of the referenced variable do not match those of the declaration. Make sure that the variable or array has the same attributes in both the reference and the declaration. 2 ATTGTRZER ERROR - You specified a negative value when a positive value is required. Supply a value greater than zero. 2 BADFMTSTR ERROR - The format string you specified with the PRINT USING statement is not valid. Correct the string. 2 BADNO ERROR - A qualifier that does not allow a 'NO' prefix was entered, for example, NODOUBLE. Select the proper qualifier. In the example, the complementary form of DOUBLE is SINGLE. 2 BADPROGNM ERROR - The program name is longer than 39 characters, or contains illegal characters. Change the program name to be less than or equal to 39 characters and make sure that it contains only letters, digits, and underscores. 2 BASICHLB INFORMATION - A HELP command was entered and the BASIC HELP library was not available. See your system manager. 2 BIFREQNUM ERROR - A reference to a BASIC built-in function contains a string instead of a numeric expression. Supply a numeric expression. 2 BIFREQSTR ERROR - The program specifies a numeric expression for a built-in function that requires a string argument. Supply a string expression for the built-in function. 2 BLTFUNNOT ERROR - The program contains a reference to a built-in function not supported by this version of BASIC. Remove the function reference. 2 BOUCANNOT ERROR - An EXTERNAL statement declaring a SUB or FUNCTION subprogram specifies bounds in an array parameter. For example: EXTERNAL SUB XYZ (LONG A(1,2,3)) BASIC also signals this error if the program attempts to specify array bounds in a SUB or FUNCTION statement and the array is not being received BY REF. Remove the array parameter's bound specifications. When declaring an external subprogram you can specify only the number of dimensions for an array parameter. For example: EXTERNAL SUB XYZ (LONG A(,,)) 2 BOUMUSTBE ERROR - The program contains an array declaration that does not specify the bounds (maximum subscript value). For example: DECLARE LONG A(,) Supply bounds for the declared array. For example: DECLARE LONG A(50,50) 2 CAUNOTALL ERROR - A CAUSE statement is specified within an error handler. Remove the CAUSE statement from the error handler. 2 CDDACCERR ERROR - The CDD/Repository detected an error on an attempted CDD/Repository record extraction. BASIC displays the CDD/Repository error. Take action based on the associated CDD/Repository error. 2 CDDACCITE ERROR - The CDD/Repository reported an error when accessing the field. The CDD/Repository record definition is corrupt, or there is an internal error in either BASIC or the CDD/Repository. If the problem is not in the CDD/Repository definition, please submit a software problem report with the source code of a small program that produces this error. 2 CDDACCREC ERROR - The CDD/Repository reported an error when accessing the record. The CDD/Repository record definition is corrupt or there is an internal error in either BASIC or the CDD/Repository. If the problem is not in the CDD/Repository definition, please submit a software problem report with the source code of a small program that produces this error. 2 CDDADJBOU INFORMATION - The CDD/Repository contains an array field with a lower bound that is not zero. BASIC adjusts the bound so that the array is zero-based. 2 CDDALCOFF FATAL - The offset of a field within a BASIC RECORD differs from the offset specified by the CDD/Repository for that record. Please submit a software problem report with the source code of a small program that produces this error. 2 CDDALCSIZ FATAL - The amount of storage allocated for a field in a BASIC RECORD differs from the amount specified by the CDD/Repository for that record. Please submit a software problem report with the source code of a small program that produces this error. 2 CDDALCSPN FATAL - The amount of storage allocated by a BASIC RECORD for an array differs from the amount specified by the CDD/Repository for that record. Please submit a software problem report with the source code of a small program that produces this error. 2 CDDAMBFLD ERROR - More than one CDD/Repository structure share the same level and the same name. Change the CDD/Repository definition so that the structures have different names. 2 CDDATTBAS ERROR - A field in a CDD/Repository definition uses the BASE keyword. This warns you that the numeric field is not interpreted as a base 10 number. Remove the BASE attribute in the CDD/Repository or avoid using the field. 2 CDDATTDAT ERROR - A CDD/Repository definition specified a data type after the CDD/Repository STRUCTURE keyword. BASIC translates STRUCTURE to a BASIC RECORD or GROUP statement. These BASIC statements do not allow data type attributes. Change the CDD/Repository definition. 2 CDDATTDIG INFORMATION - The field contains a CDD/Repository fixed-point data type that specifies the number of allowed digits. This warning tells you that BASIC interprets the field as BYTE, WORD, LONG, or QUAD and does not support the DIGITS attribute for this data type. 2 CDDATTSCA INFORMATION - A field in a CDD/Repository definition uses the SCALE keyword. This warns you that the field has an implied exponent. Remove the SCALE attribute in the CDD/Repository, or avoid using the field. 2 CDDATTTXT INFORMATION - A CDD/Repository record definition specifies a data type of TEXT for the entire record. BASIC ignores the TEXT attribute and substitutes the UNSPECIFIED attribute. 2 CDDBASNAM ERROR - The BASIC name specified in the CDD/Repository record definition is a reserved keyword or contains an illegal character. Change the invalid field name. 2 CDDBITFLD ERROR - A CDD/Repository field does not start on a byte boundary. Use the CDD/Repository ALIGN keyword to align the field following on a byte boundary. 2 CDDCOLMAJ ERROR - An array specified in a CDD/Repository definition is column-major rather than row-major. Thus it is incompatible with BASIC arrays. You cannot extract a CDD/Repository definition containing a column-major array. 2 CDDDIGERR ERROR - A packed numeric CDD/Repository specifies more than 31 digits. Reduce the number of digits specified in the CDD/Repository definition. 2 CDDDIMNOT ERROR - A CDD/Repository definition is an array. This is incompatible with BASIC RECORDs, which can contain arrays, but cannot be arrays. You cannot access CDD/Repository definitions that are arrays. 2 CDDDUPREC ERROR - The CDD/Repository record name conflicts with a previous RECORD name. The previous RECORD name may be a standard BASIC RECORD or another CDD/Repository record. Remove one of the duplicate definitions. 2 CDDFLDNAM ERROR - The CDD/Repository definition contains a field that is not named. Supply a field name for the CDD/Repository definition. 2 CDDINTONLY ERROR - The type of variable name required must be an array name. Remove the % suffix from the variable name or change the datatype keyword. 2 CDDLOWBOU ERROR - An array in a CDD/Repository definition does not specify a lower bound. Check to make sure the omission is not a mistake. BASIC supplies a lower bound of zero and continues after issuing this warning. 2 CDDMAXDIM ERROR - An array in a CDD/Repository definition specifies more than 32 dimensions. Reduce the number of dimensions in the CDD/Repository definition. 2 CDDNAMKEY ERROR - A CDD/Repository definition contains a field name that is a reserved word in BASIC. Change the name in the CDD/Repository definition or supply a BASIC name clause. 2 CDDNOALGN INFORMATION - The CDD/Repository definition contains an array that contains aligned fields, which are not supported by BASIC. The alignment information will be lost from the array, which is likely to result in offset errors. 2 CDDOCCIGN INFORMATION - The CDD/Repository contains an array field with a variable number of elements. BASIC creates an array large enough for the maximum value. If you modify the array field, be sure to also change the field that contains the number of array elements. 2 CDDOFFERR ERROR - The CDD/Repository definition has been corrupted or there is an internal error in either BASIC or the CDD/Repository. If the problem is not in the CDD/Repository definition, please submit a software problem report with the source code of a small program that produces this error. 2 CDDPLUSERR ERROR - CDD/Repository detected an error while attempting to record dependency data. BASIC displays the CDD/Repository error. Take action based on the associated CDD/Repository error. 2 CDDPREERR ERROR - The number of fractional digits for a packed decimal field is greater than the total number of digits specified for that field. Change the number of fractional digits in the CDD/Repository to be less than or equal to the total number of digits. 2 CDDRECFOR ERROR - The CDD/Repository supports both variable and fixed-length records. BASIC supports only fixed-length records. Change the CDD/Repository record definition to specify fixed-length. 2 CDDRECNAM ERROR - You are trying to include a CDD/Repository data definition whose outermost structure does not have a field name. A CDD/Repository field name is required so that BASIC can assign a name to the RECORD. Add a field name to the CDD/Repository data definition. 2 CDDSCAERR ERROR - The scale factor for a packed decimal CDD/Repository field is greater than the number of digits in the field or less than zero. Change the scale factor in the CDD/Repository definition. 2 CDDSCAZER INFORMATION - A CDD/Repository field specifies no scale factor for a D_floating field, but the BASIC program specifies a non-zero scale factor. Use a scale factor of zero in the BASIC program. 2 CDDSTRONLY ERROR - The $ suffix is only allowed on string datatypes. Remove the $ suffix from the variable name or change the datatype keyword. 2 CDDSUBGRO INFORMATION - The CDD/Repository definition specifies a data type that is not native to BASIC. BASIC creates a GROUP with the same name as the CDD/Repository field and creates variable names for the GROUP components. 2 CDDTAGIGN INFORMATION - The CDD/Repository record definition contains a variant field. If you use an alternate field variant, be sure to update the tag field. 2 CDDUNSDAT ERROR - The data type specified for a field is not supported by BASIC. Avoid using this field. 2 CDDUPPBOU ERROR - An array in a CDD/Repository definition does not specify an upper bound. Specify an upper bound in the CDD/Repository definition. 2 CDDVARFLD ERROR - A CDD/Repository field can be either variable or fixed-length. BASIC supports only fixed-length fields. Either change the CDD/Repository definition or avoid using the field. 2 CHAEXPMUS ERROR - The program contains a nonnumeric channel expression, for example, PUT #A$. Change the channel expression to be numeric. 2 CHALINCLA ERROR - A CHAIN statement contains a LINE keyword and a line number argument. Remove the LINE keyword and the line number argument. 2 CHANOTALL ERROR - The PRIMARY KEY clause in an OPEN statement specifies CHANGES. Remove the CHANGES keyword; you cannot change the value of a primary key. 2 COMMAPALI INFORMATION - The total storage preceding a numeric variable in a COMMON or MAP is an odd number of bytes. BASIC-PLUS-2 pads the preceding storage with a blank byte because PDP-11 systems requires that numeric data start on a word boundary. BASIC does not pad the storage because numeric data can start on any byte boundary. However, if you want the program to run on both types of system, you should ensure that all numeric data starts on a word boundary. 2 COMMAPNEQ WARNING - A MAP or COMMON with the same name exists in more than one program module, but the size of the areas differs. Make the size of the COMMON or MAP areas equal in size in all modules. 2 COMMAPOVF ERROR - The program contains a MAP or COMMON longer than (2^31 - 1) longwords. Reduce the length of the COMMON or MAP. 2 CONCOMSYN FATAL - The /SYNTAX_CHECKING qualifier is in effect when a program line containing the %IF, %THEN, %ELSE, or %END %IF lexical directive was entered. Turn off syntax checking before entering a program line containing lexical directives. 2 CONDATSPC ERROR - The program contains a declarative statement containing two or more consecutive and contradictory data type keywords. For example: DECLARE REAL BYTE. Remove one of the data type keywords or make sure that the keywords refer to the same generic data type. For example, DECLARE REAL SINGLE is valid. 2 CONEXPREQ ERROR - A statement specifies a variable or built-in function reference where a constant is required. Supply an expression containing only literals or declared constants. 2 CONIS_INC ERROR - A DECLARE CONSTANT statement specifies a value that is inconsistent with the data type of the constant, for example, a BYTE value specified for a REAL constant. Change the declaration so that the data type of the value matches that of the constant. 2 CONIS_NEE ERROR - A CASE or IF keyword is immediately followed by a floating-point or string expression. Supply a conditional expression (relational, logical, or integer). 2 CONLFTSID ERROR - The program tries to assign a value to a user-defined constant. Remove the assignment statement; once you have assigned a value to a declared constant, you cannot change it. 2 CONNOTALL ERROR - The program tries to assign a value to a user-defined constant. Remove the assignment statement; once you have assigned a value to a declared constant, you cannot change it. 2 CONTARNOT ERROR - A CONTINUE statement within a detached WHEN block error handler contains a target. Remove the target line number or label from the CONTINUE statement or use an attached error handler. 2 COUVALCAN ERROR - In the COUNT clause, you specified a count that is larger than the size of the array. Change either the COUNT value or the size of the array so that COUNT is less than or equal to the number of elements in the array. 2 DATTYPEXP ERROR - A program compiled with the /EXPLICIT qualifier declares a variable without specifying a data type. Supply a data type keyword for the variable or compile the program without the /EXPLICIT qualifier. 2 DATTYPNOT ERROR - A SUB statement contains a data type keyword between the subprogram name and the parameter list. Remove the data type keyword. In a SUB statement, data type keywords can appear only within the parameter list. 2 DATTYPREQ ERROR - An EXTERNAL CONSTANT statement has no data type keyword. Supply a data type keyword to specify the data type of the external constant. 2 DECIMERR WARNING - The program contains a DECIMAL expression whose value is outside the valid range. Reduce the value of the DECIMAL expression. 2 DECLEXSYN ERROR - The syntax of the %DECLARED lexical function is incorrect. Correct the syntax. 2 DECPREOUT ERROR - In the declaration for a packed decimal variable or constant, the number of digits to the right of the decimal point is greater than the total number of digits specified or greater than 31. Change the declaration so that the total number of digits specified is less than 31, and the number of digits to the right of the decimal point is less than or equal to the total number of digits. 2 DECSIZOUT ERROR - The declaration for a packed decimal variable or variable specifies more than 31 digits. Change the declaration to specify 31 or fewer digits. 2 DEFEXPCOM WARNING - A DEF* is being invoked from within a complex expression. To simplify the expression, the compiler will evaluate the DEF*(s) first. 2 DEFINVNOT ERROR - The program attempts to assign a value to a function invocation. For example: DEF FNA(A) = A^2 FNA(3) = 9 Remove the assignment statement. You cannot assign a value to a function invocation. 2 DEFMODNOT ERROR - The specified data type in a function declaration disagrees with the data type specified in the function definition. Make the data type specifications match in both the declaration and the definition. 2 DEFNOTDEF ERROR - The program contains a reference to a nonexistent user-defined function. Define the function in a DEF statement. 2 DEFNOTWHE ERROR - A DEF function definition is not allowed in a WHEN block or its associated handler. Remove the DEF function definition from within the WHEN block or handler. 2 DEFRESREF ERROR - The program attempts to assign a value to a DEF name outside the DEF block. Remove the assignment statement. You cannot assign a value to a DEF outside of the DEF block. 2 DEFSIZNOT ERROR - A packed decimal variable used in a DEF was specified in both a DECLARE FUNCTION statement and in the DEF statement. The sizes of the two declarations are different. Make the size declarations match. 2 DEFSNOTALL ERROR - DEF* functions cannot be called from within DEF functions or handlers. 2 DEFSTAPAR ERROR - A DEF* formal parameter has the same name as a program variable but different attributes. You should not use the same names for DEF* parameters or program variables. If you do, you must ensure that they have the same data type and size. 2 DEFSTRPAR ERROR - You cannot use a static string that is a parameter declared in a DEF or DEF* function as the storage area in a MAP DYNAMIC or REMAP statement. Change the storage area specification in the MAP DYNAMIC or REMAP statement to use either a MAP name or a static string variable that is not a parameter to the DEF or DEF* function. 2 DELETE ERROR - The program contains a syntax error. The compiler tries to recover from the error by ignoring an operator or separator in the source line. For example, DIM (3, ) is a syntax error, but BASIC continues the compilation by ignoring the comma. The compilation continues only in order to discover other errors; no object module is produced. Correct the syntax error in the displayed line. 2 DESOUTRAN FATAL - The branch destination in an ON GOSUB statement is greater than 32767 bytes away from the statement. Reduce the distance between the destination and the statement. 2 DIMLSSZERO ERROR - The number specified for a dimension must be greater than zero. Change the number to be greater than zero. 2 DIMOUTRAN ERROR - The program contains the declaration of an array that specifies a negative number as a dimension. Change the dimension to a positive number. 2 DIMTOOBIG ERROR - The number of the dimension specified is greater than the number of dimensions in the array. Change the dimension number to be less than or equal to the number of dimensions in the array. 2 DIRMUSTBE ERROR - The program contains a compiler directive which must be the only item on the line. Place the directive on its own line. 2 DIVBY_ZER WARNING - The value of a number divided by zero is indeterminate. Change the expression so that no expression is divided by the constant zero. 2 DUPLNFND INFORMATION - A line number in an include file is the same as a line number in the main source file. WARNING - There are two lines in the main source file with the same line number. BASIC keeps the second occurrence of the line number. Correct the source by changing one of the line numbers to an unused number. 2 DYNATTONL ERROR - A COMMON keyword is followed by the DYNAMIC keyword. Remove the DYNAMIC keyword. The DYNAMIC attribute is valid only for MAP areas. 2 ELSIMPCON ERROR - The program contains an ELSE clause that is not preceded by an IF statement or appears after an IF has been terminated with a line number or END IF. Remove either the ELSE clause or the terminating line number or END IF. 2 EMPTYOBJ INFORMATION - The compiler has detected errors and therefore did not produce an object file. The errors must be corrected before the compiler will produce an object file. 2 ENDIMPCON ERROR - The program contains an END IF statement that either is not preceded by an IF statement or occurs after an IF has been terminated by a line number. Supply an IF statement, or remove the terminating line number. 2 ENTARRFIE ERROR - The program attempts to pass an entire array as a parameter to a subprogram when: 1) the array is an item in a record and 2) the record is itself dimensioned as a virtual array. Assign the values of the array to another array of the same data type and dimension that is not a field of a virtual array record, and pass the second array as the parameter. 2 ENTARRNOT ERROR - The program specifies an entire array in a context that permits only array elements, for example, in a PRINT statement. Remove the reference to the entire array. 2 ENTGRONOT ERROR - The program specifies an entire GROUP or RECORD in a context that permits only GROUP or RECORD components, for example, PRINT ABC::XYZ where XYZ is a GROUP. Remove the reference to the entire GROUP or RECORD. 2 ENTVIRARR ERROR - The program attempts to pass an entire virtual array as a parameter. You cannot pass an entire virtual array as a parameter. 2 EOLNOTERR ERROR - A THEN or ELSE clause contains a loop block, and a line number terminates the IF-THEN-ELSE before the end of the loop block. Make sure that any loop is entirely contained in the THEN or ELSE clause. 2 ERLNOTALL ERROR - An ERL statement has been found in a program without line numbers. Remove the ERL statement. 2 ERRACCLIB ERROR - BASIC found an unexpected LIBRARIAN error while trying to %INCLUDE a text library module. This error message is followed by a specific LIBRARIAN (LBR) message. Take appropriate action based on the associated LBR message. 2 ERRCLOLIB ERROR - The text library specified in an %INCLUDE directive could not be closed. This error message is followed by the specific LIBRARIAN (LBR) error. Take appropriate action based on the associated LBR message. 2 ERROPEFIL ERROR - The file specified in a %INCLUDE directive could not be opened. This error message is followed by the specific RMS error. Take appropriate action based on the associated RMS error. 2 ERROPELIB ERROR - The text library specified in an %INCLUDE directive could not be opened. This error message is followed by the specific LIBRARIAN (LBR) error. Take appropriate action based on the associated LBR message. 2 ERRREADFIL ERROR - The compiler encountered problems while reading either a BASIC source file or a CDD audit file (as specified using the /AUDIT qualifier). 2 ERRRECCOM ERROR - The program contains an erroneous record component, for example, specifying A::B when RECORD A has no component named B. Remove the erroneous reference. 2 EXEDIMILL ERROR - A DIMENSION statement names an array already declared with a DECLARE, COMMON, MAP, or RECORD statement, or one that was declared statically in a previous DIMENSION statement. Remove the executable DIMENSION statement or originally declare the array as executable in a DIMENSION statement. 2 EXPDECREQ ERROR - The program is compiled with the /TYPE=EXPLICIT qualifier in effect and the program references a variable, constant, function, or subprogram name that is not explicitly declared. Explicitly declare the variable, constant, function, or subprogram. 2 EXPIFDIR ERROR - The program contains a %END that is not immediately followed by a %IF. Supply a %IF immediately following the %END. 2 EXPNOTALL ERROR - The program contains an expression in a context that allows only simple variables, array elements, or entire arrays, for example, in FIELD and MOVE statements. Remove the expression. 2 EXPNOTRES INFORMATION - The compiler has detected an expression that is not needed in determining a result. Review the program to determine if the expression can be eliminated. You may want to remove the expression if it is determined to be unnecessary. 2 EXPTOOCOM ERROR - The program contains an expression or statement too complicated to compile. This message can occur whenever BASIC is unable to allocate sufficient registers. Recode as required; for example, rewrite the statement as two or more less complicated statements. 2 EXPUNAOPE ERROR - A compiler directive contains an invalid lexical expression, for example, %IF *3% %THEN. Correct the lexical expression. 2 EXTELSFOU ERROR - The program contains a %ELSE directive that is not matched with a %IF directive. Make sure that each %ELSE is preceded by a %IF, and that each %IF contains no more than one %ELSE clause. 2 EXTENDIF ERROR - A program unit contains a %END %IF without a preceding %IF directive. Supply a %IF for the %END %IF. 2 EXTLEFPAR ERROR - A compiler directive contains a lexical expression with an extra left parenthesis. Remove the extra parenthesis. 2 EXTNAMTOO WARNING - An EXTERNAL statement names a symbol longer than 31 characters. Shorten the symbol name. 2 EXTRIGPAR ERROR - A compiler directive contains a lexical expression with an extra right parenthesis. Remove the extra parenthesis. 2 EXTSTRVAR ERROR - The program contains an EXTERNAL statement that specifies an external string variable. Remove or change the EXTERNAL statement. BASIC does not support external string variables. 2 FIEVALONL ERROR - A FIELD statement contains a numeric or fixed-length string variable. Remove the numeric or fixed-length string variable. Only dynamic string variables are valid in FIELD statements. 2 FILACCERR ERROR - The file named in the %INCLUDE directive was correctly opened, but could not be read for some reason, for example, the disk drive was switched off-line. Take action based on the associated RMS error messages. 2 FILEWRITE INFORMATION - The specified program name has been saved in file-name. 2 FILNOTALL ERROR - A MAP DYNAMIC statement contains a FILL item. Remove the FILL item. 2 FILTOOBIG ERROR - A FILL string length or repeat count caused the compiler to try to allocate more than 2^31 longwords of storage. Check the specified MAP statement, and change the FILL string length or repeat count. 2 FLDVARNOT ERROR - The program attempts to pass a variable named in a FIELD statement as a parameter. If a variable appears in FIELD statement, the variable cannot be passed as a parameter. 2 FLOCVTILL ERROR - A CVTF$ or CVT$F function names a GFLOAT, SFLOAT, TFLOAT, or XFLOAT value as an argument. Use a SINGLE or DOUBLE argument rather than GFLOAT, SFLOAT, TFLOAT,OR XFLOAT. 2 FLOPOIERR WARNING - The program contains a numeric expression whose value is outside the valid range for floating-point numbers. Modify the expression so that its value is within the allowable range. 2 FNEWHINOT ERROR - An FNEXIT or EXIT DEF statement has no preceding DEF statement. Define the function before inserting an FNEXIT or EXIT DEF statement. 2 FNEWITDEF ERROR - An FNEND or END DEF statement has no preceding DEF statement. Define the function before inserting an FNEND statement or delete the FNEND statement. 2 FORFEEMUS INFORMATION - A form feed character is followed by other characters in the same line. Remove the characters following the form feed. A form feed must be the last or only character on a line. 2 FORPARMUS ERROR - The declaration of a DEF, SUB, or FUNCTION routine contains the parentheses for a parameter list but no parameters. Supply a parameter list or remove the parentheses. 2 FORSTRPAR ERROR - A variable name appears both in a subprogram formal parameter list and a FIELD statement in the subprogram. Remove the variable from the FIELD statement. 2 FOUENDWIT ERROR - The program contains an END SELECT, END DEF, END SUB, END FUNCTION, SUBEND, or END IF without a matching SELECT, DEF, SUB, FUNCTION, or IF. Supply a SELECT, DEF, FUNCTION, SUB, or IF to match the END statement. 2 FOUND ERROR - The program contains a syntax error. BASIC displays the item where the error was detected, then displays one or more items that make more sense in that context. The compilation continues so that other errors may be detected. The actual program line remains unchanged and no object file is produced. Examine the line carefully to discover the error. Change the program line to correct the syntax error. 2 FOUNXTWIT ERROR - The program contains a NEXT statement without a preceding WHILE or UNTIL statement. Supply a WHILE or an UNTIL statement. 2 FOUWITMAT ERROR - The program contains a NEXT statement without a matching FOR statement. Supply a FOR statement. 2 FUNINVNOT ERROR - An external function invocation (including a parameter list) appears on the left side of an assignment statement. Remove the assignment statement. You cannot assign values to a function invocation. 2 FUNNESTOO ERROR - The program contains too many levels of function definitions within function definitions. Reduce the number of nested function definitions. 2 FUNWHINOT ERROR - There is an EXIT FUNCTION or FUNCTIONEXIT statement in a module that is not a FUNCTION subprogram. Remove the EXIT FUNCTION or FUNCTIONEXIT statement. 2 GRAARRMUS ERROR - The specified array has a datatype other than INTEGER or REAL. Declare the array with an integer or real datatype. 2 HANNOTDEF ERROR - A HANDLER definition has been found within a DEF function definition. Remove the HANDLER definition from inside the DEF function definition. 2 HANNOTFOU ERROR - You did not define the HANDLER you referenced in a WHEN statement. Define the HANDLER you reference in the WHEN statement. 2 HANNOTWHE ERROR - A detached HANDLER definition was found in a WHEN block protected region or associated handler. Remove the HANDLER definition from within all WHEN block protected regions and associated handlers. 2 HANWHINOT ERROR - An EXIT HANDLER statement was found while not in a HANDLER block. Remove the EXIT HANDLER statement. 2 HORJUSMUS ERROR - You specified an invalid value for the horizontal component of the SET TEXT JUSTIFY statement. Justification must be "LEFT", "CENTER", "RIGHT" or "NORMAL". 2 IDEMAYAPP WARNING - The program contains more than one %IDENT compiler directive. Remove all but one %IDENT directive. 2 IDENAMTOO WARNING - The quoted string in a %IDENT directive is too long. Reduce the length of the string. The maximum length is 31 characters. 2 IF_EXPMUS ERROR - A %IF directive contains a %ELSE clause with no intervening %THEN clause. Insert a %THEN clause. 2 IF_IN_INC ERROR - A %INCLUDE file contains a %IF but no %END %IF. Supply a %END %IF for the %INCLUDE file. 2 IF_NOTTER ERROR - The program contains an IF-THEN-ELSE statement within a block (for example, a FOR-NEXT, SELECT-CASE, or WHILE block) and the end of the block was reached before the IF-THEN-ELSE statement was terminated. Check program logic to be sure IF-THEN-ELSE statements are terminated with a line number or an END IF statement before the end of the block. 2 ILLALLCLA ERROR - The program contains an ALLOW clause on a GET statement, and the file was not opened with the UNLOCK EXPLICIT clause. Either remove the ALLOW clause from the GET statement or use the UNLOCK EXPLICIT clause in the OPEN statement. 2 ILLARGPAS ERROR - The program specifies an invalid argument passing mechanism, for example, passing strings or arrays BY VALUE, or passing an entire virtual array. Check all elements for proper parameter-passing mechanism. 2 ILLCALFUN ERROR - You attempted to use the CALL statement to invoke either a DECIMAL, XFLOAT, or STRING function. Invoke the subprogram as a function in an expression. 2 ILLCHA WARNING - The program contains illegal or incorrect characters. Examine the program for correct usage of the BASIC character set and possibly delete the character. 2 ILLCHAEXT ERROR - The external symbol in an EXTERNAL FUNCTION or CONSTANT declaration contains an invalid character. Remove the invalid character. External names on PDP-11 systems can use only printing ASCII characters: ASCII values in the range 32 to 126, inclusive. 2 ILLCHAIDE WARNING - A %IDENT directive contains an illegal character with the reported ASCII value. Remove the illegal character. 2 ILLCONTYP ERROR - The program contains an invalid declaration, for example, DECLARE RFA CONSTANT. Remove the invalid data type. You cannot declare constants of the RFA data type. 2 ILLFRMNAM ERROR - The program contains an invalid user identifier (such as a variable, constant or function name). Change the name to comply with the rules for naming user identifiers. 2 ILLFRMNUM ERROR - The program contains either an invalid E-format expression or a numeric constant with a digit that is invalid in the specified radix, for example, a decimal constant containing a hexadecimal digit. Supply a valid E-format expression or a constant that is valid in the specified radix. 2 ILLIO_CHA ERROR - A constant channel expression is greater than 99, or a variable channel expression is greater than 119. If the channel expression is a constant, change it to be less than or equal to 99. A variable channel expression can be less than or equal to 119; however, channels in the range 100 to 119, inclusive are reserved for programs using LIB$GET_LUN. 2 ILLLINNUM ERROR - A CHAIN with LINE statement specifies an invalid line number. Either the number is outside the valid range or a string expression follows the LINE keyword. Supply a line number between 1 and 32767, inclusive. 2 ILLLOCARG ERROR - An argument to the LOC function is a constant, virtual array element, or expression. Change the argument to the LOC function. 2 ILLLOONES ERROR - The program contains overlapping loops. Examine the program logic to make sure that the FOR and NEXT statements for the inside loop lie entirely within the outside loop. 2 ILLMATOPE ERROR - The program attempts matrix division. The operation is treated as a MAT multiply, and the compilation continues. Remove the attempted matrix division. BASIC does not support this operation. 2 ILLMIDLEN ERROR - The value of the length in the MID statement is either greater than the length of the string or less than or equal to zero. Correct the length to be between 1 and the length of the string. 2 ILLMIDSTRT ERROR - The starting value in the MID statement is less than or equal to zero. Correct the starting value to be greater than or equal to one. 2 ILLMODMIX ERROR - The program contains string and numeric operands in the same operation. Change the expression so that it contains either string or numeric operands, but not both. 2 ILLMULDEF ERROR - The program uses the same name for: o More than one variable o A variable and a MAP o A variable and a COMMON o A MAP and COMMON Use unique names for variables, COMMONs, and MAPs. 2 ILLMULOPT ERROR - The OPTIONAL clause was specified more than once in the EXTERNAL statement for a single SUB or FUNCTION. This is not allowed because OPTIONAL implies that all parameters following it are optional. Fix the EXTERNAL statement so that it has only one OPTIONAL clause per SUB or FUNCTION. 2 ILLNESDEF ERROR - The program contains a DEF function block within another DEF function block. Remove the inner DEF block. A DEF cannot contain another DEF. 2 ILLOPEARG ERROR - The program performs an operation that is inconsistent with the data type of the arguments, for example, an arithmetic operation on variables of the RFA data type. Remove the operation or change the data type of the arguments. 2 ILLSTROPE ERROR - The program specifies an invalid string operation, for example, A$ = B$ - C$. Replace the invalid operator. 2 ILLUSAFIE ERROR - A variable appearing in a FIELD statement is used as a formal or actual parameter. Remove the variable from either the FIELD statement or the parameter list. 2 ILLUSEUNA ERROR - A compiler directive contains an invalid lexical expression, for example, %IF 1 - - 2 or %IF 1 NOT 2. Correct the invalid lexical expression. 2 ILLWAIVAL ERROR - An integer expression was specified on a WAIT clause that is less than 0 or greater than 255. Specify an integer expression from 0 through 255. 2 IMPCNTNOT ERROR - The program contains an implied continuation line after a statement that does not allow implicit continuation, for example, a DATA statement. Use an ampersand (&) to continue the statement. 2 IMPDECNOT ERROR - A program compiled with the /EXPLICIT qualifier contains an implicitly declared variable. Declare the variable explicitly or compile the program without the /EXPLICIT qualifier. 2 INACODFOL WARNING - The program contains one or more statements that cannot be accessed, for example, a multi-statement line whose first statement is a GOTO. Make sure that the GOTO statement is the last statement on a multi-statement line. 2 INCDIRSYN ERROR - A %INCLUDE directive is either not followed by a quoted string or incorrectly uses the %FROM %CDD clause. Supply either a quoted string or the correct syntax for the %FROM %CDD clause. 2 INCFUNUSA ERROR - The parameter list in a DEF function invocation contains a string where the function expects a number, or vice versa. This message is issued only when the invocation occurs before the DEF statement in the program. Supply a correct parameter in the function invocation or correct the parameter list in the DEF. 2 INCRMSERR ERROR - A %INCLUDE directive caused an RMS error when accessing the specified file. Take action based on the reported RMS error number. 2 INCSUBUSE ERROR - The number of subscripts in an array reference does not match the number of subscripts specified when the array was created. Specify the same number of subscripts. 2 INIOUTRAN ERROR - The specified initial value is not within the range specified in the RANGE clause. Change either the initial value or the range values so that the initial value falls within the range. 2 INPPROMUS ERROR - An INPUT, LINPUT, or INPUT LINE statement list contains a numeric constant immediately following the statement. Remove the numeric constant. You can specify only a string constant immediately after an INPUT, LINPUT, or INPUT LINE statement. 2 INSERTB ERROR - The program contains a syntax error. BASIC assumes a keyword is missing and continues compilation under that assumption so that other errors may be detected. The actual program line remains unchanged and no object file is produced. Examine the line carefully to discover the error. Change the program line to correct the syntax error. 2 INSERTM ERROR - The program contains a syntax error. BASIC assumes a keyword is misspelled and continues compilation under that assumption so that other errors may be detected. The actual program line remains unchanged and no object file is produced. Examine the line carefully to discover the error. Change the program line to correct the syntax error. 2 INSSPADYN ERROR - A variable named in a MAP DYNAMIC statement is larger than the MAP. For example, a GFLOAT variable in a MAP that is only four bytes long. Increase the size of the MAP so that it is large enough to hold the largest member. 2 INTCODERR ERROR - An error has been detected in the BASIC compiler. Please submit a software problem report with the source code of a small program that produces this error. 2 INTCONEXC ERROR - The value specified in a DECLARE CONSTANT statement exceeds the largest allowable value for an integer. The maximum value is 9223372036854775807. Supply a value in the valid range. 2 INTCONREQ ERROR - The program contains a noninteger named constant in a context that requires an integer. For example: DIM A ('123'D) Supply an integer constant. 2 INTERR WARNING - The program contains an integer expression whose value is outside the valid range. Modify the expression so that its value is within the allowable range, or use an integer data type that can contain all possible values for the expression. 2 INVCHNNUM ERROR - A channel number less than or equal to zero was specified. Change the channel number to be greater than zero. 2 INVCONREQ ERROR - The program contains a reference to the REAL or INTEGER functions and the argument is an entire array, GROUP, RECORD, or RFA expression. Remove the invalid argument. The argument to these functions must be a numeric expression. 2 INVINTTYP ERROR - A reference to the INTEGER function contains an invalid data type keyword, for example, A = INTEGER(A, SINGLE). the invalid data type keyword. The INTEGER function returns only BYTE, WORD, LONG, or QUAD values. 2 INVLOGNAM ERROR - The argument to the ASSIGN compiler command specified a logical name of length less than 1 or greater than 63. Supply a valid logical name. 2 INVPRISPE ERROR - On the SET INPUT PRIORITY statement, you specified a character other than < or > to indicate the relative priorities of the two transformation numbers. Specify the priority relationship with > (higher priority) or < (lower priority). 2 INVREATYP ERROR - A reference to the REAL function contains an invalid data type keyword, for example, A = REAL(A, LONG). Change the invalid data type keyword. The REAL function returns only SINGLE, DOUBLE, GFLOAT, SFLOAT, TFLOAT, or XFLOAT values. 2 INVSUBTYP ERROR - The program contains an invalid declaration containing contradictory type declarations, for example, DECLARE REAL BYTE. Supply a valid declaration. Use only valid integer subtypes for INTEGER and only valid floating-point subtypes for REAL. 2 IS_NOTDYN ERROR - A REMAP statement names a variable that was not named in the MAP DYNAMIC statement for that MAP. Remove the variable from the REMAP statement or name the variable in the MAP DYNAMIC statement for that map. 2 ITEMUSAPP ERROR - The program contains an ITERATE statement that is not within a FOR-NEXT, WHILE, or UNTIL loop. Remove the ITERATE statement or surround it with a loop. 2 JMPBADBLO ERROR - The program attempts to transfer control to a WHEN block or associated handler. Change the program logic so that it does not transfer control to a WHEN block or associated handler. 2 JMPBADLAB ERROR - The program attempted to transfer control into a FOR-NEXT, WHILE, UNTIL, or SELECT-CASE block. Change the program logic so that it does not transfer control into a block. 2 JMPBADLIN INFORMATION - The program transfers control to a line number within a FOR-NEXT, WHILE, UNTIL, or SELECT-CASE block. This is an informational message. However, it is poor programming practice to transfer control into a block. 2 JMPINTDEF ERROR - The program attempts to transfer control into a DEF block. Change the control statement; you cannot transfer control into a DEF block except by invoking the function. 2 JMPOUTDEF ERROR - The program attempts to transfer control out of a DEF block. Change the control statement; you cannot transfer control out of a DEF block except by a EXIT DEF, FNEXIT, FNEND, or END DEF statement. 2 JMPOUTHAN ERROR - The program attempts to transfer control out of an error handler. Change the control statement. Use an EXIT HANDLER, RETRY, or CONTINUE statement to transfer control out of an error handler. 2 JMPOUTPRO ERROR - In a source file containing more than one program module, a statement attempts to transfer control from one module into another. Change the statement that attempts to transfer control; you cannot transfer control into a different program module. 2 JMPUNRLIN ERROR - A RESUME, GOSUB, or GOTO statement attempts to transfer control to a CASE statement. Label or number the SELECT statement and transfer control to the beginning of the SELECT-CASE block. 2 KEYCANNOT ERROR - A KEY clause in an OPEN statement specifies a variable declared as dynamic in a MAP DYNAMIC statement. Specify a static variable in the KEY clause. That is, declare the variable in a MAP statement, not a MAP DYNAMIC statement. 2 KEYIS_NEE ERROR - The program attempts to open an indexed file for output, and the PRIMARY KEY clause is missing. Supply a PRIMARY KEY clause. 2 KEYMUSBE ERROR - A FIND or GET statement on an indexed file contains a key specification that is not a WORD, LONGWORD, STRING, DECIMAL, or a RECORD or GROUP exactly 8 bytes long. Change the key specification to be a WORD, LONGWORD, STRING, DECIMAL, or a RECORD or GROUP exactly 8 bytes long. 2 KEYMUSTBE ERROR - An OPEN statement contains a key specification that is not an unsubscripted WORD, LONGWORD, DECIMAL, STRING, or a RECORD or GROUP exactly 8 bytes long. Change the key specification to be an unsubscripted WORD, LONGWORD, DECIMAL, STRING or a RECORD or GROUP exactly 8 bytes long. 2 KEYNOTMAP ERROR - An OPEN statement for an indexed file specifies a KEY variable that does not appear in a MAP statement. Place the KEY variable in the MAP referenced by the OPEN statement's MAP clause. 2 KEYREQMAP ERROR - An OPEN statement specifies KEY clauses without specifying a MAP clause. Supply a MAP clause to define the position of the keys in the record buffer. 2 KEYSEGMUS ERROR - An OPEN statement specifies a segmented key containing a numeric variable. For example: 10 OPEN "INDEX.DAT" AS FILE #1, ORGANIZATION INDEXED, & PRIMARY KEY (A$, B$, C%), MAP ABC Specify only string variables in segmented keys. 2 KEYSINC ERROR - An OPEN statement contains contradictory record format specifications, for example, both FIXED and VARIABLE. Specify only one record format. 2 KEYTOOLON ERROR - A KEY variable is longer than 255 characters. Reduce the length of the KEY variable. The maximum key length is 255 characters. 2 KEYWORINC ERROR - An OPEN statement contains an ALLOW, ACCESS, or RECORDTYPE clause whose keyword argument is invalid, for example, ACCESS FORTRAN. Change the clause argument to a valid keyword for that clause. 2 LABNOTDEF ERROR - The program tries to transfer control to a nonexistent label. Define the label before transferring control to it. 2 LABNOTLAB ERROR - An EXIT statement in a loop, IF-THEN-ELSE, or SELECT-CASE block specifies a label that does not refer to that block. Change the program so that the label refers to the block in which the EXIT statement occurs. 2 LABNOTLOO ERROR - In a loop, an EXIT or ITERATE statement specifies a label that does not refer to that loop. Change the program so that the label refers to the loop in which the EXIT or ITERATE statement occurs. 2 LANFEADEC INFORMATION - This error is reported only when the /FLAG=DECLINING qualifier is in effect. The program contains a language feature that is not recommended for new program development, for example, the FIELD statement. Use MAP, MAP DYNAMIC, and REMAP statements instead of FIELD, EDIT$ rather than CVT$$, and overlaid MAPs rather than CVTxx functions. 2 LANFEAINH INFORMATION - A program compiled with the /NOSETUP qualifier contains a language feature that requires /SETUP, for example, the RESUME statement. The compilation continues with /SETUP in effect. The program must be compiled with /SETUP in effect for the language feature to work. 2 LANFEAOPE ERROR - The program contains a PRINT statement with RECORD clause on a system that does not support the RECORD clause. Remove the RECORD clause. 2 LEFBOUSPE ERROR - In a statement that specifies a viewport or windowsize, you specified a left boundary that is greater than or equal to the corresponding right boundary. Correct the left boundary so that it is less than the right boundary. 2 LENDYNSTR ERROR - The program contains a dynamic string variable declaration that specifies a string length. Length specifications are allowed only for fixed-length strings; remove the length specification from the dynamic string or allocate the string in a MAP or COMMON. 2 LENNUMFIL ERROR - The program contains a numeric FILL item that specifies a length. Remove the length specification from the numeric FILL item. 2 LETDIRSYN ERROR - A %LET directive contains a syntax error, for example, an invalid lexical identifier. Use the correct syntax for the %LET directive. 2 LEXDIRSYN ERROR - A syntax error was detected in a lexical directive. Correct the syntax of the lexical directive. 2 LEXIDEMUS ERROR - You reference a lexical identifier before you declare it. Declare the lexical identifier before you reference it. 2 LINNOTALL ERROR - An EDIT command with a line number has been found in a program without line numbers. Remove the EDIT command. 2 LINNUMERR ERROR - A line number outside the valid range was typed. Enter only line numbers in the range 1 to 32767, inclusive. 2 LINNUMINC ERROR - The file specified in a %INCLUDE compiler directive contains a line number. Remove the line number from the file. 2 LINNUMUND ERROR - The program references a line number that does not appear in the object code as a result of the branch taken in a %IF-%THEN-%ELSE-%END-%IF directive. Remove the line number reference or change the THEN-%ELSE-%END-%IF directive. 2 LINTOOLON ERROR - The program attempted to input more data than the input buffer could hold. Either decrease the amount of data entered at one time or increase the size of the input buffer. You can explicitly OPEN the input device and specify the input buffer size with the RECORDSIZE or MAP clause. 2 LOGOPENON ERROR - The program contains a logical operation performed on strings or real numbers. Change the logical operands to integers. 2 LOOINDMUS ERROR - A FOR statement specifies a string variable as the loop control variable. Specify a numeric variable. You can use only numeric variables as loop control variables. 2 LOOINIMUS ERROR - A FOR statement attempts to assign a string expression as the loop control variable's initial value. Remove the string expression. You can assign only numeric values as the loop's initial value. 2 LOOLIMMUS ERROR - A FOR statement attempts to assign a string expression as the loop control variable's limiting value. Remove the string expression. You can assign only numeric values as the loop control variable's limiting value. 2 LOOWILNEV WARNING - The program contains a FOR/NEXT loop that is not executable, for example, FOR I% = 1% TO 0%. Compilation continues, but the loop is ignored. Change the loop parameters or insert an appropriate STEP clause. 2 LOWLSSUP ERROR - The lower bound specified in the array is greater than the upper bound. Correct the bounds. 2 LOWNOTVIR ERROR - Lower bounds of virtual arrays must be zero. Correct the lower bounds to be zero. 2 LOWNOTZERO ERROR - The lower bound of the array must be zero. Correct the lower bound to be zero. 2 LOWRANVAL ERROR - In the RANGE clause, the first value is greater than the second value. Change the range clause so that the first value is less than the second value. 2 LRSETNOT ERROR - The LSET and RSET keywords are not allowed with MID. Change the LSET or RSET keyword to LET. 2 MACNOTDEF ERROR - The macro identifier used in this %UNDEFINE directive was not previously define by a %DEFINE directive. 2 MAPDYNNOT ERROR - A dynamic map requires more than 32767 bytes. Reduce the size of the map. A dynamic map cannot be larger than 32767 bytes. 2 MAPDYNREQ ERROR - The program contains a MAP DYNAMIC statement whose MAP name does not appear in a MAP statement. Provide a MAP with the same name as the MAP DYNAMIC name. 2 MAPNOTDEF ERROR - An OPEN statement's MAP clause references a nonexistent MAP. Define the MAP referenced by the MAP clause or remove the MAP clause. 2 MAPTOOLAR FATAL - The size of the MAP referenced in an OPEN statement is greater than 32767 bytes. Reduce the size of the MAP. 2 MAPVARALI ERROR - More than one overlaid MAP contains the same variable, but the variable's position differs in the MAPs. The same variable can appear in multiple overlaid MAPs, but the variable must occupy the same position in the PSECT; make sure that the variable appears in the same position in the MAPs. 2 MAPVARREF INFORMATION - A reference to a MAP variable occurs before the MAP statement. Make sure that the MAP statement precedes any references to variables in the MAP. 2 MATDIMERR ERROR - The program either: o Contains a MAT IDN, MAT TRN, or MAT INV performed on a one-dimensional array o Performs a matrix operation that requires identical bounds in the operand arrays and those arrays have different bounds Dimension the arrays to the proper bounds. MATMUL2OP ERROR - You specified the wrong dimensions in a matrix in the MAT multiply statement or a WITH clause on the DRAW statement. A 2-dimensional matrix with lower bounds 0 and upper bounds 4 in both dimensions is required. Declare the matrix to be a 2-dimensional matrix with lower bounds 0 and upper bounds 4 in both dimensions. 2 MATLOWBOU ERROR - The specified transformation matrix either has a lower bound other than 0, or an upper bound other than 4. Declare the matrix so that both dimensions have a lower bound of 0 and an upper bound of 4 2 MATONEOR2 ERROR - A MAT statement references an array of more than two dimensions. Remove the array reference. MAT statements are valid only on arrays of one or two dimensions. 2 MAXCONCOM FATAL - The program contains too many nested %IF-%THEN-%ELSE-%END-%IF directives. Reduce the number of nested %IF-%THEN-%ELSE-%END-%IF directives. 2 MAXDIMEXC ERROR - An array declaration specifies more than the allowed number of dimensions. Reduce the number of dimensions. The maximum is 32. 2 MAXKEYSEG ERROR - An OPEN statement specifies a segmented key with more than eight segments. Reduce the number of segments in the key clause to eight or less. 2 MAXPAREXC ERROR - The program attempts to declare a DEF with more than 8 parameters, or a subprogram with more than 255 parameters. Reduce the number of parameters; DEFs allow up to 8 parameters and subprograms allow up to 255 parameters. 2 MAXPAREXP ERROR - An external SUB or FUNCTION was called with more parameters than were specified in the EXTERNAL statement, including both OPTIONAL and non-OPTIONAL parameters. Reduce the number of parameters in the call. 2 MERGE ERROR - The program contains a syntax error. BASIC assumes that there is an incorrect space, for example, PRI NT. Compilation continues so that other errors may be detected. The actual program line remains unchanged and no object file is produced. Examine the line carefully to discover the error. Change the program line to correct the syntax error. 2 MINPAREXP ERROR - An external SUB or FUNCTION was called with fewer parameters than were specified as non-OPTIONAL parameters in the EXTERNAL statement. Increase the number of parameters in the call so that the number of parameters is equal to or greater than the number of non-OPTIONAL parameters. 2 MISENDIF ERROR - A %IF directive crosses a program module boundary. Terminate the %IF with a %END %IF before beginning a new source module. 2 MISENDFOR ERROR - The program contains a SELECT, IF, or DEF without a matching END statement. Supply a matching END statement. 2 MISMATEND ERROR - The program contains an incorrect END statement, for example, an END RECORD statement instead of an END GROUP statement. Supply the correct type of END statement. 2 MISMATFOR ERROR - The program contains a FOR, WHILE, or UNTIL without a matching NEXT. Supply a matching FOR, WHILE, or UNTIL statement. 2 MISSINGLN ERROR - A new line in the source file does not follow a line ending with an ampersand, does not begin with a line number, and does not start with a space or tab (specifying an automatic continuation line). Start automatic continuation lines with a space or tab, or use an ampersand as the last character of the preceding line, or start the line with a line number. 2 MODNOTFND ERROR - The module name you specified in an %INCLUDE directive was not found in the text library you specified. Place the module name in the specified text library. 2 MULDEFLEX ERROR - A lexical constant is named in more than one %LET directive. Declare the lexical constant only once with %LET. 2 MULHANSPE ERROR - A WHEN block specifies both an attached and detached error handler. Change the WHEN block to specify either an attached or detached error handler. 2 MULMAIPROG ERROR - More than one main program unit has been detected in a single source file. Modify your source file so that all BASIC statements are contained within a single main program or within a subprogram. 2 MULTDEF WARNING - A variable is declared in more than one declarative statement. Make sure that the variable is declared only once. 2 NAMNOTREC ERROR - A RECORD component reference uses an invalid record name, for example, A::B when A is not a RECORD name. Change the erroneous reference. 2 NAMTOOLON WARNING - A variable or array name is longer than 31 characters. BASIC truncates the name to 31 characters and continues compilation so that other errors may be detected. The actual program line remains unchanged and no object file is produced. Reduce the length of the variable name. 2 NEGFILSTR ERROR - The program contains a negative FILL specification or string length. Change the FILL specification or string length to a positive number. 2 NESFORLOO ERROR - The program contains nested FOR/NEXT loops that use the same index variable. Change the index variable for all but one of the loops. 2 NOBASFRAM ERROR - BASIC could not find a valid stack frame. This could be caused by running a program with /CHECK=NOBOUNDS or by a non-BASIC subprogram. Debug the program before running with /CHECK=NOBOUNDS or check the logic of the non-BASIC subprogram. 2 NO_DCLACC WARNING - Your account does not allow access to DCL. See your system manager. 2 NOHANSPE ERROR - A WHEN block has been found that does not specify an error handler. Specify an error handler for the WHEN block. 2 NOLINENUM WARNING - There is no line number on the first line of the program. Add a line number to the first line of the program or remove all line numbers from the program. 2 NOLNROOM ERROR - The program contains more line-numbered statements than BASIC allows. Change the program so that it uses multi-statement lines instead of having each statement on its own line or split the program into one or more program units in separate files. 2 NOMAPNAME ERROR - A MAP statement does not specify a map name. Specify a name for the MAP. 2 NOSUCHMAP ERROR - A REMAP statement names a nonexistent MAP area. Supply a MAP before executing the REMAP statement. 2 NOTMACROOM ERROR - Out of memory for macro definitions. The limit on the number of macros definitions has been exceeded. Reduce the number of %DEFINEs, or %UNDEFINE some previously defined macros. 2 NOTIMP ERROR - The program attempted to use a feature that does not exist in this version of BASIC. 2 NOTPASSBY ERROR - The program specifies an invalid parameter or an incorrect passing mechanism for a parameter's data type. For example, you cannot pass an entire array BY VALUE, nor can you pass a label as a parameter. Specify a valid parameter or passing mechanism. 2 NOTRECVBY ERROR - A subprogram specifies an incorrect passing mechanism for a parameter's data type, or an invalid parameter. For example, you cannot receive an entire array BY VALUE. Specify a valid parameter or passing mechanism. 2 NOTXTROOM ERROR - The program contains more text than BASIC allows. Split the program into one or more program units. 2 NUMARREXP ERROR - A CHANGE statement does not specify a numeric array. Supply a numeric array in the CHANGE statement. 2 NUMCONREQ ERROR - The program contains a string in a context that requires a numeric constant. For example: DECLARE INTEGER CONSTANT A = "ABC" Supply a numeric constant. 2 NUMIS_NEE ERROR - The program contains a string expression in a context that requires a numeric expression, for example, WHILE A$. Supply a numeric expression. 2 NUMVARREQ ERROR - A non-numeric variable was found with a numeric datatype. Specify a numeric variable. 2 OBJFAIL FATAL - Either an attempt was made to load a non-BASIC object module, or the compiler could not find the object file referenced by a CALL statement or EXTERNAL FUNCTION reference. If the object file resides in the OpenVMS Common Run-Time Library, you must link the program at DCL level. If the object file is in a user-supplied library, use the LIBRARY command to install the missing object module. You can load only BASIC object modules. 2 ONENOTWHE ERROR - An ON ERROR statement has been found in a WHEN block or an associated error handler. Remove the ON ERROR statement from the WHEN block or associated error handler. 2 OPEEXPNOT ERROR - A compiler directive contains an invalid lexical expression that has a right parenthesis immediately followed by a lexical identifier. Correct the lexical expression. 2 OPEMUSFOL ERROR - The program contains an incorrect lexical expression. Correct the lexical expression. 2 OPNCLAVAL ERROR - An OPEN statement contains a RECORDSIZE, FILESIZE, EXTENDSIZE, WINDOWSIZE, BLOCKSIZE, BUCKETSIZE, or BUFFER clause whose argument is too large. Supply a smaller value for the argument. 2 OPNDUPCLA WARNING - An OPEN statement contains more than one clause of the same type. Remove one of the clauses. 2 OPNILLCLA ERROR - An OPEN statement specifies invalid attributes for the file (for example, CLUSTERSIZE) or uses the keyword COMMON in an I/O clause. Substitute valid attributes for the file or remove the COMMON keyword. 2 OPNINCCLA ERROR - An OPEN statement contains a clause that is not appropriate for the specified file organization. For example, opening a relative file with the ACCESS APPEND clause. Remove the inconsistent clause. 2 OPTCLACON ERROR - The OPTION statement contains contradictory clauses, for example specifying the default integer size as both BYTE and LONG. Remove one of the clauses. 2 OPTNOTALL ERROR - The keyword OPTIONAL is not allowed in an EXTERNAL PICTURE declaration. Optional parameters should be used only when calling non-BASIC procedures. Remove the keyword OPTIONAL from the EXTERNAL PICTURE declaration. 2 OPTOUTSEQ ERROR - The OPTION statement is either not the first statement in a main program or not the first statement following the SUB or FUNCTION statement. Move the OPTION statement so that it is either the first statement in the main program or the first statement following the SUB or FUNCTION statement in the subprogram. 2 ORGUNDREQ ERROR - The program opens a file with ORGANIZATION UNDEFINED, but does not specify FOR INPUT. Specify FOR INPUT in the OPEN statement. You cannot write to a file with an undefined file organization. 2 OVFCHKSUP ERROR - Overflow checking was specified for a floating-point data type in a compiler command, a qualifier to the DCL BASIC command, or an OPTION statement. Specify overflow checking only for INTEGER and/or DECIMAL data types. 2 OVRNOLINE WARNING - The program was compiled with /NOLINES and uses a keyword that requires line number information. For example, ERL and RESUME with line numbers both require that the program be compiled with /LINES. 2 PAREXPFOR ERROR - The CALL or invocation of a routine specifies a different number of parameters than the number specified when the routine was declared. Change the number of parameters to match the number declared. 2 PARINCPRE ERROR - An external subprogram or DEF function declaration specifies a different data type for one of the parameters than the SUB, FUNCTION, or DEF statement specifies. Change the specified data type in either the declaration or the SUB, FUNCTION, or DEF statement so that the data types agree. 2 PARMODCHA INFORMATION - The data type specified in a routine invocation does not match that of the routine declaration. BASIC issues this message only if the data type conversion results in a parameter that cannot be modified by the routine that was invoked. Make the data type specifications in the declaration and the invocation match. 2 PARMODNOT ERROR - The CALL or invocation of a routine specifies a string argument for a parameter that was specified as a numeric when the routine was declared, or vice versa. Change the string parameter to numeric, or vice versa. 2 PARNOTENT ERROR - Parenthesis are used to specify an entire array in a context where an entire array is always required. Remove the empty parenthesis from the reference to the entire array. 2 PARSTRNOT ERROR - The actual parameter list in a CALL to a SUB subprogram or an invocation of a FUNCTION subprogram specifies an entire array where the subprogram declaration specified a simple variable, or vice versa. Change the actual parameter list to match the declared parameter list, or vice versa. 2 PARTYPREQ ERROR - In a program compiled with /EXPLICIT, no data type keyword is specified for a parameter. Supply a data type keyword for the parameter. There are no default data types when you compile a program with /EXPLICIT. 2 PASMECDEF ERROR - A DEF invocation specifies a passing mechanism for a parameter. Remove the passing mechanism clause. 2 PASMECDIS ERROR - The CALL or invocation of a routine specifies a different passing mechanism for a parameter than that specified when the routine was declared. Remove the BY clause specified in the CALL or invocation; BASIC automatically passes parameters with the passing mechanism specified when the routine was declared. 2 PASMECNOT ERROR - A program specifies a passing mechanism in a context other than an external subprogram invocation or declaration. Remove the passing mechanism clause. 2 PASWITNO WARNING - A CALL statement, external function reference, or EXTERNAL statement specifies a BY clause but does not specify a formal parameter list. Remove the BY clause or supply a parameter list. 2 PATNOTREC ERROR - The %INCLUDE directive contains an invalid path name for a record definition. Supply a valid path name for a record definition. 2 POSGTRTAR ERROR - The starting value in the MID statement is greater than the length of the string. Correct the value to be less than or equal to the length of the string. 2 PRELOGNAM ERROR - The specified logical name already existed. The new equivalence name replaces the old one. 2 PRICDDERR ERROR - There have been one or more severe CDD/Repository errors and, this may be the reason for the following error. Recompile the program after correcting the CDD/Repository-related errors. 2 PRIUSICLA ERROR - A PRINT USING statement specifies a numeric format string. Supply a valid format string. 2 PRIUSICON ERROR - A PRINT USING statement contains a RECORD clause. Remove the RECORD clause or use the PRINT statement instead of PRINT USING. 2 PROSTRNES FATAL - The program contains too many nested block constructs, for example, DEF function definitions. Reduce the number of nested block constructs. 2 PROWHINOT ERROR - An EXIT PROGRAM statement was found in a program unit that is not a main program. Use the type of EXIT appropriate to the program unit. 2 PROTOOBIG FATAL - The program is too big. Recode the program as two or more modules. 2 RADNOTSUP ERROR - A literal constant specifies a radix. For example, in the following DECLARE statement, H is an invalid radix specifier: 10 DECLARE LONG CONSTANT A = H"111" Specify a valid radix. 2 REAACCINC ERROR - An OPEN statement specifies FOR OUTPUT and ACCESS READ. FOR OUTPUT specifies that a new file is created; ACCESS READ specifies that the program can only read the file. If you want to create a new file, remove the ACCESS READ clause; if you want read-only access to a file, specify FOR INPUT. 2 REAWITDAT ERROR - The program contains a READ statement but there are no DATA statements. Supply a DATA statement or remove the READ statement. 2 RECENTARR ERROR - A RECORD component reference specifies an array before the end of the component path, for example, A::B(,)::C. Remove the erroneous reference. 2 RECFILTOO ERROR - The total size of a CDD/Repository record is greater than 65535 bytes. Reduce the size of the record. 2 RECNOTBY ERROR - The program attempts to pass a record to a subprogram using either the BY VALUE or BY DESC parameter-passing mechanism. Remove the passing mechanism, or specify BY REF. BASIC programs can pass records only by reference. 2 RECNOTDEF ERROR - The program declares an instance of a user data type, but this type was not defined in the program module. Define the data type with a RECORD statement. 2 RECOVEMAP ERROR - An OPEN statement contains both a RECORDSIZE clause and a MAP clause, and the RECORDSIZE clause is larger than the MAP. Make the RECORDSIZE the same as the MAP size. 2 RECRECDEF ERROR - The program contains two or more RECORD statements that reference each other. Change the program so that the RECORD statements do not point at each other. 2 RECTOBIGL ERROR - the text library module specified in an %INCLUDE directive contains a record longer than 255 bytes. Extract the module from the text library, edit it to remove any records longer than 255 bytes, and replace the module in in the text library. 2 RECTOOBIG ERROR - The file specified in a %INCLUDE directive contains a record longer than 255 characters. Edit the file to remove any records longer than 255 characters. 2 RECTOOLAR ERROR - The components of a RECORD definition add up to more than 65535 bytes. Reduce the size of the RECORD. 2 REMARRREF ERROR - The program attempts to pass an array declared in a MAP DYNAMIC statement to an external subprogram by reference. Entire remapped arrays must be passed by descriptor. Specify the BY DESC passing mechanism either in the EXTERNAL declaration or the subprogram invocation. 2 REMNOTALL ERROR - A REM statement has been found in a program without line numbers. Remove the REM statement. 2 REPLACE ERROR - The program contains a syntax error. BASIC found incorrect or multiple operators where another single operator makes more sense, for example, 10 A == B. Compilation continues so that other errors may be detected. The actual program line remains unchanged and no object file is produced. Examine the line carefully to discover the error. Change the program line to correct the syntax error. 2 REQNUMEXP ERROR - The program contains a string expression in a context requiring a numeric expression. Supply a numeric expression. 2 REQSTREXP ERROR - The program contains a numeric expression in a context requiring a string expression, for example, the file specification in an OPEN statement, or the default file specification in a DEFAULTNAME clause. Supply a string expression. 2 RESABOCON ERROR - A resequenced program contains a %IF-%THEN-%ELSE-%END-%IF directive. Remove the %IF-%THEN-%ELSE-%END-%IF directive. 2 RESABOSYN ERROR - A RESEQUENCE operation was terminated because the program was not syntactically correct. Correct the syntax error and retry the RESEQUENCE operation. 2 RESATTINC ERROR - The data types in function implicitly defined before the function is declared with a DEF statement are inconsistent with the data types specified in the DEF statement. Make the data type specifications match in both the function declaration and the function definition. 2 RESNOTWHE ERROR - A RESUME statement has been found in a WHEN block or an associated error handler. Remove the RESUME statement from the WHEN block or associated error handler. 2 RETCONMUS ERROR - A RETRY or CONTINUE statement is not in an error handler associated with a WHEN block protected region. Remove the RETRY or CONTINUE statement. 2 RFAEXPREQ ERROR - A GET BY RFA statement contains an expression that is not of the RFA data type. Supply a valid RFA expression. 2 RFANOTALL ERROR - The program attempts to use an RFA expression in an arithmetic expression or other invalid context. Remove the RFA expression. You can use the RFA data type only in file I/O, in an assignment statement or in a comparison. 2 ROUSUPDEC ERROR - Rounding was specified for a non-DECIMAL data type in a compiler command, a qualifier to the BASIC DCL command, or an OPTION statement. Specify rounding only for the DECIMAL data type. 2 RPTCOUMUS ERROR - A FILL item specifies a nonnumeric repeat count, for example, FILL(A$). Supply a valid repeat count. 2 SCALE0 WARNING - An attempt was made to set the SCALE factor while the default floating-point data type was SINGLE. Set the default floating-point data type to DOUBLE. 2 SCAOUTRAN ERROR - The OPTION statement specifies a scale factor that is not between zero and six, inclusive. Supply a valid scale factor. 2 SEVINTERR FATAL - An error has been detected in the BASIC compiler. Please submit a software problem report with the source code of a small program that produces this error. 2 SHRNOTAVL ERROR - The shareable image is not available on your system. Install the correct version of the required shareable image. 2 SPANOSPA WARNING - An OPEN statement specifies both SPAN and NOSPAN. Remove one of the clauses. 2 SPELL ERROR - The program contains a syntax error. BASIC assumes that a keyword has been misspelled, and compilation continues so that other errors may be detected. The actual program line remains unchanged and no object file is produced. Examine the line carefully to discover the error. Change the program line to correct the syntax error. 2 SPENUMEXC ERROR - A quoted literal of type character (C) contains a value outside the valid range, for example, '300'C. Use a valid ASCII value. 2 STACKOVF ERROR - The program requires too much space for dynamic variables. Reduce the number of dynamic variables, or place some of the variables in a MAP or COMMON. 2 STRCONEXP ERROR - The program contains a DECLARE STRING CONSTANT statement where the value assigned to the constant exceeds the maximum number of characters allowed for string constant expressions. The maximum length of a string constant expression at compile-time is 498 characters. Change the string constant to a string variable and assign the string expression to the variable at run-time. 2 STRCONREQ ERROR - The program contains a numeric expression in a context that requires a string expression. For example: DECLARE STRING CONSTANT ABC = 123 Supply a string literal or a named string constant. 2 STRIS_NEE ERROR - The program contains a numeric expression where a string expression is needed, for example, NAME 1% AS "ABC.DAT". Supply a string expression. 2 STRLENANY ERROR - An ANY parameter specifies a string length in an EXTERNAL statement. This is not allowed because ANY implies that you can use any datatype, not specifically a string datatype. Remove the string length specification from the ANY clause. 2 STRLENDYN ERROR - A string variable in a MAP DYNAMIC statement specifies a string length. Remove the string length. All string variables named in a MAP DYNAMIC statement have a length of zero until a REMAP statement executes. 2 STRLENINC WARNING - In a string virtual array DIM statement, the specified string length is not a power of two. BASIC increases the string length to the next higher power of two. 2 STRLENMUS ERROR - THE length specification for a fixed-length string is nonnumeric, for example, COMMON A$ = "ABC". Supply a numeric length specification. 2 STRLENNOT ERROR - The declaration for a numeric variable contains a string length specification. Remove the string length specification. 2 STRLENTRU WARNING - A string virtual array specifies a string with a length greater than 512. BASIC truncates the length specification to 512. The maximum string length for virtual arrays is 512. 2 STRLITREQ ERROR - A quoted string is missing in a compiler directive that requires one, for example, %IDENT. Supply a string literal for the compiler directive. 2 STROUTRAN ERROR - A string exceeds the maximum allowable length. The maximum length is 65535 characters. Reduce the length of the string. 2 STRRECFOR ERROR - A file was opened using STREAM as a record format, but the specified organization was not SEQUENTIAL. Change the OPEN statement so that it specifies ORGANIZATION SEQUENTIAL. 2 STRVAREXP ERROR - A CHANGE statement specifies a numeric variable. Supply a string variable; the CHANGE statement changes a string variable to a numeric array and vice versa. 2 STRVARREQ ERROR - A statement references a numeric variable instead of a string variable, for example, LINPUT A%. Supply a string variable instead of a numeric variable. 2 SUBMAYNOT ERROR - A CALL statement or external function reference passes an entire array as a parameter and contains a subscript expression, for example, A(,,3). Remove the subscript expression. You cannot specify any subscripts when passing an entire array as a parameter. 2 SUBOUTRAN ERROR - The program references an array element with constant subscript(s) outside the bounds of the array. Check program logic to make sure all subscripts are within the bounds of the array. 2 SUBRECCOM ERROR - The program contains a RECORD component reference with invalid subscripts, for example, A::B(1,2)::C where B has only one subscript, or A::B where A requires a subscript. Change the erroneous reference. You must specify as many subscripts as were defined in the RECORD. 2 SUBWHINOT ERROR - A program contains an EXIT SUB or SUBEXIT statement with no preceding SUB statement. If the program is a subprogram, supply a SUB statement; otherwise, remove the EXIT SUB or SUBEXIT statement. 2 SUFFILNOT ERROR - A FILL item defined with an explicit data type ends in a percent or dollar sign. Remove the FILL item's percent or dollar sign. 2 SUFINTONLY ERROR - The % suffix is only allowed on integer datatypes. Remove the % suffix from the variable name or change the datatype keyword. 2 SUFNOTALL ERROR - A variable defined with explicit data type ends in a percent or dollar sign. Remove the variable's percent or dollar sign. 2 SUFNOTHAN ERROR - A HANDLER name ends in a percent or dollar sign. Remove the percent or dollar sign from the HANDLER name. 2 SUFNOTREC ERROR - A record definition specifies a user-defined record type that ends in a percent or dollar sign. Remove the record type's percent or dollar sign. 2 SUFSTRONLY ERROR - The $ suffix is only allowed on string datatypes. Remove the $ suffix from the variable name or change the datatype keyword. 2 TEXFOLEND ERROR - The compiler detected text following an END, END SUB or END FUNCTION statement. Remove the text. In a multi-module source file, an END, END SUB, or END FUNCTION statement can be followed only by blank lines or numbered lines. 2 TEXLINMSG INFORMATION - An input line contains more than 255 characters. BASIC saves the first 255 input characters into the line buffer and ignores the rest of the input. Supply no more than 255 characters per input line to avoid truncation of input. 2 TEXPATMUS ERROR - You specified an invalid value for the path specification of the SET TEXT PATH statement. Specify a text path of "RIGHT", "LEFT", "UP" or "DOWN". 2 TEXPREMUS ERROR - You specified an invalid value for the text precision of the SET TEXT FONT statement. Specify a value of "STROKE","CHAR" or "STRING". 2 THEMUSFOL ERROR - A %IF directive contains a lexical expression that is not immediately followed by a %THEN. Supply a %THEN clause. %THEN, %ELSE, and %END %IF are required in a %IF directive. 2 TOOFEWARG ERROR - The invocation of a BASIC built-in function contains too few arguments. Supply the correct number of arguments to the function. 2 TOOMANARG ERROR - The invocation of a BASIC built-in function contains too many arguments. Supply the correct number of arguments to the function. 2 TOOMANKEY ERROR - An OPEN statement specifies more than 255 index keys. Reduce the number of index keys. The maximum is 255. 2 TOOMANPAR ERROR - An external function invocation contains too many expressions in the actual parameter list. Reduce the number of expressions in the actual parameter by assigning the expressions to temporary variables. 2 TYPDEFSTR ERROR - STRING was specified as the default data type in a compiler command, a qualifier to the DCL BASIC command, or an OPTION statement. Specify a numeric data type as the default. 2 UNCALLED INFORMATION - The compiler has detected a routine that can never be called. Review the program to determine if the routine is really needed. If it is not needed, you may want to remove the routine. 2 UNDLINNUM ERROR - A statement tries to transfer control to a nonexistent line. Or, in a numberless program, a line number is referenced. Replace the nonexistent line number with the correct destination line number or label. 2 UNELEXDIR ERROR - The specified lexical directive is not legal in this statement. Use a supported lexical directive. 2 UNEXPEOF ERROR - The compiler encountered an end-of-file immediately after an ampersand continuation character. Remove the ampersand continuation character or continue the line. 2 UNINIT INFORMATION - The compiler has detected a variable that is used but not initialized. Review the program to determine if the variable should be initialized before use. You may want to add code, if necessary, to initialize the variable in question. 2 UNLINCREA ERROR - An OPEN statement contains both an UNLOCK EXPLICIT clause and an ACCESS READ clause. Remove one of the clauses. Opening a file with ACCESS READ means that records are not locked. UNLOCK EXPLICIT means that all records remain locked until explicitly unlocked. 2 UNREACH INFORMATION - The compiler has detected code that has no chance of being executed. Review the program to determine if the code will be executed. If the code is determined to be unexecuted (and therefore unnecessary), you may want to remove the code from the program. 2 UNSCDDLEV ERROR - The current CDD/Repository version is incompatible with BASIC. Use a supported version of the CDD/Repository. 2 UNTSTRLIT ERROR - The program contains an improperly terminated string literal; for example, "ABC , "ABC' and 'ABC" are all improperly terminated. Use the same type of quotation mark (either single or double) for both beginning and ending string delimiters. 2 USEONLALO ERROR - A USE statement is not within a WHEN block. Remove the USE statement. 2 USERABORT FATAL - The compilation was terminated as the result of a %ABORT directive. The compiler prints the text following the %ABORT. 2 USERPRINT SUCCESS - The compilation found a %PRINT directive and printed the specified message to the terminal and listing file. 2 USEVARNOT ERROR - The parameter list in an external subprogram declaration contains a user variable name. Remove the variable from the parameter list. When declaring a routine, the parameter list can contain only data type and parameter-passing mechanism specifications. 2 VALUEREQ ERROR - The PRINT USING statement must have at least one expression or value. Supply an expression or a value. 2 VALTOOLAR WARNING - The value of an EXTERNAL CONSTANT is larger than the specified data type allows. Make sure the data type specified in the EXTERNAL CONSTANT statement matches that of the actual constant. 2 VARCONREQ ERROR - The program contains an executable DIM statement that contains an expression in the bounds list. Remove the expression from the bounds list. Executable DIM statements can have only constants or variables (simple or subscripted) as bounds. 2 VERJUSMUS ERROR - You specified an invalid value for the vertical component of the SET TEXT JUSTIFY statement. Specify a vertical justification of "TOP","CAP","HALF","BASE","BOTTOM" or "NORMAL". 2 VIRARROVF ERROR - The storage for virtual arrays on a single channel is greater than 2147483647 bytes. If there is only one virtual array on the channel, you must reduce the amount of storage used by the array. However, if there is more than one virtual array on the channel, you can put each array on a separate channel. 2 VIRNOTALL ERROR - You specified an entire virtual array on a statement that does not accept specifications of entire virtual arrays. Specify a non-virtual array in place of the virtual array. 2 VIRRECTOO ERROR - The elements of a virtual array are of type and the total storage requirement for each element is greater than 512 bytes. Reduce the size of the RECORD. 2 WROTYPLIB WARNING - The logical BASIC$LIBn translates to a library that is not an object library or a shareable image library. Change the logical BASIC$LIBn to translate to an object library or a shareable image library.