The records section is organized into the following tables:
Figure 67. Records - general syntax, record type, properties, and prolog
VisualAge Generator 4.5
| EGL produced by the migration tool | Migration tool considerations |
---|---|---|
VAGen record part:
The record structure can be given by specifying an alternate specification record or by including the item list. | EGL record example:
//*** Record=recordName*** // prolog //******************* Record recordName type recordType { [ recordProperties ] } recordStructure end // end recordName
| No special considerations. |
Record types:
| EGL Record types:
| The migration tool migrates a redefined record to a basicRecord. The tool includes a comment with the record definition to provide the name of the record that was redefined. Special considerations apply for redefined records. See the information in Redefined records for details and potential problems. |
Working storage record properties:
| basicRecord properties:
| The migration tool migrates an alternate specification to the embed statement. |
Redefined record properties:
| basicRecord properties:
|
The migration tool includes a comment with the record definition to provide the name of the record that was redefined. The migration tool also includes the redefines property on the declaration statement for the record in programs that use the record. Special considerations apply depending on how the record is used in the
program and on whether the record is available during migration. See
the information in Redefined records for details and potential problems.
|
Serial record properties:
| serialRecord properties:
| The migration tool migrates an alternate specification to the embed statement. |
Indexed record properties:
| indexedRecord properties:
| The migration tool migrates an alternate specification to the embed statement. |
Relative record properties:
| relativeRecord properties:
| The migration tool migrates an alternate specification to the embed statement. |
Message Queue record properties:
| mqRecord properties:
| The migration tool migrates an alternate specification to the embed statement. |
SQL row record properties:
| SQL row record properties:
| No special considerations. |
Prolog | Not applicable. | The migration tool converts the prolog to a comment that precedes the record definition. |
Figure 68. Records - record structure for most record types
VisualAge Generator 4.5
| EGL produced by the migration tool | Migration tool considerations |
---|---|---|
Record structure - variation 1: Alternate specification. If RecordA specifies an alternate specification of RecordB, RecordB provides all the items for RecordA. There is no item structure in RecordA. If RecordB contains level 77 items, RecordA only contains the non-level 77
items from RecordB.
|
Record structure - variation 1: The EGL embed statement specifies the record that provides the item structure for the current record. RecordA embeds RecordB. For example: embed RecordB; |
The migration tool migrates an alternate specification to the embed statement. Special considerations apply for level 77 items in working storage
records. See information in Level 77 items in records for details and potential problems.
|
Record structure - variation 2 with Shared Items:
| Record structure - variation 2 with EGL type definitions example:
levelNumber itemname itemname [occurs];
|
The migration tool migrates shared items to an EGL variable that is defined using a type definition. For migration, the type definition is always the same as the item name. The migration tool omits the occurs information if occurs is 1. Special considerations apply for level 77 items in working storage
records. See information in Level 77 items in records for details and potential problems.
|
Record structure - variation 2 with Nonshared Items:
| Record structure - variation 2 with EGL primitive types example:
levelNumber itemName dataType(lengthInformation) [occurs]; // Description
|
The migration tool migrates nonshared items to an EGL variable that is defined using a primitive type. Migration of type, length, and decimals information is the same as described in Figure 61, Data items - general syntax, data type, length, decimals, and description. The migration tool omits the occurs information if occurs is 1. Special considerations apply for level 77 items in working storage
records. See information in Level 77 items in records for details and potential problems.
|
Figure 69. Records - SQL properties and SQL record structure
VisualAge Generator 4.5
| EGL produced by the migration tool | Migration tool considerations |
---|---|---|
SQL record properties:
| sqlRecord properties:
| The migration tool builds the keyItems property as follows:
The migration tool builds the lists for tableNames and tableNameVariables as follows:
Special considerations apply. See information about SQL alternate specification in Alternate specification records for details and potential problems. |
SQL Default Conditions:
| Example of default selection conditions:
defaultSelectCondition = #sql{ whereClauseText }
| The migration tool converts any !itemColumnName variables to their
corresponding SQL column name.
Special considerations apply. See information about SQL alternate specification in Alternate specification records for details and potential problems. |
Record structure - variation 1: Alternate specification. If
RecordA specifies an alternate specification of RecordB, RecordB provides all
the items for RecordA. There is no item structure in RecordA.
|
Record structure - variation 1: The EGL embed statement specifies the record that provides the item structure for the current record. RecordA embeds RecordB. For example: embed RecordB; | The migration tool migrates an alternate specification to the embed statement. |
Record structure - variation 2 with Shared Items:
| Record structure - variation 2 with EGL type definitions example:
itemName itemName { [sqlDataCode=sqlCodeNumber] column="SQLColumnName" [ isReadOnly=yes ] isNullable = yes [ sqlVar = yes ] };
|
If you selected the Migration Syntax Preference Convert shared data items to primitive item definitions and the data item part is available, the migration tool does the following:
If you did not select the Migration Syntax Preference to Convert shared data items to primitive item definitions or the data item part is not available, the migration tool does the following:
The migration tool always does the following:
|
Record structure - variation 2 with Nonshared Items:
| Record structure - variation 2 with EGL primitive types example:
itemName dataType(lengthInformation) // Description { [sqlDataCode=sqlCodeNumber] column="SQLColumnName" [ isReadOnly=yes ] isNullable = yes [ sqlVar = yes ] };
|
The migration tool migrates nonshared items to an EGL variable that is defined using a primitive type. Migration of type, length, and decimals information is the similar to what is described in Figure 61 . The migration tool includes the sqlDataCode property only for hex items. The migration tool sets sqlVar=yes for char, dbchar, and unicode data items if the VAGen SQL data code indicates the item is variable length. The migration tool omits the sqlVar property if the VAGen SQL data code indicates that the item is fixed length. The migration tool includes any key=yes items in the EGL keyItems property for the sqlRecord. The migration tool always sets isNullable=yes because VisualAge Generator always includes the null indicator variable. The migration tool only includes isReadOnly if the value is yes.
|
VAGen data type - Char
| EGL data type:
| No special considerations. |
VAGen data type - DBCS
| EGL data type:
| No special considerations. |
VAGen data type - Unicode
| EGL data type:
| No special considerations. |
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.