The V6.0 migration tool significantly changes the way properties
are specified.
To learn about the changes to properties, see the following
sections:
Property names
The migration
tool renames properties whose names have changed in EGL V6.0 iFix
001.
Table 1. Renamed properties| 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.
Before migration:{ alias = prog }
After
migration:{ 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.
Before migration:{ keyItems = var, screenSizes = (24, 80), range = (1, 9) }
After
migration:{ 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.
Before migration:Form myForm type TextForm
fieldArray char(10)[5] { fieldArray[1] {color = red } };
end
After migration:Form myForm type TextForm
fieldArray char(10)[5] { this[1] {color = red } };
end
Parts, functions, and fields
Where
appropriate, the migration tool changes references to parts, functions,
and fields by adding quotes and brackets:
Before migration:{ keyItems = (item1, item2) }
After
migration:{ keyItems = ["item1", "item2"] }
This
change affects these properties:
- 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:
Before
migration:{ isReadOnly }
After
migration:{ isReadOnly = yes}
This
change affects these properties:
- 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.
Table 2. Changes to 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 = box
After migration:color = ColorKind.red
outline = OutlineKind.box
This change affects these
properties:
- 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.
Table 3. Changes to 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.
Table 4. Changes to 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 the
sqlCondition type.
Before migration:{ defaultSelectCondition =
#sql{
hostVar02 = 4
}
}
After migration:{ defaultSelectCondition =
#sqlCondition{ // no space between #sqlCondition and the brace
hostVar02 = 4
}
}
The fillCharacter value
The
migration tool replaces the NULL value of the fillCharacter to
the empty string value "".