littlecodefarmer758
littlecodefarmer758

Reputation: 966

QuickFIX/n Conditionally Required Field Missing (494)

I am new to QuickFIX/n, I sent a MarketDataRequest but got a BussinessMessageReject with Tag 58 "Conditionally Required Field Missing (494)" which is Designation.

Anyone know how to set 494?

My TransportDataDictionary is FIXT1.1 and AppDataDictionary is FIX5.0

Here is my C# code:

 protected override QuickFix.FIX50.MarketDataRequest CreateMessage()
    {
        var message = new QuickFix.FIX50.MarketDataRequest();
        message.Set(new MDReqID("0"));
        message.Set(new SubscriptionRequestType('0'));
        message.Set(new MarketDepth(1));
        message.Set( new NoMDEntryTypes(1));
        message.Set(new NoRelatedSym(1));

        var noRelatedSymGroup = new QuickFix.FIX50.MarketDataRequest.NoRelatedSymGroup();
        noRelatedSymGroup.Set(new Symbol("123"));
        message.AddGroup(noRelatedSymGroup);

        var noMDEntryTypesGroup = new QuickFix.FIX50.MarketDataRequest.NoMDEntryTypesGroup();
        noMDEntryTypesGroup.Set(new MDEntryType('0'));            
        message.AddGroup(noMDEntryTypesGroup);            
        return message;
    }

Upvotes: 0

Views: 569

Answers (1)

TT.
TT.

Reputation: 16137

The tag is called Designation by name (.NET class definition here). However it's not part of the FIX specification for this message type.

If it's really required by your couterparty, add it to the data dictionary (FIX50.xml) for the specific message type, and specify the altered data dictionary in configuration. Look for the AppDataDictionary setting.

Then Set the field as you would any other field.

Upvotes: 1

Related Questions