VI0001 - A write error occurred while VPLX was performing an unformatted write to the primary OUT= output file. VPLX will attempt to delete the file. The FORTRAN implementation gave an error return from a WRITE statement. Specific diagnostic information may be provided by a system error message but is not available to VPLX. Possible explanations include: 1) The error may have occurred if the target device for the file became full. Once the file is deleted, however, the device may no longer be full, so some of the evidence for overflow may be consequently destroyed. If the program is rerun, try to monitor the size of free space on the device and see if the free space disappears just before VPLX terminates. 2) There may be a system protection on the file denying write access. 3) Less likely, hardware failure. (Technical: called from subroutine FWSTOP.) VI0002 - A write error occurred while VPLX was performing an unformatted write to an output file. VPLX will attempt to delete both this file and the primary output file. The FORTRAN implementation gave an error return from a WRITE statement. Specific diagnostic information may be provided by a system error message but is not available to VPLX. Possible explanations include: 1) The error may have occurred if the target device for the file became full. Once the file is deleted, however, the device may no longer be full, so some of the evidence for overflow may be consequently destroyed. If the program is rerun, try to monitor the size of free space on the device. 2) There may be a system protection on the file denying write access. 3) Less likely, hardware failure. (Technical: called from subroutine FWSTOP.) VI0003 - A write error occurred while VPLX was performing a formatted write to the primary OUT= output file. VPLX will attempt to delete the file. The FORTRAN implementation gave an error return from a WRITE statement. Specific diagnostic information may be provided by a system error message but is not available to VPLX. Possible explanations include: 1) There may be a syntactic error in the format. The primary output file from REWEIGHT is a character data file governed by the OUTFORMAT, so this format should be checked carefully if this error occurred during REWEIGHT. 2) VPLX may be trying to output a number requiring more characters than allowed by the format. In some FORTRAN implementations, an execution error occurs. During REWEIGHT, check OUTFORMAT for the space allotted for each field, remembering that FORTRAN always includes the decimal point under Fw.d format. For example, F1.0 will not generally be adequate to write a number from 0-9 -- at least F2.0 is instead required, etc. 3) The error may have occurred if the target device for the file became full. Once the file is deleted, however, the device may no longer be full, so some of the evidence for overflow may be consequently destroyed. If the program is rerun, try to monitor the size of free space on the device. 4) There may be a system protection on the file denying write access. 5) Less likely, hardware failure. (Technical: called from subroutine FWSTOP.) VI0004 - A write error occurred while VPLX was performing a formatted write to an output file. VPLX will attempt to delete both this file and the primary output file. The FORTRAN implementation gave an error return from a WRITE statement. Specific diagnostic information may be provided by a system error message but is not available to VPLX. Possible explanations include: 1) There may be a syntactic error in the format. Try to match the unit associated with the error with the "assigned to" statements in the VPLX listing to discover which file produced the error. Check the format associated with this file. 2) VPLX may be trying to output a number requiring more characters than allowed by the format. In some FORTRAN implementations, an execution error occurs. Check the format for the space allotted for each field, remembering that FORTRAN always includes the decimal point under Fw.d format. For example, F1.0 will not generally be adequate to write a number from 0-9 -- at least F2.0 is instead required, etc. 3) The error may have occurred if the target device for the file became full. Once the file is deleted, however, the device may no longer be full, so some of the evidence for overflow may be consequently destroyed. If the program is rerun, try to monitor the size of free space on the device. 4) There may be a system protection on the file denying write access. 5) Less likely, hardware failure. (Technical: called from subroutine FWSTOP.) VI0101 - A read error occurred while VPLX was performing an unformatted read of the primary IN= input file. The error may have occurred if the input file did not conform to VPLX's expectations at this point. (Technical: called from subroutine FRSTOP.) VI0102 - A read error occurred while VPLX was performing an unformatted read of an input file. (Technical: called from subroutine FRSTOP.) VI0105 - Error reading first record of VPLX input file. The file appears not to be a VPLX file, which was expected. (Technical: called from PREAMB) VI0106 - The VPLX file version number, contained in the first record of the file, is not one of the recognized values to this version of the program. A typical value of the version number is 9203, i.e. March, 1992. Later versions of the file may appear. (Technical: called from PREAMB) VI0107 - The information for crossed variables is not internally consistent, indicating that the incoming VPLX file may be damaged, or the previous step of VPLX that created the file may have made an error. (Technical: called from PREAMB) VI0108 - The information for labels for levels is not internally consistent, indicating that the incoming VPLX file may be damaged, or the previous step of VPLX that created the file may have made an error. (Technical: called from PREAMB) VI0109 - The incoming VPLX file contains an inconsistency between the total number of variables and the counts of regula, class, variance related, and BY variables. Please report this inconsistency to Bob Fay. (Technical: called from PREAMB) VI0111 - The internally stored value for the size of the array holding the dimensions of crossed variables disagrees with the recomputed value. This error indicates an error in the FORTRAN code for VPLX. Please report this error. (Technical: called from PREAMO) VI0112 - The internally stored value for the size of the array holding the level labels of categorical, class, and crossed variables disagrees with the recomputed value. This error indicates an error in the FORTRAN code for VPLX. Please report this error. (Technical: called from PREAMO) VI0200 - Unable to assign file to a FORTRAN unit number. VPLX uses FORTRAN unit numbers 10-17 for specific uses. It attempts to use 8-9, and 18-39 for all other file assignments. Too many files are open at once for this strategy. (Technical: called from IUFIND.) VI0201 - File format or positioning error, TRANSFORM step scratch file During the execution of the TRANSFORM step, subroutines may write information to a file for the full sample and reread the information for each replicate. An error has occurred positioning the file. This error is unusual and would indicate an internal error in VPLX. (Technical: called from SCPOSN.) VI0202 - File is already assigned to another unit. A file cannot be opened for more than one purpose at the same time. Check the reported unit number by looking back to messages "Assigned to unit" in the listing before this point. (Technical: called from OPENCH.) VM0001 - Parameters incorrectly set for MERGE step. VPLX must be recompiled. This error call was made immediately as the MERGE step began and does not depend on the subsequent commands. (Technical: called from VMERGE. When VPLX was compiled, the values chosen for several parameters are used to compute the parameter MTRSZI. This parameter must be larger than 12 * MTRANS, another parameter. In fact, MTRSZI should be much larger since MTRSZI-12*MTRANS is space used for other purposes. Increasing the parameter MSIZEI sufficiently is one approach to solve this problem.) VM0002 - No output file has been identified. The MERGE step requires an output file. (Technical: called from VMERGE.) VM0003 - A SELECT statement has already been given. Only one SELECT statement may be used in a MERGE step. (Technical: called from VMERGE.) VM0004 - An OUTPUT CLASS statement has already been given. A SELECT statement may not be used in combination with an OUTPUT CLASS statement in a MERGE step. (Technical: called from VMERGE.) VM0005 - An OUTPUT (or OUTPUT CLASS) statement has already been given. Only one OUTPUT or OUTPUT CLASS statement may be used in a MERGE step. (Technical: called from VMERGE.) VM0006 - Unable to read a variable name from the SELECT or OUTPUT statement. Check the form of the statement. (Technical: called from VMERGE.) VM0007 - The SELECT or OUTPUT statement must name a single class variable. (Technical: called from VMERGE.) VM0008 - The variable named is not recognized on the incoming file. (Technical: called from VMERGE.) VM0009 - The variable named is not a class variable. (Technical: called from VMERGE.) VM0010 - A "(" was expected as part of the specification. (Technical: called from VMERGE.) VM0011 - A valid positive integer value is required as part of the specification. (Technical: called from VMERGE.) VM0012 - A integer value given is outside the number of levels for the selected class variable. (Technical: called from VMERGE.) VM0013 - A ")" was expected as part of the specification. (Technical: called from VMERGE.) VM0014 - A SELECT statement has already been given. AS may not be used with SELECT in a MERGE step. (Technical: called from VMERGE.) VM0015 - The AS statement is incomplete. (Technical: called from VMERGE.) VM0016 - The AS statement was expected to name a single class variable, but more than one variable name was found. (Technical: called from VMERGE.) VM0017 - The variable named does not agree with the previous OUTPUT CLASS statement. (Technical: called from VMERGE.) VM0018 - The AS statement is expected to indicate the outgoing disposition of each level of the class on the incoming file. If the class is not represented on the incoming file, then only one output level should be specified. (Technical: called from VMERGE.) VP0019 - A SELECT statement has already appeared. An OUTPUT statement may not be used in combination with a SELECT statement in a MERGE step. (Technical: called from VMERGE.) VM0020 - The variable named does not agree with the previous AS statement. (Technical: called from VMERGE.) VM0021 - An AS statement has already been given for the VPLX input file. Each input file should have, at most, a single AS statement. (Technical: called from VMERGE.) VM0022 - The specification of the disposition of levels in the incoming file to the outgoing file is not in the required format. (Technical: called from VMERGE.) VM0023 - A range MISSING may not appear in an AS statement. (Technical: called from VMERGE.) VM0024 - The interpretation of an open ended range is not determined. Solution: provide a more explicit disposition of each incoming class. (Technical: called from VMERGE.) VM0025 - A VPLX file must be specified with INCORPORATE. (Technical: called from VMERGE.) VM0026 - The specified OUTPUT CLASS is used in some but not all of the blocks in the incoming file. The allowed options are for the class to be used in all blocks or none. (Technical: called from VMERGE.) VM0027 - An OUTPUT CLASS or SELECT statement is required. (Note: even if an AS statement identifies the output class, an OUTPUT CLASS statement is required to specify the number of outgoing levels.) (Technical: called from VMERGE.) VM0028 - Because the OUTPUT CLASS is found on the incoming file, the number of elements in the AS statement must agree with the number of levels of the class on the incoming file. (Technical: called from VMERGE.) VM0029 - Because the OUTPUT CLASS is not found on the incoming file, the AS statement must specify a single level for the OUTPUT class. (Technical: called from VMERGE.) VM0030 - A file was not successfully opened in conjunction with the INCORPORATE statement. The statement must specify an existing VPLX file. (Technical: called from VMERGE.) VM0031 - The AS list specified a level for the outgoing class beyond the number of levels specified by the OUTPUT CLASS statement. The OUTPUT CLASS statement establishes the size of the output class variable. AS statements may not indicate outgoing levels beyond this range. Note: this error message may not happen immediately following the AS statement but is delayed until all specifications for the corresponding primary input or INCORPORATEd file (as the case may be) have been examined. (Technical: called from VMERGE.) VM0032 - The AS list points to a level on the outgoing file that has already been assigned. Each outgoing level can be provided by only one source. (Technical: called from VMERGE.) VM0033 - The output class does not appear in the incoming file. A specification of "0" is inappropriate for the outgoing level in this case. (Technical: called from VMERGE.) VM0034 - An AS statement is not associated with this file, so VPLX will attempt to assign all input levels to the output file sequentially. There were insufficient remaining levels on the output file. (Technical: called from VMERGE.) VM0035 - There are no remaining unassigned levels in the output file. Solution: check the logic of the program. If necessary, increase the number of levels in the outgoing file by changing the OUTPUT class statement. (Technical: called from VMERGE.) VM0101 - Mismatch of the number of associated classes for a block. When the output class is present on the incoming file, then each block on the input file must have the same number of associated classes as on the output. (Technical: called from MRGSET.) VM0102 - Mismatch of the number of associated classes for a block. When the output class is NOT present on the incoming file, then each block on the input file must have one fewer associated classes as on the output. (Technical: called from MRGSET.) VM0103 - Mismatch of the number of associated classes for a block. Under SELECT each block on the input file must have one more associated classes as on the output for the SELECTed class, or have the same number and omit the class. (Technical: called from MRGSET.) VM0104 - The block in question has an associated class variable expected to be associated with the corresponding block in the input file. (Technical: called from MRGSET.) VM0105 - For the block and class in question, there is a conflict between the presence of marginal totals. (Technical: called from MRGSET.) VM0106 - For the class in question, there is a conflict between the output file and the input file in the number of levels. (Technical: called from MRGSET.) VM0107 - For this variable, there is a conflict between the type on the output file and the input file. (Technical: called from MRGSET.) VM0108 - For this variable, there is a conflict between the size on the output file and the input file. (Technical: called from MRGSET.) VM0109 - For this crossed variable, there is a conflict between the dimensions of the crossing between the output file and the input file. (Technical: called from MRGSET.) VM0110 - This derived or other nonsummable variable does not have a defined marginal on the class variable. Specification of level 0 of a class variable through SELECT classvar (0) requires that the margin be defined for nonsummable variables. (Technical: called from MRGSET.) VP0001 - a "*" in a class specification must be used only after the name of a class (Technical: called from subroutine CLSCAN) VP0002 - a "(" in a class specification must be used only after the name of a class (Technical: called from subroutine CLSCAN) VP0003 - an expression enclosed in apostrophies "(" ")" was expected to include one or more ranges to specify levels of a class variable, but no valid ranges were found. (Technical: called from subroutine CLSCAN) VP0004 - MISSING is not allowed in a level specification for a class variable. (Technical: called from subroutine CLSCAN) VP0005 - The specification for the level of the class variable referenced a level outside the scope of the class variable, such as a negative level, (e.g., AGE(-1)), or an upper end of the range that is too high, (e.g., AGE (0-5), when AGE has only 4 levels) (Technical: called from subroutine CLSCAN) VP0006 - VPLX ran out of space in an internal array attempting to store a class specification. Solution: break the problem down into smaller parts for separate processing. (Technical: called from subroutine CLSCAN, overflow in array IA) VP0007 - An error occurred while attempting to read the name of a class variable. (Technical: CLSCAN called VNFIND to read the names of one or more classes, but VNFIND returned an error condition to CLSCAN.) VP0008 - TOTAL may not be used in a product with other class variables, e.g., AGE * TOTAL. (Technical: called from subroutine CLSCAN) VP0009 - Class variable expected here. The named variable is not a class variable. (Technical: called from subroutine CLSCAN) VP0010 - A class variable is in a product with itself, e.g. AGE * AGE. This form of product is not allowed. (Technical: called from subroutine CLSCAN) VP0011 - Unidentified variable name. Variable names must be spelled exactly to be recognized (although in any mixture of upper and lower case). The variable in question was expected to be the name of a class variable. (Technical: called from subroutine CLSCAN) VP0030 - More constants were specified than the available space. Solution: check the syntax of the statement. More constants may be implied than intended. (Technical: called from subroutine DASCAN. The array in question is governed by the parameter MSIZED.) VP0031 - Value preceding '*' not an appropriate integer for this syntax. Solution: check the use of the * syntax. The value preceding must be a positive integer and is not allowed to exceed 1000000. (Technical: called from subroutine DASCAN.) VP0032 - Ambiguity caused by repeated use of * in specifying constants (Technical: called from subroutine DASCAN.) VP0035 - Run-on number - apparent constant longer than VPLX syntax allows. VPLX expects constants to be of length 30 or shorter. (Technical: called from subroutine DFIND) VP0036 - Error on reading apparent number. (Technical: called from subroutine DFIND) VP0037 - Error creating number to indicate precision of primary number. (Technical: called from subroutine DFIND. DFIND creates a second number to measure the precision of the primary number. A FORTRAN read error occurred while trying to read this number.) VP0040 - Run-on integer - apparent constant longer than VPLX syntax allows. VPLX expects integer constants to be of length 9 or shorter. (Technical: called from subroutine IFIND) VP0043 - An expression KEYWRD = has not been followed by any nonblank character. KEYWRD = must be followed by some specification. (Technical: called from subroutine EQSCAN) VP0045 - Key word not matched. Key words may be spelled in upper or lower case. Check the intended spelling in the documentation. This error can occur in one of three ways: 1) Position 1 begins with a letter. Under all circumstances, VPLX interprets the first letter as the beginning of a key word. An error occurs either if the key word is not recognized as a VPLX key word. 2) Position 1 begins with an underscore "_" indicating indendation. In this case, the first nonblank position after position 1 is assumed to begin a key word. If the key word is not recognized, the same considerations as the previous case apply. A common mistake while using "_" for code indendation is to mistakenly begin continuation lines with "_" - continuation lines should always begin with a blank in position 1. 3) Position 1 is blank. VPLX expected a key word to appear here because it believed that the previous line entirely completed the information associated with the previous key word. In other words, the program did not expect a continuation line at this point. (Technical: called from subroutine KYFIND) VP0046 - An ambiguity exists interpreting the key word because it appears to be a shortened form of more than one key word recognized by VPLX. Shortened forms must imply a single key word. (Technical: called from subroutine KYFIND) VP0050 - During the process of scanning for labels, a line ended with an odd number of apostrophes. Apostrophes are required to delimit labels. An individual label may not be continued from one command line to the next, so each command line must have an even number of apostrophes. To include an apostrophe within a label, place two apostrophes next to each other. For example, the command line 'Respondent''s age' becomes the label "Respondent's age" (Technical: called from subroutine LEVELR) VP0055 - During reading of an option, the expression KEYWRD = has been followed by a noninteger. Only an integer is expected at this point. (Technical: called from OPTNTR) VP0060 - A RENAME statement must specify a minimum of one existing variable name, "AS" or "INTO", and one new variable name. (Technical: called from RENAME) VP0061 - "AS" or "INTO" missing in an appropriate place to complete the renaming of variables. (Technical: called from RENAME) VP0062 - Placement of "AS" or "INTO" too far near the end to establish appropriate balancing of lists. Solution: RENAME expects lists of equal length to appear before and after each occurrence of "AS" or "INTO". Check the statement for this condition. If necessary for clarity, adopt one of the two strategies: 1) restructure the statement into one list of old variable names, a single 'AS' or 'INTO', and a list of equal length of new names, or 2) rename one at a time, i.e., oldname1 AS newname1 oldname2 AS newname2 etc. (Technical: called from RENAME) VP0063 - At this point, the new name is already in use as the name of an existing variable. The potential ambiguity is not allowed. Solution: If the conflict was unintended, simply use a new name. If the conflict resulted from trying to interchange names, break the list into smaller groups, each connected by 'AS' or 'INTO' (even a one variable at a time strategy), and rename variables in such a way that a name does not have two uses simultaneously. (Technical: called from RENAME) VP0065 - Level array exceeded. The level array was being used as a scratch array during the reading of variable labels, but the number of specified variables exceeded this maximum. Solution: Breaking the statement up into single assignments var1 'Label 1' var2 'Label 2' etc., is likely to help, since this approach uses only one element of the scratch array. (Technical: called from RLABEL. The limit is governed by the parameter MLEVEL in the FORTRAN source.) VP0070 - Level array exceeded. The level array overflowed in attempting to store the levels. (Technical: called from RLEVEL. The limit is governed by the parameter MLEVEL in the FORTRAN source.) VP0075 - A concluding ")" was not encountered to mark the end of range specifications. Either the ")" needs to be added, or there are other errors in specifying the ranges. (Technical: called from RNSCAN) VP0076 - A minus sign "-" was iterpreted to be part of a number, but a negative number was not successfully read at this point. (Technical: called from RNSCAN) VP0077 - A string within a range had none of the expected forms. It was not a valid number, one of the possible delimitors "," etc., nor one of the accepted special words possible at this point: LOW, MISSING, RES (Technical: called from RNSCAN) VP0078 - HIGH and N may be used as the upper end of a range but not at this point. (Technical: called from RNSCAN) VP0079 - A string within a range had none of the expected forms. It was not a valid number, one of the possible delimitors "," etc., nor one of the accepted special words possible at this point: HIGH, N (Technical: called from RNSCAN) VP0080 - MISSING, LOW, RES may be used as the lower end of a range but not at this point. (Technical: called from RNSCAN) VP0081 - Negative number here is incompatible with previous use of blank as a delimitor. Solution: Use commas to provide a clear delination of ranges. (Technical: called from RNSCAN) VP0082 - Use of blank as a delimitor here is incompatible with previous appearance of a negative number Solution: Use commas to provide a clear delination of ranges. (Technical: called from RNSCAN) VP0083 - Unexpected characters here. Either the error occurred because the character string is an unexpected part of a range or because a string such as LOW, HIGH, etc. occurs in the wrong place. Solution: Check the syntax. Possibly, commas may be required to provide a clear delination of ranges. (Technical: called from RNSCAN) VP0084 - Range array exceeded. Solution: The number of ranges in use in the step is too great. If possible, break the step into pieces. (Technical: called from RNSCAN. The limit is governed by the parameter MRANGE in the FORTRAN source.) VP0085 - LOW cannot be used alone to specify a range. Instead, the form must be LOW - value, where value can be a number, HIGH, or N. (Technical: called from RNSCAN.) VP0100 - The specification of a file name has become intermixed with a continuation line of a substitution based on a SET statement. Solution: break up the complex substitution. Equate one string to the file name and optional characteristics only, without including additional information. (Technical: called from REFRSH) VP0101 - Substitutions from SET have expanded a single input line of 80 or fewer characters beyond 240 characters, the maximum buffer for the results of substitutions. Solution: break up the line to simplify the substitutions. If necessary, place each use of &stringname& on separate lines. (Technical: called from REFRSH) VP0102 - Substition implied by &stringname& not matched to any stored name. Solution: Check the spelling of the stringname. If it is spelled correctly, use a SET statement before this line to assign a value to stringname. (Technical: called from REFRSH) VP0103 - Substition implied by &stringname& cannot be matched since no SET statements have yet appeared. Solution: Use a SET statement before this line to assign a value to stringname. (Technical: called from REFRSH) VP0104 - The file named by the INCLUDE statement could not be opened. Solution: Check the spelling of the file name. If the file exists, check that VPLX run has read access to the file, since the error could occur if the system blocks reading of the file. (Technical: called from REFRSH) VP0105 - The maximum depth of INCLUDE files has been exceeded. An include file may contain one or more INCLUDE statements pointing to another alternative file. The maximum depth of pointing has a maximum allowed value, which is set when VPLX is compiled. Solution: Simply the INCLUDE structure by one level, or recompile VPLX. (Technical: called from REFRSH. The depth is governed by the parameter MAXALT.) VP0106 - The file could not be opened for use as a scratch file. An error occurred in trying to open the file for writing. The file name may be inappropriate for the host system or point to a disk or file system that the user does not have the ability to write to. A new name must be provided. (Technical: called from REFRSH) VP0107 - The file could not be opened for use by MACROWRITE. An error occurred in trying to open the file for writing. The file name may be inappropriate for the host system or point to a disk or file system that the user does not have the ability to write to. A new name must be provided. (Technical: called from REFRSH) VP0108 - Maximum number of substitution strings exceeded. Solution: simplify the number of set statements in the application. (Technical: called from REFRSH. Storage has exceeded the allowance governed by MAXSUB.) VP0109 - Maximum number of lines allotted for substitution strings exceeded. Solution: simplify the number of set statements in the application. (Technical: called from REFRSH. Storage has exceeded the allowance governed by MAXSBL.) VP0110 - Maximum number of characters alloted for substitution strings exceeded. Solution: simplify the number of set statements in the application. (Technical: called from REFRSH. Storage has exceeded the allowance governed by MAXSBC.) VP0111 - Name of a substitution string must begin with an underscore or letter. (Technical: called from REFRSH) VP0112 - Name of a substitution string must not exceed 12 characters. (Technical: called from REFRSH) VP0140 - Variable name is too long. A variable name must be limited to 12 characters. (Technical: called from VNFIND.) VP0141 - A minus/dash is not expected here. Variable names are expected at this point. "-" or "--" may be used to denote ranges of variables, but must occur between two names. (Technical: called from VNFIND.) VP0142 - Overflow in variable name array. Too many variable names are now in use. Attempt to simplify the application to reduce the number of variables. (Technical: called from VNFIND. Controlled by parameter MVAR.) VP0143 - In specifying a range of the form VARA -- VARB, both VARA and VARB must be previously defined. Solution: check the spelling of the variable names. It may be necessary to name the variables in another way. (Technical: called from VNFIND.) VP0144 - A range of the form VARA -- VARB is not expected here, since both VARA and VARB must be previously defined to use this syntax, and new or primarily new variables are expected at this point. Solution: Explicitly list all variables or use a single "-" to indicate ranges of variables ending in digits. (Technical: called from VNFIND.) VP0145 - A range of the form VARn1 - VARn2, where n1 and n2 are both numbers, requires that they share the same stem. (Technical: called from VNFIND.) VP0146 - For a range of the form VARn1 - VARn2, difficulty determining n1 or n2. Both VARn1 and VARn2 must end with digits indicating a number in each case. (Technical: called from VNFIND.) VP0147 - For a range of the form VARn1 - VARn2, n1 > n2 not allowed. (Technical: called from VNFIND.) VP0170 - The number of variables being scanned exceeds the work array. Solution: simplify problem by breaking it into segments. (Technical: called from VTSCAN. VPLX reports the size of a temporary array. This size of this array is governed by the FORTRAN parameter MVAR.) VP0200 - Overflow in the double precision array. This array is used for most calculations, and the usage of this array is reported at the end of VPLX runs. The size of the array is set by the FORTRAN parameter MSIZED. Solution: either reduce the size of the problem or increase the parameter and recompile VPLX. Consider whether the specification of the problem may have required much more storage than necessary. As an example, use of several variables and several class statements in the CREATE step, if not accompanied by one or more block statements, asks VPLX to cross-classify all analytic variables by all class variables. (Technical: called from ROOMD.) VP0201 - Overflow in the general integer array. This array has varying size depending on the step, but is governed by the value of the FORTRAN parameter MSIZEI. Solution: either reduce the size of the problem or increase the parameter and recompile VPLX. (Technical: called from RCHECK.) VP0202 - Maximum number of variables exceeded. There is an attempt to define more variables than permitted by the FORTRAN parameter MVAR. Solution: either reduce the size of the problem or increase the parameter and recompile VPLX. (Technical: called from RCHECK.) VP0203 - Maximum number of variance identifies and by variables exceeded. Variables defining the replication, such as CLUSTER and STRATUM, and by variables affect the size of a number of internal arrays. The specification of the problem now uses more of these variables than permitted by the FORTRAN parameter MAXIDS. Solution: either reduce the size of the problem or increase the parameter and recompile VPLX. (Technical: called from RCHECK.) VP0204 - Recode arrays exceeded. The arrays are governed by the FORTRAN parameter MRECOD. During CREATE and related steps, recode arrays hold information related to each executable statement, INPUT, ADD IF, etc. The number of such operations now exceeds the allotted space. During TRANSFORM, recode arrays hold information on each variable passed to subroutines. Solution: either reduce the size of the problem or increase the parameter and recompile VPLX. (Technical: called from RCHECK.) VP0205 - Maximum number of ranges exceeded. There is an attempt to employ more ranges than permitted by the FORTRAN parameter MRANGE. As an example, the statement cat quest1 (1/2-3/4,5-9/10/res) results in 6 ranges: 1; 2-3; 4; 5-9; 10; res Solution: either reduce the size of the problem or increase the parameter and recompile VPLX. Look for syntax that might reduce the number of ranges in use. For example, cat quest1 - quest100 (1/2) 'Yes' 'No' recodes 100 variables while only requiring the storage of 2 ranges (Technical: called from RCHECK.) VP0206 - Maximum number of sets of ranges exceeded. There is an attempt to employ more sets of ranges than permitted by the FORTRAN parameter MRNSET. As an example, the statement cat quest1 (1/2-3/4,5-9/10/res) results in 6 ranges: 1; 2-3; 4; 5-9; 10; res; but represents a single set of ranges. Solution: either reduce the size of the problem or increase the parameter and recompile VPLX. Look for syntax that might reduce the number of sets of ranges in use. For example, cat quest1 - quest100 (1/2) 'Yes' 'No' recodes 100 variables while only requiring the storage of 1 set of ranges (Technical: called from RCHECK.) VP0207 - Maximum number of levels exceeded. Each level of a class or categorical variable has an associated level. The total number of such levels is governed by the FORTRAN parameter MRNSET. Solution: either reduce the size of the problem or increase the parameter and recompile VPLX. (Technical: called from RCHECK.) VP0208 - Maximum number of blocks exceeded. The total number of allowed blocks is governed by the FORTRAN parameter MCLBLK. Solution: either reduce the size of the problem or increase the parameter and recompile VPLX. (Technical: called from RCHECK.) VP0209 - Maximum number of class specifications for blocks exceeded. Arrays hold information for each class variable associated with each block. The dimension of these arrays is governed by the FORTRAN parameter MCLBAR. Solution: either reduce the size of the problem or increase the parameter and recompile VPLX. (Technical: called from RCHECK.) VP0210 - An integer array to hold information for crossed variables (crossed real, crossed categorical, and crossed derived) is full. The dimension of this array is governed by the FORTRAN parameter MCRSSD. Solution: either reduce the size of the problem or increase the parameter and recompile VPLX. Consider alternatives to crossed variables, such as the use of blocking and class variables. (Technical: called from RCHECK.) VP0211 - Maximum storage for formats and other long strings exceeded. The total number of strings, each of 128 characters, is governed by the FORTRAN parameter MAXFMT. Solution: Formats can be shortened by use of multipliers - for example, f3.0,f3.0,f3.0, can be shortened to 3f3.0, etc. (Technical: called from RCHECK.) VP0212 - Maximum number of TRANSFORM step subroutines exceeded. The total number of subroutines is governed by the FORTRAN parameter MTRANS. Solution: Long TRANSFORM steps can be broken into separate TRANSFORM steps, with the output of one shortened step fed directly into the next. (Technical: called from RCHECK. Simply increasing MTRANS, however, may have other consequences, since the space to handle subroutines comes out of the general integer array governed by MSIZEI. The relationship among parameters is described in TSET1.) VP0213 - Maximum storage for temporary names exceeded. The array in question is used in two ways: to hold variable names temporarily during parsing of statements and to hold variable names associated with the components of CROSSED REAL, CROSSED CAT or CROSSED DERIVED variables. This space is governed by the FORTRAN parameter MVAR. Solution: The temporary space may be inadequate because the number of defined variables at this point may be close to the allowed maximum MVAR. (Technical: called from RCHECK.) VP0300 - A file name is expected here, but no characters remain on this record. (Technical: called from FNFIND.) VP0301 - During the reading of a file name, an unexpected apostrophe has been encountered. (Technical: called from FNFIND.) VP0302 - During the reading of a file name, the file name has exceeded 80 characters, the maximum allowed. Solution: consider the use of default directories or other devices to shorten the spelling of the file name. (Technical: called from FNFIND.) VP0303 - An unexpected "(" appears here while trying to read a file name. When not enclosed in parenthesis, a "(" may be used to set off optional file parameters, after the name of the file has been given. VPLX expected a file name here instead of "(". (Technical: called from FNRD2.) VP0304 - An unexpected ")" appears here while reading a file name. When not enclosed in parenthesis, a ")" may be used to set off optional file parameters, after the name of the file has been given and followed by a "(". The appearance here of ")" is unexpected. (Technical: called from FNRD2.) VP0305 - Unclear whether named file is input or output. Solution: use IN = or OUT = syntax. (Technical: called from FNRD2.) VP0306 - Unsuccesful attempt to find file name. Solution: A file name is expected here. Check spelling and syntax. (Technical: called from FNRD2.) VP0307 - During attempt to read a file name, the construction KEYWORD = was encountered, but KEYWORD was not IN, OUT, or VPLXIN as expected. (Technical: called from FNRD2.) VP0308 - During attempt to read optional parameters associated with a file, the required construction KEYWORD = value was not followed as expected. (Technical: called from FNRD2.) VP0309 - During attempt to read optional parameters associated with a file, the key word in a KEYWORD = value construction was not one of the expected forms. Solution: Check spelling of the key word. As of version 95.07, the expected forms are UNIT, VOL, VOLSER, RECL, LRECL, TRK, MAXREC, SECOND and BLKSIZE. (Technical: called from FNRD2.) VP0310 - During attempt to read optional parameters associated with a file, the required construction KEYWORD = VALUE had a longer than anticipated length. (Technical: called from FNRD2.) VP0311 - During attempt to read optional parameters associated with a file, the required construction KEYWORD = VALUE required VALUE to be an integer. (Technical: called from FNRD2.) VP0312 - During attempt to read optional parameters associated with a file, the required construction KEYWORD = VALUE, value was outside the expected range. (Technical: called from FNRD2.) VP0313 - More than one input file has been defined, where only one is expected. (Excluding a VPLXIN = file, if any.) (Technical: called from FNRD2.) VP0314 - More than one output file has been defined, where only one is expected. (Technical: called from FNRD2.) VP0315 - More than one VPLXIN= file has been defined, where only one is expected. (Technical: called from FNRD2.) VP0316 - The IN= file does not exist. According to the host system, the file does not exist. Check the spelling of the file name, the use of directories. This message may occur if the file exists but the run does not have read access to the file because of file protections. (Technical: called from FNRD2.) VP0317 - The VPLXIN= file does not exist. According to the host system, the file does not exist. Check the spelling of the file name, the use of directories. This message may occur if the file exists but the run does not have read access to the file because of file protections. (Technical: called from FNRD2.) VP0318 - A VPLXIN= file is required for this step but has not been defined. (Technical: called from FNRD2) VP0319 - An IN= file is required for this step but has not been defined. (Technical: called from FNRD2) VP0320 - An input file is required for this step but has not been defined. (Technical: called from FNRD2) VP0321 - An output file is required for this step but has not been defined. (Technical: called from FNRD2) VP0322 - Unrecognized key word, key word out of order, or incorrect format. This error can occur in one of three ways: 1) Position 1 begins with a letter. Under all circumstances, VPLX interprets the first letter as the beginning of a key word. An error occurs either if the key word is not recognized at all or if the key word appears in an inappropriate step. 2) Position 1 begins with an underscore "_" indicating indendation. In this case, the first nonblank position after position 1 is assumed to begin a key word. If the key word is not recognized, the same considerations as the previous case apply. A common mistake while using "_" for code indendation is to mistakenly begin continuation lines with "_" - continuation lines should always begin with a blank in position 1. 3) Position 1 is blank. VPLX expected a key word to appear here because it believed that the previous line entirely completed the information associated with the previous key word. In other words, the program did not expect a continuation line at this point. (Technical: called from the main program.) VT0001 - Parameters incorrectly set for TRANSFORM step. VPLX must be recompiled. This error call was made immediately as the TRANSFORM step began and does not depend on the subsequent commands. (Technical: called from TSET1. When VPLX was compiled, the values chosen for several parameters are used to compute the parameter MTRSZI. This parameter must be larger than 12 * MTRANS, another parameter. In fact, MTRSZI must be much larger since MTRSZI-12*MTRANS is space used for other purposes Increasing the parameter MSIZEI sufficiently is one approach to solve this problem.) VT0002 - No output file has been identified. The TRANSFORM step requires an output file. (Technical: called from TSET1.) VT0003 - No file has been identified. This subroutine requires that a file be specified. (Technical: called from TSET1.) VT0004 - This statement is out of order. A statement of this type must follow the appearance of a subroutine name. A subroutine has not yet been named. (Technical: called from TSET1.) VT0005 - A valid variable name was expected at this point, but VPLX was unable to find one. Specify one or more valid variable names here. (Technical: called from TSET1.) VT0006 - A valid variable name was expected, but VPLX was unable to find one. Specify one or more valid variable names as part of this statement. (Technical: called from TSET1.) VT0007 - After specifying COUNT, n(block#) must follow, where block# denotes an integer constant. For example, COUNT n(2) (Technical: called from TSET1.) VT0008 - The variable has been previously defined. Only names of new variables are expected at this point. Solution: If the duplication with a previous name is accidental then the new name should be changed. If the duplication is deliberate, then MODIFY may be a more appropriate choice, here. (Technical: called from TSET1. VT0009 - Expected additional information to follow "(". Presumably, additional information was intended as part of the specification. (Technical: called from TSET1.) VT0010 - Either a "(" or a "/" was expected here. (Technical: called from TSET1.) VT0011 - The block number must be explicitly given for COUNT. For example: COUNT N(2) to establish a block count for block 2. (Technical: called from TSET1.) VT0012 - The number of levels must be explicitly given for CLASS in the TRANSFORM step. For example: CLASS age_class (5) to establish that age_class has 5 levels. Level labels follow this first part of the statement. (Technical: called from TSET1.) VT0013 - The specification of a CAT, CROSSED CAT, CROSSED REAL, or CROSSED DERIVED variable has followed the syntax for the default option (taking the number of levels from the matching OLD variable in the list of OLD variables), but there is no matching OLD variable in this case. Solution: Decide whether the default option is appropriate. If so, arrange the order of the statements so that the OLD variables are defined before introducing the new variables that reference their characteristics. If not, provide the required information. For example. cat newcat (3) (Technical: called from TSET1.) VT0014 - The specification of a CAT, CROSSED CAT, CROSSED REAL, or CROSSED DERIVED variable has followed the syntax for the default option (taking the number of levels from the matching OLD variable in the list of OLD variables), but the matching OLD variable in this case is N(block), which is not allowed. Solution: Decide whether the default option is appropriate. If so, arrange the order of the statements so that the OLD variables are defined before introducing the new variables that reference their characteristics. If not, provide the required information. For example: cat newcat (3) (Technical: called from TSET1.) VT0015 - The specification of a CAT or single-dimensional CROSSED DERIVED variable has followed the syntax for the default option (taking the number of levels from the matching OLD variable in the list of OLD variables), but the matching OLD variable in this case is of the form N(crossed cat), N(crossed real) or value(crossed real). In each case, the matching old variable must be of dimension 2 for the default option. Solution: Decide whether the default option is appropriate. If so, arrange the order of the statements so that the OLD variables are defined before introducing the new variables that reference their characteristics. If not, provide the required information. For example: cat newcat (3) (Technical: called from TSET1.) VT0016 - The specification of a CAT or single-dimensional CROSSED DERIVED variable has followed the syntax for the default option (taking the number of levels from the matching OLD variable in the list of OLD variables), but the matching OLD variable in this case is not one of the allowed forms. Solution: Decide whether the default option is appropriate. If so, arrange the order of the statements so that the OLD variables are defined before introducing the new variables that reference their characteristics. If not, provide the required information. For example: cat newcat (3) (Technical: called from TSET1.) VT0017 - The specification of a CROSSED CAT, or CROSSED DERIVED variable has followed the syntax for the default option (taking the number of levels from the matching OLD variable in the list of OLD variables). The matching OLD variable is also CROSSED CAT or CROSSED DERIVED, but the function applied to the OLD variable is not one of the allowed forms. Solution: Decide whether the default option is appropriate. If so, arrange the order of the statements so that the OLD variables are defined before introducing the new variables that reference their characteristics. If not, provide the required information. For example: crossed derived newderived (3,2) (Technical: called from TSET1.) VT0018 - The specification of a CROSSED CAT, or CROSSED DERIVED variable has followed the syntax for the default option (taking the number of levels from the matching OLD variable in the list of OLD variables). The matching OLD variable is CROSSED real, where the real variable is crossed by a single categorical dimension. Consequently, the dimensions cannot be transferred to the new variable. Solution: Decide whether the default option is appropriate. If so, arrange the order of the statements so that the OLD variables are defined before introducing the new variables that reference their characteristics. If not, provide the required information. For example: crossed derived newderived (3,2) (Technical: called from TSET1.) VT0019 - The specification of a CROSSED CAT, or CROSSED DERIVED variable has followed the syntax for the default option (taking the number of levels from the matching OLD variable in the list of OLD variables). The matching OLD variable is CROSSED real, but the transformation applied to the OLD variable is inappropriate to transfer the dimensions to the new variable. Solution: Decide whether the default option is appropriate. If so, arrange the order of the statements so that the OLD variables are defined before introducing the new variables that reference their characteristics. If not, provide the required information. For example: crossed derived newderived (3,2) (Technical: called from TSET1.) VT0020 - The specification of a CROSSED CAT, or CROSSED DERIVED variable has followed the syntax for the default option (taking the number of levels from the matching OLD variable in the list of OLD variables). The matching OLD variable is not one of the possible types: CROSSED CAT, CROSSED DERIVED, or CROSSED REAL. Solution: Decide whether the default option is appropriate. If so, arrange the order of the statements so that the OLD variables are defined before introducing the new variables that reference their characteristics. If not, provide the required information. For example: crossed derived newderived (3,2) (Technical: called from TSET1.) VT0021 - The specification of a CROSSED REAL variable has followed the syntax for the default option (taking the number of levels from the matching OLD variable in the list of OLD variables). The matching OLD variable must also be CROSSED REAL and not have any functions (MEAN, etc.) applied. Solution: Decide whether the default option is appropriate. If so, arrange the order of the statements so that the OLD variables are defined before introducing the new variables that reference their characteristics. If not, provide the required information. For example: crossed real newcrossed (3,2) (Technical: called from TSET1.) VT0022 - At this point, the specification for the dimensions of a CAT, CROSSED CAT, CROSSED REAL, or CROSSED DERIVED variable was expected to follow the "(", but a valid specification was not found. (Technical: called from TSET1.) VT0023 - The specification for the N of a block did not follow the expected form, which is: count n(#block) where #block is a positive integer, for example count n(4) (Technical: called from TSET1.) VT0024 - The CROSSED DERIVED variable was assumed to be of a single dimension, but the specification did not follow the expected form, which is: crossed derived vname (size) where size is a positive integer, for example crossed derived ratio (4) Note: crossed derived variables of multiple dimensions are also allowed, for example crossed derived ratio_matrix (4,7) (Technical: called from TSET1.) VT0025 - The specification of a CAT or CLASS variable did not follow the expected form, which is: cat vname (size) where size is a positive integer, for example cat marital_stat (5) (Technical: called from TSET1.) VT0026 - A CROSSED CAT variable requires the specification of at least two levels, for example crossed cat vname (3,7) (Technical: called from TSET1.) VT0027 - Each of the specified dimensions of a CROSSED CAT, CROSSED REAL, or CROSSED DERIVED variable must be a positive integer, for example: crossed cat vname (3,7) (Technical: called from TSET1.) VT0028 - A "/" was expected here as part of a / CLASS or / BLOCK specification. The character encountered was not successfully interpreted. (Technical: called from TSET1.) VT0029 - Either CLASS or BLOCK was expected here as part of a / CLASS or / BLOCK specification. (Technical: called from TSET1.) VT0030 - A second / CLASS specification has followed an earlier one. There should be only a single / CLASS specification associated with this statement. (Technical: called from TSET1.) VT0031 - In attempting to scan a / CLASS specification, there was insufficient room in the array used to store the result. Solution: Attempt to simplify the problem by breaking it down into smaller steps. Alternatively, the FORTRAN source can be recompiled by making the changes described in the technical note. (Technical: called from TSET1. The available size is determined by the FORTRAN parameter MTRSZI, which is derived from the values of several other parameters, including MSIZEI. The recommended approach is to increase MSIZEI.) VT0032 - In attempting to scan a / CLASS specification, there was insufficient room in the array used to store the result. Solution: Attempt to simplify the problem by breaking it down into smaller steps. Alternatively, the FORTRAN source can be recompiled by making the changes described in the technical note. (Technical: called from TSET1. The available size is determined by the FORTRAN parameter MRECOD) VT0033 - A class specification in the TRANSFORM step must be in the form of a single product. In other words, class variables must be joined by *, e.g., / class age * sex * tenure A class specification not following this form, for example, / class age * sex tenure is acceptable during the DISPLAY step but not the TRANSFORM step. (Technical: called from TSET1.) VT0034 - The class specification contained a duplicate reference to a class variable, which is not allowed. (Technical: called from TSET1.) VT0035 - A previous / BLOCK specification has already been given. Only one /BLOCK specification is allowed. (Technical: called from TSET1.) VT0036 - An integer was expected here as part of the / BLOCK specification. (Technical: called from TSET1.) VT0037 - A /CLASS or /BLOCK specification was expected, but neither key word was found. (Technical: called from TSET1.) VT0038 - The /BLOCK specification gives a block number beyond the current range. Blocks must be created in order, although new variables may be added to existing blocks. Solution: The /BLOCK specification should point to an existing block or to the next higher block that has not yet been defined. (Technical: called from TSET1.) VT0039 - The /BLOCK specification points to an existing block. The /CLASS specification given here is not compatible with the existing block however. Either the existing block does not have any associated class variables or the associated class variables differ. Possible differences include the issue of defined margins, that is, the distinction between AGE (0-N) and AGE (or AGE (1-n)) (Technical: called from TSET1.) VT0040 - The /BLOCK specification points to an existing block. No /CLASS specification was given here but the existing block has one or more associated class variables. Solution: Assign the results to a different block or give a compatible /CLASS specification. (Technical: called from TSET1.) VT0041 - Both KEEP and DROP statements have been provided. This combination is not allowed. Solution: Specify the variables on the outgoing VPLX file with only one method. KEEP is the more standard usage. (Technical: called from TSET1.) VT0042 - The format of the KEEP or DROP statement is in error. No variable names were successfully read. Solution: The KEEP or DROP statement must be followed with a valid list of variables. (Technical: called from TSET1.) VT0043 - During processing of a KEEP or DROP statement, the list of variables ends prematurely. Unexpected punctuation or other characters interrupt the variable list. (Technical: called from TSET1.) VT0044 - An OLD or MODIFY list contained an unrecognized variable name. All variables in the list must be previously defined. (Technical: called from TSET1, based on a code returned by VTSCAN.) VT0045 - A syntactic error occurred while processing the OLD or MODIFY list of variables. (Technical: called from TSET1, based on a code returned by VTSCAN.) VT0046 - No variables were successfully identified in the OLD or MODIFY list of variables. (Technical: called from TSET1, based on a code returned by VTSCAN.) VT0047 - N(BLOCK#) may be included in the OLD or MODIFY list of variables only if BLOCK# is a valid integer denoting the number of an existing block. (Technical: called from TSET1.) VT0048 - MODIFY does not recognize any form of transformation of the variable, such as mean, percent, etc. (Technical: called from TSET1.) VT0049 - OLD permits the MEAN of a real variable, but only if a (weighted) N already exists for the block. The variable does not have an associated N. (Technical: called from TSET1.) VT0050 - A "/" was expected here as part of a / CLASS specification. The character encountered was not successfully interpreted. (Technical: called from TSET1.) VT0051 - CLASS was expected here as part of a / CLASS specification. (Technical: called from TSET1.) VT0052 - BLOCK was expected here as part of a REMOVE BLOCK statement. (Technical: called from TSET1.) VT0053 - The REMOVE BLOCK statement was incomplete. Either a number must be supplied, for example, REMOVE BLOCK 3 or a range REMOVE BLOCK (1-3) (Technical: called from TSET1.) VT0054 - The block number given is outside the valid range. (Technical: called from TSET1.) VT0055 - Extraneous information specified beyond the block number. Either a single number must be supplied, for example, REMOVE BLOCK 3 or a range REMOVE BLOCK (1-3) (Technical: called from TSET1.) VT0056 - The REMOVE BLOCK statement appeared to be of the form REMOVE BLOCK (range) but a valid range was not given. (Technical: called from TSET1.) VT0057 - The REMOVE BLOCK statement can specify a single block number, for example, REMOVE BLOCK 3 or a range REMOVE BLOCK (1-3) Neither form was detected. (Technical: called from TSET1.) VT0058 - Only one CONSTANTS statement may appear per subroutine. (Technical: called from TSET1.) VT0059 - Specification of INTEGER CONSTANTS not allowed for this subroutine. (Technical: called from TSET1.) VT0060 - Only one INTEGER CONSTANTS statement may appear per subroutine. (Technical: called from TSET1.) VT0061 - No valid values were read. (Technical: called from TSET1, on the basis of N returned by DASCAN.) VT0062 - STRINGS are limited to 128 characters, including a single inserted blank between each line. FORMATS and LONGSTRINGS are able to accommodate longer lengths. (Technical: called from TSET1.) VT0063 - Options for the subroutine have been established already, and new ones are not accepted here because of potential conflicts. (Technical: called from TSET1.) VT0064 - There are no established options for this subroutine. (Technical: called from TSET1.) VT0065 - No variables have been associated with the subroutine. Each subroutine must have one or more associated variables. Note: This message may have been generated at a point at which an unexpected keyword, not associated with the TRANSFORM step, has been encountered. (Technical: called from TSET1.) VT0066 - ADD, SUBTRACT, MULTIPLY, or DIVIDE was expected to follow PAIRED. (Technical: called from TSET1.) VT0067 - A valid file name must be specified with this subroutine. (Technical: called from TSET1.) VT0068 - In attempting to process an OLD or MODIFY statement, there was insufficient room in the array used to store the result. Solution: Attempt to simplify the problem by breaking it down into smaller steps. Alternatively, the FORTRAN source can be recompiled by making the changes described in the technical note. (Technical: called from TSET1. The available size is determined by the FORTRAN parameter MRECOD.) VT0069 - STEPOPTION, STEP_OPTION may be used only once and must be placed the beginning of the TRANSFORM step before any subroutines. (Technical: called from TSET1.) VT0070 - OPTION or OPTIONS was expected to follow STEP. STEP OPTION, STEP OPTIONS, STEPOPTION, STEPOPTIONS, STEP_OPTION, and STEP_OPTIONS are all accepted means to specify options for the step (case insensitive). Use one of these spellings. (Technical: called from TSET1.) VT0071 - APPEND was expected to follow VPLX. VPLX APPEND, VPLXAPPEND, and VPLX_APPEND are all accepted means to identify this subroutine (case insensitive). Use one of these spellings. (Technical: called from TSET1.) VT0072 - Further information was expected after this key word. Complete the specification begun with the key word. (Technical: called from TSET1.) VT0073 - This statement may not be used as part of a VPLX_APPEND specification. (Technical: called from TSET1.) VT0101 - A class variable has appeared more than once in the / CLASS specification, which is not allowed. Solution: Revise the / CLASS specification into the required form. (Technical: called from CLFORM.) VT0102 - / CLASS specifications for new variables or blocks may contain class ranges in the form (0-n) and (1-n), but no other variations are permitted. Solution: Revise the / CLASS specification into the required form. (Technical: called from CLFORM.) VT0103 - / CLASS specifications for new variables or blocks may contain class ranges in the form (0-n) or (1-n), but the + operator is not permitted in the range. Solution: Revise the / CLASS specification into the required form. (Technical: called from CLFORM.) VT0104 - / CLASS specifications for new variables or blocks may contain class ranges in the form (0-n) or (1-n), but the given specification references too many levels for the class variable. Solution: Revise the / CLASS specification into the required form. (Technical: called from CLFORM.) VT0105 - / CLASS specifications for new variables or blocks may contain class ranges in the form (0-n) or (1-n), but the upper end of the specification did not include the full number of levels of the class variable. Solution: Revise the / CLASS specification into the required form. (Technical: called from CLFORM.) VT0110 - The MODIFY statement includes a / CLASS specification for a variable in a block with no associated classes. (Technical: called from CLCHK3.) VT0111 - The / CLASS specification includes a class variable not associated with the block. (Technical: called from CLCHK3.) VT0112 - The / CLASS specification for a MODIFY variable referenced a margin of a class variable, but the variable is summable and its margins therefore cannot be modified. (Only modification of the individual cells is allowed for summable variables). (Technical: called from CLCHK3.) VT0113 - The / CLASS specification for a MODIFY variable referenced a margin of a class variable, but the margin was not previously defined. (Technical: called from CLCHK3.) VT0114 - The / CLASS specification for a MODIFY variable included a "+" summation over classes, but modification of sums of this sort is not permitted. (Technical: called from CLCHK3.) VT0115 - The / CLASS specification for a MODIFY variable referenced a class variable more than once. In general, repetition of class variables is not allowed in / CLASS specifications in the TRANSFORM step. (Technical: called from CLCHK3.) VT0120 - The file version of the appended VPLX file is not supported. Solution: Regenerate the VPLX file that is being appended with a current version of the VPLX program. (Technical: called from PREAMD.) VT0121 - Unexpected end of appended VPLX file. The file appears to be damaged. Solution: Investigate the appended VPLX file by performing a CONTENTS and attempting to DISPLAY the file. If similar difficulties are encountered, regenerate the appended VPLX file. (Technical: called from PREAMD.) VT0122 - Pointers for crossed variables are inconsistent on appended file. The file appears to be damaged. Solution: Investigate the appended VPLX file by performing a CONTENTS and attempting to DISPLAY the file. If similar difficulties are encountered, regenerate the appended VPLX file. (Technical: called from PREAMD.) VT0130 - A class variable on the appended file has the same name as an existing variable, but the existing variable is not a class variable. Solution: Change the name of one of the variables to remove the conflict. To rename an existing variable, use RENAME. To rename the class variable on the incoming file, use EXTRACT. (Technical: callled from VAPSET.) VT0131 - A class variable on the appended file has the same name as an existing class variable, but the existing variable has a different number of levels. Solution: Change the name of one of the variables to remove the conflict. To rename an existing variable, use RENAME. To rename the class variable on the incoming file, use EXTRACT. (Technical: callled from VAPSET.) VT0300 - The KEEP or DROP list includes a variable name that was not defined. (Technical: called from TCREA1.)