Re: [Quickfix-developers] Custom Repeating Group Rejects when DataDict=N (C++)
Brought to you by:
orenmnero
From: gtsafas <gt...@rb...> - 2010-04-09 07:27:23
|
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. |