The migration tool can be used on an entire project, a single file, or a selection of files. Running the tool on a package or folder converts all of the EGL source files in that package or folder. For instructions on how to use the migration tool, see Migrating EGL code to EGL 6.0.1.
The migration tool can add comments to each file it changes, and it can also add comments to the project's log file. To change these options, see EGL-to-EGL migration preferences.
The migration tool changes EGL code in these ways to comply with the EGL V6.0 iFix:
Library Handler boolean Bin(4); End
Library Handler_EGL boolean_EGL Bin(4); End
Function test(param int) a int; If(param = 3) a = 0; End End
Function test(param int) a int; If(param == 3) a = 0; End End
Record MyRecord item1 int; item2 int; End
Record MyRecord 10 item1 int; 10 item2 int; End
Before migration:
intConst 3;
const intConst int = 3;
Before migration:
SysLib.java(); clearRequestAttr();
JavaLib.invoke(); J2EELib.clearRequestAttr();
Before migration | After migration |
---|---|
SysLib.dateValue | DateTimeLib.dateValue |
SysLib.extendTimestampValue | DateTimeLib.extend |
SysLib.formatDate | StrLib.formatDate |
SysLib.formatTime | StrLib.formatTime |
SysLib.formatTimestamp | StrLib.formatTimestamp |
SysLib.intervalValue | DateTimeLib.intervalValue |
SysLib.timeValue | DateTimeLib.timeValue |
SysLib.timestampValue | DateTimeLib.timestampValue |
SysLib.java | JavaLib.invoke |
SysLib.javaGetField | JavaLib.getField |
SysLib.javaIsNull | JavaLib.isNull |
SysLib.javaIsObjID | JavaLib.isObjID |
SysLib.javaRemove | JavaLib.remove |
SysLib.javaRemoveAll | JavaLib.removeAll |
SysLib.javaSetField | JavaLib.setField |
SysLib.javaStore | JavaLib.store |
SysLib.javaStoreCopy | JavaLib.storeCopy |
SysLib.javaStoreField | JavaLib.storeField |
SysLib.javaStoreNew | JavaLib.storeNew |
SysLib.javaType | JavaLib.qualifiedTypeName |
SysLib.clearRequestAttr | J2EELib.clearRequestAttr |
SysLib.clearSessionAttr | J2EELib.clearSessionAttr |
SysLib.getRequestAttr | J2EELib.getRequestAttr |
SysLib.getSessionAttr | J2EELib.getSessionAttr |
SysLib.setRequestAttr | J2EELib.setRequestAttr |
SysLib.setSessionAttr | J2EELib.setSessionAttr |
SysLib.displayMsgNum | ConverseLib.displayMsgNum |
SysLib.clearScreen | ConverseLib.clearScreen |
SysLib.fieldInputLength | ConverseLib.fieldInputLength |
SysLib.pageEject | ConverseLib.pageEject |
SysLib.validationFailed | ConverseLib.validationFailed |
SysLib.getVAGSysType | VGLib.getVAGSysType |
SysLib.connectionService | VGLib.connectionService |
SysVar.systemGregorianDateFormat | VGVar.systemGregorianDateFormat |
SysVar.systemJulianDateFormat | VGVar.systemJulianDateFormat |
SysVar.currentDate | VGVar.currentGregorianDate |
SysVar.currentFormattedDate | VGVar.currentFormattedGregorianDate |
SysVar.currentFormattedJulianDate | VGVar.currentFormattedJulianDate |
SysVar.currentFormattedTime | VGVar.currentFormattedTime |
SysVar.currentJulianDate | VGVar.currentJulianDate |
SysVar.currentShortDate | VGVar.currentShortGregorianDate |
SysVar.currentShortJulianDate | VGVar.currentShortJulianDate |
SysVar.currentTime | DateTimeLib.currentTime |
SysVar.currentTimeStamp | DateTimeLib.currentTimeStamp |
SysVar.handleHardIOErrors | VGVar.handleHardIOErrors |
SysVar.handleSysLibErrors | VGVar.handleSysLibraryErrors |
SysVar.handleOverflow | VGVar.handleOverflow |
SysVar.mqConditionCode | VGVar.mqConditionCode |
SysVar.sqlerrd | VGVar.sqlerrd |
SysVar.sqlerrmc | VGVar.sqlerrmc |
SysVar.sqlIsolationLevel | VGVar.sqlIsolationLevel |
SysVar.sqlWarn | VGVar.sqlWarn |
SysVar.commitOnConverse | ConverseVar.commitOnConverse |
SysVar.eventKey | ConverseVar.eventKey |
SysVar.printerAssociation | ConverseVar.printerAssociation |
SysVar.segmentedMode | ConverseVar.segmentedMode |
SysVar.validationMsgNum | ConverseVar.validationMsgNum |
Before migration | After migration |
---|---|
dateFormat = "yy/mm/dd" | dateFormat = "yy/MM/dd" |
dateFormat = "YYYY/MM/DD" | dateFormat = "yyyy/MM/dd" |
dateFormat = "YYYY/DDD" | dateFormat = "yyyy/DDD" |
timeFormat = "hh:mm:ss" | timeFormat = "HH:mm:ss" |
After you use the EGL V6.0 migration tool, make sure that none of your identifiers (such as variable or part names) begins with the at sign (@), which is now used as the first character of a complex property. Also, if you migrated code from VisualAge® Generator, you may need to change StrLib.compareStr to VGLib.compareBytes, StrLib.copyStr to VGLib.copyBytes, and StrLib.concatenate to VGLib.concatenateBytes; but a change is needed only when the last argument in the existing invocation is a numeric value, as evidenced by an error message that indicates a problem with the argument's primitive type.
Related tasks
Migrating EGL code to EGL V6.0 iFix
Related concepts
Setting EGL-to-EGL migration preferences
Changes to properties during EGL-to-EGL migration
Related reference
EGL reserved words