Changes to properties during the V6.0 iFix 001 migration
The V6.0 migration tool significantly changes the way properties are specified.
- Property names
- Property values
- Array literals
- Parts, functions, and fields
- Specified Boolean properties without values
- The currency property
- The dateFormat and timeFormat properties
- Enumeration property values
- The tableNames property
- Dates, times, and timestamps
- defaultSelectCondition property
- The fillCharacter value
Property names
The migration tool renames properties whose names have changed in EGL V6.0 iFix 001.
| Before migration | After migration |
|---|---|
| action | actionFunction |
| boolean | isBoolean |
| getOptions | getOptionsRecord |
| msgDescriptor | msgDescriptorRecord |
| onPageLoad | onPageLoadFunction |
| openOptions | openOptionsRecord |
| putOptions | putOptionsRecord |
| queueDescriptor | queueDescriptorRecord |
| range | validValues |
| rangeMsgKey | validValuesMsgKey |
| selectFromList | selectFromListItem |
| sqlVar | sqlVariableLen |
| validator | validatorFunction |
| validatorMsgKey | validatorFunctionMsgKey |
| validatorTable | validatorDataTable |
| validatorTableMsgKey | validatorDataTableMsgKey |
Property values
The migration tool adds double quotes to property values that are used as string literals.
{ alias = prog }{ alias = "prog" }This change affects these properties:
- alias
- column
- currency
- displayName
- fileName
- fillCharacter
- help
- inputRequiredMsgKey
- minimumInputMsgKey
- msgResource
- msgTablePrefix
- pattern
- queueName
- rangeMsgKey
- tableNames
- title
- typeChkMsgKey
- validatorMsgKey
- validatorTableMsgKey
- value
- view
Array literals
Array literals as values
When it specifies array literals as value, the migration tool replaces parentheses with brackets. This change affects these properties:
- formSize
- keyItems
- outline
- pageSize
- position
- range
- screenSize
- screenSizes
- tableNames
- tableNameVariables
- validationBypassFunctions
- validationBypassKeys
Single element array literals
For properties that take array literals, the migration tool puts single element array literals in brackets to specify that an array with only one element is still an array. The migration tool uses double sets of brackets for properties that take arrays of arrays.
{ keyItems = var, screenSizes = (24, 80), range = (1, 9) }{ keyItems = ["var"], screenSizes = [[24, 80]], range = [[1, 9]] }When the migration tool overrides properties for a specific element in an array, the tool uses the this keyword instead of a variable name.
Form myForm type TextForm
fieldArray char(10)[5] { fieldArray[1] {color = red } };
endForm myForm type TextForm
fieldArray char(10)[5] { this[1] {color = red } };
endParts, functions, and fields
Where appropriate, the migration tool changes references to parts, functions, and fields by adding quotes and brackets:
{ keyItems = (item1, item2) }{ keyItems = ["item1", "item2"] }- action
- commandValueItem
- getOptions
- helpForm
- inputForm
- inputPageRecord
- inputRecord
- keyItem
- keyItems
- lengthItem
- msgDescriptorRecord
- msgField
- numElementsItem
- onPageLoadFunction
- openOptionsRecord
- putOptionsRecord
- queueDescriptorRecord
- redefines
- selectFromListItem
- tableNameVariables
- validationBypassFunctions
- validatorFunction
- validatorDataTable
Specified Boolean properties without values
To all Boolean properties that were specified but not assigned a value, the migration tool assigns a default value of YES:{ isReadOnly }{ isReadOnly = yes}- addSpaceForSOSI
- allowUnqualifiedItemReferences
- boolean
- bypassValidation
- containerContextDependent
- currency
- cursor
- deleteAfterUse
- detectable
- fill
- helpGroup
- includeMsgInTransaction
- includeReferencedFunctions
- initialized
- inputRequired
- isDecimalDigit
- isHexDigit
- isNullable
- isReadOnly
- lowerCase
- masked
- modified
- needsSOSI
- newWindow
- numericSeparator
- openQueueExclusive
- pfKeyEquate
- resident
- runValidatorFromProgram
- segmented
- shared
- sqlVar
- upperCase
- wordWrap
- zeroFormat
The currency property
The migration tool splits the currency property into two properties: currency and currencySymbol. The following table contains examples of how the migration tool changes the currency property.| Before migration | After migration |
|---|---|
{ currency = yes } |
{ currency = yes } |
{ currency = no } |
{ currency = no } |
{ currency = "usd" } |
{ currency = yes, currencySymbol = "usd"
} |
The dateFormat and timeFormat properties
The migration tool changes the values of the dateFormat and timeFormat properties to be case sensitive. For more information, see “Date, time, and timestamp format specifiers.”Enumeration property values
In the preferences menu, if Add qualifiers to enumeration property values is selected, the migration tool adds the name of the enumeration to the value of the property.Before migration:
color = red
outline = boxcolor = ColorKind.red
outline = OutlineKind.box- align
- color
- deviceType
- displayUse
- highlight
- indexOrientation
- intensity
- outline
- protect
- selectType
- sign
The tableNames property
The migration tool changes the values of the tableNames property to be an array of arrays of strings. Each array of strings must have either one or two elements. The first element is the table name, and the second element, if present, is the table label. The following table contains examples of how the migration tool changes the tableNames property.| Before migration | After migration |
|---|---|
{ tableNames = (table1, table2) } |
{ tableNames = [["table1"], ["table2"]]
} |
{ tableNames = (table1 t1, table2) } |
{ tableNames = [["table1", "t1"], ["table2"]]
} |
{ tableNames = (table1 t1, table2 t2)
} |
{ tableNames = [["table1", "t1"], ["table2",
"t2"]] } |
Dates, times, and timestamps
The migration tool changes the way dates, times and timestamps are specified, including changing the values of the dateFormat and timeFormat properties to be case sensitive. The following table contains examples of how the migration tool changes dates, times, and timestamps.| 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" |
defaultSelectCondition property
The migration tool changes the values of the defaultSelectCondition property to be thesqlCondition type.{ defaultSelectCondition =
#sql{
hostVar02 = 4
}
}{ defaultSelectCondition =
#sqlCondition{ // no space between #sqlCondition and the brace
hostVar02 = 4
}
}The fillCharacter value
The migration tool replaces theNULL value of the fillCharacter to
the empty string value "".