VisualAge Generator to Enterprise Generation Language Migration Guide


Appendix D. Messages on Tasks list or from the preprocessor

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:

  • duplicate for a non-SQL record
  • unique for an SQL record

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:

  • clearScreen() for a display map
  • pageEject() for a printer map

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:

  • Any column name that is listed in the EGL keyItems property for the record.
  • Any column name that is specified with the EGL isReadOnly=yes property.

If the record named on the I/O statement embeds another SQL record, do the following:

  • Use the record named on the embed statement to determine the order of the columns and the isReadOnly=yes property.
  • Use the record named on the I/O statement (the embedding record) to determine the keyItems property.

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.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]