In an ambiguous situation, the migration tool is not always able to
determine the correct EGL syntax to build during migration. This
typically occurs when an associated part is not available during
migration. In these cases, the migration tool sometimes creates
intentionally invalid EGL syntax so that an error will appear on the Tasks
list. The table below lists the specific text string that will cause an
error in EGL validation or preprocessing. The specific EGL error
message might vary, but the text string listed in the left column will appear
near the EGL statement that is flagged as an error. Whenever the
migration tool includes these text strings, the tool also issues a message to
the migration log.
Figure 133. VAGen migration text that causes EGL syntax errors
VAGen migration text in EGL syntax
| Problem and Solution |
---|---|
###KEYS_NOT_FOUND### |
Problem: The current SQL record embeds another record's structure. During migration the record named on the embed statement was not available. Any key item specified for the current SQL record in VAGen is included in the keyItems property, but the keys from the embedded record are missing. Solution: Find the record named on the embed
statement. Replace the ###KEYS_NOT_FOUND### text with the keys listed
in the embedded SQL record. Be sure to merge the embedded record keys
with the current record's key item in the order that the items appear in
the record structure of the embedded record. If the current
record's key item is also specified as key=yes in the embedded record,
only include the item once in the EGL keyItems property.
|
###TABLES_NOT_FOUND### |
Problem: The current SQL record embeds another record's structure. During migration the record named on the embed statement was not available. Solution: Find the record named on the embed statement and
copy the tableNames and tableNameVariables properties
into the current SQL record.
|
EZE_DUPLICATE |
Problem: The record named on a VAGen IF, WHILE, or TEST statement was not available during migration. Solution: Find the record named on the EGL if or while statement. Change EZE_DUPLICATE to one of the following:
|
EZE_NULL |
Problem: The migration tool could not determine whether the item named on a VAGen IF, WHILE, or TEST statement is in an SQL record or on a map. Solution: Review the program and determine whether the
item is in an SQL record or on a form. Replace EZE_NULL with
null for an SQL item or blanks for a form field.
|
EZE_SETPAGE(); |
Problem: The map named on a VAGen SET map PAGE statement was not available during migration. Solution: Find the map named on the // VAGen Info comment that accompanies the EZE_SETPAGE() statement. Change EZE_SETPAGE to one of the following:
|
EZE_UNKNOWN_PARTTYPE |
Problem: The External Source Format stored in the migration database was not valid. The migration tool was not able to determine the part type and was not able to convert the part to EGL syntax. Solution: The part named on the EZE_UNKNOWN_PARTTYPE statement is not valid. If this problem only occurs for a few parts, try exporting External Source Format from VisualAge Generator and migrating these parts in single file mode. If you created your own tool to load the migration database, there might be
a problem with the way the tool is loading External Source Format code into
the migration database. See Migration Database for some queries that might be useful in determining what is
causing the problem.
|
EZE_UNKNOWN_RETURN_COLUMN |
Problem: The VAGen table named on the VAGen RETR statement was not available during migration. Solution: Find the EGL Data Table named on the assignment
statement and replace EZE_UNKNOWN_RETURN_COLUMN with the name of the second
column in the table.
|
EZE_UNKNOWN_SEARCH_COLUMN |
Problem: The VAGen table named on the VAGen FIND or RETR statement was not available during migration. Solution: Find the EGL Data Table named on the
if statement and replace EZE_UNKNOWN_SEARCH_COLUMN with the name of
the first column in the table.
|
EZE_UNKNOWN_SQLTABLE |
Problem: The SQL record named as the I/O object was not available during migration. The migration tool was not able to determine the correct tables clause for the EGL I/O statement. Solution: Find the record named on the I/O statement and
determine the correct tables clause from the record's
tableNames and / or tableNameVariables
properties.
|
EZE_UNKNOWN_SQL_FORUPDATEOF |
Problem: VisualAge Generator created a default for update of clause for the SQL UPDATE or SETUPD I/O option. The SQL record named as the I/O object was not available during migration. Therefore, the migration tool was not able to determine the correct for update of clause for the EGL I/O statement. Solution: Find the record named on the I/O statement and determine the correct for update of clause from the record's data items list. The default for update of clause in VisualAge Generator is the list of column names from the record in the same order as the items are listed in the record, but omitting the following:
If the record named on the I/O statement embeds another SQL record, do the following:
If the for update of clause is used in an EGL prepare
statement, enclose the list of column names within double-quotes.
|
EZE_UNKNOWN_SQL_INSERTCOLNAME |
Problem: VisualAge Generator created a default list of columns for the SQL ADD I/O option. The SQL record named as the I/O object was not available during migration. Therefore, the migration tool was not able to determine the correct list of column names for the EGL add statement. Solution: Find the record named on the I/O statement and
determine the correct list of columns from the record's data items
list. The default list of column names in VisualAge Generator is the
list of column names from the record in the same order as the items are listed
in the record, but omitting any column name that is specified with the EGL
isReadOnly=yes property. If the record named on the I/O statement
embeds another record, use the record named on the embed statement to
determine the order of the columns and the isReadOnly=yes property.
This list of column names is never used in an EGL prepare
statement.
|
EZE_UNKNOWN_SQL_INTO |
Problem: VisualAge Generator created a default list of data items for the into clause for the SQL INQUIRY, SETINQ, UPDATE, or SETUPD I/O option. The SQL record named as the I/O object was not available during migration. Therefore, the migration tool was not able to determine the correct into clause for the EGL I/O statement. Solution: Find the record named on the I/O statement and
determine the correct list of items for the into clause. The
default list of item names in VisualAge Generator is the list of items from
the record in the same order as the items are listed in the record. If
the record named on the I/O statement embeds another record, use the record
named on the embed statement to determine the order of the data
items. The into clause is never included on an EGL
prepare statement.
|
EZE_UNKNOWN_SQL_SELECT |
Problem: VisualAge Generator created a default list of data items for the select clause for the SQL INQUIRY, SETINQ, UPDATE, or SETUPD I/O option. The SQL record named as the I/O object was not available during migration. Therefore, the migration tool was not able to determine the correct select clause for the EGL I/O statement. Solution: Find the record named on the I/O statement and
determine the correct list of column names for the select
clause. The default list of column names in VisualAge Generator is the
list of column names from the record in the same order as the items are listed
in the record. If the record named on the I/O statement embeds another
record, use the record named on the embed statement to determine
the order of the columns. If the select clause is used in an
EGL prepare statement, enclose the list of column names within
double-quotes.
|
EZE_UNKNOWN_SQL_VALUES |
Problem: VisualAge Generator created a default list of data items to provide the values for the SQL ADD I/O option. The SQL record named as the I/O object was not available during migration. Therefore, the migration tool was not able to determine the correct list of item names for the EGL add statement. Solution: Find the record named on the I/O statement and
determine the correct list of items from the record's data items
list. The default list of item names in VisualAge Generator is the list
of item names from the record in the same order as the items are listed in the
record, but omitting any item name that is specified with the EGL
isReadOnly=yes property. If the record named on the I/O statement
embeds another record, use the record named on the embed statement
to determine the order of the columns and the isReadOnly=yes property.
The values clause is never used in an EGL prepare
statement.
|
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.