VisualAge Generator to Enterprise Generation Language Migration Guide


Messages from the VisualAge Generator to EGL migration tool-- Stage 2

The message inserts are always the VAGen part name, before any required renaming for EGL reserved words.

IWN.MIG.0001.e Exception parsing External Source Format file fileName - invalid External Source Format header.

Explanation: The migration tool only processes External Source Format that is exported from VisualAge Generator 4.5. The first line of the specified External Source Format file does not have the proper header for a VisualAge Generator 4.5 External Source Format file.

User Response: Import the External Source Format file into VisualAge Generator 4.5. This converts your current parts to VisualAge Generator 4.5 format. Then export the parts using VisualAge Generator 4.5 and run migration again.

IWN.MIG.0002.e Exception parsing External Source Format file fileName, partType, partName - exceptionText

Explanation: A problem occurred parsing the External Source Format syntax from VisualAge Generator. Possible causes of this problem are:

User Response: Correct the part in VisualAge Generator and export the External Source Format again. Then run the Stage 2 migration tool to process the file. If you are unable to correct the part in VisualAge Generator, contact IBM support for assistance. Be prepared to provide the External Source Format source for the file.

IWN.MIG.0003.eException converting to EGL for file fileName, partType, partName - exceptionText

Explanation: A problem occurred during the creation of the EGL source. The exceptionText identifies the specific problem that occurred.

User Response: Contact IBM support for assistance. Be prepared to provide the External Source Format source for the file.

IWN.MIG.0047.i Migration set Name -- migration started.

Explanation: This is an informational message to indicate status from the migration tool.

User Response: None.

IWN.MIG.0048.i Migration set Name - migration completed.

Explanation: This is an informational message to indicate status from the migration tool.

User Response: None.

IWN.MIG.0049.ipartType partName for EGL projectName, packageName, fileName - Migration started

Explanation: This is an informational message to indicate status from the migration tool. The partType is one of the following: Program, Map Group, or Table. The associates for the specified partName will be migrated at the same time. The associates might be in the same file as the partName or in different projects, packages, or files based on information in the migration database. When migration of a program starts, each associated map group is migrated, followed by each associated table. Finally, any remaining associates (records, shared items, and functions) are migrated.

User Response: None.

IWN.MIG.0050.iProgram programName - Migration of other associates started

Explanation: This is an informational message to indicate status from the migration tool. When migration of a program starts, each associated map group is migrated, followed by each associated table. Finally, any remaining associates (records, shared items, and functions) are migrated. Message IWN.MIG.0050.i is issued when the migration of the remaining associates for the program starts.

User Response: None.

IWN.MIG.0051.e Exception parsing migration set planName, partType, partName - invalid External Source Format header.

Explanation: The migration tool only processes External Source Format that is exported from VisualAge Generator 4.5. The first line of the External Source Format for the specified part does not have the proper header for a VisualAge Generator 4.5 External Source Format file. This might occur if you modified the sample Stage 1 migration tool or if you wrote your own Stage 1 migration tool to load the migration database.

User Response: Import the External Source Format file into VisualAge Generator 4.5. This converts your current parts to VisualAge Generator 4.5 format. Then use the Stage 1 migration tool to export the migration set.

IWN.MIG.0052.e Exception parsing migration set planName, partType, partName - exceptionText.

Explanation: A problem occurred parsing the External Source Format syntax from VisualAge Generator. Possible causes of this problem are:

User Response: Correct the part in VisualAge Generator and run Stage 1 migration again to correct the database. Then run the Stage 2 migration tool again to process the updated parts. If you are unable to correct the part in VisualAge Generator, contact IBM support for assistance. Be prepared to provide a small repository (.dat file) containing the parts that have problems.

IWN.MIG.0053.e Exception converting to EGL for migration set planName, partType, partName - exceptionText.

Explanation: A problem occurred during the creation of the EGL source. The exceptionText identifies the specific problem that occurred.

User Response: Contact IBM support for assistance. Be prepared to provide the External Source Format source for the part.

IWN.MIG.0054.e Invalid External Source Format for migration set migrationSetName, partType, partName.

Explanation: The External Source Format stored for the specified part is not valid. The migration tool continues processing other parts in the specified migration set. For the purposes of migrating with associated parts, the migration tool considers the specified part to be unavailable. The migration tool stores intentionally invalid EGL in the migration database for the specified part. The EGL that is stored is EZE_UNKNOWN_PARTTYPE partName; This ensures that there will be an error on the Tasks list.

User Response: Review the specified part in VisualAge Generator. Try exporting External Source Format for the part and migrating the part in single file mode.

IWN.MIG.0055.eMigration halted - error limit exceeded.

Explanation: The error threshold has been exceeded for parts with invalid External Source Format. The migration tool stops processing.

User Response: Review all occurrences of message IWN.MIG.0054.e. 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.

IWN.MIG.0080.iVAGen Migration Preferences file pref_store.in not found; defaults assumed.

Explanation: There is no VAGen migration preferences file. The migration tool uses the default values for the preferences (for example, the renaming suffix and help map suffix). This might be because you specified a new workspace during migration so that preferences do not exist. The preferences file is located in

workspace-directory\.metadata\plugins 
   \com.ibm.etools.egl.vagenmigration
   \pref_store.ini

User Response: See syntax migration preferences for information about the default values for the migration preferences.

IWN.MIG.0081.iFile fileName - migration completed.

Explanation: The migration tool has completed processing for the specified file.

User Response: Review the log messages to see the results of the migration.

IWN.MIG.0082.eFile fileName - required parameters are not specified.

Explanation: One or more required parameters have not been specified. The -importFile parameter is always required. If the -importFile parameter specifies an External Source Format file, then the -eglFile and -package parameters are also required.

User Response: Review the batch command file to determine which parameters were not specified. Add the parameters and then run the batch command file again.

IWN.MIG.0083.eFile fileName - parameter parmName has not been assigned a value.

Explanation: parmName is one of the following: -importFile, -eglFile, -package.

User Response: Correct the batch command file and then run it again.

IWN.MIG.0084.eFile fileName - parameter parmName, value value is not valid.

Explanation: parmName is one of the following: -importFile, -eglFile, -package. The parameter names are case sensitive.

User Response: Correct the batch command file and then run it again.

IWN.MIG.0085.eFile fileName - invalid parameters are passed in the parameter list.

Explanation: There is a problem with the batch command file. One or more of the parameters is entered incorrectly. The only valid parameters are: -importFile, -eglFile, -package, and -overwrite.

User Response: Correct the batch command file and then run it again.

IWN.MIG.0090.eProgram programName - is a web transaction program, which is not supported for migration.

Explanation: The specified program is a web transaction program. The migration tool does not migrate the program part.

User Response: None. You must wait until a future release of EGL to be able to migrate this program.

IWN.MIG.0091.eRecord recordName - is a UI record, which is not supported for migration.

Explanation: The specified record is a User Interface (UI) record. The migration tool does not migrate the record part.

User Response: None. You must wait until a future release of EGL to be able to migrate this record.

IWN.MIG.0092.eFunction functionName - uses XFER with a UI record, which is not supported for migration.

Explanation: The specified function contains an XFER statement that uses a UI record. This release of EGL does not support web transactions or UI records. The migration tool migrates the function, but the EGL syntax that is produced might not be the correct replacement for the XFER with a UI record statement. However, this technique preserves as much of your logic as possible.

User Response: Review the EGL function. You will not be able to migrate any web transaction programs or UI records that use this function. Therefore, you will not be able to use this function until a future release of EGL. You might want to move the function to a different project to avoid having errors on the EGL Tasks list.

IWN.MIG.0093.wFunction functionName - uses one or more EZEUIxxx special function words.

Explanation: The specified function contains statements that use the special function words EZEUIERR or EZEUILOC. Web transactions and UI records are not supported by this release of EGL. However, there are EGL replacements for the EZEUIxxx special function words. The migration tool migrates the function and converts the EZEUIxxx word to the EGL equivalent system library function. This preserves as much of your logic as possible.

User Response: Review the EGL function. You will not be able to migrate any web transaction programs or UI records that use this function. However, you might be able to use the function if you create any new EGL page handlers.

IWN.MIG.0094.e PSB psbName is not supported for migration.

Explanation: PSB parts are not currently supported by the migration tool. The migration tool does not migrate the PSB part.

User Response: Review the PSB and any programs that use this PSB. If the PSB only contains TP PCBs you might be able to generate the program for another environment if all of the following are true:

IWN.MIG.0095.e Function functionName - EZESCRPT is not supported for migration.

Explanation: The specified function contains statements that use the EZESCRPT special function word. EZESCRPT is not currently supported by the VAGen migration tool. The migration tool migrates the function, but comments out the statement that uses EZESCRPT.

User Response: Review the EGL function. You will not be able to generate or run programs that use this function in this release.

IWN.MIG.0096.e Function functionName - uses one or more EZEDLxxx status words, which are not supported for migration.

Explanation: The specified function contains statements that use one or more of the EZEDLxxx special function words (for example, EZEDLKEY and EZEDLSTC). DL/I is not currently supported by the VAGen migration tool. The migration tool migrates the function, but the EGL syntax that is produced might not be the correct replacement for this EZEDLxxx special function word.

User Response: Review the EGL function. You will not be able to generate or run programs that use this function in this release. You might want to move the function to a different project to avoid having errors on the EGL Tasks list.

IWN.MIG.0097.eProgram programName - called parameter parmName is not supported for migration.

Explanation: A VAGen program specifies either EZEDLPSB or EZEDLPCB as a called parameter. DL/I and the IMS runtime environment are not currently supported by the migration tool. The migration tool migrates the program, but comments out the use of this called parameter.

User Response: Review the program. You will not be able to test or generate it at this time.

IWN.MIG.0098.eRecord recordName is a DL/I record, which is not supported for migration.

Explanation: The specified record name is a DL/I record. DL/I is not currently supported by the migration tool. The migration tool does not migrate the record.

User Response: Review any programs that use this record. You will not be able to test or generate the programs at this time.

IWN.MIG.0099.e Function functionName - DL/I I/O is not supported for migration.

Explanation: The specified function performs I/O on an DL/I record. DL/I is not currently supported by the VAGen migration tool. The migration tool migrates the function, but the information for the I/O statement is not correct.

User Response: Review the EGL function. You will not be able to generate or run programs that use this function in this release. You might want to move the function to a different project to avoid having errors on the EGL Tasks list.

IWN.MIG.0101.e Data item dataItemName - Unable to determine edit routine type for editRoutineName; function assumed.

Explanation: VisualAge Generator supports EZEC10, EZEC11, a function or a table as the map edit routine for a data item. EGL supports both a validator function and a validatorTable property for a data item. The migration tool converts the map edit routine as follows:

User Response: If the specified edit routine is not a function, modify the data item definition and change the validator property to the validatorTable property. For additional considerations, see the information on edit routines in Map item edit routine for shared data items.

IWN.MIG.0102.w Part partName uses shared data item dataItemName - Unable to migrate to a primitive definition; using a type definition

Explanation: You selected the preference that migrates VAGen shared data items to EGL primitive definitions whenever a shared data item is used in a record, table, function parameter list, or function local storage. The item specified by dataItemName is used in the part specified by partName. However, the data item definition is not available during migration. The migration tool uses the data item name as a type definition so that the migrated code will be valid.

User Response: No action is required if you want to use the type definition. If you want to use a primitive definition, modify the specified part to use the correct item characteristics. Alternatively, include the shared data item in your migration set (or the External Source Format file if you are migrating in single file mode) and migrate again.

IWN.MIG.0201.iRecord recordName contains level 77 items; creating additional record named level77RecordName.

Explanation: VisualAge Generator supports level 77 items in working storage records. EGL does not support level 77 items. EGL does permit the definition of independent data items. The migration tool splits working storage records that contain level 77 items into 2 separate basicRecords -- one containing the non-level 77 items and one containing the level 77 items. If the working storage record contains only level 77 items, then the migration tool only creates the level 77 basicRecord. If a program specifies a primary working storage record that contains level 77 items, the migration tool includes declarations for both the original basicRecord and the level 77 basicRecord in the program definition.

User Response: None. For additional considerations, including the effect if recordName is not available during the migration of programs and statements, see the information on level 77 items in records in Level 77 items in records .

IWN.MIG.0202.iRecord recordName redefines redefinedRecordName.

Explanation: recordName is a VAGen Redefined record that specifies redefinedRecordName as the record being redefined. recordName provides a different item layout for the same physical storage that is used by the redefinedRecordName. EGL does not retain redefinition information in the records. That information is kept only in the programs. The migration tool includes a comment in recordName to provide the original VAGen redefinedRecordName information. When migrating programs, if recordName is available and results in an overlay definition in VisualAge Generator, the migration tool includes the redefines property for the recordName declaration.

User Response: None. For additional considerations, including the effect if recordName is not available during migration of a program, see the information on redefined records in Redefined records .

IWN.MIG.0203.eRecord recordName -- Does not contain any items.

Explanation: VisualAge Generator permits you to save a record part that does not contain any items. However, the record cannot be used in any programs because it is invalid. The migration tool migrates the record.

User Response: Determine whether you still need to have the record. If so, edit the record and add one or more data items. If not, delete the record.

IWN.MIG.0204.eRecord recordName - alternate specification record altspecRecord is not available; SQL table names cannot be determined.

Explanation: The record recordName specifies an alternate specification record named altspecRecord, which provides the item structure for recordName. In VisualAge Generator, for SQL records, the alternate specification record also provides the SQL table names. In EGL, the alternate specification record only provides the structure by using the embed statement. The table names must be specified in each SQL record definition. When migrating recordName, the record specified as the alternate specification record is not available during migration. The migration tool cannot determine the correct table names and sets the tableNames property to ###TABLES_NOT_FOUND###. The definition for recordName is invalid.

User Response: Edit recordName and copy in the tableNames and/or tableNameVariables properties from the alternate specification record. The tableNames property provides the actual SQL table names. The tableNameVariables property provides table name host variables. Both the tableNames and the tableNameVariables properties can be used if the recordName references a mixture of actual SQL table names and SQL table name host variables. For additional considerations, see the information on alternate specification records in Alternate specification records.

IWN.MIG.0205.eRecord recordName - alternate specification record altspecRecord is not available; SQL key items cannot be determined.

Explanation: The record recordName specifies an alternate specification record named altspecRecord, which provides the item structure for recordName. When VisualAge Generator determines the default selection condition for an SQL record, VisualAge Generator merges any items that specify key=yes in the alternate specification record with the key item, if any, specified in recordName. The keys are merged based on the order in which the items are listed in the record structure. In EGL, the alternate specification record only provides the structure by using the embed statement. All key items must be specified in each record definition. When migrating recordName, the record specified as the alternate specification record is not available during migration. The migration tool cannot determine the correct key items and sets the keyItems property to ###KEYS_NOT_FOUND###, followed by the key item, if any, from recordName. The definition for recordName is invalid.

User Response: Edit recordName and change the keyItems property to replace ###KEYS_NOT_FOUND### with the list of item names that specified key=yes in the VAGen alternate specification record (altspecRecord). Be sure to merge the key items from the alternate specification record with the key item specified in the VAGen definition for recordName so that the keyItems property lists the items in the same order they appear in the record structure. If an item is specified as key=yes in the alternate specification record and as the key item in recordName, only include the item once in the merged list of keyItems in recordName. For additional considerations, see the section on "Alternate specification records" on Alternate specification records.

IWN.MIG.0206.iSQL Record recordName -- Contains a key item keyItem without specifying an alternate specification record.

Explanation: VisualAge Generator permits you to save an SQL record that specifies a key item even if you do not specify an alternate specification record. However, in this situation, VisualAge Generator ignores the key item during test and generation. The key item only has meaning when there is also an alternate specification record.

User Response: None. The key item was ignored in VisualAge Generator. The migration tool eliminates it during migration.

IWN.MIG.0207.iRecord recordName - Specifies alternate specification record altspecRecord with only level 77 items; embed statement omitted.

Explanation: The record specified by altspecRecord is a working storage record that only contains level 77 items. When recordName specifies a working storage record as the alternate specification, VisualAge Generator uses only the structure (the non-level 77 items) from altspecRecord. The migration tool omits the embed statement because there are no items in the structure of altspecRecord.

User Response: None. However, you might want to delete recordName because it is an empty record. Be sure to delete all references to recordName in your programs.

IWN.MIG.0208.eRecord recordName - Alternate specification record altspecRecord is not available; cannot determine SQL column name for !itemColumnName variables.

Explanation: The record recordName specifies an alternate specification record named altspecRecord, which provides the item structure for recordName. When VisualAge Generator determines the default selection condition for an SQL record, VisualAge Generator converts any !itemColumnName variables to the corresponding SQL column name. In EGL, !itemColumnName variables are not supported. The SQL columns must be explicitly named in the default selection condition for each SQL record definition. When migrating recordName, the record specified as the alternate specification record is not available during migration. The migration tool cannot determine the correct SQL column name that corresponds to one or more !itemColumnName variables in the default selection condition. The migration tool uses !itemColumnName in the EGL default selection condition. The definition for recordName is invalid.

User Response: Edit recordName and change the defaultSelectCondition property to replace the !itemColumnName variables with the corresponding SQL column names from the VAGen alternate specification record (altspecRecord). For additional considerations, see the information on !itemColumnName variables in Alternate specification records.

IWN.MIG.0209.eRecord recordName - Alternate specification record altspecRecord has no items; embed statement omitted.

Explanation: The record recordName specifies an alternate specification record named altspecRecord, which provides the item structure for recordName. However, the alternate specification record does not have any data items. The migration tool omits the embed statement from the definition for recordName.

User Response: None. However, you should review recordName and altspecRecord to determine whether you need to include data items or whether the two records can be deleted. Be sure to delete all references to these records in your programs.

IWN.MIG.0301.eTable name tableName is a reserved word. It must be renamed.

Explanation: The migration tool does not rename tables for you.

User Response: You must change the name of the table and all references to it. This includes references in the following places:

If you want to keep the original table name as the name for the generated table, set the alias property to the original table name. If you do not specify the alias property, be sure to change any non-EGL references to the table name, including CICS program definitions.

IWN.MIG.0401.e Map group (form group) name mapGroupName is a reserved word. It must be renamed.

Explanation: The migration tool does not rename map groups (form groups) for you.

User Response: You must change the name of the form group and all references to it, including references in program use declaration statements. If you want to keep the original map group name as the name for the generated form group, set the alias property to the original map group (form group) name. If you do not specify the alias property, be sure to change any non-EGL references to the form group name, including CICS program definitions.

IWN.MIG.0402.e Map group mapGroupName -- Multiple devices have the same depth and width, but different floating areas; devices are: devicesList

Explanation: VisualAge Generator permits, but does not recommend, different floating area sizes for device types that have the same device size. EGL only permits one floating area for each device size. The migration tool migrates the floating area size for each device type. The form group definition is invalid. This message is repeated for each group of same-size device types that specified different floating area information in VisualAge Generator.

User Response: Edit the form group and delete all except one floating area specification for each group of same-size devices.

IWN.MIG.0403.eForm Group formGroupName - Requires editing to nest forms within the form group.

Explanation: When you migrate in single file mode, the migration tool does not nest forms within the form group. Instead, the migration tool inserts an EGL use statement to indicate the name of the forms that belong to the form group. The migration tool includes comments at the beginning and end of each form to indicate its form group.

User Response: Edit the file containing the form group part and move the form parts so that they are nested within the form group part. The use statements in the form group part indicate where the forms should be moved. After you have nested the form within the form group, remove the use declaration statement.

IWN.MIG.0404.w Map Group mapGroupName - Uses device deviceName and size depth,width which is no longer supported. It must be changed.

Explanation: VisualAge Generator permits some device types which EGL COBOL generation no longer supports for floating areas and text forms. The migration tool includes the original depth and width in the screenSize property within the ScreenFloatingArea property. However, this screenSize is no longer supported in EGL COBOL generation. If you generate for COBOL, there will be an error message from the preprocessor.

User Response: If you plan to generate for COBOL, edit the formGroup in EGL and either remove the ScreenFloatingArea property for this depth and width or change the depth and width to a size that is supported. You might also need to modify the text forms within the formGroup to reposition the variables and constants to better fit the new depth and width.

IWN.MIG.0501.e Help map group mapGroupName contains map mapName with variable fields -- mapName conflicts with the same map name in the program's main map group.

Explanation: VisualAge Generator permits the same map name to be used in a program's main map group and its help map group. EGL does not permit any duplicate form names in the program's two form groups. This restriction applies even if the forms with duplicate names are not used by the program. The migration tool renames maps in a program's help map group if they conflict with maps in the program's main map group and only contain constant fields. The migration tool does not rename a map in the program's help map group if it contains variable fields, even if the name conflicts with a map name in the program's main map group.

User Response: Edit the help form group and change the name of the form. Also be sure to change the form definition and all references to this form in all programs that use the form group. For additional considerations, see the information on map names in Map names and help map names.

IWN.MIG.0502.e Map group mapGroupName, map mapName and variable field mapItemName - Unable to determine edit routine type for editRoutineName; function assumed.

Explanation: VisualAge Generator supports EZEC10, EZEC11, a function or a table as the map edit routine for a map variable. EGL supports both a validator function and a validatorTable property for a form field. The migration tool converts the map edit routine as follows:

User Response: If the specified edit routine is not a function, modify the form field and change the validator property to the validatorTable property. For additional considerations, see the information on edit routines in Variable map fields and edit routines.

IWN.MIG.0503.w Map group mapGroupName, map mapName - Unnamed variable field converted to constant field at position(row,column).

Explanation: VisualAge Generator permits, but does not recommend, unnamed variable fields on maps. The program cannot access these unnamed variable fields. At test and generation, unnamed variable fields are converted to constants. The migration tool converted this unnamed variable field to a constant because one or more properties are non-default values.

User Response: Review the form definition and ensure that a constant field is the correct migration for this field. For additional considerations, see the information on unnamed variable fields in Unnamed variable fields.

IWN.MIG.0504.w Map group mapGroupName, map mapName - Unnamed variable field removed from position(row,column).

Explanation: VisualAge Generator permits, but does not recommend, unnamed variable fields on maps. The program cannot access these unnamed variable fields. At test and generation, unnamed variable fields are converted to constants. The migration tool removed this unnamed variable field because all of its properties specify the default values for a constant field. EGL does not require that constants with default properties be explicitly defined for the form.

User Response: Review the form definition and ensure removing this field is the correct migration. For additional considerations, see the information on unnamed variable fields in Unnamed variable fields.

IWN.MIG.0505.w Map Group mapGroupName, map mapName - Uses device deviceName and size depth,width which is no longer supported. It must be changed.

Explanation: VisualAge Generator permits some device types which EGL COBOL generation no longer supports for text forms. The migration tool includes the original depth and width in the screenSizes property for the migrated text form. However, this screen size is no longer supported in EGL COBOL generation. If you generate for COBOL, there will be an error message from the preprocessor.

User Response: If you plan to generate for COBOL, edit the text form in EGL and remove the depth and width from the screenSizes property or change the depth and width to a size that is supported. You might also need to modify the text form to reposition the variables and constants to better fit the new depth and width.

IWN.MIG.0506.e Map Group mapGroupName, map mapName - Unprotected constant at row, column; changed to protect=skip.

Explanation: VisualAge Generator permits unprotected constants on both display and printer maps. EGL requires that constants be specified as either protect=skip or protect=no. The migration tool sets protect=skip for the field.

User Response: No action is required if protect=skip is acceptable. With protect=skip, the end user can continue typing at the end of any immediately preceding variable field and the additional characters will be placed in the next unprotected variable field. Protect=no prevents the end user for continuing to type at the end of any immediately preceding variable field. The end user must tab to the next variable field to continue typing.

IWN.MIG.0507.wMap Group mapGroupName, map mapName - constant at row=0, column=0 changed to row=1, column=1.

Explanation: VisualAge Generator tolerates, but does not fully support, a constant at position row=0, column=0 on a map. Fields at row=0, column=0 cannot specify any attribute information. EGL does not support any field at row=0, column=0. The field at row=0, column=0 is a constant and the first byte is initialized to blank. The migration tool changes the position to row=1, column=1 and deletes the first byte of the constant value. The migration tool does not include any field presentation properties such as color or highlighting for the field because this information was not recorded in the External Source Format file.

User Response: Test any programs that use this form to determine if there is a change in the appearance of the display. If there is, edit the form and set the field presentation properties to obtain the desired appearance.

IWN.MIG.0508.eMap Group mapGroupName, map mapName - constant at row=0, column=0 cannot be changed.

Explanation: VisualAge Generator tolerates, but does not fully support, a constant at position row=0, column=0 on a map. Fields at row=0, column=0 cannot specify any attribute information. EGL does not support any field at row=0, column=0. The field at row=0, column=0 is a constant and the first byte is not initialized to blank. The migration tool does not change the position for the field because this could cause the constant to be moved or eliminated from the form and change the appearance. The migration tool does not include any field presentation properties such as color or highlighting for the field because this information was not recorded in the External Source Format file. There will be an error on the Tasks list.

User Response: Edit the form and change the constant field to position the field at row=1, column = 1. If necessary, modify the constant field to eliminate one byte to compenstate for the attribute byte that now occupies row=1, column=1. Be sure to test any programs that use this form to determine if there is a change in the appearance of the display. If there is, edit the form and set the field presentation properties to obtain the desired appearance.

IWN.MIG.0509.eMap Group mapGroupName, map mapName - variable at row=0, column=0 cannot be changed.

Explanation: This map might be from an older version of Cross System Product or VisualAge Generator. VisualAge Generator 4.5 does not support variables at row=0, column=0. Fields at row=0, column=0 cannot specify any attribute information. EGL does not support any field at row=0, column=0. The field at row=0, column=0 is a variable field. The migration tool does not change the position for the field because this would either cause the field to be moved or result in the loss of the first byte of data. The migration tool does not include any presentation properties such as color or highlighting for the field because this information was not recorded in the External Source Format file. There will be an error on the Tasks list.

User Response: Edit the form and change the field to position the field at row=1, column=1. If necessary, modify other fields around the variable field to avoid the loss of any data due to the attribute byte that now occupies row=1, column=1. Be sure to test any programs that use this form to determine if there is a change in the appearance of the display. If there is, edit the form and set the field presentation properties to obtain the desired appearance.

IWN.MIG.0510.eMap Group mapGroupName, map mapName - mapName conflicts with program name.

Explanation: The program uses a map group or help map group that contains a map that is named the same as the program. VisualAge Generator permits the map name to be the same as the program name. EGL does not permit the form name to be the same as the program name. The migration tool renames a map in the program's help map group if the map name is the same as the program name and the map does not have any variable fields. However, the migration tool does not rename a map in the following situations:

User Response: Edit the form group and change the name of the form. Also be sure the change the form definition and all references to this form in all programs that use the form group. For additional considerations, see the information on map names in Map names and help map names.

IWN.MIG.0601.w Function functionName, I/O object recordName - Unable to determine record type for UPDATE option; non-SQL record assumed.

Explanation: For SQL, if there are multiple UPDATE or SETUPD statements in a program, VisualAge Generator requires that the REPLACE function specifies the name of the corresponding UPDATE or SETUPD statement. EGL uses the resultSetID for SQL statements to specify the relationship between a replace statement and its corresponding get or open statement. The record specified by recordName is not available during migration. The migration tool assumed that the UPDATE function is for a non-SQL record and did not include the resultSetID.

User Response: If validation or preprocessing flag an error because there are multiple get or open statements for the same record in the program, edit the function and add a resultSetID to the get for update statement. The resultSetID must be unique within the program. The recommended resultSetID is the the function name followed by the Result Set Suffix preference you used during migration. For additional considerations, see the section on "SQL I/O with multiple updates" on SQL I/O with multiple updates.

IWN.MIG.0602.w Function functionName - Unable to determine map type for I/O object mapName; display map assumed.

Explanation: VisualAge Generator uses the DISPLAY I/O option for both display and printer maps. EGL uses the display statement only for text forms and the print statement for print forms. In VisualAge Generator Compatibility mode, the display statement can also be used for print forms. The map specified as mapName is not available during migration. The migration tool assumes that the map is a display map and migrates to the EGL display statement.

User Response: No action is required as long as you continue to use VisualAge Generator Compatibility mode or if the map is a display map. If the map is a print map and you want to discontinue use of VisualAge Generator Compatibility mode, you must change the function to use the print statement. For additional considerations, see DISPLAY statement for maps.

IWN.MIG.0603.e Function functionName, SQL I/O object recordName - Unable to determine SQL table name(s).

Explanation: VisualAge Generator determines the SQL table names from the SQL record at test and generation time. EGL requires that the table names be included in any modified SQL statement. The record specified by recordName is not available during migration. The migration tool uses EZE_UNKNOWN_SQLTABLE for the table name to insure that validation and preprocessing will flag an error. The migration tool also sets the table label for the statement to T1.

User Response: Edit the function and specify the correct table name(s) and table label(s) based on the record definition. The table names are in either or both of the tableNames and tableNameVariables properties in the EGL record definition. For additional considerations, see the information on SQL I/O options in SQL I/O and !itemColumnName.

IWN.MIG.0604.e Function functionName, SQL I/O object recordName - Unable to determine column names for !itemColumnName variable(s).

Explanation: The modified SQL statement used one or more VAGen !itemColumnName variables. A VAGen !itemColumnName variable specifies the name of an item in the SQL record definition which corresponds to the actual SQL column name. VisualAge Generator determines the actual SQL column names for any !itemColumnName variables from the SQL record at test and generation time. EGL does not support !itemColumnName variables. Instead, EGL requires that the actual SQL column names be used in any modified SQL statement. The record specified by recordName is not available during migration. The migration tool uses the !itemColumnNames in the modified SQL statement to provide as much information as possible.

User Response: Edit the function and specify the SQL column names based on the record definition. For each !itemColumnName, locate the corresponding item in the SQL record definition. The column name for that item is the column name you need to use in the EGL I/O statement. For additional considerations, see the information on !itemColumnNames in SQL I/O and !itemColumnName.

IWN.MIG.0605.w Function functionName, SQL I/O object recordName - SQLEXEC with model=none and no SQL clauses.

Explanation: The SQLEXEC statement specifies a model type of none, but does not contain any SQL clauses. VisualAge Generator in effect generates a no op for this statement. The migration tool generates an EGL no op statement (just a semi-colon) and includes a VAGen Info comment to indicate that the model type was none. If the VAGen function specifies an error routine, the migration tool includes the try, onException, and end statements appropriate for that error routine.

User Response: Review the function to determine whether the I/O statement should be eliminated or expanded.

IWN.MIG.0606.wFunction functionName - Unable to determine I/O object type for ioObjectName for CONVERSE; map assumed.

Explanation: VisualAge Generator uses the CONVERSE I/O option for both display maps and UI records. EGL uses the converse statement, but with different syntax, for both text forms and pageHandlers. The part specified as the ioObjectName is not available during migration. The migration tool assumes that the I/O object is a display map and migrates to the EGL converse statement using the syntax required for a text form.

User Response: If EGL validation or preprocessing flag an error, then change the converse statement to the EGL syntax required for a pageHandler.

IWN.MIG.0607.e Function functionName, SQL I/O object recordName - Unable to determine SQL I/O clause clauseName.

Explanation: In VisualAge Generator, at some points in time, only the SQL clause that was modified was saved with the function. In this situation, VisualAge Generator creates the remaining clauses from the record definition that is specified as the I/O object for the function. The specified recordName is not available during migration. The migration tool is unable to create the SQL clause. The clauseNames that might be listed in this message include: SELECT, INTO, WHERE, ORDERBY, INSERTCOLNAME, VALUES, FORUPDATEOF, and SET. The migration tool builds a skelton clause and includes EZE_UNKNOWN_SQL_CLAUSENAME.

User Response: Locate the record specified in the message. Edit the function to include the missing SQL clauses. To determine what the missing SQL clauses need to be, use VAGen SQL Statement Editor to view the SQL clauses. See SQL I/O and missing required SQL clauses for more details and potential problems.

IWN.MIG.0608.e Function functionName, SQL I/O object recordName - Unable to determine SQL I/O clause clauseName for alternate specification altspecRecordName.

Explanation: In VisualAge Generator, at some points in time, only the SQL clause that was modified was saved with the function. In this situation, VisualAge Generator creates the remaining clauses from the record definition that is specified as the I/O object for the function. The specified recordName is available during migration. However, recordName specifies an alternate specification record altspecRecordName which is not available during migration. The migration tool is unable to create the SQL clause. The clauseNames that might be listed in this message include: SELECT, INTO, WHERE, ORDERBY, INSERTCOLNAME, VALUES, FORUPDATEOF, and SET. The migration tool builds a skelton clause and includes EZE_UNKNOWN_SQL_CLAUSENAME.

User Response: Locate the alternate specification record specified in the message. Edit the function to include the missing SQL clauses. To determine what the missing SQL clauses need to be, use VAGen SQL Statement Editor to view the SQL clauses. See SQL I/O and missing required SQL clauses for more details and potential problems.

IWN.MIG.0701.e Function functionName - Unable to determine map type for mapName used in SET map PAGE statement; used sysLib.EZE_SETPAGE();

Explanation: VisualAge Generator uses SET map PAGE to indicate that the screen is to be cleared for a display map or that a page eject is to occur for a printer map. EGL uses the sysLib.clearScreen() statement only for text forms and the sysLib.pageEject statement for print forms. The map specified as mapName is not available during migration. The migration tool does not make an assumption about the map type. Instead, the migration tool uses the sysLib.EZE_SETPAGE() statement to insure that validation and preprocessing will flag an error. The migration tool includes the original map name as a comment.

User Response: Review the function and determine whether clearScreen() or pageEject() is the correct choice. For additional considerations, see the information on the SET map PAGE statement in SET map PAGE statement.

IWN.MIG.0702.e Function functionName - Unable to determine return column name for RETR statement due to missing table tableName.

Explanation: If the return column is not specified on a RETR statement, VisualAge Generator automatically determines the return column name based on the second column of the specified table. The EGL replacement for RETR is an if statement, followed by an assignment statement. The return column name must be explicitly specified in the assignment statement. The table specified by tableName is not available during migration. The migration tool uses EZE_UNKNOWN_RETURN_COLUMN to insure that validation and preprocessing will flag an error. If this problem occurs in program flow statements, the program name appears in the message instead of a function name.

User Response: Edit the function and specify the correct return column based on the table definition. The second column in the table is the default return column that is used in VisualAge Generator. For additional considerations, see the information on the RETR statement in RETR statement.

IWN.MIG.0703.e Function functionName - Unable to determine search column name for RETR statement due to missing table tableName.

Explanation: If the search column is not specified on a RETR statement, VisualAge Generator automatically determines the search column name based on the first column of the specified table. The EGL replacement for RETR is an if statement, followed by an assignment statement. The search column name must be explicitly specified in the if statement. The table specified by tableName is not available during migration. The migration tool uses EZE_UNKNOWN_SEARCH_COLUMN to insure that validation and preprocessing will flag an error. If this problem occurs in program flow statements, the program name appears in the message instead of a function name.

User Response: Edit the function and specify the correct search column based on the table definition. The first column in the table is the default search column that is used in VisualAge Generator. For additional considerations, see the information on the RETR statement in the section RETR statement .

IWN.MIG.0704.eFunction functionName - Unable to determine search column name for FIND statement due to missing table tableName.

Explanation: If the search column is not specified on a FIND statement, VisualAge Generator automatically determines the search column name based on the first column of the specified table. The EGL replacement for FIND is an if statement, followed by a function invocation statement. The search column name must be explicitly specified in the if statement. The table specified by tableName is not available during migration. The migration tool uses EZE_UNKNOWN_SEARCH_COLUMN to insure that validation and preprocessing will flag an error. If this problem occurs in program flow statements, the program name appears in the message instead of a function name.

User Response: Edit the function and specify the correct search column based on the table definition. The first column in the table is the default search column that is used in VisualAge Generator. For additional considerations, see the information on the FIND statement in FIND statement.

IWN.MIG.0705.eFunction functionName -- Uses CALL CSPTDLI statement.

Explanation: The specified function contains a CALL CSPTDLI statement which is not supported in this release of EGL.

User Response: You must wait until a future release of EGL to test or generate any program that uses this function.

IWN.MIG.0706.eFunction functionName - Unable to determine record type for recordName used in IF, WHILE, or TEST DUP statement; used EZE_DUPLICATE.

Explanation: VisualAge Generator supports checking both DUP and UNQ for both non-SQL and SQL records. For SQL records, DUP and UNQ are identical. EGL supports both duplicate and unique for non-SQL records. EGL only supports unique for SQL records. The record specified by recordName is not available during migration. The migration tool migrates DUP to EZE_DUPLICATE to insure that validation and preprocessing will flag an error.

Note:
The migration tool migrates the TEST statement to an if statement.

User Response: Edit the function and change EZE_DUPLICATE to one of the following:

For additional considerations, see the information on checking for DUP in I/O error values UNQ and DUP.

IWN.MIG.0707.eFunction functionName - Unable to determine if item itemName is in a record or map when used in IF, WHILE, or TEST NULL statement; used EZE_NULL.

Explanation: VisualAge Generator supports checking for NULL for both a map item and an SQL item. Checking a map item for NULL is equivalent to checking it for blanks. Checking an SQL item for NULL checks the null indicator variable to determine if the column is null in the database. The equivalent EGL statement is to check a map item for blanks and an SQL item for null. The item specified in itemName is not available during migration. The migration tool migrates NULL to EZE_NULL to insure that validation and preprocessing will flag an error.

Note:
The migration tool migrates the TEST statement to an if statement.

User Response: Edit the function and change EZE_NULL to one of the following:

For additional considerations, see the information on checking for NULL in Checking SQL and map items for NULL.

IWN.MIG.0708.wFunction functionName - Uses EZESYS in statement other than IF, WHILE, or TEST; old VAGen values will be used.

Explanation: VisualAge Generator supports the use of EZESYS in statements other than IF, WHILE, and TEST. The migration tool migrates EZESYS based on the statement type. In IF, WHILE, and TEST statements, the migration tool converts EZESYS to sysVar.systemType and also converts the values to the new EGL values. For statements other than IF, WHILE, or TEST, the migration tool converts to custPrefixEZESYS, where custPrefix is the Renaming Prefix preference you set for migration. When migrating programs, the migration tool always includes a declaration for custPrefixEZESYS and a statement to initialize custPrefixEZESYS to the original VAGen values. The original VAGen values will be used in this statement.

User Response: Review the function and determine whether you want to use the original VAGen values or the new EGL values. If you want to use the VAGen values, no change is required. If you want to use the new EGL values, change custPrefixEZESYS to sysVar.systemType.

IWN.MIG.0709.eFunction functionName - Unable to determine type for part partName for an XFER; UI record assumed.

Explanation: VisualAge Generator uses the XFER statement to transfer to another program or transaction while first presenting either a map or a UI record to the end user. This release of EGL does not support web transactions or UI records. The migration tool is unable to determine that a map is being used. The migration tool assumes the statement is XFER with a UI record because that is more frequently used than XFER with a map. The migration tool migrates the function, using a forward statement. This is an intelligent guess as to EGL syntax that will replace XFER with a UI record in a future release. This preserves as much of your logic as possible.

User Response: Review the function. If the function is intended for use with maps, change the forward statement to a show statement. See XFER or the online EGL helps for details of the show statement syntax. If the function is intended for use with web transactions, you might want to move it to a different project to avoid having errors on the EGL Tasks list.

IWN.MIG.0801.eProgram name programName is a reserved word. It must be renamed.

Explanation: The migration tool does not rename programs for you.

User Response: You must change the name of the program and all references to it, including references on call, transfer, and show statements. Also change the names of any bind control or linkedit parts that correspond to this program. If you want to keep the original program name as the name for the generated program, you can specify the alias property. If you do not specify the alias property, be sure to change any non-EGL references to the program name, including CICS program definitions.

IWN.MIG.0802.w Program programName -- Allows implicit items. Migration does not create definitions for implicit items.

Explanation: In VisualAge Generator, a program can specify that it allows implicit data items. If a program that allows implicit data items actually uses an item without defining it, VisualAge Generator automatically creates the definition for you at test and generation time. EGL does not allow implicit items. The migration tool does not create implicit definitions for you.

User Response: Validate the program in VisualAge Generator to determine if any implicit items are being used. If so, VisualAge Generator provides the definitions for the implicit items in the validation messages. In WebSphere Studio, edit the program definition and add the corresponding EGL data item declarations. You do not need to create a record to contain the items. You can add the item declarations directly to the program definition.

IWN.MIG.0803.w Program programName -- Uses PSB psbName.

Explanation: The program specifies a PSB name in its program definition. EGL does not support the IMS and IMS BMP environments in this release. EGL also does not support DL/I in this release. The migration tool creates a use declaration statement for the PSB but comments it out. The program might or might not be a valid program, depending on its intended runtime environment and its use of DL/I.

User Response: Review the program to determine its intended runtime environment and whether it uses DL/I, including any use of CSPTDLI. If the VAGen program is generated for both the IMS and CICS environments and does not use DL/I, the PSB is used only to interface to the IMS environment. You can generate the EGL program for the CICS environment in this release. You must wait until a future release of EGL to generate for the IMS environment. If the program uses DL/I, you must wait until a future release of EGL to generate the program for either the CICS or IMS environments.

IWN.MIG.0804.wProgram programName - Unable to determine part type for I/O object partName used with CLOSE I/O option; record assumed.

Explanation: In VisualAge Generator, the I/O objects are automatically included at test or generation time. The CLOSE I/O option can be used for both records and print maps. In EGL, records used in I/O statements must be explicitly declared in the program. Forms are not explicitly declared, but there must be a use declaration for the form group. The CLOSE I/O option is used in the specified program and the specified partName is used as the I/O object for the CLOSE. However, the specified partName is not available during migration. The migration tool assumes that the part is a record and includes the data declaration.

User Response: If the migration tool guesses incorrectly, there will be an error on the Tasks list. Edit the program and remove the data declaration for the print form.

IWN.MIG.0805.wProgram programName - execution mode not specified; nonsegmented assumed.

Explanation: In VisualAge Generator, at some points in time, the execution mode was not saved with the program part. Execution mode only applies to main transaction programs. The specified programName is a main transaction program, but does not include the execution mode in the external source format. The migration tool assumes that the execution mode is nonsegmented and includes the segmented=no property in the EGL source.

User Response: No action is required if the program should run in nonsegmented mode. If the program should run in segmented mode, edit the program and change the segmented property to segmented=yes.

IWN.MIG.1001.e Generation options part partName is a reserved word. It must be renamed.

Explanation: The migration tool does not rename programs for you. Because a program might have a special generation options part named as programName.opt, the migration tool also does not rename generation options parts.

User Response: When you change the program name, be sure to change the name of the corresponding generation options part.

IWN.MIG.1002.wGeneration options part partName - /dbms=odbc is migrated to dbms="DB2".

Explanation: The specified generation options part includes the VAGen generation option /dbms=odbc. EGL only supports DB2 or Oracle. The migration tool converts /dbms=odbc to dbms="DB2" in the EGL build descriptor part. EGL provides DB2 support by using a JDBC driver. If you have a JDBC driver for your database, you might be able to use the build descriptor option dbms="DB2" as the database type.

User Response: Be sure to migrate, generate, and test a variety of VAGen programs that used ODBC support to ensure that all the functions you require work correctly with your JDBC driver.

IWN.MIG.1003.eGeneration options part partName - /system=systemType is not supported.

Explanation: The specified generation options part includes the VAGen /system generation option and specifies a runtime environment that is not supported by EGL. The migration tool converts the /system generation option to a comment in the EGL build descriptor part.

User Response: Determine whether this build descriptor part is used by other build descriptor parts. If not, you can delete the build descriptor part. Alternatively, you might want to keep the build descriptor part for reference if EGL supports this runtime environment at sometime in the future.

IWN.MIG.1004.wGeneration options part partName - /system=systemType requires that destPort be set.

Explanation: The specified generation options part includes the /system generation option and specifies either MVSCICS or MVSBATCH as the runtime environment. The EGL build process requires you to specify a destination port using the destPort build descriptor option. If you do not specify the destPort build descriptor option, the default port is 5555.

User Response: Modify the build descriptor part that corresponds to the generation options part and include the destPort build descriptor option. If the default port of 5555 is acceptable, you do not need to modify the build descriptor part.

IWN.MIG.1005.eGeneration options part partName - /system=systemType is not currently supported.

Explanation: The specified generation options part includes the VAGen /system generation option and specifies a runtime environment that is not currently supported by EGL. The migration tool converts the /system generation option to the EGL build descriptor option for future use. However, because the runtime environment is not currently supported by EGL, the value will not appear in the Build Descriptor Parts Editor. You can see the value by using a text editor.

User Response: None. You should keep this build descriptor part for possible use in future releases of EGL.

IWN.MIG.1099.e Control part partName - symparm symparmName is not supported.

Explanation: The specified control part uses or sets a symparm which is not supported in EGL. The migration tool migrates the symparm "as is" using the original VAGen symparm name. However, this symparm is not set during generation.

User Response: Modify the control part to set a default value for the symparm. Alternatively, modify the control part so that it no longer uses the specified symparm.

IWN.MIG.1101.e Linkage table part partName is a reserved word. It must be renamed.

Explanation: The migration tool does not rename control parts for you.

User Response: Modify the linkage options part name so that it is not a reserved word. When you change the linkage options part name, be sure to change all the build descriptor parts that reference the linkage options part.

IWN.MIG.1102.eLinkage table partName - /contable=BINARY is not supported. It must be changed.

Explanation: VisualAge Generator supports /contable=BINARY in the linkage table part. EGL does not support this value. The migration tool includes the conversionTable="BINARY" value in the EGL linkage table part. This value is invalid, but will not be detected until generation.

User Response: You must change the conversionTable value to a value that is supported by EGL. Refer to the information about linkage parts in the online helps for details about the EGL conversionTable attribute and the options that are available.

IWN.MIG.1103.eLinkage table part partName - /remotecomtype=CICSCLIENT is not supported. Defaulted to CICSECI.

Explanation: VisualAge Generator supports /remotecomtype=CICSCLIENT in the linkage table part. EGL does not support this value. The migration tool includes the remoteComType="CICSECI" in the EGL resource assocations part. This value is valid, but might not be what you plan to use. If you want to use CICSECI, you need to set the ctgPort and ctgLocation.

User Response: If you plan to use CICSECI, modify the linkage table part and set the values of ctgPort and ctgLocation for the entry that specifies CICSECI as the remoteComType. If you do not plan to use CICSECI, refer to the information about linkage parts in the online helps for details about the EGL remoteComType attribute and the options that are available in EGL.

IWN.MIG.1104.eLinkage table part partName - /remotecomtype=communicationType is not supported. It must be changed.

Explanation: VisualAge Generator supports /remotecomtype=communicationType in the linkage table part. EGL does not support this communications protocol. The migration tool includes the remoteComType="communicationType" in the EGL linkage table part. This value is not valid and must be changed.

User Response: Determine the communication protocol that you plan to use. Then edit the part and change the remoteComType to a value that is supported by EGL. Refer to the information about linkage parts in the online helps for details about the EGL remoteComType attribute and the options that are available in EGL.

IWN.MIG.1201.e Resource association part partName is a reserved word. It must be renamed.

Explanation: The migration tool does not rename control parts for you.

User Response: Modify the resource association part name so that it is not a reserved word. When you change the resource associations part name, be sure to change all the build descriptor parts that reference the resource association part.

IWN.MIG.1202.e Resource association part partName - /filetype=fileType is not supported. It must be changed.

Explanation: VisualAge Generator supports /filetype=BTRIEVE and /filetype=MFCOBOL for some workstation environments. EGL does not support these file types. The migration tool includes the filetype information in the EGL resource association part. The value is invalid and will cause an error on the Tasks list.

User Response: You must change the filetype value to a value that is supported by EGL. Refer to the information about resource association parts in the online helps for details about the EGL filetype attribute and the options that are available.

IWN.MIG.1203.e Resource association part partName - /system is targetSystem, which is not supported; migrated based on /filetype fileType information.

Explanation: The resource association part contains an entry that uses the specified targetSystem. This target system is not supported in EGL. The migration tool migrates the resource association entry based on the fileType. For example, if the targetSystem is mvs* and the fileType is transient, the migration tool creates an EGL resource association entry and sets the EGL system to mvs*. This will be invalid and result in an error on the Tasks list. You can correct the entry by specifying a valid EGL system (zoscics for this example). If the targetSystem is ims* and the fileType is smsgq, the migration tool migrates the resource association entry to a comment to preserve as much of your information as possible for future reference.

User Response: If there is an error on the Tasks list, correct the entry in the resource associations part by specifying a valid target system.

IWN.MIG.1301.e Linkedit part partName is a reserved word. It must be renamed.

Explanation: The migration tool does not rename programs for you. Because the program name must match its corresponding linkedit part, the migration tool also does not rename the linkedit part.

User Response: When you change the program name, be sure to change the name of the corresponding linkedit part.

IWN.MIG.1401.e Bind control part partName is a reserved word. It must be renamed.

Explanation: The migration tool does not rename programs for you. Because the program name must match its corresponding bind control part, the migration tool also does not rename the bind control part.

User Response: When you change the program name, be sure to change the name of the corresponding bind control part.


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