Working With Component and Message Schemas

In this chapter we will walk through component and message related operations in FIX schema editor.

 

Creating a New Message

To create a new custom message in a FIX schema. First expand the root schema node in the tree view of the schema editor, right click on "Messages" node and choose "Create New Message".

A dialog will pop out. Fill out information about the new message and click "OK" button. A new message will be created and a new node will be inserted under "Messages" node.

Note: Enterprise Manager checks the format of name, as well as any possible conflicts with existing message names and types. For more information about naming convention, see Resource Names and Versions.

 

 

Adding Contents to Message

Fields and components can be added to the schema of message.

For example, to add a new field in the message schema, right click on the message node, then choose "Add Field". A field picker dialog will pop up. User can type in the text box inside the dialog to narrow down the field list.

 

Note: If user picks a field that is either a "encoded data length" or "encoded data" field, both fields will be added to the message.

User can add groups and components into the message schema by choosing "Add Group" or "Add Component" in the pop up menu.

User can also add fields, components and groups into a definition of repeating group.

Note: Enterprise Manager performs comprehensive checks before adding new contents to the message definition. For example, trying to add a duplicate field into message definition will result in an error dialog.

 

Working with Component

Component operations are similar to the message operations. The difference between a component and a message is that components only have names. They don't have message types.

 

Working with Inherited Messages

The custom FIX schema is derived from a standard FIX schema. Initially, the custom schema will inherit all components and messages definition from the standard schema.

Users can customize the components and messages definition in the new schema by adding new fields, modifying the properties of existing field, deleting existing fields or even deleting the messages or components.

For example, if the schema is used for equity trading only, user can delete the messages they are not going to use from the new schema, such as "Advertisment" or "Email" messages. User can also delete the unused fields from the message definition. For example, if the field "NoUnderlyings" in message "NewOrderSingle" is generally not used in equity trading, user can delete that field from the custom schema. 

Users can also modify the "IsRequired" property of the derived field in the custom message schema.

 

Icons in Schema Tree

A new message will ne displayed with a icon in the schema tree view. A message inherited from startard schema without any modification will have a icon. An inherited message with modification will have a icon. An deleted inherited message (a message defined in standard schema but deleted from custom schema) will have a icon.

A new field in message will have a icon. An inherited message field without modification will have a icon. An inherited message field with modification will have a icon. A deleted inherited message field will have a icon.

The components and repeating groups share the same icon set (and meaning) with messages.

 

Undeleting Inherited Messages or Message Fields

As we mentioned above, user can delete unused messages or components or message fields inherited from standard schema from custom schema. User can still choose to display deleted inherited messages/components/message fields in the custom schema (with a different icon set displayed on tree nodes).

User can later "undelete" the deleted inherited items, by right clicking on the deleted node and choose "Undelete" from the pop up menu.

There is a "ShowRemoved" button on top of every schema editor view. If that button is poped up, the deleted items will not be displayed on the schema tree.

 

Order of Fields in Message/Component schema

FIX specification requires all fields in repeating groups must appear in the same order as defined. It also requires that all fields in message header must appear before fields in message body and fields in trailer must appear after fields in message body.

Schema editor will keep the order of message fields defined in standard schema unchanged in custom schema.

In another word, although user can delete message fields inherited from standard message schemas from custom schema, user can not change the order appearence of inherited fields.

If new fields are added to inherited message definition in custom schemas, those new fields will be appended after the inherited standard message field definitions.

User can change the order of the newly added message fields, by simply right click the field and choose "Move Up" or "Move Down" from the pop up menu.

Note: The "encoded length" and "encoded data" fields always move up and down together.