Re: [Quickfix-developers] Custom Repeating Group Rejects when DataDict=N (C++)
Brought to you by:
orenmnero
From: <or...@qu...> - 2010-04-09 08:13:08
|
Yes, that is correct. If that issue does not affect you then you do not need to upgrade. --oren > -------- Original Message -------- > Subject: Re: [Quickfix-developers] Custom Repeating Group Rejects when > DataDict=N (C++) > From: gtsafas <gt...@rb...> > Date: Fri, April 09, 2010 2:27 am > To: qui...@li... > > > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > I thought the only Issue was it not pulling down from [Default]. Is the work > around not to just put them under [Session]? I agree I would like to upgrade > but we are about to go into production in the next few days. > > > > > Oren Miller wrote: > > > > QuickFIX Documentation: > > http://www.quickfixengine.org/quickfix/doc/html/index.html > > QuickFIX Support: http://www.quickfixengine.org/services.html > > > > Unfortunately if you will be receiving repeating groups you must have a > > data dictionary. That is the only way for QuickFIX to know what fields > > belong to groups. Otherwise there is no way to accurately parse the > > messages as it will not know when a group starts and when it ends. You > > can use those settings, however if a custom field has been added to a > > group it will cause you problems unless it is in your data dictionary. > > I would also recommend you use 1.13.3, as earlier versions of 1.13.x > > have a bug with those settings. > > > > --oren > > > >> -------- Original Message -------- > >> Subject: Re: [Quickfix-developers] Custom Repeating Group Rejects when > >> DataDict=N (C++) > >> From: "George Tsafas" <GT...@rb...> > >> Date: Thu, April 08, 2010 11:16 pm > >> To: <or...@qu...> > >> Cc: qui...@li... > >> > >> > >> QuickFIX Documentation: > >> http://www.quickfixengine.org/quickfix/doc/html/index.html > >> QuickFIX Support: http://www.quickfixengine.org/services.html > >> > >> I have those changes in my DataDictionary. But I have opted to not use a > >> DataDictionary so that I do not reject execution reports for bad tag > >> values. IE one of our sessions sent me 18=H the other day because they > >> were passed this value. > >> > >> How do I Allow all values and this repeating group, I read somewhere that > >> someone said removing all enum's from fields would allow any value. But > >> wouldnt this leave me open for different tags? Or is that covered by > >> > >> ValidateFieldsHaveValues=N > >> ValidateUserDefinedFields=N > >> ValidateFieldsOutOfOrder=N > >> > >> ? > >> > >> Thank you for your prompt reply Oren. > >> > >> > >> -----Original Message----- > >> From: or...@qu... [mailto:or...@qu...] > >> Sent: Thu 4/8/2010 9:02 PM > >> To: George Tsafas > >> Cc: qui...@li... > >> Subject: RE: [Quickfix-developers] Custom Repeating Group Rejects when > >> DataDict=N (C++) > >> > >> Make sure you update your data dictionary file with the same changes. > >> > >> --oren > >> > >> > -------- Original Message -------- > >> > Subject: [Quickfix-developers] Custom Repeating Group Rejects when > >> > DataDict=N (C++) > >> > From: gtsafas <gt...@rb...> > >> > Date: Thu, April 08, 2010 10:44 pm > >> > To: qui...@li... > >> > > >> > > >> > QuickFIX Documentation: > >> http://www.quickfixengine.org/quickfix/doc/html/index.html > >> > QuickFIX Support: http://www.quickfixengine.org/services.html > >> > > >> > > >> > I searched through the forums to figure out how to add a custom group. > >> I am > >> > mainly using my engine to catch Execution Reports. As I do not want to > >> > reject any (I.E. Bad Values) I have opted to disable my DataDictionary. > >> This > >> > seems to be working fine for everything, except for a custom repeating > >> > group. > >> > > >> > I modified my fix42/ExecutionReport.h to add the new group, In the > >> > ExecutionReport.h I first defined my custom tags using the FIX > >> namespace. > >> > > >> > ---Modified ExectionReport.h--- > >> > > >> > namespace FIX{ > >> > USER_DEFINE_INT(NumCharges,8125); > >> > USER_DEFINE_STRING(ChargeName,8126); > >> > USER_DEFINE_STRING(ChargeType,8127); > >> > USER_DEFINE_STRING(ChargeRate,8128); > >> > USER_DEFINE_STRING(ChargeAmount,8129); > >> > } > >> > > >> > Then inside FIX42 Namespace I added this after NoContraBrokers > >> > > >> > class GroupCharges: public FIX::Group{ > >> > public: > >> > GroupCharges() : > >> > FIX::Group(8125,8126,FIX::message_order(8126,8127,8128,8129,0)) {} > >> > FIELD_SET(*this, FIX::ChargeName); > >> > FIELD_SET(*this, FIX::ChargeType); > >> > FIELD_SET(*this, FIX::ChargeRate); > >> > FIELD_SET(*this, FIX::ChargeAmount); > >> > }; > >> > > >> > ---End ExecutionReport.h--- > >> > > >> > > >> > Now inside my application I am attempting the following. > >> > > >> > > >> > > >> > ---Application.cpp--- > >> > > >> > //This is inside void Application::onMessage( const > >> FIX42::ExecutionReport& > >> > message, const FIX::SessionID& ) > >> > > >> > > >> > FIX::NumCharges fNumCharges; > >> > if (message.isSetField(fNumCharges)){ > >> > message.getField(fNumCharges); > >> > > >> > > >> > FIX42::ExecutionReport::GroupCharges group; > >> > FIX::ChargeName fChargeName; > >> > FIX::ChargeType fChargeType; > >> > FIX::ChargeRate fChargeRate; > >> > FIX::ChargeAmount fChargeAmount; > >> > > >> > > >> > for (int i=0; i<fNumCharges.getValue();i++){ > >> > > >> > message.getGroup(i+1,group); > >> > group.get(fChargeName); > >> > group.get(fChargeType); > >> > group.get(fChargeRate); > >> > group.get(fChargeAmount); > >> > > >> > } > >> > } > >> > > >> > ---End Application.cpp--- > >> > > >> > > >> > > >> > End result is, This rejects due to repeating tag in message. Can > >> someone > >> > point out what is wrong with my logic? > >> > > >> > > >> > Appreciate it Very Much. Thank You > >> > > >> > -George > >> > > >> > > >> > > >> > -- > >> > View this message in context: > >> http://old.nabble.com/Custom-Repeating-Group-Rejects-when-DataDict%3DN-%28C%2B%2B%29-tp28187295p28187295.html > >> > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > >> > > >> > > >> > > >> ------------------------------------------------------------------------------ > >> > Download Intel® Parallel Studio Eval > >> > Try the new software tools for yourself. Speed compiling, find bugs > >> > proactively, and fine-tune applications for parallel performance. > >> > See why Intel Parallel Studio got high marks during beta. > >> > http://p.sf.net/sfu/intel-sw-dev > >> > _______________________________________________ > >> > Quickfix-developers mailing list > >> > Qui...@li... > >> > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > >> > >> > >> ------------------------------------------------------------------------------ > >> Download Intel® Parallel Studio Eval > >> Try the new software tools for yourself. Speed compiling, find bugs > >> proactively, and fine-tune applications for parallel performance. > >> See why Intel Parallel Studio got high marks during beta. > >> http://p.sf.net/sfu/intel-sw-dev > >> _______________________________________________ > >> Quickfix-developers mailing list > >> Qui...@li... > >> https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > > > > ------------------------------------------------------------------------------ > > Download Intel® Parallel Studio Eval > > Try the new software tools for yourself. Speed compiling, find bugs > > proactively, and fine-tune applications for parallel performance. > > See why Intel Parallel Studio got high marks during beta. > > http://p.sf.net/sfu/intel-sw-dev > > _______________________________________________ > > Quickfix-developers mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > > > > -- > View this message in context: http://old.nabble.com/Custom-Repeating-Group-Rejects-when-DataDict%3DN-%28C%2B%2B%29-tp28187295p28188590.html > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |