Attribute Types

Attribute Names

Many formats have restrictions on the structure and format of attribute names. Esri Shape format, for example, permits UPPERCASE names only and has a maximum length of ten characters for attribute names.

When creating a workspace, FME converts attribute names to UPPERCASE in the destination schema if needed. In such a case, attribute connections cannot be implied so FME generates schema mapping that joins source attributes to the destination.

Note, however, that this is just a starting point. Edits to the workspace may break the FME generated schema mapping and, therefore, require you to create your own attribute connections.

Attribute Field Size

Some formats carry restrictions on attribute sizes, for example a maximum length of character field or maximum number in a numeric field. Where possible, FME generates a destination schema that reflects any such limitations.

Attribute Data Types

Different formats support different data types. Even when two formats support the same data type, it is often represented by a different name. In this situation, FME must decide how to map attributes between data types.

FME solves the problem by supporting all of these data types internally within its enhanced data model. A metafile for the reader format instructs FME how to map its attribute data types to the FME model and a second metafile instructs FME how to map its model types to the destination schema.

Examples of Attribute Data Type Mapping

This is the data type mapping for MapInfo data:

char(width) fme_char(width)
date fme_date
decimal(width,decimal) fme_decimal(width,decimal)
float fme_real64
integer fme_int32
logical fme_boolean
smallint fme_int16

This is the data type mapping for Oracle data:

char(width) fme_char(width)
float fme_real32
number(width,decimal) fme_decimal(width,decimal)
double fme_real64
integer fme_int32
logical fme_boolean
smallint fme_int16

These mappings show that a MapInfo decimal type attribute becomes an fme_decimal type in the FME data model, which then becomes a number data type when written to Oracle.