char

base: charFIX 4.4FIX 4.2

char is a FIX datatype defined in FIX 4.4 and FIX 4.2, carried on the wire as char. 71 fields use it.

Wire format

Base type
char
Fields
71

A single character. Most char fields are enumerated, so the value is one of a fixed set rather than arbitrary text.

What the specification says

FIX 4.4

Single character value, can include any alphanumeric character or punctuation except the delimiter. All char fields are case sensitive (i.e. m != M).

FIX 4.2

Single character value, can include any alphanumeric character or punctuation except the delimiter. All char fields are case sensitive

Descriptions are quoted from the FIX Orchestra sources under the Apache 2.0 licence.

How @boarteam/fix handles it

@boarteam/fix keeps the value as a string and, for enumerated fields, reports validate/value-not-in-enum when it is not a defined value.

Fields with this datatype

TagFieldDialectsMessages
4AdvSideFIX 4.4, FIX 4.21
13CommTypeFIX 4.4, FIX 4.216
21HandlInstFIX 4.4, FIX 4.28
25IOIQltyIndFIX 4.4, FIX 4.21
28IOITransTypeFIX 4.4, FIX 4.21
29LastCapacityFIX 4.4, FIX 4.23
39OrdStatusFIX 4.4, FIX 4.24
40OrdTypeFIX 4.4, FIX 4.216
54SideFIX 4.4, FIX 4.236
59TimeInForceFIX 4.4, FIX 4.210
61UrgencyFIX 4.4, FIX 4.21
63SettlTypeFIX 4.4, FIX 4.219
71AllocTransTypeFIX 4.4, FIX 4.22
77PositionEffectFIX 4.4, FIX 4.212
81ProcessCodeFIX 4.4, FIX 4.210
94EmailTypeFIX 4.4, FIX 4.21
104IOIQualifierFIX 4.4, FIX 4.21
127DKReasonFIX 4.4, FIX 4.21
139MiscFeeTypeFIX 4.4, FIX 4.29
150ExecTypeFIX 4.4, FIX 4.24
156SettlCurrFxRateCalcFIX 4.4, FIX 4.28
160SettlInstModeFIX 4.4, FIX 4.22
163SettlInstTransTypeFIX 4.4, FIX 4.21
165SettlInstSourceFIX 4.4, FIX 4.27
206OptAttributeFIX 4.4, FIX 4.259
263SubscriptionRequestTypeFIX 4.4, FIX 4.216
269MDEntryTypeFIX 4.4, FIX 4.23
274TickDirectionFIX 4.4, FIX 4.22
279MDUpdateActionFIX 4.4, FIX 4.21
281MDReqRejReasonFIX 4.4, FIX 4.21
285DeleteReasonFIX 4.4, FIX 4.21
317UnderlyingOptAttributeFIX 4.4, FIX 4.259
327HaltReasonCharFIX 4.4, FIX 4.21
374BidRequestTransTypeFIX 4.4, FIX 4.21
385MsgDirectionFIX 4.4, FIX 4.21
388DiscretionInstFIX 4.4, FIX 4.28
418BidTradeTypeFIX 4.4, FIX 4.21
419BasisPxTypeFIX 4.4, FIX 4.21
433ListExecInstTypeFIX 4.4, FIX 4.21
434CxlRejResponseToFIX 4.4, FIX 4.21
442MultiLegReportingTypeFIX 4.4, FIX 4.24
447PartyIDSourceFIX 4.444
468RoundingDirectionFIX 4.418
480CancellationRightsFIX 4.48
481MoneyLaunderingStatusFIX 4.48
484ExecPriceTypeFIX 4.41
497FundRenewWaivFIX 4.413
506RegistStatusFIX 4.42
514RegistTransTypeFIX 4.42
517OwnershipTypeFIX 4.41
525NestedPartyIDSourceFIX 4.422
528OrderCapacityFIX 4.414
530MassCancelRequestTypeFIX 4.42
531MassCancelResponseFIX 4.41
532MassCancelRejectReasonFIX 4.41
544CashMarginFIX 4.48
564LegPositionEffectFIX 4.45
573MatchStatusFIX 4.48
587LegSettlTypeFIX 4.411
589DayBookingInstFIX 4.48
590BookingUnitFIX 4.48
591PreallocMethodFIX 4.410
613LegOptAttributeFIX 4.450
624LegSideFIX 4.450
695QuoteQualifierFIX 4.45
744AssignmentMethodFIX 4.41
747ExerciseMethodFIX 4.41
758Nested2PartyIDSourceFIX 4.48
783SettlPartyIDSourceFIX 4.47
787DlvyInstTypeFIX 4.47
950Nested3PartyIDSourceFIX 4.42

Decode this in your own code

The same engine that produced the decoded example above is an Apache-2.0 npm package with zero runtime dependencies. It runs in Node and in the browser, and parse() returns problems as data instead of throwing.

npm i @boarteam/fix @boarteam/fix-dict-fix44