Migration of Component Variables

The Migration Utility ensures that component variables are correctly migrated to Uniface 10. In some circumstances, it may change the data type, or report errors when display formats are specified.

In Uniface 10, component variables are declared procedurally in the variables block of the component's Declarations code container. In Uniface 9, component variables were defined declaratively as separate objects. For more information, see Component Variables and variables…endvariables.

During migration, the Migration Utility:

  • Converts component variables to procedural variable declarations, in the variables block of the component's Declarations code container.

  • Converts component variables with data type SS or Z data types to String

  • Converts component variables with data type xmlstream to string.

  • Sets the data type of component variables with data type (None) to Any.

  • Converts the display format, if specified, and removes extraneous information if necessary.

    However, if a display format is used with a data type that does not support this, a warning is reported in the message frame.

    WARNING: Component ComponentName, Component variable VariableName:
    Data type DataType cannot have a layout.
    DisplayFormat

    The following data types do not support display formats (sometimes known as layouts):

    • raw
    • image
    • xmlstream
    • any

    In Uniface 9, if a display format was specified for one of these data types, it led to undefined behavior. In Uniface 10, it is not possible to compile a component with a component variable that contains a display format for these data types.