AMBIG_HANDLE, Database handle '', qualifying constraint '', found multiple times in ON list Explanation: The database handle used to qualify the constraint exists more than once in the ON list of the START_TRANSACTION statement. User Action: Correct the database handle name or correct the list of handles in the ON list. AMBIG_REL_NAME, Relation '' exists in multiple databases; the name must be qualified Explanation: The named relation exists in more than one database. User Action: Use a database context variable to qualify the relation. ATLINE, at line in the file Explanation: The previous error was detected at the stated line in the stated file. User Action: Use this information to help find an error in source file. AUTO_LOCK_ONLY, SQL does not support [NO]AUTO_LOCKING syntax; always uses AUTOLOCKING Explanation: A WITH AUTO_LOCKING or WITH NOAUTO_LOCKING clause was seen in a START_TRANSACTION statement. SQL does not support the syntax for either clause. SQL behaves as though WITH AUTO_LOCKING was specified as its default behavior. There is no way to mimic WITH NOAUTO_LOCKING. User Action: Eliminate WITH NOAUTO_LOCKING from your source code. The warning is generated for WITH AUTO_LOCKING also to make you aware that an explicit clause has been removed. BADDMLPARSE, Error parsing file specification '' Explanation: The file specification provided cannot be used. User Action: Correct the file specification. BAD_PROTOCOL, CDD record description is malformed Explanation: The CDD record is malformed. 1 User Action: It may be necessary to integrate the database metadata in the CDD using the Rdb INTEGRATE command. BETWEENORD, BETWEEN operands must be in order in SQL Explanation: RDML interprets the BETWEEN operator differently from SQL. In RDML, "A BETWEEN B OR C" is equivalent to "A BETWEEN C OR B". Although the converter could have generated a functionally equivalent disjunction, this would have been sloppy. If the converter can evaluate the expressions, it does and places the expressions in the correct order. If not, it produces a warning. The diagnostic file can be used to easily locate and modify this code. User Action: Make sure that the second and third operands of a BETWEEN expression are always properly ordered; or alternatively, OR the BETWEEN clause generated with another with the second and third operands in reverse order. BLR_GENERATION, Error occurred during BLR generation Explanation: An error was detected during the BLR generation phase of precompilation. Additional messages identify the specific problem more precisely. User Action: Follow the actions suggested for the messages that identify the specific problem. CDD_ERROR, error accessing the CDD Explanation: RDML detected an unexpected error while loading metadata. User Action: insure that the CDD metadata is correct. CODE_GENERATION, Error occurred during code generation Explanation: An error was detected during the code generation phase of precompilation. Additional messages identify the specific problem more precisely. User Action: Follow the actions suggested for the messages that identify the specific problem. CVINUSE, Context variable '' has already been defined Explanation: The named symbol has been previously defined and cannot be redefined in a new context. 2 User Action: Use a unique name for the conflicting symbol. DATE_CONVERT, date/time string can not be converted Explanation: The date/time string literal can not be converted to VMS binary date format. The string literal format does not match the format defined by the logical name LIB$DT_INPUT_FORMAT, or the default system format which is DD-MMM-YYYY HH:MM:SS.CC. User Action: Check the definition of this logical name and the string literal in the RDML source code. DATE_EMPTY, /DATE_TYPE=EMPTY_RECORDS specified; use /DATE_TYPE=NOEMPTY_RECORDS Explanation: You explicitly specified the obsolete value EMPTY_RECORDS using the /DATE_TYPE qualifier. This causes RDML to generate a date type for Pascal using an empty record. The Pascal compiler may not handle assignments for dates appropriately in this case. User Action: Either specify /DATE_TYPE=NOEMPTY_RECORDS or omit the /DATE_TYPE qualifier from the RDML command line. DDTMHANDLES, DDTM transaction handles generated for this module; use /CONTEXT=ALL qualifier when compiling SQL module Explanation: The converter generated extra arguments to SQL-Module Language procedures to pass transaction information to the Digital Database Transaction Manager. User Action: Be sure to COMPILE and LINK your SQL Module Language files with the correct compilation switches and libraries. DIC_DB_CHG, A dictionary definition used by CDD/Plus database has changed Explanation: A dictionary definition used by the database has changed. The actual information in the provided CDD pathname may not be consistent and you may receive unexpected results. User Action: Use the INTEGRATE statement to resolve any differences between the dictionary and the database, insure that the CDD metadata is correct. DMLSYNTAX, Syntax error: found '' when expecting '' Explanation: A syntax error has been detected; the symbol found does 3 not match the expected symbol. User Action: Corrent the syntax error. DUP_CDD_NAME, Record type has conflicting CDD definitions Explanation: Two relations from different databases have the same name. Normally, the preprocessor disambiguates these relations by prefixing their names with the database handle. However, when the databases come from CDD and the converter is generating references to the data dictionary, the dictionary chooses the names which will be used to refer to a relation structured type. CDD will not choose unique names, hence your program will not compile. User Action: If the relation referred to by the message is identical to the relation which was declared (perhaps because it came from a different link to the same database), then nothing needs to be done. If the relation is different you will have to take steps to disambiguate the Orelation names yourself or re-translate using the /NOCDD_NAMES switch. DUP_REDUCE_CLSE, Duplicate REDUCED Clause found in this RSE. It was ignored Explanation: A REDUCED clause has been specified twice in a record selection expression. User Action: Remove the incorrect or duplicate entry from the record selection expression. DUP_REQ_OPTION, Duplicate Request Option found and ignored Explanation: A request or transaction handle has been specified twice in a RDML statement. User Action: Remove the incorrect or duplicate entry from the statement. DUP_SORT_CLAUSE, Duplicate SORT Clause Found in this RSE. It was ignored Explanation: A SORT clause has been specified twice in a record selection expression. User Action: Remove the incorrect or duplicate entry from the record selection expression. DUP_WITH_CLAUSE, Duplicate WITH Clause found in this RSE. It was 4 ignored Explanation: A WITH clause has been specified twice in a record selection expression. User Action: Remove the incorrect or duplicate entry from the record selection expression. EOFERR, Unexpected end-of-file encountered while processing '' Explanation: A premature end of file was encountered during the processing of a statement. User Action: Correct the incomplete statement. ERROR_CREATING, Cannot create file '' Explanation: Cannot create the named file. User Action: Make sure the file can be created as specified. ERROR_OPENING, Cannot open file '' Explanation: Cannot open the named file. User Action: Make sure the file can be accessed as specified. FINISH, FINISH behaves differently in SQL Explanation: FINISH closes and detaches from all databases in SQL. User Action: Check code to see if your usage will be affected. FLD_IN_MUL_REL, Field '' (used in an OVER clause) is defined in more than two relations Explanation: The OVER clause is ambiguous because the named field appears in more than two relations in the current query. User Action: Use a WITH clause to express an unambiguous query. FLD_NOT_DEFINED, Field '' is not defined in relation '' Explanation: The named field is not defined in the named relation. User Action: Correct the field reference. FLD_ONLY_IN_ONE, Field '' (used in an OVER clause) is only defined in relation '' 5 Explanation: The OVER clause is ambiguous because the named field does not appear in two relations in the current query. User Action: Use a WITH clause to express an unambiguous query. GFLOATING, G_Floating datatypes detected in this module; use /G_FLOATING qualifier when compiling Explanation: A double precision floating point number was detected in this module during processing. User Action: Be sure to COMPILE and LINK all modules in the application with the correct compilation switches and libraries. HOST_VARIABLE, Error detected in host variable syntax Explanation: The current token, which appears to be a host variable, does not fit the recognized syntax for host variables. User Action: Correct the host variable syntax. ILLMODIFY, Record modification must be done in a record stream Explanation: An attempt is being made to modify a record outside an established record stream. User Action: Place the modify statement in an established record using a FOR or START_STREAM statement. ILLPREFIX, Illegal characters in global prefix Explanation: The value specified for the /GLOBAL_PREFIX qualifier, or the file name if /GLOBAL_PREFIX was not specified, contains a character which is neither alphanumeric nor the underscore character. The converter will still operate, but the resulting code may not compile or link properly. User Action: Specify a value for /GLOBAL_PREFIX which contains only the upper or lowercase letters, the digits 0-9, or underscore ('_'). ILLRETRIEVE, Segmented string retrieval is not permitted from within a STORE Explanation: An attempt is being made to retrieve a segmented string from within a STORE statement. User Action: Remove the incorrect statement. 6 INVINGET, Invalid within GET statement Explanation: The GET statement contains an invalid value expression. User Action: Correct the value expression. INVPRESTRHDL, handle '' specified in START_STREAM for declared stream -- handle ignored Explanation: A START_STREAM statement for a declared stream specified an explicit handle. The handle was ignored by RDML. Any explicit handle for a declared stream must be specified on the DECLARE_STREAM declaration, rather than on the START_STREAM statement. User Action: Remove the handle specification, or move it to the DECLARE_STREAM statement. INVWILD, Assigning values to database fields using wildcards is only valid once within STORE and MODIFY statements Explanation: An invalid wildcard assignment was recognized. Either it was not inside a STORE or MODIFY statement, or it was specified more than once in such a statement. User Action: Remove the wildcard assignment, or enclose it inside a STORE or a MODIFY statement. INV_HANDLE, Database handle '', qualifying constraint '', not found in ON list Explanation: The database handle used to qualify the constraint does not exist in the ON list of the START_TRANSACTION statement. User Action: Correct the database handle name or correct the list of handles in the ON list. JOIN_ATTRIBUTE, Relation '' is part of join cannot be updated Explanation: You tried to modify or erase records from a relation that is joined (using the CROSS clause) with other relations. User Action: Redefine the query so that the relation you are trying to update is not directly joined to other relations. i.e. do not use a CROSS clause, but instead represent the other relation references as subqueries. LIKECONFL, Letters and underscore detected in a LIKE string 7 Explanation: The converter converts MATCHING string constants to use the LIKE wildcard characters. There is no way to have both letters and an underscore in a LIKE target string that will still have the same semantics as the original, because SQL only permits either IGNORE CASE or an ESCAPE character, but not both. The converter will generate IGNORE CASE andthe underscore will act as a wild card, matching ANY single character (as '%' does in MATCHING. User Action: Change the target pattern. LIKETOOBIG, Conversion to LIKE string overflows buffer Explanation: When converting a MATCHING string to a LIKE string, additional escape characters were added which overflow the character string buffer. User Action: Break the comparison up into smaller segments. LIKE_TEXT, LIKE strings have different wildcards in SQL Explanation: The RDML wild card pattern matching characters '*' and '%' are written as '%' and '_', respectively, in SQL. User Action: When constructing the character string to be passed to the SQL module language matching function, use '%' and '_'. LINETOOLONG, Line number is longer than characters Explanation: The line mentioned is longer than the maximum allowed length. User Action: Shorten the line or split the line into smaller lines. MISSCLSQUOTE, Missing close quote; inserted at end-of-line Explanation: A quoted string is missing a closing quote. User Action: Place a closing quote at the end of the quoted string. MOD2RELS, SQL does not allow on streams with multiple relations Explanation: You have used MODIFY or ERASE on a stream whose record selection expression references more than one relation (i.e, contains a CROSS clause). SQL only permits its equivalent of MODIFY (UPDATE) and ERASE (DELETE) to operate on streams which reference no more than one relation as these are considered read only. 8 User Action: Rewrite your code so it does not attempt to modify or erase from these relations. MODREDUCE, SQL does not allow on reduced streams Explanation: You have used MODIFY or ERASE on a stream whose record selection expression contains a REDUCED TO clause. SQL does not permit its equivalent of MODIFY (UPDATE) and ERASE (DELETE) to operate on these streams as these are considered read only. User Action: Rewrite your code so it does not attempt to modify or erase from these relations. MODSORT, SQL does not allow on sorted streams Explanation: You have used MODIFY or ERASE on a stream whose record selection expression contains a SORTED BY clause. SQL does not permit its equivalent of MODIFY (UPDATE) and ERASE (DELETE) to operate on ordered streams as these are considered read only. User Action: Rewrite your code so it does not attempt to modify or erase from these relations. MULTI_DB_ACCESS, Multiple database access is not supported in a single request Explanation: The query as stated requires more than one database to be referenced in the same generated request. User Action: Correct the query. NESTEDCOMMENT, Nested comment encountered -- ignored Explanation: A nested comment was encountered. Nesting of comments is not supported. User Action: Remove the nested comment. NESTED_MODIFY, Nested modifies on the same context variable are not allowed Explanation: The MODIFY statement references a context variable already being modified. User Action: Correct the MODIFY statement. NODMLOUTPUT, No output file generated due to errors Explanation: No host language output file was generated due to 9 errors detected during processing. User Action: Correct problems associated with any previous errors. NOENDERROR, No END_ERROR was found in this block Explanation: An END_ERROR was expected before this point. User Action: Add the missing END_ERROR. NOENDSTMT, Statement was not terminated by a matching end statement Explanation: A FETCH, FOR, GET, MODIFY, STORE, or ON ERROR was encountered but no matching END_FETCH, END_FOR, END_GET, END_MODIFY, END_STORE, or END_ERROR was found. User Action: Supply a matching end statement. NOMISSVAL, No missing value has been defined for field '' Explanation: A missing value was not found for the named field. User Action: Define a missing value in the database field's definition. NOREQHANDLE, Request handles are not supported by SQL Explanation: Currently SQL maintains the information contained in request handles on its own. There is no equivalent to RDML request handles in SQL. User Action: Programs which have multiple transactions must be rewritten without request handles. NOSUCHREL, Relation '' does not exist Explanation: The named relation does not exist in the currently referenced databases. User Action: Correct the relation reference. NOSUCHSTREAM, Stream name '' was not declared Explanation: The stream name specified in the START_STREAM statement was expected to be a declared stream name but had not previously been declared using a DECLARE_STREAM statement. User Action: Correct the stream name, or add the appropriate DECLARE_STREAM statement. 10 NOTATRANSHANDLE, Transaction handle '' has not been defined Explanation: A transaction handle has not been defined correctly. User Action: Correct the transaction handle. NOTIMPLEMENTED, '' is not implemented Explanation: The named feature is not currently implemented. User Action: Contact your Oracle support representative for assistance. NOTINREDUCE, . does not appear in the REDUCED TO clause. Explanation: When a REDUCED TO clause appears in a record selection expression, the results of referencing any of the fields not contained in the REDUCED TO clause are not defined. Although the preprocessor does not disallow this, the results are not guaranteed. SQL does not permit such usage. User Action: Either add the missing fields to the REDUCED TO clause, or eliminate the reference to these fields. NOTLOCAL, Field referenced '' in SORTED BY or REDUCED TO is not in the context of query Explanation: The database field referenced with a SORTED BY or REDUCED TO clause is not defined within this query. This will have the effect of sorting, or projecting to a constant value which is of little value. User Action: Examine the query and ensure that you have used the correct context variable, and field name. NOTRHANDLE, Transaction handles are not supported by SQL Explanation: Currently SQL does not support multiple transactions. User Action: Programs which have multiple transactions must be rewritten so that all concurrent database requests occur in the same transaction. NOTRHANDLES, No user transaction handles detected in this module; consider retranslation with /NOTRANS_HANDLES Explanation: You have converted an RDML Module with no user-specified transaction handles. This message only appears if the /TRANS_HANDLES qualifier is in effect by default. 11 User Action: You may want to re-convert your code using the /NOTRANS_HANDLES qualifier. This will eliminate some of the overhead of using DDTM with your database code. If you do want the extra DDTM arguments and procedure calls, this message can be suppressed by specifying /TRANS_HANDLES explicitly in the command line. NOTSSFIELD, '' is not a segmented string field name Explanation: The preprocessor expected a field of type segmented string and the specified field was not of that type. User Action: Change the field name to one of type segmented string, or change the syntax so that a segmented string is not expected. NOTSTORECV, '' is not a STORE or MODIFY context variable Explanation: The context handle must be one specified on an enclosing STORE or MODIFY statement. User Action: Change the context handle to the one specified in the enclosing STORE or MODIFY statement. NOWORKINBLK, No items stored or modified in STORE or MODIFY block Explanation: No fields are stored or modified by the current STORE or MODIFY statement. User Action: Add fields to be modified or stored if appropriate. NO_CDD_META_DATA, unable to load metadata from the CDD Explanation: An unexpected error was detected while accessing the CDD and attempting to load metadata. The provided CDD pathname may be incorrect or the actual information in the CDD may be inconsistent with the expected protocol. User Action: use a correct CDD pathname, insure that the CDD metadata is correct. NO_DATABASE, No DATABASE statement has been processed prior to this point Explanation: A DATABASE statement must be the first statement processed. User Action: Place the DATABASE statement in the appropriate position in the source code. NO_LANGUAGE, No Language has been specified on the command line or 12 input file Explanation: A language must be specified as a command line qualifier or by using the default file extensions. User Action: Use a command qualifier or file extension to specify what language is to be processed. NO_META_DATA, Cannot access compile-time metadata in file '' Explanation: An unexpected error was detected while accessing the database and attempting to load metadata. The provided filename may be incorrect or the actual information in the database may be inconsistent with the expected format. User Action: Use a correct database filename, insure that the database metadata is correct. ON_ERROR, ON_ERROR should be ON ERROR Explanation: An ON_ERROR was found when the correct syntax is ON ERROR, with no underscore. RDML issues the warning message, but assumes that an ON ERROR clause was encountered. User Action: Change the ON_ERROR to ON ERROR, removing the extraneous underscore, and preprocess the source again. PARSING, Error occurred during parsing Explanation: An error was detected during the parsing phase of precompilation. Additional messages identify the specific problem more precisely. User Action: Follow the actions suggested for the messages that identify the specific problem. PREPARE, PREPARE statement not translated to VAX SQL Explanation: The PREPARE statement has no effect in RDML, and is not converted to SQL. User Action: Although not necessary, the statement may be removed from the source code along with ON ERROR clauses. PSECTNOEFF, Linkage type PROGRAM_SECTIONS is not supported with EPASCAL -- using linkage type GLOBAL_SYMBOLS Explanation: The /LINKAGE=PROGRAM_SECTIONS qualifier only applies to VAX Pascal and VAX C. With RDML/EPASCAL, the 13 GLOBAL_SYMBOLS linkage type is always used, regardless of what is specified on the command line. User Action: This is an informational message to remind the EPASCAL user that only linkage type GLOBAL_SYMBOLS is available with EPASCAL. To suppress the message, simply specify the /LINKAGE=GLOBAL_SYMBOLS qualifier. RDML_ABORT, Fatal Preprocessor Utility Error Aborted because: Explanation: A fatal internal error has occurred. User Action: Contact your Oracle support representative for assistance. You will need to provide adequate information to reproduce the problem, including, but not limited to: a complete description of the problem, a complete description of the database, the source code of the module that is causing the problem. and any related output files such as listings that may provide further information. READY, READY statement has no VAX SQL equivalent Explanation: The READY statement has no SQL equivalent, and is not converted to SQL. User Action: Remove the statement from the source. READ_ONLY, Invalid attempt to update a read only field '' Explanation: A COMPUTED BY field can only be read and can not be updated in STORE, or MODIFY statement. User Action: Do not reference the read only field in the STORE, or MODIFY statements. REL_NOT_IN_DB, Relation '' does not exist in database '' Explanation: The named relation does not exist in the named database. User Action: Correct the relation name or add the relation to the database. SEGSTRACCESS, Segmented Strings Should be accessed through FOR or STORE Explanation: Detected access to a segmented string field outside a normal segmented string FOR or STORE statement. 14 User Action: Check to make sure that segmented string fields are being correctly accessed. SIGARGS, Signal arguments: PC = , PSL = Explanation: This message contains information related to the RDML_ABORT message, when an unexpected preprocessor exception is encountered. It displays the signal argument vector contents for the exception. User Action: See the RDML_ABORT message code. SORTSTAT, SORTED BY found in a boolean or statistical expression Explanation: A SORTED BY clause was found in a record selection expression associated with any of the operators ANY, AVERAGE, COUNT, MAX, MIN, TOTAL, and UNIQUE. Although strictly not incorrect, the order of records in a stream does not affect the value of these operations. User Action: In most cases, this message results from the SORTED BY clause being incorrectly associated with a nested subexpression. Placing parentheses around the subexpression will help RDML properly group the clause with the primary expression. Because of SQL syntax restrictions, the side effects of sort clauses on statistical expressions in RDML cannot be reproduced. SOURCE_REQUIRED, A Source file specification is required on the command line Explanation: A source file is required for further processing. User Action: Provide a source file specification on the command line. SUMMARY, Completed with Error(s), warning(s), and informational message(s) Explanation: A brief summary of messages generated during processing. User Action: None. SYNTAX, Syntax Error Explanation: A syntax error has been detected. User Action: Correct the syntax error. TRUNCPREFIX, Prefix too long; truncated to 15 Explanation: The value specified for the /GLOBAL_PREFIX qualifier, or the file name if /GLOBAL_PREFIX was not specified, is longer than the maximum allowable size. If the prefix is not truncated, global symbols are likely to share their first 31 characters and the linker will see them as the same symbols. User Action: Specify a shorter value for /GLOBAL_PREFIX. TYPE_CONFLICT, There is a type conflict between elements of this RSE Explanation: A potential type conflict has been detected, but the database system may be able to perform the conversion. User Action: Make sure that the statement causing this message is performing the function that is intended. UNBALSTRM, Undeclared stream '' has no END_STREAM statement Explanation: A START_STREAM statement was seen for an undeclared stream, but a matching END_STREAM statement was not seen. User Action: Use a declared stream, or balance the START_STREAM statement for the undeclared stream with an END_STREAM statement. UNTERMPASNUMLIT, Missing closing apostrophe in Pascal binary, octal or hexadecimal numeric literal -- inserted Explanation: A Pascal binary (%b'010101'), octal (%o'1234'), or hexadecimal (%x'12AB') numeric literal was found not to have been terminated properly. User Action: Properly terminate the numeric literal with an apostrophe. WILDHASSEGSTR, This wild-card assignment includes a segmented string field Explanation: When a wild-card assignment occurs in RDML, all fields in the relation are copied. In SQL, it is not possible to retrieve segmented string handles from the database, therefore these fields will not have valid values. The converter generates an assignment for the field, but it will have no effect. User Action: It is recommended that the program be rewritten without segmented string identifiers directly accessed. 16