VisualAge® Generator compatibility
Part of the process of migrating from VisualAge® Generator to its successor, EGL, involves running in VisualAge® Generator compatibility mode. To run in this mode, you must select the EGL VisualAge Generator compatibility preference and set the VAGCompatibility build descriptor option to YES at generation or debug time. When you set the VisualAge Generator compatibility preference in the workbench, you automatically establish the default value of the build descriptor option. When you change this preference, you will trigger a full rebuild of all projects. If you are running batch generation, the default value of the VAGCompatibility build descriptor option is NO.
- The minus sign (-), at sign (@), and number sign (#), which are otherwise not valid characters, are valid in identifiers. However, none of these characters is valid as an initial character. For more information, see Naming conventions.
- If you refer to a static, single-dimension array of structure fields without specifying an index, the array index defaults to 1; for more information, see Arrays.
- The primitive types NUMC and PACF are available; see Primitive data types.
- If you specify an even length for an item of primitive type DECIMAL, EGL increments the length by one except when the item is used as an SQL host variable.
- Cycles in the EGL build path are supported. This means that ProjectA can reference ProjectB in its build path at the same time that ProjectB references ProjectA in its own build path.
- The following system variables are available:
- converseVar.segmentedMode
- vgVar.sqlIsolationLevel
- The following system functions are available:
- vgLib.getVAGSysType()
- vgLib.connectionService()
- You can issue a statement of the following form:
display printForm- printForm
- Name of a print form that is visible to the program.
In the preceding statement, display is equivalent to print.
- The deleteAfterUse property of the DataTable use statement is available.
- The following program properties are available in all cases and
are especially useful for code that was written in VisualAge® Generator:
- allowUnqualifiedItemReferences
- handleHardIOErrors (when set to NO)
- includeReferencedFunctions
- localSQLScope (when set to YES)
- throwNrfEofExceptions (when set to YES)
- v60ExceptionCompatibility (when set to YES)
For more information, see Program properties.
- If you set the value text form-field property, the field displays the contents of that property only if the program does not set the value of the field before displaying or conversing the form. The value property does not affect the initial value of the field in storage. For this reason, the value that you specify in the value property does not need to be valid for the field.
One detail (unrelated to the compatibility settings described earlier) pertains to setting up a resource association part, which is used at generation time. If you are generating output for z/OS® batch and want to share a print file between a program generated with EGL and a program generated with VisualAge® Generator, you cannot rely on the default settings for the resource association part. Instead, you must set an entry (for example, for system value zosbatch and fileType value seqrs), such that the value of fileName is set to printer and the value of systemNameis set to EZEPRINT. For keystroke details, see "Adding a resource association part to an EGL build file."
For more information, refer to the VisualAge® Generator to EGL Migration Guide.