File Coverage

blib/lib/PFIX/FIX44.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 0 1 0.0
total 17 18 94.4


line stmt bran cond sub pod time code
1             #"4" minor=>"4">
2              
3             package PFIX::FIX44;
4              
5 3     3   17 use strict;
  3         6  
  3         120  
6 3     3   14 use warnings;
  3         5  
  3         92  
7              
8 3     3   14 use Data::Dumper;
  3         4  
  3         102197  
9              
10             my $fix44;
11              
12             sub getFix() {
13 3     3 0 25 return $fix44;
14             }
15              
16             BEGIN {
17 3     3   1199 print "BEGIN block of PFIX::FIX44\n";
18 3         26728 $fix44 = {
19             header => [
20             { name => "BeginString", required => "Y" },
21             { name => "BodyLength", required => "Y" },
22             { name => "MsgType", required => "Y" },
23             { name => "SenderCompID", required => "Y" },
24             { name => "TargetCompID", required => "Y" },
25             { name => "OnBehalfOfCompID", required => "N" },
26             { name => "DeliverToCompID", required => "N" },
27             { name => "SecureDataLen", required => "N" },
28             { name => "SecureData", required => "N" },
29             { name => "MsgSeqNum", required => "Y" },
30             { name => "SenderSubID", required => "N" },
31             { name => "SenderLocationID", required => "N" },
32             { name => "TargetSubID", required => "N" },
33             { name => "TargetLocationID", required => "N" },
34             { name => "OnBehalfOfSubID", required => "N" },
35             { name => "OnBehalfOfLocationID", required => "N" },
36             { name => "DeliverToSubID", required => "N" },
37             { name => "DeliverToLocationID", required => "N" },
38             { name => "PossDupFlag", required => "N" },
39             { name => "PossResend", required => "N" },
40             { name => "SendingTime", required => "Y" },
41             { name => "OrigSendingTime", required => "N" },
42             { name => "XmlDataLen", required => "N" },
43             { name => "XmlData", required => "N" },
44             { name => "MessageEncoding", required => "N" },
45             { name => "LastMsgSeqNumProcessed", required => "N" },
46             {
47             name => "NoHops",
48             required => "N",
49             group => [
50             { name => "HopCompID", required => "N" },
51             { name => "HopSendingTime", required => "N" },
52             { name => "HopRefID", required => "N" }
53             ]
54             }
55             ],
56              
57             trailer => [
58             { name => "SignatureLength", required => "N" },
59             { name => "Signature", required => "N" },
60             { name => "CheckSum", required => "Y" }
61             ],
62              
63             messages => [
64             {
65             name => "Heartbeat",
66             msgtype => "0",
67             msgcat => "admin",
68             fields => [ { name => "TestReqID", required => "N" } ]
69             },
70             {
71             name => "Logon",
72             msgtype => "A",
73             msgcat => "admin",
74             fields => [
75             { name => "EncryptMethod", required => "Y" },
76             { name => "HeartBtInt", required => "Y" },
77             { name => "RawDataLength", required => "N" },
78             { name => "RawData", required => "N" },
79             { name => "ResetSeqNumFlag", required => "N" },
80             { name => "NextExpectedMsgSeqNum", required => "N" },
81             { name => "MaxMessageSize", required => "N" },
82             {
83             name => "NoMsgTypes",
84             required => "N",
85             group => [
86             { name => "RefMsgType", required => "N" },
87             { name => "MsgDirection", required => "N" }
88             ]
89             },
90             { name => "TestMessageIndicator", required => "N" },
91             { name => "Username", required => "N" },
92             { name => "Password", required => "N" }
93             ]
94             },
95             {
96             name => "TestRequest",
97             msgtype => "1",
98             msgcat => "admin",
99             fields => [ { name => "TestReqID", required => "Y" }, ]
100             },
101             {
102             name => "ResendRequest",
103             msgtype => "2",
104             msgcat => "admin",
105             fields => [
106             { name => "BeginSeqNo", required => "Y" },
107             { name => "EndSeqNo", required => "Y" },
108             ]
109             },
110             {
111             name => "Reject",
112             msgtype => "3",
113             msgcat => "admin",
114             fields => [
115             { name => "RefSeqNum", required => "Y" },
116             { name => "RefTagID", required => "N" },
117             { name => "RefMsgType", required => "N" },
118             { name => "SessionRejectReason", required => "N" },
119             { name => "Text", required => "N" },
120             { name => "EncodedTextLen", required => "N" },
121             { name => "EncodedText", required => "N" },
122             ]
123             },
124             {
125             name => "SequenceReset",
126             msgtype => "4",
127             msgcat => "admin",
128             fields => [
129             { name => "GapFillFlag", required => "N" },
130             { name => "NewSeqNo", required => "Y" },
131             ]
132             },
133             {
134             name => "Logout",
135             msgtype => "5",
136             msgcat => "admin",
137             fields => [
138             { name => "Text", required => "N" },
139             { name => "EncodedTextLen", required => "N" },
140             { name => "EncodedText", required => "N" },
141             ]
142             },
143             {
144             name => "BusinessMessageReject",
145             msgtype => "j",
146             msgcat => "app",
147             fields => [
148             { name => "RefSeqNum", required => "N" },
149             { name => "RefMsgType", required => "Y" },
150             { name => "BusinessRejectRefID", required => "N" },
151             { name => "BusinessRejectReason", required => "Y" },
152             { name => "Text", required => "N" },
153             { name => "EncodedTextLen", required => "N" },
154             { name => "EncodedText", required => "N" },
155             ]
156             },
157             {
158             name => "UserRequest",
159             msgtype => "BE",
160             msgcat => "app",
161             fields => [
162             { name => "UserRequestID", required => "Y" },
163             { name => "UserRequestType", required => "Y" },
164             { name => "Username", required => "Y" },
165             { name => "Password", required => "N" },
166             { name => "NewPassword", required => "N" },
167             { name => "RawDataLength", required => "N" },
168             { name => "RawData", required => "N" },
169             ]
170             },
171             {
172             name => "UserResponse",
173             msgtype => "BF",
174             msgcat => "app",
175             fields => [
176             { name => "UserRequestID", required => "Y" },
177             { name => "Username", required => "Y" },
178             { name => "UserStatus", required => "N" },
179             { name => "UserStatusText", required => "N" },
180             ]
181             },
182             {
183             name => "Advertisement",
184             msgtype => "7",
185             msgcat => "app",
186             fields => [
187             { name => "AdvId", required => "Y" },
188             { name => "AdvTransType", required => "Y" },
189             { name => "AdvRefID", required => "N" },
190             {
191             name => "Instrument",
192             required => "Y",
193             component => "Y"
194             },
195             {
196             name => "NoLegs",
197             required => "N",
198             group => [
199             {
200             name => "InstrumentLeg",
201             required => "N",
202             component => "Y"
203             },
204             ]
205             },
206             {
207             name => "NoUnderlyings",
208             required => "N",
209             group => [
210             {
211             name => "UnderlyingInstrument",
212             required => "Y",
213             component => "Y"
214             },
215             ]
216             },
217             { name => "AdvSide", required => "Y" },
218             { name => "Quantity", required => "Y" },
219             { name => "QtyType", required => "N" },
220             { name => "Price", required => "N" },
221             { name => "Currency", required => "N" },
222             { name => "TradeDate", required => "N" },
223             { name => "TransactTime", required => "N" },
224             { name => "Text", required => "N" },
225             { name => "EncodedTextLen", required => "N" },
226             { name => "EncodedText", required => "N" },
227             { name => "URLLink", required => "N" },
228             { name => "LastMkt", required => "N" },
229             { name => "TradingSessionID", required => "N" },
230             { name => "TradingSessionSubID", required => "N" },
231             ]
232             },
233             {
234             name => "IndicationOfInterest",
235             msgtype => "6",
236             msgcat => "app",
237             fields => [
238             { name => "IOIid", required => "Y" },
239             { name => "IOITransType", required => "Y" },
240             { name => "IOIRefID", required => "N" },
241             {
242             name => "Instrument",
243             required => "Y",
244             component => "Y"
245             },
246             {
247             name => "FinancingDetails",
248             required => "N",
249             component => "Y"
250             },
251             {
252             name => "NoUnderlyings",
253             required => "N",
254             group => [
255             {
256             name => "UnderlyingInstrument",
257             required => "N",
258             component => "Y"
259             },
260             ]
261             },
262             { name => "Side", required => "Y" },
263             { name => "QtyType", required => "N" },
264             {
265             name => "OrderQtyData",
266             required => "N",
267             component => "Y"
268             },
269             { name => "IOIQty", required => "Y" },
270             { name => "Currency", required => "N" },
271             {
272             name => "Stipulations",
273             required => "N",
274             component => "Y"
275             },
276             {
277             name => "NoLegs",
278             required => "N",
279             group => [
280             {
281             name => "InstrumentLeg",
282             required => "N",
283             component => "Y"
284             },
285             { name => "LegIOIQty", required => "N" },
286             {
287             name => "LegStipulations",
288             required => "N",
289             component => "Y"
290             },
291             ]
292             },
293             { name => "PriceType", required => "N" },
294             { name => "Price", required => "N" },
295             { name => "ValidUntilTime", required => "N" },
296             { name => "IOIQltyInd", required => "N" },
297             { name => "IOINaturalFlag", required => "N" },
298             {
299             name => "NoIOIQualifiers",
300             required => "N",
301             group =>
302             [ { name => "IOIQualifier", required => "N" }, ]
303             },
304             { name => "Text", required => "N" },
305             { name => "EncodedTextLen", required => "N" },
306             { name => "EncodedText", required => "N" },
307             { name => "TransactTime", required => "N" },
308             { name => "URLLink", required => "N" },
309             {
310             name => "NoRoutingIDs",
311             required => "N",
312             group => [
313             { name => "RoutingType", required => "N" },
314             { name => "RoutingID", required => "N" },
315             ]
316             },
317             {
318             name => "SpreadOrBenchmarkCurveData",
319             required => "N",
320             component => "Y"
321             },
322             {
323             name => "YieldData",
324             required => "N",
325             component => "Y"
326             },
327             ]
328             },
329             {
330             name => "News",
331             msgtype => "B",
332             msgcat => "app",
333             fields => [
334             { name => "OrigTime", required => "N" },
335             { name => "Urgency", required => "N" },
336             { name => "Headline", required => "Y" },
337             { name => "EncodedHeadlineLen", required => "N" },
338             { name => "EncodedHeadline", required => "N" },
339             {
340             name => "NoRoutingIDs",
341             required => "N",
342             group => [
343             { name => "RoutingType", required => "N" },
344             { name => "RoutingID", required => "N" },
345             ]
346             },
347             {
348             name => "NoRelatedSym",
349             required => "N",
350             group => [
351             {
352             name => "Instrument",
353             required => "N",
354             component => "Y"
355             },
356             ]
357             },
358             {
359             name => "NoLegs",
360             required => "N",
361             group => [
362             {
363             name => "InstrumentLeg",
364             required => "N",
365             component => "Y"
366             },
367             ]
368             },
369             {
370             name => "NoUnderlyings",
371             required => "N",
372             group => [
373             {
374             name => "UnderlyingInstrument",
375             required => "N",
376             component => "Y"
377             },
378             ]
379             },
380             {
381             name => "LinesOfText",
382             required => "Y",
383             group => [
384             { name => "Text", required => "Y" },
385             { name => "EncodedTextLen", required => "N" },
386             { name => "EncodedText", required => "N" },
387             ]
388             },
389             { name => "URLLink", required => "N" },
390             { name => "RawDataLength", required => "N" },
391             { name => "RawData", required => "N" },
392             ]
393             },
394             {
395             name => "Email",
396             msgtype => "C",
397             msgcat => "app",
398             fields => [
399             { name => "EmailThreadID", required => "Y" },
400             { name => "EmailType", required => "Y" },
401             { name => "OrigTime", required => "N" },
402             { name => "Subject", required => "Y" },
403             { name => "EncodedSubjectLen", required => "N" },
404             { name => "EncodedSubject", required => "N" },
405             {
406             name => "NoRoutingIDs",
407             required => "N",
408             group => [
409             { name => "RoutingType", required => "N" },
410             { name => "RoutingID", required => "N" },
411             ]
412             },
413             {
414             name => "NoRelatedSym",
415             required => "N",
416             group => [
417             {
418             name => "Instrument",
419             required => "N",
420             component => "Y"
421             },
422             ]
423             },
424             {
425             name => "NoUnderlyings",
426             required => "N",
427             group => [
428             {
429             name => "UnderlyingInstrument",
430             required => "N",
431             component => "Y"
432             },
433             ]
434             },
435             {
436             name => "NoLegs",
437             required => "N",
438             group => [
439             {
440             name => "InstrumentLeg",
441             required => "N",
442             component => "Y"
443             },
444             ]
445             },
446             { name => "OrderID", required => "N" },
447             { name => "ClOrdID", required => "N" },
448             {
449             name => "LinesOfText",
450             required => "Y",
451             group => [
452             { name => "Text", required => "Y" },
453             { name => "EncodedTextLen", required => "N" },
454             { name => "EncodedText", required => "N" },
455             ]
456             },
457             { name => "RawDataLength", required => "N" },
458             { name => "RawData", required => "N" },
459             ]
460             },
461             {
462             name => "QuoteRequest",
463             msgtype => "R",
464             msgcat => "app",
465             fields => [
466             { name => "QuoteReqID", required => "Y" },
467             { name => "RFQReqID", required => "N" },
468             { name => "ClOrdID", required => "N" },
469             { name => "OrderCapacity", required => "N" },
470             {
471             name => "NoRelatedSym",
472             required => "Y",
473             group => [
474             {
475             name => "Instrument",
476             required => "Y",
477             component => "Y"
478             },
479             {
480             name => "FinancingDetails",
481             required => "N",
482             component => "Y"
483             },
484             {
485             name => "NoUnderlyings",
486             required => "N",
487             group => [
488             {
489             name => "UnderlyingInstrument",
490             required => "N",
491             component => "Y"
492             },
493             ]
494             },
495             { name => "PrevClosePx", required => "N" },
496             { name => "QuoteRequestType", required => "N" },
497             { name => "QuoteType", required => "N" },
498             { name => "TradingSessionID", required => "N" },
499             {
500             name => "TradingSessionSubID",
501             required => "N"
502             },
503             {
504             name => "TradeOriginationDate",
505             required => "N"
506             },
507             { name => "Side", required => "N" },
508             { name => "QtyType", required => "N" },
509             {
510             name => "OrderQtyData",
511             required => "N",
512             component => "Y"
513             },
514             { name => "SettlType", required => "N" },
515             { name => "SettlDate", required => "N" },
516             { name => "SettlDate2", required => "N" },
517             { name => "OrderQty2", required => "N" },
518             { name => "Currency", required => "N" },
519             {
520             name => "Stipulations",
521             required => "N",
522             component => "Y"
523             },
524             { name => "Account", required => "N" },
525             { name => "AcctIDSource", required => "N" },
526             { name => "AccountType", required => "N" },
527             {
528             name => "NoLegs",
529             required => "N",
530             group => [
531             {
532             name => "InstrumentLeg",
533             required => "N",
534             component => "Y"
535             },
536             { name => "LegQty", required => "N" },
537             {
538             name => "LegSwapType",
539             required => "N"
540             },
541             {
542             name => "LegSettlType",
543             required => "N"
544             },
545             {
546             name => "LegSettlDate",
547             required => "N"
548             },
549             {
550             name => "LegStipulations",
551             required => "N",
552             component => "Y"
553             },
554             {
555             name => "NestedParties",
556             required => "N",
557             component => "Y"
558             },
559             {
560             name => "LegBenchmarkCurveData",
561             required => "N",
562             component => "Y"
563             },
564             ]
565             },
566             {
567             name => "NoQuoteQualifiers",
568             required => "N",
569             group => [
570             {
571             name => "QuoteQualifier",
572             required => "N"
573             },
574             ]
575             },
576             { name => "QuotePriceType", required => "N" },
577             { name => "OrdType", required => "N" },
578             { name => "ValidUntilTime", required => "N" },
579             { name => "ExpireTime", required => "N" },
580             { name => "TransactTime", required => "N" },
581             {
582             name => "SpreadOrBenchmarkCurveData",
583             required => "N",
584             component => "Y"
585             },
586             { name => "PriceType", required => "N" },
587             { name => "Price", required => "N" },
588             { name => "Price2", required => "N" },
589             {
590             name => "YieldData",
591             required => "N",
592             component => "Y"
593             },
594             {
595             name => "Parties",
596             required => "N",
597             component => "Y"
598             },
599             ]
600             },
601             { name => "Text", required => "N" },
602             { name => "EncodedTextLen", required => "N" },
603             { name => "EncodedText", required => "N" },
604             ]
605             },
606             {
607             name => "QuoteResponse",
608             msgtype => "AJ",
609             msgcat => "app",
610             fields => [
611             { name => "QuoteRespID", required => "Y" },
612             { name => "QuoteID", required => "N" },
613             { name => "QuoteRespType", required => "Y" },
614             { name => "ClOrdID", required => "N" },
615             { name => "OrderCapacity", required => "N" },
616             { name => "IOIid", required => "N" },
617             { name => "QuoteType", required => "N" },
618             {
619             name => "NoQuoteQualifiers",
620             required => "N",
621             group =>
622             [ { name => "QuoteQualifier", required => "N" }, ]
623             },
624             { name => "Parties", required => "N", component => "Y" },
625             { name => "TradingSessionID", required => "N" },
626             { name => "TradingSessionSubID", required => "N" },
627             {
628             name => "Instrument",
629             required => "Y",
630             component => "Y"
631             },
632             {
633             name => "FinancingDetails",
634             required => "N",
635             component => "Y"
636             },
637             {
638             name => "NoUnderlyings",
639             required => "N",
640             group => [
641             {
642             name => "UnderlyingInstrument",
643             required => "N",
644             component => "Y"
645             },
646             ]
647             },
648             { name => "Side", required => "N" },
649             {
650             name => "OrderQtyData",
651             required => "N",
652             component => "Y"
653             },
654             { name => "SettlType", required => "N" },
655             { name => "SettlDate", required => "N" },
656             { name => "SettlDate2", required => "N" },
657             { name => "OrderQty2", required => "N" },
658             { name => "Currency", required => "N" },
659             {
660             name => "Stipulations",
661             required => "N",
662             component => "Y"
663             },
664             { name => "Account", required => "N" },
665             { name => "AcctIDSource", required => "N" },
666             { name => "AccountType", required => "N" },
667             {
668             name => "NoLegs",
669             required => "N",
670             group => [
671             {
672             name => "InstrumentLeg",
673             required => "N",
674             component => "Y"
675             },
676             { name => "LegQty", required => "N" },
677             { name => "LegSwapType", required => "N" },
678             { name => "LegSettlType", required => "N" },
679             { name => "LegSettlDate", required => "N" },
680             {
681             name => "LegStipulations",
682             required => "N",
683             component => "Y"
684             },
685             {
686             name => "NestedParties",
687             required => "N",
688             component => "Y"
689             },
690             { name => "LegPriceType", required => "N" },
691             { name => "LegBidPx", required => "N" },
692             { name => "LegOfferPx", required => "N" },
693             {
694             name => "LegBenchmarkCurveData",
695             required => "N",
696             component => "Y"
697             },
698             ]
699             },
700             { name => "BidPx", required => "N" },
701             { name => "OfferPx", required => "N" },
702             { name => "MktBidPx", required => "N" },
703             { name => "MktOfferPx", required => "N" },
704             { name => "MinBidSize", required => "N" },
705             { name => "BidSize", required => "N" },
706             { name => "MinOfferSize", required => "N" },
707             { name => "OfferSize", required => "N" },
708             { name => "ValidUntilTime", required => "N" },
709             { name => "BidSpotRate", required => "N" },
710             { name => "OfferSpotRate", required => "N" },
711             { name => "BidForwardPoints", required => "N" },
712             { name => "OfferForwardPoints", required => "N" },
713             { name => "MidPx", required => "N" },
714             { name => "BidYield", required => "N" },
715             { name => "MidYield", required => "N" },
716             { name => "OfferYield", required => "N" },
717             { name => "TransactTime", required => "N" },
718             { name => "OrdType", required => "N" },
719             { name => "BidForwardPoints2", required => "N" },
720             { name => "OfferForwardPoints2", required => "N" },
721             { name => "SettlCurrBidFxRate", required => "N" },
722             { name => "SettlCurrOfferFxRate", required => "N" },
723             { name => "SettlCurrFxRateCalc", required => "N" },
724             { name => "Commission", required => "N" },
725             { name => "CommType", required => "N" },
726             { name => "CustOrderCapacity", required => "N" },
727             { name => "ExDestination", required => "N" },
728             { name => "Text", required => "N" },
729             { name => "EncodedTextLen", required => "N" },
730             { name => "EncodedText", required => "N" },
731             { name => "Price", required => "N" },
732             { name => "PriceType", required => "N" },
733             {
734             name => "SpreadOrBenchmarkCurveData",
735             required => "N",
736             component => "Y"
737             },
738             {
739             name => "YieldData",
740             required => "N",
741             component => "Y"
742             },
743             ]
744             },
745             {
746             name => "QuoteRequestReject",
747             msgtype => "AG",
748             msgcat => "app",
749             fields => [
750             { name => "QuoteReqID", required => "Y" },
751             { name => "RFQReqID", required => "N" },
752             { name => "QuoteRequestRejectReason", required => "Y" },
753             {
754             name => "NoRelatedSym",
755             required => "Y",
756             group => [
757             {
758             name => "Instrument",
759             required => "Y",
760             component => "Y"
761             },
762             {
763             name => "FinancingDetails",
764             required => "N",
765             component => "Y"
766             },
767             {
768             name => "NoUnderlyings",
769             required => "N",
770             group => [
771             {
772             name => "UnderlyingInstrument",
773             required => "N",
774             component => "Y"
775             },
776             ]
777             },
778             { name => "PrevClosePx", required => "N" },
779             { name => "QuoteRequestType", required => "N" },
780             { name => "QuoteType", required => "N" },
781             { name => "TradingSessionID", required => "N" },
782             {
783             name => "TradingSessionSubID",
784             required => "N"
785             },
786             {
787             name => "TradeOriginationDate",
788             required => "N"
789             },
790             { name => "Side", required => "N" },
791             { name => "QtyType", required => "N" },
792             {
793             name => "OrderQtyData",
794             required => "N",
795             component => "Y"
796             },
797             { name => "SettlType", required => "N" },
798             { name => "SettlDate", required => "N" },
799             { name => "SettlDate2", required => "N" },
800             { name => "OrderQty2", required => "N" },
801             { name => "Currency", required => "N" },
802             {
803             name => "Stipulations",
804             required => "N",
805             component => "Y"
806             },
807             { name => "Account", required => "N" },
808             { name => "AcctIDSource", required => "N" },
809             { name => "AccountType", required => "N" },
810             {
811             name => "NoLegs",
812             required => "N",
813             group => [
814             {
815             name => "InstrumentLeg",
816             required => "N",
817             component => "Y"
818             },
819             { name => "LegQty", required => "N" },
820             {
821             name => "LegSwapType",
822             required => "N"
823             },
824             {
825             name => "LegSettlType",
826             required => "N"
827             },
828             {
829             name => "LegSettlDate",
830             required => "N"
831             },
832             {
833             name => "LegStipulations",
834             required => "N",
835             component => "Y"
836             },
837             {
838             name => "NestedParties",
839             required => "N",
840             component => "Y"
841             },
842             {
843             name => "LegBenchmarkCurveData",
844             required => "N",
845             component => "Y"
846             },
847             ]
848             },
849             ]
850             },
851             {
852             name => "NoQuoteQualifiers",
853             required => "N",
854             group =>
855             [ { name => "QuoteQualifier", required => "N" }, ]
856             },
857             { name => "QuotePriceType", required => "N" },
858             { name => "OrdType", required => "N" },
859             { name => "ExpireTime", required => "N" },
860             { name => "TransactTime", required => "N" },
861             {
862             name => "SpreadOrBenchmarkCurveData",
863             required => "N",
864             component => "Y"
865             },
866             { name => "PriceType", required => "N" },
867             { name => "Price", required => "N" },
868             { name => "Price2", required => "N" },
869             {
870             name => "YieldData",
871             required => "N",
872             component => "Y"
873             },
874             { name => "Parties", required => "N", component => "Y" },
875             { name => "Text", required => "N" },
876             { name => "EncodedTextLen", required => "N" },
877             { name => "EncodedText", required => "N" },
878             ]
879             },
880             {
881             name => "RFQRequest",
882             msgtype => "AH",
883             msgcat => "app",
884             fields => [
885             { name => "RFQReqID", required => "Y" },
886             {
887             name => "NoRelatedSym",
888             required => "Y",
889             group => [
890             {
891             name => "Instrument",
892             required => "Y",
893             component => "Y"
894             },
895             {
896             name => "NoUnderlyings",
897             required => "N",
898             group => [
899             {
900             name => "UnderlyingInstrument",
901             required => "N",
902             component => "Y"
903             },
904             ]
905             },
906             {
907             name => "NoLegs",
908             required => "N",
909             group => [
910             {
911             name => "InstrumentLeg",
912             required => "N",
913             component => "Y"
914             },
915             ]
916             },
917             { name => "PrevClosePx", required => "N" },
918             { name => "QuoteRequestType", required => "N" },
919             { name => "QuoteType", required => "N" },
920             { name => "TradingSessionID", required => "N" },
921             {
922             name => "TradingSessionSubID",
923             required => "N"
924             },
925             ]
926             },
927             { name => "SubscriptionRequestType", required => "N" },
928             ]
929             },
930             {
931             name => "Quote",
932             msgtype => "S",
933             msgcat => "app",
934             fields => [
935             { name => "QuoteReqID", required => "N" },
936             { name => "QuoteID", required => "Y" },
937             { name => "QuoteRespID", required => "N" },
938             { name => "QuoteType", required => "N" },
939             {
940             name => "NoQuoteQualifiers",
941             required => "N",
942             group =>
943             [ { name => "QuoteQualifier", required => "N" }, ]
944             },
945             { name => "QuoteResponseLevel", required => "N" },
946             { name => "Parties", required => "N", component => "Y" },
947             { name => "TradingSessionID", required => "N" },
948             { name => "TradingSessionSubID", required => "N" },
949             {
950             name => "Instrument",
951             required => "Y",
952             component => "Y"
953             },
954             {
955             name => "FinancingDetails",
956             required => "N",
957             component => "Y"
958             },
959             {
960             name => "NoUnderlyings",
961             required => "N",
962             group => [
963             {
964             name => "UnderlyingInstrument",
965             required => "N",
966             component => "Y"
967             },
968             ]
969             },
970             { name => "Side", required => "N" },
971             {
972             name => "OrderQtyData",
973             required => "N",
974             component => "Y"
975             },
976             { name => "SettlType", required => "N" },
977             { name => "SettlDate", required => "N" },
978             { name => "SettlDate2", required => "N" },
979             { name => "OrderQty2", required => "N" },
980             { name => "Currency", required => "N" },
981             {
982             name => "Stipulations",
983             required => "N",
984             component => "Y"
985             },
986             { name => "Account", required => "N" },
987             { name => "AcctIDSource", required => "N" },
988             { name => "AccountType", required => "N" },
989             {
990             name => "NoLegs",
991             required => "N",
992             group => [
993             {
994             name => "InstrumentLeg",
995             required => "N",
996             component => "Y"
997             },
998             { name => "LegQty", required => "N" },
999             { name => "LegSwapType", required => "N" },
1000             { name => "LegSettlType", required => "N" },
1001             { name => "LegSettlDate", required => "N" },
1002             {
1003             name => "LegStipulations",
1004             required => "N",
1005             component => "Y"
1006             },
1007             {
1008             name => "NestedParties",
1009             required => "N",
1010             component => "Y"
1011             },
1012             { name => "LegPriceType", required => "N" },
1013             { name => "LegBidPx", required => "N" },
1014             { name => "LegOfferPx", required => "N" },
1015             {
1016             name => "LegBenchmarkCurveData",
1017             required => "N",
1018             component => "Y"
1019             },
1020             ]
1021             },
1022             { name => "BidPx", required => "N" },
1023             { name => "OfferPx", required => "N" },
1024             { name => "MktBidPx", required => "N" },
1025             { name => "MktOfferPx", required => "N" },
1026             { name => "MinBidSize", required => "N" },
1027             { name => "BidSize", required => "N" },
1028             { name => "MinOfferSize", required => "N" },
1029             { name => "OfferSize", required => "N" },
1030             { name => "ValidUntilTime", required => "N" },
1031             { name => "BidSpotRate", required => "N" },
1032             { name => "OfferSpotRate", required => "N" },
1033             { name => "BidForwardPoints", required => "N" },
1034             { name => "OfferForwardPoints", required => "N" },
1035             { name => "MidPx", required => "N" },
1036             { name => "BidYield", required => "N" },
1037             { name => "MidYield", required => "N" },
1038             { name => "OfferYield", required => "N" },
1039             { name => "TransactTime", required => "N" },
1040             { name => "OrdType", required => "N" },
1041             { name => "BidForwardPoints2", required => "N" },
1042             { name => "OfferForwardPoints2", required => "N" },
1043             { name => "SettlCurrBidFxRate", required => "N" },
1044             { name => "SettlCurrOfferFxRate", required => "N" },
1045             { name => "SettlCurrFxRateCalc", required => "N" },
1046             { name => "CommType", required => "N" },
1047             { name => "Commission", required => "N" },
1048             { name => "CustOrderCapacity", required => "N" },
1049             { name => "ExDestination", required => "N" },
1050             { name => "OrderCapacity", required => "N" },
1051             { name => "PriceType", required => "N" },
1052             {
1053             name => "SpreadOrBenchmarkCurveData",
1054             required => "N",
1055             component => "Y"
1056             },
1057             {
1058             name => "YieldData",
1059             required => "N",
1060             component => "Y"
1061             },
1062             { name => "Text", required => "N" },
1063             { name => "EncodedTextLen", required => "N" },
1064             { name => "EncodedText", required => "N" },
1065             ]
1066             },
1067             {
1068             name => "QuoteCancel",
1069             msgtype => "Z",
1070             msgcat => "app",
1071             fields => [
1072             { name => "QuoteReqID", required => "N" },
1073             { name => "QuoteID", required => "Y" },
1074             { name => "QuoteCancelType", required => "Y" },
1075             { name => "QuoteResponseLevel", required => "N" },
1076             { name => "Parties", required => "N", component => "Y" },
1077             { name => "Account", required => "N" },
1078             { name => "AcctIDSource", required => "N" },
1079             { name => "AccountType", required => "N" },
1080             { name => "TradingSessionID", required => "N" },
1081             { name => "TradingSessionSubID", required => "N" },
1082             {
1083             name => "NoQuoteEntries",
1084             required => "N",
1085             group => [
1086             {
1087             name => "Instrument",
1088             required => "N",
1089             component => "Y"
1090             },
1091             {
1092             name => "FinancingDetails",
1093             required => "N",
1094             component => "Y"
1095             },
1096             {
1097             name => "NoUnderlyings",
1098             required => "N",
1099             group => [
1100             {
1101             name => "UnderlyingInstrument",
1102             required => "N",
1103             component => "Y"
1104             },
1105             ]
1106             },
1107             {
1108             name => "NoLegs",
1109             required => "N",
1110             group => [
1111             {
1112             name => "InstrumentLeg",
1113             required => "N",
1114             component => "Y"
1115             },
1116             ]
1117             },
1118             ]
1119             },
1120             ]
1121             },
1122             {
1123             name => "QuoteStatusRequest",
1124             msgtype => "a",
1125             msgcat => "app",
1126             fields => [
1127             { name => "QuoteStatusReqID", required => "N" },
1128             { name => "QuoteID", required => "N" },
1129             {
1130             name => "Instrument",
1131             required => "Y",
1132             component => "Y"
1133             },
1134             {
1135             name => "FinancingDetails",
1136             required => "N",
1137             component => "Y"
1138             },
1139             {
1140             name => "NoUnderlyings",
1141             required => "N",
1142             group => [
1143             {
1144             name => "UnderlyingInstrument",
1145             required => "N",
1146             component => "Y"
1147             },
1148             ]
1149             },
1150             {
1151             name => "NoLegs",
1152             required => "N",
1153             group => [
1154             {
1155             name => "InstrumentLeg",
1156             required => "N",
1157             component => "Y"
1158             },
1159             ]
1160             },
1161             { name => "Parties", required => "N", component => "Y" },
1162             { name => "Account", required => "N" },
1163             { name => "AcctIDSource", required => "N" },
1164             { name => "AccountType", required => "N" },
1165             { name => "TradingSessionID", required => "N" },
1166             { name => "TradingSessionSubID", required => "N" },
1167             { name => "SubscriptionRequestType", required => "N" },
1168             ]
1169             },
1170             {
1171             name => "QuoteStatusReport",
1172             msgtype => "AI",
1173             msgcat => "app",
1174             fields => [
1175             { name => "QuoteStatusReqID", required => "N" },
1176             { name => "QuoteReqID", required => "N" },
1177             { name => "QuoteID", required => "Y" },
1178             { name => "QuoteRespID", required => "N" },
1179             { name => "QuoteType", required => "N" },
1180             { name => "Parties", required => "N", component => "Y" },
1181             { name => "TradingSessionID", required => "N" },
1182             { name => "TradingSessionSubID", required => "N" },
1183             {
1184             name => "Instrument",
1185             required => "Y",
1186             component => "Y"
1187             },
1188             {
1189             name => "FinancingDetails",
1190             required => "N",
1191             component => "Y"
1192             },
1193             {
1194             name => "NoUnderlyings",
1195             required => "N",
1196             group => [
1197             {
1198             name => "UnderlyingInstrument",
1199             required => "N",
1200             component => "Y"
1201             },
1202             ]
1203             },
1204             { name => "Side", required => "N" },
1205             {
1206             name => "OrderQtyData",
1207             required => "N",
1208             component => "Y"
1209             },
1210             { name => "SettlType", required => "N" },
1211             { name => "SettlDate", required => "N" },
1212             { name => "SettlDate2", required => "N" },
1213             { name => "OrderQty2", required => "N" },
1214             { name => "Currency", required => "N" },
1215             {
1216             name => "Stipulations",
1217             required => "N",
1218             component => "Y"
1219             },
1220             { name => "Account", required => "N" },
1221             { name => "AcctIDSource", required => "N" },
1222             { name => "AccountType", required => "N" },
1223             {
1224             name => "NoLegs",
1225             required => "N",
1226             group => [
1227             {
1228             name => "InstrumentLeg",
1229             required => "N",
1230             component => "Y"
1231             },
1232             { name => "LegQty", required => "N" },
1233             { name => "LegSwapType", required => "N" },
1234             { name => "LegSettlType", required => "N" },
1235             { name => "LegSettlDate", required => "N" },
1236             {
1237             name => "LegStipulations",
1238             required => "N",
1239             component => "Y"
1240             },
1241             {
1242             name => "NestedParties",
1243             required => "N",
1244             component => "Y"
1245             },
1246             ]
1247             },
1248             {
1249             name => "NoQuoteQualifiers",
1250             required => "N",
1251             group =>
1252             [ { name => "QuoteQualifier", required => "N" }, ]
1253             },
1254             { name => "ExpireTime", required => "N" },
1255             { name => "Price", required => "N" },
1256             { name => "PriceType", required => "N" },
1257             {
1258             name => "SpreadOrBenchmarkCurveData",
1259             required => "N",
1260             component => "Y"
1261             },
1262             {
1263             name => "YieldData",
1264             required => "N",
1265             component => "Y"
1266             },
1267             { name => "BidPx", required => "N" },
1268             { name => "OfferPx", required => "N" },
1269             { name => "MktBidPx", required => "N" },
1270             { name => "MktOfferPx", required => "N" },
1271             { name => "MinBidSize", required => "N" },
1272             { name => "BidSize", required => "N" },
1273             { name => "MinOfferSize", required => "N" },
1274             { name => "OfferSize", required => "N" },
1275             { name => "ValidUntilTime", required => "N" },
1276             { name => "BidSpotRate", required => "N" },
1277             { name => "OfferSpotRate", required => "N" },
1278             { name => "BidForwardPoints", required => "N" },
1279             { name => "OfferForwardPoints", required => "N" },
1280             { name => "MidPx", required => "N" },
1281             { name => "BidYield", required => "N" },
1282             { name => "MidYield", required => "N" },
1283             { name => "OfferYield", required => "N" },
1284             { name => "TransactTime", required => "N" },
1285             { name => "OrdType", required => "N" },
1286             { name => "BidForwardPoints2", required => "N" },
1287             { name => "OfferForwardPoints2", required => "N" },
1288             { name => "SettlCurrBidFxRate", required => "N" },
1289             { name => "SettlCurrOfferFxRate", required => "N" },
1290             { name => "SettlCurrFxRateCalc", required => "N" },
1291             { name => "CommType", required => "N" },
1292             { name => "Commission", required => "N" },
1293             { name => "CustOrderCapacity", required => "N" },
1294             { name => "ExDestination", required => "N" },
1295             { name => "QuoteStatus", required => "N" },
1296             { name => "Text", required => "N" },
1297             { name => "EncodedTextLen", required => "N" },
1298             { name => "EncodedText", required => "N" },
1299             ]
1300             },
1301             {
1302             name => "MassQuote",
1303             msgtype => "i",
1304             msgcat => "app",
1305             fields => [
1306             { name => "QuoteReqID", required => "N" },
1307             { name => "QuoteID", required => "Y" },
1308             { name => "QuoteType", required => "N" },
1309             { name => "QuoteResponseLevel", required => "N" },
1310             { name => "Parties", required => "N", component => "Y" },
1311             { name => "Account", required => "N" },
1312             { name => "AcctIDSource", required => "N" },
1313             { name => "AccountType", required => "N" },
1314             { name => "DefBidSize", required => "N" },
1315             { name => "DefOfferSize", required => "N" },
1316             {
1317             name => "NoQuoteSets",
1318             required => "Y",
1319             group => [
1320             { name => "QuoteSetID", required => "Y" },
1321             {
1322             name => "UnderlyingInstrument",
1323             required => "N",
1324             component => "Y"
1325             },
1326             {
1327             name => "QuoteSetValidUntilTime",
1328             required => "N"
1329             },
1330             { name => "TotNoQuoteEntries", required => "Y" },
1331             { name => "LastFragment", required => "N" },
1332             {
1333             name => "NoQuoteEntries",
1334             required => "Y",
1335             group => [
1336             {
1337             name => "QuoteEntryID",
1338             required => "Y"
1339             },
1340             {
1341             name => "Instrument",
1342             required => "N",
1343             component => "Y"
1344             },
1345             {
1346             name => "NoLegs",
1347             required => "N",
1348             group => [
1349             {
1350             name => "InstrumentLeg",
1351             required => "N",
1352             component => "Y"
1353             },
1354             ]
1355             },
1356             { name => "BidPx", required => "N" },
1357             { name => "OfferPx", required => "N" },
1358             { name => "BidSize", required => "N" },
1359             { name => "OfferSize", required => "N" },
1360             {
1361             name => "ValidUntilTime",
1362             required => "N"
1363             },
1364             {
1365             name => "BidSpotRate",
1366             required => "N"
1367             },
1368             {
1369             name => "OfferSpotRate",
1370             required => "N"
1371             },
1372             {
1373             name => "BidForwardPoints",
1374             required => "N"
1375             },
1376             {
1377             name => "OfferForwardPoints",
1378             required => "N"
1379             },
1380             { name => "MidPx", required => "N" },
1381             { name => "BidYield", required => "N" },
1382             { name => "MidYield", required => "N" },
1383             { name => "OfferYield", required => "N" },
1384             {
1385             name => "TransactTime",
1386             required => "N"
1387             },
1388             {
1389             name => "TradingSessionID",
1390             required => "N"
1391             },
1392             {
1393             name => "TradingSessionSubID",
1394             required => "N"
1395             },
1396             { name => "SettlDate", required => "N" },
1397             { name => "OrdType", required => "N" },
1398             { name => "SettlDate2", required => "N" },
1399             { name => "OrderQty2", required => "N" },
1400             {
1401             name => "BidForwardPoints2",
1402             required => "N"
1403             },
1404             {
1405             name => "OfferForwardPoints2",
1406             required => "N"
1407             },
1408             { name => "Currency", required => "N" },
1409             ]
1410             },
1411             ]
1412             },
1413             ]
1414             },
1415             {
1416             name => "MassQuoteAcknowledgement",
1417             msgtype => "b",
1418             msgcat => "app",
1419             fields => [
1420             { name => "QuoteReqID", required => "N" },
1421             { name => "QuoteID", required => "N" },
1422             { name => "QuoteStatus", required => "Y" },
1423             { name => "QuoteRejectReason", required => "N" },
1424             { name => "QuoteResponseLevel", required => "N" },
1425             { name => "QuoteType", required => "N" },
1426             { name => "Parties", required => "N", component => "Y" },
1427             { name => "Account", required => "N" },
1428             { name => "AcctIDSource", required => "N" },
1429             { name => "AccountType", required => "N" },
1430             { name => "Text", required => "N" },
1431             { name => "EncodedTextLen", required => "N" },
1432             { name => "EncodedText", required => "N" },
1433             {
1434             name => "NoQuoteSets",
1435             required => "N",
1436             group => [
1437             { name => "QuoteSetID", required => "N" },
1438             {
1439             name => "UnderlyingInstrument",
1440             required => "N",
1441             component => "Y"
1442             },
1443             { name => "TotNoQuoteEntries", required => "N" },
1444             { name => "LastFragment", required => "N" },
1445             {
1446             name => "NoQuoteEntries",
1447             required => "N",
1448             group => [
1449             {
1450             name => "QuoteEntryID",
1451             required => "N"
1452             },
1453             {
1454             name => "Instrument",
1455             required => "N",
1456             component => "Y"
1457             },
1458             {
1459             name => "NoLegs",
1460             required => "N",
1461             group => [
1462             {
1463             name => "InstrumentLeg",
1464             required => "N",
1465             component => "Y"
1466             },
1467             ]
1468             },
1469             { name => "BidPx", required => "N" },
1470             { name => "OfferPx", required => "N" },
1471             { name => "BidSize", required => "N" },
1472             { name => "OfferSize", required => "N" },
1473             {
1474             name => "ValidUntilTime",
1475             required => "N"
1476             },
1477             {
1478             name => "BidSpotRate",
1479             required => "N"
1480             },
1481             {
1482             name => "OfferSpotRate",
1483             required => "N"
1484             },
1485             {
1486             name => "BidForwardPoints",
1487             required => "N"
1488             },
1489             {
1490             name => "OfferForwardPoints",
1491             required => "N"
1492             },
1493             { name => "MidPx", required => "N" },
1494             { name => "BidYield", required => "N" },
1495             { name => "MidYield", required => "N" },
1496             { name => "OfferYield", required => "N" },
1497             {
1498             name => "TransactTime",
1499             required => "N"
1500             },
1501             {
1502             name => "TradingSessionID",
1503             required => "N"
1504             },
1505             {
1506             name => "TradingSessionSubID",
1507             required => "N"
1508             },
1509             { name => "SettlDate", required => "N" },
1510             { name => "OrdType", required => "N" },
1511             { name => "SettlDate2", required => "N" },
1512             { name => "OrderQty2", required => "N" },
1513             {
1514             name => "BidForwardPoints2",
1515             required => "N"
1516             },
1517             {
1518             name => "OfferForwardPoints2",
1519             required => "N"
1520             },
1521             { name => "Currency", required => "N" },
1522             {
1523             name => "QuoteEntryRejectReason",
1524             required => "N"
1525             },
1526             ]
1527             },
1528             ]
1529             },
1530             ]
1531             },
1532             {
1533             name => "MarketDataRequest",
1534             msgtype => "V",
1535             msgcat => "app",
1536             fields => [
1537             { name => "MDReqID", required => "Y" },
1538             { name => "SubscriptionRequestType", required => "Y" },
1539             { name => "MarketDepth", required => "Y" },
1540             { name => "MDUpdateType", required => "N" },
1541             { name => "AggregatedBook", required => "N" },
1542             { name => "OpenCloseSettlFlag", required => "N" },
1543             { name => "Scope", required => "N" },
1544             { name => "MDImplicitDelete", required => "N" },
1545             {
1546             name => "NoMDEntryTypes",
1547             required => "Y",
1548             group =>
1549             [ { name => "MDEntryType", required => "Y" }, ]
1550             },
1551             {
1552             name => "NoRelatedSym",
1553             required => "Y",
1554             group => [
1555             {
1556             name => "Instrument",
1557             required => "Y",
1558             component => "Y"
1559             },
1560             {
1561             name => "NoUnderlyings",
1562             required => "N",
1563             group => [
1564             {
1565             name => "UnderlyingInstrument",
1566             required => "N",
1567             component => "Y"
1568             },
1569             ]
1570             },
1571             {
1572             name => "NoLegs",
1573             required => "N",
1574             group => [
1575             {
1576             name => "InstrumentLeg",
1577             required => "N",
1578             component => "Y"
1579             },
1580             ]
1581             },
1582             ]
1583             },
1584             {
1585             name => "NoTradingSessions",
1586             required => "N",
1587             group => [
1588             { name => "TradingSessionID", required => "N" },
1589             {
1590             name => "TradingSessionSubID",
1591             required => "N"
1592             },
1593             ]
1594             },
1595             { name => "ApplQueueAction", required => "N" },
1596             { name => "ApplQueueMax", required => "N" },
1597             ]
1598             },
1599             {
1600             name => "MarketDataSnapshotFullRefresh",
1601             msgtype => "W",
1602             msgcat => "app",
1603             fields => [
1604             { name => "MDReqID", required => "N" },
1605             {
1606             name => "Instrument",
1607             required => "Y",
1608             component => "Y"
1609             },
1610             {
1611             name => "NoUnderlyings",
1612             required => "N",
1613             group => [
1614             {
1615             name => "UnderlyingInstrument",
1616             required => "N",
1617             component => "Y"
1618             },
1619             ]
1620             },
1621             {
1622             name => "NoLegs",
1623             required => "N",
1624             group => [
1625             {
1626             name => "InstrumentLeg",
1627             required => "N",
1628             component => "Y"
1629             },
1630             ]
1631             },
1632             { name => "FinancialStatus", required => "N" },
1633             { name => "CorporateAction", required => "N" },
1634             { name => "NetChgPrevDay", required => "N" },
1635             {
1636             name => "NoMDEntries",
1637             required => "Y",
1638             group => [
1639             { name => "MDEntryType", required => "Y" },
1640             { name => "MDEntryPx", required => "N" },
1641             { name => "Currency", required => "N" },
1642             { name => "MDEntrySize", required => "N" },
1643             { name => "MDEntryDate", required => "N" },
1644             { name => "MDEntryTime", required => "N" },
1645             { name => "TickDirection", required => "N" },
1646             { name => "MDMkt", required => "N" },
1647             { name => "TradingSessionID", required => "N" },
1648             {
1649             name => "TradingSessionSubID",
1650             required => "N"
1651             },
1652             { name => "QuoteCondition", required => "N" },
1653             { name => "TradeCondition", required => "N" },
1654             { name => "MDEntryOriginator", required => "N" },
1655             { name => "LocationID", required => "N" },
1656             { name => "DeskID", required => "N" },
1657             { name => "OpenCloseSettlFlag", required => "N" },
1658             { name => "TimeInForce", required => "N" },
1659             { name => "ExpireDate", required => "N" },
1660             { name => "ExpireTime", required => "N" },
1661             { name => "MinQty", required => "N" },
1662             { name => "ExecInst", required => "N" },
1663             { name => "SellerDays", required => "N" },
1664             { name => "OrderID", required => "N" },
1665             { name => "QuoteEntryID", required => "N" },
1666             { name => "MDEntryBuyer", required => "N" },
1667             { name => "MDEntrySeller", required => "N" },
1668             { name => "NumberOfOrders", required => "N" },
1669             { name => "MDEntryPositionNo", required => "N" },
1670             { name => "Scope", required => "N" },
1671             { name => "PriceDelta", required => "N" },
1672             { name => "Text", required => "N" },
1673             { name => "EncodedTextLen", required => "N" },
1674             { name => "EncodedText", required => "N" },
1675             ]
1676             },
1677             { name => "ApplQueueDepth", required => "N" },
1678             { name => "ApplQueueResolution", required => "N" },
1679             ]
1680             },
1681             {
1682             name => "MarketDataIncrementalRefresh",
1683             msgtype => "X",
1684             msgcat => "app",
1685             fields => [
1686             { name => "MDReqID", required => "N" },
1687             {
1688             name => "NoMDEntries",
1689             required => "Y",
1690             group => [
1691             { name => "MDUpdateAction", required => "Y" },
1692             { name => "DeleteReason", required => "N" },
1693             { name => "MDEntryType", required => "N" },
1694             { name => "MDEntryID", required => "N" },
1695             { name => "MDEntryRefID", required => "N" },
1696             {
1697             name => "Instrument",
1698             required => "N",
1699             component => "Y"
1700             },
1701             {
1702             name => "NoUnderlyings",
1703             required => "N",
1704             group => [
1705             {
1706             name => "UnderlyingInstrument",
1707             required => "N",
1708             component => "Y"
1709             },
1710             ]
1711             },
1712             {
1713             name => "NoLegs",
1714             required => "N",
1715             group => [
1716             {
1717             name => "InstrumentLeg",
1718             required => "N",
1719             component => "Y"
1720             },
1721             ]
1722             },
1723             { name => "FinancialStatus", required => "N" },
1724             { name => "CorporateAction", required => "N" },
1725             { name => "MDEntryPx", required => "N" },
1726             { name => "Currency", required => "N" },
1727             { name => "MDEntrySize", required => "N" },
1728             { name => "MDEntryDate", required => "N" },
1729             { name => "MDEntryTime", required => "N" },
1730             { name => "TickDirection", required => "N" },
1731             { name => "MDMkt", required => "N" },
1732             { name => "TradingSessionID", required => "N" },
1733             {
1734             name => "TradingSessionSubID",
1735             required => "N"
1736             },
1737             { name => "QuoteCondition", required => "N" },
1738             { name => "TradeCondition", required => "N" },
1739             { name => "MDEntryOriginator", required => "N" },
1740             { name => "LocationID", required => "N" },
1741             { name => "DeskID", required => "N" },
1742             { name => "OpenCloseSettlFlag", required => "N" },
1743             { name => "TimeInForce", required => "N" },
1744             { name => "ExpireDate", required => "N" },
1745             { name => "ExpireTime", required => "N" },
1746             { name => "MinQty", required => "N" },
1747             { name => "ExecInst", required => "N" },
1748             { name => "SellerDays", required => "N" },
1749             { name => "OrderID", required => "N" },
1750             { name => "QuoteEntryID", required => "N" },
1751             { name => "MDEntryBuyer", required => "N" },
1752             { name => "MDEntrySeller", required => "N" },
1753             { name => "NumberOfOrders", required => "N" },
1754             { name => "MDEntryPositionNo", required => "N" },
1755             { name => "Scope", required => "N" },
1756             { name => "PriceDelta", required => "N" },
1757             { name => "NetChgPrevDay", required => "N" },
1758             { name => "Text", required => "N" },
1759             { name => "EncodedTextLen", required => "N" },
1760             { name => "EncodedText", required => "N" },
1761             ]
1762             },
1763             { name => "ApplQueueDepth", required => "N" },
1764             { name => "ApplQueueResolution", required => "N" },
1765             ]
1766             },
1767             {
1768             name => "MarketDataRequestReject",
1769             msgtype => "Y",
1770             msgcat => "app",
1771             fields => [
1772             { name => "MDReqID", required => "Y" },
1773             { name => "MDReqRejReason", required => "N" },
1774             {
1775             name => "NoAltMDSource",
1776             required => "N",
1777             group =>
1778             [ { name => "AltMDSourceID", required => "N" }, ]
1779             },
1780             { name => "Text", required => "N" },
1781             { name => "EncodedTextLen", required => "N" },
1782             { name => "EncodedText", required => "N" },
1783             ]
1784             },
1785             {
1786             name => "SecurityDefinitionRequest",
1787             msgtype => "c",
1788             msgcat => "app",
1789             fields => [
1790             { name => "SecurityReqID", required => "Y" },
1791             { name => "SecurityRequestType", required => "Y" },
1792             {
1793             name => "Instrument",
1794             required => "N",
1795             component => "Y"
1796             },
1797             {
1798             name => "InstrumentExtension",
1799             required => "N",
1800             component => "Y"
1801             },
1802             {
1803             name => "NoUnderlyings",
1804             required => "N",
1805             group => [
1806             {
1807             name => "UnderlyingInstrument",
1808             required => "N",
1809             component => "Y"
1810             },
1811             ]
1812             },
1813             { name => "Currency", required => "N" },
1814             { name => "Text", required => "N" },
1815             { name => "EncodedTextLen", required => "N" },
1816             { name => "EncodedText", required => "N" },
1817             { name => "TradingSessionID", required => "N" },
1818             { name => "TradingSessionSubID", required => "N" },
1819             {
1820             name => "NoLegs",
1821             required => "N",
1822             group => [
1823             {
1824             name => "InstrumentLeg",
1825             required => "N",
1826             component => "Y"
1827             },
1828             ]
1829             },
1830             { name => "ExpirationCycle", required => "N" },
1831             { name => "SubscriptionRequestType", required => "N" },
1832             ]
1833             },
1834             {
1835             name => "SecurityDefinition",
1836             msgtype => "d",
1837             msgcat => "app",
1838             fields => [
1839             { name => "SecurityReqID", required => "Y" },
1840             { name => "SecurityResponseID", required => "Y" },
1841             { name => "SecurityResponseType", required => "Y" },
1842             {
1843             name => "Instrument",
1844             required => "N",
1845             component => "Y"
1846             },
1847             {
1848             name => "InstrumentExtension",
1849             required => "N",
1850             component => "Y"
1851             },
1852             {
1853             name => "NoUnderlyings",
1854             required => "N",
1855             group => [
1856             {
1857             name => "UnderlyingInstrument",
1858             required => "N",
1859             component => "Y"
1860             },
1861             ]
1862             },
1863             { name => "Currency", required => "N" },
1864             { name => "TradingSessionID", required => "N" },
1865             { name => "TradingSessionSubID", required => "N" },
1866             { name => "Text", required => "N" },
1867             { name => "EncodedTextLen", required => "N" },
1868             { name => "EncodedText", required => "N" },
1869             {
1870             name => "NoLegs",
1871             required => "N",
1872             group => [
1873             {
1874             name => "InstrumentLeg",
1875             required => "N",
1876             component => "Y"
1877             },
1878             ]
1879             },
1880             { name => "ExpirationCycle", required => "N" },
1881             { name => "RoundLot", required => "N" },
1882             { name => "MinTradeVol", required => "N" },
1883             ]
1884             },
1885             {
1886             name => "SecurityTypeRequest",
1887             msgtype => "v",
1888             msgcat => "app",
1889             fields => [
1890             { name => "SecurityReqID", required => "Y" },
1891             { name => "Text", required => "N" },
1892             { name => "EncodedTextLen", required => "N" },
1893             { name => "EncodedText", required => "N" },
1894             { name => "TradingSessionID", required => "N" },
1895             { name => "TradingSessionSubID", required => "N" },
1896             { name => "Product", required => "N" },
1897             { name => "SecurityType", required => "N" },
1898             { name => "SecuritySubType", required => "N" },
1899             ]
1900             },
1901             {
1902             name => "SecurityTypes",
1903             msgtype => "w",
1904             msgcat => "app",
1905             fields => [
1906             { name => "SecurityReqID", required => "Y" },
1907             { name => "SecurityResponseID", required => "Y" },
1908             { name => "SecurityResponseType", required => "Y" },
1909             { name => "TotNoSecurityTypes", required => "N" },
1910             { name => "LastFragment", required => "N" },
1911             {
1912             name => "NoSecurityTypes",
1913             required => "N",
1914             group => [
1915             { name => "SecurityType", required => "N" },
1916             { name => "SecuritySubType", required => "N" },
1917             { name => "Product", required => "N" },
1918             { name => "CFICode", required => "N" },
1919             ]
1920             },
1921             { name => "Text", required => "N" },
1922             { name => "EncodedTextLen", required => "N" },
1923             { name => "EncodedText", required => "N" },
1924             { name => "TradingSessionID", required => "N" },
1925             { name => "TradingSessionSubID", required => "N" },
1926             { name => "SubscriptionRequestType", required => "N" },
1927             ]
1928             },
1929             {
1930             name => "SecurityListRequest",
1931             msgtype => "x",
1932             msgcat => "app",
1933             fields => [
1934             { name => "SecurityReqID", required => "Y" },
1935             { name => "SecurityListRequestType", required => "Y" },
1936             {
1937             name => "Instrument",
1938             required => "N",
1939             component => "Y"
1940             },
1941             {
1942             name => "InstrumentExtension",
1943             required => "N",
1944             component => "Y"
1945             },
1946             {
1947             name => "FinancingDetails",
1948             required => "N",
1949             component => "Y"
1950             },
1951             {
1952             name => "NoUnderlyings",
1953             required => "N",
1954             group => [
1955             {
1956             name => "UnderlyingInstrument",
1957             required => "N",
1958             component => "Y"
1959             },
1960             ]
1961             },
1962             {
1963             name => "NoLegs",
1964             required => "N",
1965             group => [
1966             {
1967             name => "InstrumentLeg",
1968             required => "N",
1969             component => "Y"
1970             },
1971             ]
1972             },
1973             { name => "Currency", required => "N" },
1974             { name => "Text", required => "N" },
1975             { name => "EncodedTextLen", required => "N" },
1976             { name => "EncodedText", required => "N" },
1977             { name => "TradingSessionID", required => "N" },
1978             { name => "TradingSessionSubID", required => "N" },
1979             { name => "SubscriptionRequestType", required => "N" },
1980             ]
1981             },
1982             {
1983             name => "SecurityList",
1984             msgtype => "y",
1985             msgcat => "app",
1986             fields => [
1987             { name => "SecurityReqID", required => "Y" },
1988             { name => "SecurityResponseID", required => "Y" },
1989             { name => "SecurityRequestResult", required => "Y" },
1990             { name => "TotNoRelatedSym", required => "N" },
1991             { name => "LastFragment", required => "N" },
1992             {
1993             name => "NoRelatedSym",
1994             required => "N",
1995             group => [
1996             {
1997             name => "Instrument",
1998             required => "N",
1999             component => "Y"
2000             },
2001             {
2002             name => "InstrumentExtension",
2003             required => "N",
2004             component => "Y"
2005             },
2006             {
2007             name => "FinancingDetails",
2008             required => "N",
2009             component => "Y"
2010             },
2011             {
2012             name => "NoUnderlyings",
2013             required => "N",
2014             group => [
2015             {
2016             name => "UnderlyingInstrument",
2017             required => "N",
2018             component => "Y"
2019             },
2020             ]
2021             },
2022             { name => "Currency", required => "N" },
2023             {
2024             name => "Stipulations",
2025             required => "N",
2026             component => "Y"
2027             },
2028             {
2029             name => "NoLegs",
2030             required => "N",
2031             group => [
2032             {
2033             name => "InstrumentLeg",
2034             required => "N",
2035             component => "Y"
2036             },
2037             {
2038             name => "LegSwapType",
2039             required => "N"
2040             },
2041             {
2042             name => "LegSettlType",
2043             required => "N"
2044             },
2045             {
2046             name => "LegStipulations",
2047             required => "N",
2048             component => "Y"
2049             },
2050             {
2051             name => "LegBenchmarkCurveData",
2052             required => "N",
2053             component => "Y"
2054             },
2055             ]
2056             },
2057             {
2058             name => "SpreadOrBenchmarkCurveData",
2059             required => "N",
2060             component => "Y"
2061             },
2062             {
2063             name => "YieldData",
2064             required => "N",
2065             component => "Y"
2066             },
2067             { name => "RoundLot", required => "N" },
2068             { name => "MinTradeVol", required => "N" },
2069             { name => "TradingSessionID", required => "N" },
2070             {
2071             name => "TradingSessionSubID",
2072             required => "N"
2073             },
2074             { name => "ExpirationCycle", required => "N" },
2075             { name => "Text", required => "N" },
2076             { name => "EncodedTextLen", required => "N" },
2077             { name => "EncodedText", required => "N" },
2078             ]
2079             },
2080             ]
2081             },
2082             {
2083             name => "DerivativeSecurityListRequest",
2084             msgtype => "z",
2085             msgcat => "app",
2086             fields => [
2087             { name => "SecurityReqID", required => "Y" },
2088             { name => "SecurityListRequestType", required => "Y" },
2089             {
2090             name => "UnderlyingInstrument",
2091             required => "N",
2092             component => "Y"
2093             },
2094             { name => "SecuritySubType", required => "N" },
2095             { name => "Currency", required => "N" },
2096             { name => "Text", required => "N" },
2097             { name => "EncodedTextLen", required => "N" },
2098             { name => "EncodedText", required => "N" },
2099             { name => "TradingSessionID", required => "N" },
2100             { name => "TradingSessionSubID", required => "N" },
2101             { name => "SubscriptionRequestType", required => "N" },
2102             ]
2103             },
2104             {
2105             name => "DerivativeSecurityList",
2106             msgtype => "AA",
2107             msgcat => "app",
2108             fields => [
2109             { name => "SecurityReqID", required => "Y" },
2110             { name => "SecurityResponseID", required => "Y" },
2111             { name => "SecurityRequestResult", required => "Y" },
2112             {
2113             name => "UnderlyingInstrument",
2114             required => "N",
2115             component => "Y"
2116             },
2117             { name => "TotNoRelatedSym", required => "N" },
2118             { name => "LastFragment", required => "N" },
2119             {
2120             name => "NoRelatedSym",
2121             required => "N",
2122             group => [
2123             {
2124             name => "Instrument",
2125             required => "N",
2126             component => "Y"
2127             },
2128             { name => "Currency", required => "N" },
2129             { name => "ExpirationCycle", required => "N" },
2130             {
2131             name => "InstrumentExtension",
2132             required => "N",
2133             component => "Y"
2134             },
2135             {
2136             name => "NoLegs",
2137             required => "N",
2138             group => [
2139             {
2140             name => "InstrumentLeg",
2141             required => "N",
2142             component => "Y"
2143             },
2144             ]
2145             },
2146             { name => "TradingSessionID", required => "N" },
2147             {
2148             name => "TradingSessionSubID",
2149             required => "N"
2150             },
2151             { name => "Text", required => "N" },
2152             { name => "EncodedTextLen", required => "N" },
2153             { name => "EncodedText", required => "N" },
2154             ]
2155             },
2156             ]
2157             },
2158             {
2159             name => "SecurityStatusRequest",
2160             msgtype => "e",
2161             msgcat => "app",
2162             fields => [
2163             { name => "SecurityStatusReqID", required => "Y" },
2164             {
2165             name => "Instrument",
2166             required => "Y",
2167             component => "Y"
2168             },
2169             {
2170             name => "InstrumentExtension",
2171             required => "N",
2172             component => "Y"
2173             },
2174             {
2175             name => "NoUnderlyings",
2176             required => "N",
2177             group => [
2178             {
2179             name => "UnderlyingInstrument",
2180             required => "N",
2181             component => "Y"
2182             },
2183             ]
2184             },
2185             {
2186             name => "NoLegs",
2187             required => "N",
2188             group => [
2189             {
2190             name => "InstrumentLeg",
2191             required => "N",
2192             component => "Y"
2193             },
2194             ]
2195             },
2196             { name => "Currency", required => "N" },
2197             { name => "SubscriptionRequestType", required => "Y" },
2198             { name => "TradingSessionID", required => "N" },
2199             { name => "TradingSessionSubID", required => "N" },
2200             ]
2201             },
2202             {
2203             name => "SecurityStatus",
2204             msgtype => "f",
2205             msgcat => "app",
2206             fields => [
2207             { name => "SecurityStatusReqID", required => "N" },
2208             {
2209             name => "Instrument",
2210             required => "Y",
2211             component => "Y"
2212             },
2213             {
2214             name => "InstrumentExtension",
2215             required => "N",
2216             component => "Y"
2217             },
2218             {
2219             name => "NoUnderlyings",
2220             required => "N",
2221             group => [
2222             {
2223             name => "UnderlyingInstrument",
2224             required => "N",
2225             component => "Y"
2226             },
2227             ]
2228             },
2229             {
2230             name => "NoLegs",
2231             required => "N",
2232             group => [
2233             {
2234             name => "InstrumentLeg",
2235             required => "N",
2236             component => "Y"
2237             },
2238             ]
2239             },
2240             { name => "Currency", required => "N" },
2241             { name => "TradingSessionID", required => "N" },
2242             { name => "TradingSessionSubID", required => "N" },
2243             { name => "UnsolicitedIndicator", required => "N" },
2244             { name => "SecurityTradingStatus", required => "N" },
2245             { name => "FinancialStatus", required => "N" },
2246             { name => "CorporateAction", required => "N" },
2247             { name => "HaltReason", required => "N" },
2248             { name => "InViewOfCommon", required => "N" },
2249             { name => "DueToRelated", required => "N" },
2250             { name => "BuyVolume", required => "N" },
2251             { name => "SellVolume", required => "N" },
2252             { name => "HighPx", required => "N" },
2253             { name => "LowPx", required => "N" },
2254             { name => "LastPx", required => "N" },
2255             { name => "TransactTime", required => "N" },
2256             { name => "Adjustment", required => "N" },
2257             { name => "Text", required => "N" },
2258             { name => "EncodedTextLen", required => "N" },
2259             { name => "EncodedText", required => "N" },
2260             ]
2261             },
2262             {
2263             name => "TradingSessionStatusRequest",
2264             msgtype => "g",
2265             msgcat => "app",
2266             fields => [
2267             { name => "TradSesReqID", required => "Y" },
2268             { name => "TradingSessionID", required => "N" },
2269             { name => "TradingSessionSubID", required => "N" },
2270             { name => "TradSesMethod", required => "N" },
2271             { name => "TradSesMode", required => "N" },
2272             { name => "SubscriptionRequestType", required => "Y" },
2273             ]
2274             },
2275             {
2276             name => "TradingSessionStatus",
2277             msgtype => "h",
2278             msgcat => "app",
2279             fields => [
2280             { name => "TradSesReqID", required => "N" },
2281             { name => "TradingSessionID", required => "Y" },
2282             { name => "TradingSessionSubID", required => "N" },
2283             { name => "TradSesMethod", required => "N" },
2284             { name => "TradSesMode", required => "N" },
2285             { name => "UnsolicitedIndicator", required => "N" },
2286             { name => "TradSesStatus", required => "Y" },
2287             { name => "TradSesStatusRejReason", required => "N" },
2288             { name => "TradSesStartTime", required => "N" },
2289             { name => "TradSesOpenTime", required => "N" },
2290             { name => "TradSesPreCloseTime", required => "N" },
2291             { name => "TradSesCloseTime", required => "N" },
2292             { name => "TradSesEndTime", required => "N" },
2293             { name => "TotalVolumeTraded", required => "N" },
2294             { name => "Text", required => "N" },
2295             { name => "EncodedTextLen", required => "N" },
2296             { name => "EncodedText", required => "N" },
2297             ]
2298             },
2299             {
2300             name => "NewOrderSingle",
2301             msgtype => "D",
2302             msgcat => "app",
2303             fields => [
2304             { name => "ClOrdID", required => "Y" },
2305             { name => "SecondaryClOrdID", required => "N" },
2306             { name => "ClOrdLinkID", required => "N" },
2307             { name => "Parties", required => "N", component => "Y" },
2308             { name => "TradeOriginationDate", required => "N" },
2309             { name => "TradeDate", required => "N" },
2310             { name => "Account", required => "N" },
2311             { name => "AcctIDSource", required => "N" },
2312             { name => "AccountType", required => "N" },
2313             { name => "DayBookingInst", required => "N" },
2314             { name => "BookingUnit", required => "N" },
2315             { name => "PreallocMethod", required => "N" },
2316             { name => "AllocID", required => "N" },
2317             {
2318             name => "NoAllocs",
2319             required => "N",
2320             group => [
2321             { name => "AllocAccount", required => "N" },
2322             { name => "AllocAcctIDSource", required => "N" },
2323             { name => "AllocSettlCurrency", required => "N" },
2324             { name => "IndividualAllocID", required => "N" },
2325             {
2326             name => "NestedParties",
2327             required => "N",
2328             component => "Y"
2329             },
2330             { name => "AllocQty", required => "N" },
2331             ]
2332             },
2333             { name => "SettlType", required => "N" },
2334             { name => "SettlDate", required => "N" },
2335             { name => "CashMargin", required => "N" },
2336             { name => "ClearingFeeIndicator", required => "N" },
2337             { name => "HandlInst", required => "N" },
2338             { name => "ExecInst", required => "N" },
2339             { name => "MinQty", required => "N" },
2340             { name => "MaxFloor", required => "N" },
2341             { name => "ExDestination", required => "N" },
2342             {
2343             name => "NoTradingSessions",
2344             required => "N",
2345             group => [
2346             { name => "TradingSessionID", required => "N" },
2347             {
2348             name => "TradingSessionSubID",
2349             required => "N"
2350             },
2351             ]
2352             },
2353             { name => "ProcessCode", required => "N" },
2354             {
2355             name => "Instrument",
2356             required => "Y",
2357             component => "Y"
2358             },
2359             {
2360             name => "FinancingDetails",
2361             required => "N",
2362             component => "Y"
2363             },
2364             {
2365             name => "NoUnderlyings",
2366             required => "N",
2367             group => [
2368             {
2369             name => "UnderlyingInstrument",
2370             required => "N",
2371             component => "Y"
2372             },
2373             ]
2374             },
2375             { name => "PrevClosePx", required => "N" },
2376             { name => "Side", required => "Y" },
2377             { name => "LocateReqd", required => "N" },
2378             { name => "TransactTime", required => "Y" },
2379             {
2380             name => "Stipulations",
2381             required => "N",
2382             component => "Y"
2383             },
2384             { name => "QtyType", required => "N" },
2385             {
2386             name => "OrderQtyData",
2387             required => "Y",
2388             component => "Y"
2389             },
2390             { name => "OrdType", required => "Y" },
2391             { name => "PriceType", required => "N" },
2392             { name => "Price", required => "N" },
2393             { name => "StopPx", required => "N" },
2394             {
2395             name => "SpreadOrBenchmarkCurveData",
2396             required => "N",
2397             component => "Y"
2398             },
2399             {
2400             name => "YieldData",
2401             required => "N",
2402             component => "Y"
2403             },
2404             { name => "Currency", required => "N" },
2405             { name => "ComplianceID", required => "N" },
2406             { name => "SolicitedFlag", required => "N" },
2407             { name => "IOIid", required => "N" },
2408             { name => "QuoteID", required => "N" },
2409             { name => "TimeInForce", required => "N" },
2410             { name => "EffectiveTime", required => "N" },
2411             { name => "ExpireDate", required => "N" },
2412             { name => "ExpireTime", required => "N" },
2413             { name => "GTBookingInst", required => "N" },
2414             {
2415             name => "CommissionData",
2416             required => "N",
2417             component => "Y"
2418             },
2419             { name => "OrderCapacity", required => "N" },
2420             { name => "OrderRestrictions", required => "N" },
2421             { name => "CustOrderCapacity", required => "N" },
2422             { name => "ForexReq", required => "N" },
2423             { name => "SettlCurrency", required => "N" },
2424             { name => "BookingType", required => "N" },
2425             { name => "Text", required => "N" },
2426             { name => "EncodedTextLen", required => "N" },
2427             { name => "EncodedText", required => "N" },
2428             { name => "SettlDate2", required => "N" },
2429             { name => "OrderQty2", required => "N" },
2430             { name => "Price2", required => "N" },
2431             { name => "PositionEffect", required => "N" },
2432             { name => "CoveredOrUncovered", required => "N" },
2433             { name => "MaxShow", required => "N" },
2434             {
2435             name => "PegInstructions",
2436             required => "N",
2437             component => "Y"
2438             },
2439             {
2440             name => "DiscretionInstructions",
2441             required => "N",
2442             component => "Y"
2443             },
2444             { name => "TargetStrategy", required => "N" },
2445             { name => "TargetStrategyParameters", required => "N" },
2446             { name => "ParticipationRate", required => "N" },
2447             { name => "CancellationRights", required => "N" },
2448             { name => "MoneyLaunderingStatus", required => "N" },
2449             { name => "RegistID", required => "N" },
2450             { name => "Designation", required => "N" },
2451             ]
2452             },
2453             {
2454             name => "ExecutionReport",
2455             msgtype => "8",
2456             msgcat => "app",
2457             fields => [
2458             { name => "OrderID", required => "Y" },
2459             { name => "SecondaryOrderID", required => "N" },
2460             { name => "SecondaryClOrdID", required => "N" },
2461             { name => "SecondaryExecID", required => "N" },
2462             { name => "ClOrdID", required => "N" },
2463             { name => "OrigClOrdID", required => "N" },
2464             { name => "ClOrdLinkID", required => "N" },
2465             { name => "QuoteRespID", required => "N" },
2466             { name => "OrdStatusReqID", required => "N" },
2467             { name => "MassStatusReqID", required => "N" },
2468             { name => "TotNumReports", required => "N" },
2469             { name => "LastRptRequested", required => "N" },
2470             { name => "Parties", required => "N", component => "Y" },
2471             { name => "TradeOriginationDate", required => "N" },
2472             {
2473             name => "NoContraBrokers",
2474             required => "N",
2475             group => [
2476             { name => "ContraBroker", required => "N" },
2477             { name => "ContraTrader", required => "N" },
2478             { name => "ContraTradeQty", required => "N" },
2479             { name => "ContraTradeTime", required => "N" },
2480             { name => "ContraLegRefID", required => "N" },
2481             ]
2482             },
2483             { name => "ListID", required => "N" },
2484             { name => "CrossID", required => "N" },
2485             { name => "OrigCrossID", required => "N" },
2486             { name => "CrossType", required => "N" },
2487             { name => "ExecID", required => "Y" },
2488             { name => "ExecRefID", required => "N" },
2489             { name => "ExecType", required => "Y" },
2490             { name => "OrdStatus", required => "Y" },
2491             { name => "WorkingIndicator", required => "N" },
2492             { name => "OrdRejReason", required => "N" },
2493             { name => "ExecRestatementReason", required => "N" },
2494             { name => "Account", required => "N" },
2495             { name => "AcctIDSource", required => "N" },
2496             { name => "AccountType", required => "N" },
2497             { name => "DayBookingInst", required => "N" },
2498             { name => "BookingUnit", required => "N" },
2499             { name => "PreallocMethod", required => "N" },
2500             { name => "SettlType", required => "N" },
2501             { name => "SettlDate", required => "N" },
2502             { name => "CashMargin", required => "N" },
2503             { name => "ClearingFeeIndicator", required => "N" },
2504             {
2505             name => "Instrument",
2506             required => "Y",
2507             component => "Y"
2508             },
2509             {
2510             name => "FinancingDetails",
2511             required => "N",
2512             component => "Y"
2513             },
2514             {
2515             name => "NoUnderlyings",
2516             required => "N",
2517             group => [
2518             {
2519             name => "UnderlyingInstrument",
2520             required => "N",
2521             component => "Y"
2522             },
2523             ]
2524             },
2525             { name => "Side", required => "Y" },
2526             {
2527             name => "Stipulations",
2528             required => "N",
2529             component => "Y"
2530             },
2531             { name => "QtyType", required => "N" },
2532             {
2533             name => "OrderQtyData",
2534             required => "N",
2535             component => "Y"
2536             },
2537             { name => "OrdType", required => "N" },
2538             { name => "PriceType", required => "N" },
2539             { name => "Price", required => "N" },
2540             { name => "StopPx", required => "N" },
2541             {
2542             name => "PegInstructions",
2543             required => "N",
2544             component => "Y"
2545             },
2546             {
2547             name => "DiscretionInstructions",
2548             required => "N",
2549             component => "Y"
2550             },
2551             { name => "PeggedPrice", required => "N" },
2552             { name => "DiscretionPrice", required => "N" },
2553             { name => "TargetStrategy", required => "N" },
2554             { name => "TargetStrategyParameters", required => "N" },
2555             { name => "ParticipationRate", required => "N" },
2556             { name => "TargetStrategyPerformance", required => "N" },
2557             { name => "Currency", required => "N" },
2558             { name => "ComplianceID", required => "N" },
2559             { name => "SolicitedFlag", required => "N" },
2560             { name => "TimeInForce", required => "N" },
2561             { name => "EffectiveTime", required => "N" },
2562             { name => "ExpireDate", required => "N" },
2563             { name => "ExpireTime", required => "N" },
2564             { name => "ExecInst", required => "N" },
2565             { name => "OrderCapacity", required => "N" },
2566             { name => "OrderRestrictions", required => "N" },
2567             { name => "CustOrderCapacity", required => "N" },
2568             { name => "LastQty", required => "N" },
2569             { name => "UnderlyingLastQty", required => "N" },
2570             { name => "LastPx", required => "N" },
2571             { name => "UnderlyingLastPx", required => "N" },
2572             { name => "LastParPx", required => "N" },
2573             { name => "LastSpotRate", required => "N" },
2574             { name => "LastForwardPoints", required => "N" },
2575             { name => "LastMkt", required => "N" },
2576             { name => "TradingSessionID", required => "N" },
2577             { name => "TradingSessionSubID", required => "N" },
2578             { name => "TimeBracket", required => "N" },
2579             { name => "LastCapacity", required => "N" },
2580             { name => "LeavesQty", required => "Y" },
2581             { name => "CumQty", required => "Y" },
2582             { name => "AvgPx", required => "Y" },
2583             { name => "DayOrderQty", required => "N" },
2584             { name => "DayCumQty", required => "N" },
2585             { name => "DayAvgPx", required => "N" },
2586             { name => "GTBookingInst", required => "N" },
2587             { name => "TradeDate", required => "N" },
2588             { name => "TransactTime", required => "N" },
2589             { name => "ReportToExch", required => "N" },
2590             {
2591             name => "CommissionData",
2592             required => "N",
2593             component => "Y"
2594             },
2595             {
2596             name => "SpreadOrBenchmarkCurveData",
2597             required => "N",
2598             component => "Y"
2599             },
2600             {
2601             name => "YieldData",
2602             required => "N",
2603             component => "Y"
2604             },
2605             { name => "GrossTradeAmt", required => "N" },
2606             { name => "NumDaysInterest", required => "N" },
2607             { name => "ExDate", required => "N" },
2608             { name => "AccruedInterestRate", required => "N" },
2609             { name => "AccruedInterestAmt", required => "N" },
2610             { name => "InterestAtMaturity", required => "N" },
2611             { name => "EndAccruedInterestAmt", required => "N" },
2612             { name => "StartCash", required => "N" },
2613             { name => "EndCash", required => "N" },
2614             { name => "TradedFlatSwitch", required => "N" },
2615             { name => "BasisFeatureDate", required => "N" },
2616             { name => "BasisFeaturePrice", required => "N" },
2617             { name => "Concession", required => "N" },
2618             { name => "TotalTakedown", required => "N" },
2619             { name => "NetMoney", required => "N" },
2620             { name => "SettlCurrAmt", required => "N" },
2621             { name => "SettlCurrency", required => "N" },
2622             { name => "SettlCurrFxRate", required => "N" },
2623             { name => "SettlCurrFxRateCalc", required => "N" },
2624             { name => "HandlInst", required => "N" },
2625             { name => "MinQty", required => "N" },
2626             { name => "MaxFloor", required => "N" },
2627             { name => "PositionEffect", required => "N" },
2628             { name => "MaxShow", required => "N" },
2629             { name => "BookingType", required => "N" },
2630             { name => "Text", required => "N" },
2631             { name => "EncodedTextLen", required => "N" },
2632             { name => "EncodedText", required => "N" },
2633             { name => "SettlDate2", required => "N" },
2634             { name => "OrderQty2", required => "N" },
2635             { name => "LastForwardPoints2", required => "N" },
2636             { name => "MultiLegReportingType", required => "N" },
2637             { name => "CancellationRights", required => "N" },
2638             { name => "MoneyLaunderingStatus", required => "N" },
2639             { name => "RegistID", required => "N" },
2640             { name => "Designation", required => "N" },
2641             { name => "TransBkdTime", required => "N" },
2642             { name => "ExecValuationPoint", required => "N" },
2643             { name => "ExecPriceType", required => "N" },
2644             { name => "ExecPriceAdjustment", required => "N" },
2645             { name => "PriorityIndicator", required => "N" },
2646             { name => "PriceImprovement", required => "N" },
2647             { name => "LastLiquidityInd", required => "N" },
2648             {
2649             name => "NoContAmts",
2650             required => "N",
2651             group => [
2652             { name => "ContAmtType", required => "N" },
2653             { name => "ContAmtValue", required => "N" },
2654             { name => "ContAmtCurr", required => "N" },
2655             ]
2656             },
2657             {
2658             name => "NoLegs",
2659             required => "N",
2660             group => [
2661             {
2662             name => "InstrumentLeg",
2663             required => "N",
2664             component => "Y"
2665             },
2666             { name => "LegQty", required => "N" },
2667             { name => "LegSwapType", required => "N" },
2668             {
2669             name => "LegStipulations",
2670             required => "N",
2671             component => "Y"
2672             },
2673             { name => "LegPositionEffect", required => "N" },
2674             {
2675             name => "LegCoveredOrUncovered",
2676             required => "N"
2677             },
2678             {
2679             name => "NestedParties",
2680             required => "N",
2681             component => "Y"
2682             },
2683             { name => "LegRefID", required => "N" },
2684             { name => "LegPrice", required => "N" },
2685             { name => "LegSettlType", required => "N" },
2686             { name => "LegSettlDate", required => "N" },
2687             { name => "LegLastPx", required => "N" },
2688             ]
2689             },
2690             { name => "CopyMsgIndicator", required => "N" },
2691             {
2692             name => "NoMiscFees",
2693             required => "N",
2694             group => [
2695             { name => "MiscFeeAmt", required => "N" },
2696             { name => "MiscFeeCurr", required => "N" },
2697             { name => "MiscFeeType", required => "N" },
2698             { name => "MiscFeeBasis", required => "N" },
2699             ]
2700             },
2701             ]
2702             },
2703             {
2704             name => "DontKnowTrade",
2705             msgtype => "Q",
2706             msgcat => "app",
2707             fields => [
2708             { name => "OrderID", required => "Y" },
2709             { name => "SecondaryOrderID", required => "N" },
2710             { name => "ExecID", required => "Y" },
2711             { name => "DKReason", required => "Y" },
2712             {
2713             name => "Instrument",
2714             required => "Y",
2715             component => "Y"
2716             },
2717             {
2718             name => "NoUnderlyings",
2719             required => "N",
2720             group => [
2721             {
2722             name => "UnderlyingInstrument",
2723             required => "N",
2724             component => "Y"
2725             },
2726             ]
2727             },
2728             {
2729             name => "NoLegs",
2730             required => "N",
2731             group => [
2732             {
2733             name => "InstrumentLeg",
2734             required => "N",
2735             component => "Y"
2736             },
2737             ]
2738             },
2739             { name => "Side", required => "Y" },
2740             {
2741             name => "OrderQtyData",
2742             required => "Y",
2743             component => "Y"
2744             },
2745             { name => "LastQty", required => "N" },
2746             { name => "LastPx", required => "N" },
2747             { name => "Text", required => "N" },
2748             { name => "EncodedTextLen", required => "N" },
2749             { name => "EncodedText", required => "N" },
2750             ]
2751             },
2752             {
2753             name => "OrderCancelReplaceRequest",
2754             msgtype => "G",
2755             msgcat => "app",
2756             fields => [
2757             { name => "OrderID", required => "N" },
2758             { name => "Parties", required => "N", component => "Y" },
2759             { name => "TradeOriginationDate", required => "N" },
2760             { name => "TradeDate", required => "N" },
2761             { name => "OrigClOrdID", required => "Y" },
2762             { name => "ClOrdID", required => "Y" },
2763             { name => "SecondaryClOrdID", required => "N" },
2764             { name => "ClOrdLinkID", required => "N" },
2765             { name => "ListID", required => "N" },
2766             { name => "OrigOrdModTime", required => "N" },
2767             { name => "Account", required => "N" },
2768             { name => "AcctIDSource", required => "N" },
2769             { name => "AccountType", required => "N" },
2770             { name => "DayBookingInst", required => "N" },
2771             { name => "BookingUnit", required => "N" },
2772             { name => "PreallocMethod", required => "N" },
2773             { name => "AllocID", required => "N" },
2774             {
2775             name => "NoAllocs",
2776             required => "N",
2777             group => [
2778             { name => "AllocAccount", required => "N" },
2779             { name => "AllocAcctIDSource", required => "N" },
2780             { name => "AllocSettlCurrency", required => "N" },
2781             { name => "IndividualAllocID", required => "N" },
2782             {
2783             name => "NestedParties",
2784             required => "N",
2785             component => "Y"
2786             },
2787             { name => "AllocQty", required => "N" },
2788             ]
2789             },
2790             { name => "SettlType", required => "N" },
2791             { name => "SettlDate", required => "N" },
2792             { name => "CashMargin", required => "N" },
2793             { name => "ClearingFeeIndicator", required => "N" },
2794             { name => "HandlInst", required => "N" },
2795             { name => "ExecInst", required => "N" },
2796             { name => "MinQty", required => "N" },
2797             { name => "MaxFloor", required => "N" },
2798             { name => "ExDestination", required => "N" },
2799             {
2800             name => "NoTradingSessions",
2801             required => "N",
2802             group => [
2803             { name => "TradingSessionID", required => "N" },
2804             {
2805             name => "TradingSessionSubID",
2806             required => "N"
2807             },
2808             ]
2809             },
2810             {
2811             name => "Instrument",
2812             required => "Y",
2813             component => "Y"
2814             },
2815             {
2816             name => "FinancingDetails",
2817             required => "N",
2818             component => "Y"
2819             },
2820             {
2821             name => "NoUnderlyings",
2822             required => "N",
2823             group => [
2824             {
2825             name => "UnderlyingInstrument",
2826             required => "N",
2827             component => "Y"
2828             },
2829             ]
2830             },
2831             { name => "Side", required => "Y" },
2832             { name => "TransactTime", required => "Y" },
2833             { name => "QtyType", required => "N" },
2834             {
2835             name => "OrderQtyData",
2836             required => "Y",
2837             component => "Y"
2838             },
2839             { name => "OrdType", required => "Y" },
2840             { name => "PriceType", required => "N" },
2841             { name => "Price", required => "N" },
2842             { name => "StopPx", required => "N" },
2843             {
2844             name => "SpreadOrBenchmarkCurveData",
2845             required => "N",
2846             component => "Y"
2847             },
2848             {
2849             name => "YieldData",
2850             required => "N",
2851             component => "Y"
2852             },
2853             {
2854             name => "PegInstructions",
2855             required => "N",
2856             component => "Y"
2857             },
2858             {
2859             name => "DiscretionInstructions",
2860             required => "N",
2861             component => "Y"
2862             },
2863             { name => "TargetStrategy", required => "N" },
2864             { name => "TargetStrategyParameters", required => "N" },
2865             { name => "ParticipationRate", required => "N" },
2866             { name => "ComplianceID", required => "N" },
2867             { name => "SolicitedFlag", required => "N" },
2868             { name => "Currency", required => "N" },
2869             { name => "TimeInForce", required => "N" },
2870             { name => "EffectiveTime", required => "N" },
2871             { name => "ExpireDate", required => "N" },
2872             { name => "ExpireTime", required => "N" },
2873             { name => "GTBookingInst", required => "N" },
2874             {
2875             name => "CommissionData",
2876             required => "N",
2877             component => "Y"
2878             },
2879             { name => "OrderCapacity", required => "N" },
2880             { name => "OrderRestrictions", required => "N" },
2881             { name => "CustOrderCapacity", required => "N" },
2882             { name => "ForexReq", required => "N" },
2883             { name => "SettlCurrency", required => "N" },
2884             { name => "BookingType", required => "N" },
2885             { name => "Text", required => "N" },
2886             { name => "EncodedTextLen", required => "N" },
2887             { name => "EncodedText", required => "N" },
2888             { name => "SettlDate2", required => "N" },
2889             { name => "OrderQty2", required => "N" },
2890             { name => "Price2", required => "N" },
2891             { name => "PositionEffect", required => "N" },
2892             { name => "CoveredOrUncovered", required => "N" },
2893             { name => "MaxShow", required => "N" },
2894             { name => "LocateReqd", required => "N" },
2895             { name => "CancellationRights", required => "N" },
2896             { name => "MoneyLaunderingStatus", required => "N" },
2897             { name => "RegistID", required => "N" },
2898             { name => "Designation", required => "N" },
2899             ]
2900             },
2901             {
2902             name => "OrderCancelRequest",
2903             msgtype => "F",
2904             msgcat => "app",
2905             fields => [
2906             { name => "OrigClOrdID", required => "Y" },
2907             { name => "OrderID", required => "N" },
2908             { name => "ClOrdID", required => "Y" },
2909             { name => "SecondaryClOrdID", required => "N" },
2910             { name => "ClOrdLinkID", required => "N" },
2911             { name => "ListID", required => "N" },
2912             { name => "OrigOrdModTime", required => "N" },
2913             { name => "Account", required => "N" },
2914             { name => "AcctIDSource", required => "N" },
2915             { name => "AccountType", required => "N" },
2916             { name => "Parties", required => "N", component => "Y" },
2917             {
2918             name => "Instrument",
2919             required => "Y",
2920             component => "Y"
2921             },
2922             {
2923             name => "FinancingDetails",
2924             required => "N",
2925             component => "Y"
2926             },
2927             {
2928             name => "NoUnderlyings",
2929             required => "N",
2930             group => [
2931             {
2932             name => "UnderlyingInstrument",
2933             required => "N",
2934             component => "Y"
2935             },
2936             ]
2937             },
2938             { name => "Side", required => "Y" },
2939             { name => "TransactTime", required => "Y" },
2940             {
2941             name => "OrderQtyData",
2942             required => "Y",
2943             component => "Y"
2944             },
2945             { name => "ComplianceID", required => "N" },
2946             { name => "Text", required => "N" },
2947             { name => "EncodedTextLen", required => "N" },
2948             { name => "EncodedText", required => "N" },
2949             ]
2950             },
2951             {
2952             name => "OrderCancelReject",
2953             msgtype => "9",
2954             msgcat => "app",
2955             fields => [
2956             { name => "OrderID", required => "Y" },
2957             { name => "SecondaryOrderID", required => "N" },
2958             { name => "SecondaryClOrdID", required => "N" },
2959             { name => "ClOrdID", required => "Y" },
2960             { name => "ClOrdLinkID", required => "N" },
2961             { name => "OrigClOrdID", required => "Y" },
2962             { name => "OrdStatus", required => "Y" },
2963             { name => "WorkingIndicator", required => "N" },
2964             { name => "OrigOrdModTime", required => "N" },
2965             { name => "ListID", required => "N" },
2966             { name => "Account", required => "N" },
2967             { name => "AcctIDSource", required => "N" },
2968             { name => "AccountType", required => "N" },
2969             { name => "TradeOriginationDate", required => "N" },
2970             { name => "TradeDate", required => "N" },
2971             { name => "TransactTime", required => "N" },
2972             { name => "CxlRejResponseTo", required => "Y" },
2973             { name => "CxlRejReason", required => "N" },
2974             { name => "Text", required => "N" },
2975             { name => "EncodedTextLen", required => "N" },
2976             { name => "EncodedText", required => "N" },
2977             ]
2978             },
2979             {
2980             name => "OrderStatusRequest",
2981             msgtype => "H",
2982             msgcat => "app",
2983             fields => [
2984             { name => "OrderID", required => "N" },
2985             { name => "ClOrdID", required => "Y" },
2986             { name => "SecondaryClOrdID", required => "N" },
2987             { name => "ClOrdLinkID", required => "N" },
2988             { name => "Parties", required => "N", component => "Y" },
2989             { name => "OrdStatusReqID", required => "N" },
2990             { name => "Account", required => "N" },
2991             { name => "AcctIDSource", required => "N" },
2992             {
2993             name => "Instrument",
2994             required => "Y",
2995             component => "Y"
2996             },
2997             {
2998             name => "FinancingDetails",
2999             required => "N",
3000             component => "Y"
3001             },
3002             {
3003             name => "NoUnderlyings",
3004             required => "N",
3005             group => [
3006             {
3007             name => "UnderlyingInstrument",
3008             required => "N",
3009             component => "Y"
3010             },
3011             ]
3012             },
3013             { name => "Side", required => "Y" },
3014             ]
3015             },
3016             {
3017             name => "OrderMassCancelRequest",
3018             msgtype => "q",
3019             msgcat => "app",
3020             fields => [
3021             { name => "ClOrdID", required => "Y" },
3022             { name => "SecondaryClOrdID", required => "N" },
3023             { name => "MassCancelRequestType", required => "Y" },
3024             { name => "TradingSessionID", required => "N" },
3025             { name => "TradingSessionSubID", required => "N" },
3026             {
3027             name => "Instrument",
3028             required => "N",
3029             component => "Y"
3030             },
3031             {
3032             name => "UnderlyingInstrument",
3033             required => "N",
3034             component => "Y"
3035             },
3036             { name => "Side", required => "N" },
3037             { name => "TransactTime", required => "Y" },
3038             { name => "Text", required => "N" },
3039             { name => "EncodedTextLen", required => "N" },
3040             { name => "EncodedText", required => "N" },
3041             ]
3042             },
3043             {
3044             name => "OrderMassCancelReport",
3045             msgtype => "r",
3046             msgcat => "app",
3047             fields => [
3048             { name => "ClOrdID", required => "N" },
3049             { name => "SecondaryClOrdID", required => "N" },
3050             { name => "OrderID", required => "Y" },
3051             { name => "SecondaryOrderID", required => "N" },
3052             { name => "MassCancelRequestType", required => "Y" },
3053             { name => "MassCancelResponse", required => "Y" },
3054             { name => "MassCancelRejectReason", required => "N" },
3055             { name => "TotalAffectedOrders", required => "N" },
3056             {
3057             name => "NoAffectedOrders",
3058             required => "N",
3059             group => [
3060             { name => "OrigClOrdID", required => "N" },
3061             { name => "AffectedOrderID", required => "N" },
3062             {
3063             name => "AffectedSecondaryOrderID",
3064             required => "N"
3065             },
3066             ]
3067             },
3068             { name => "TradingSessionID", required => "N" },
3069             { name => "TradingSessionSubID", required => "N" },
3070             {
3071             name => "Instrument",
3072             required => "N",
3073             component => "Y"
3074             },
3075             {
3076             name => "UnderlyingInstrument",
3077             required => "N",
3078             component => "Y"
3079             },
3080             { name => "Side", required => "N" },
3081             { name => "TransactTime", required => "N" },
3082             { name => "Text", required => "N" },
3083             { name => "EncodedTextLen", required => "N" },
3084             { name => "EncodedText", required => "N" },
3085             ]
3086             },
3087             {
3088             name => "OrderMassStatusRequest",
3089             msgtype => "AF",
3090             msgcat => "app",
3091             fields => [
3092             { name => "MassStatusReqID", required => "Y" },
3093             { name => "MassStatusReqType", required => "Y" },
3094             { name => "Parties", required => "N", component => "Y" },
3095             { name => "Account", required => "N" },
3096             { name => "AcctIDSource", required => "N" },
3097             { name => "TradingSessionID", required => "N" },
3098             { name => "TradingSessionSubID", required => "N" },
3099             {
3100             name => "Instrument",
3101             required => "N",
3102             component => "Y"
3103             },
3104             {
3105             name => "UnderlyingInstrument",
3106             required => "N",
3107             component => "Y"
3108             },
3109             { name => "Side", required => "N" },
3110             ]
3111             },
3112             {
3113             name => "NewOrderCross",
3114             msgtype => "s",
3115             msgcat => "app",
3116             fields => [
3117             { name => "CrossID", required => "Y" },
3118             { name => "CrossType", required => "Y" },
3119             { name => "CrossPrioritization", required => "Y" },
3120             {
3121             name => "NoSides",
3122             required => "Y",
3123             group => [
3124             { name => "Side", required => "Y" },
3125             { name => "ClOrdID", required => "Y" },
3126             { name => "SecondaryClOrdID", required => "N" },
3127             { name => "ClOrdLinkID", required => "N" },
3128             {
3129             name => "Parties",
3130             required => "N",
3131             component => "Y"
3132             },
3133             {
3134             name => "TradeOriginationDate",
3135             required => "N"
3136             },
3137             { name => "TradeDate", required => "N" },
3138             { name => "Account", required => "N" },
3139             { name => "AcctIDSource", required => "N" },
3140             { name => "AccountType", required => "N" },
3141             { name => "DayBookingInst", required => "N" },
3142             { name => "BookingUnit", required => "N" },
3143             { name => "PreallocMethod", required => "N" },
3144             { name => "AllocID", required => "N" },
3145             {
3146             name => "NoAllocs",
3147             required => "N",
3148             group => [
3149             {
3150             name => "AllocAccount",
3151             required => "N"
3152             },
3153             {
3154             name => "AllocAcctIDSource",
3155             required => "N"
3156             },
3157             {
3158             name => "AllocSettlCurrency",
3159             required => "N"
3160             },
3161             {
3162             name => "IndividualAllocID",
3163             required => "N"
3164             },
3165             {
3166             name => "NestedParties",
3167             required => "N",
3168             component => "Y"
3169             },
3170             { name => "AllocQty", required => "N" },
3171             ]
3172             },
3173             { name => "QtyType", required => "N" },
3174             {
3175             name => "OrderQtyData",
3176             required => "Y",
3177             component => "Y"
3178             },
3179             {
3180             name => "CommissionData",
3181             required => "N",
3182             component => "Y"
3183             },
3184             { name => "OrderCapacity", required => "N" },
3185             { name => "OrderRestrictions", required => "N" },
3186             { name => "CustOrderCapacity", required => "N" },
3187             { name => "ForexReq", required => "N" },
3188             { name => "SettlCurrency", required => "N" },
3189             { name => "BookingType", required => "N" },
3190             { name => "Text", required => "N" },
3191             { name => "EncodedTextLen", required => "N" },
3192             { name => "EncodedText", required => "N" },
3193             { name => "PositionEffect", required => "N" },
3194             { name => "CoveredOrUncovered", required => "N" },
3195             { name => "CashMargin", required => "N" },
3196             {
3197             name => "ClearingFeeIndicator",
3198             required => "N"
3199             },
3200             { name => "SolicitedFlag", required => "N" },
3201             { name => "SideComplianceID", required => "N" },
3202             ]
3203             },
3204             {
3205             name => "Instrument",
3206             required => "Y",
3207             component => "Y"
3208             },
3209             {
3210             name => "NoUnderlyings",
3211             required => "N",
3212             group => [
3213             {
3214             name => "UnderlyingInstrument",
3215             required => "N",
3216             component => "Y"
3217             },
3218             ]
3219             },
3220             {
3221             name => "NoLegs",
3222             required => "N",
3223             group => [
3224             {
3225             name => "InstrumentLeg",
3226             required => "N",
3227             component => "Y"
3228             },
3229             ]
3230             },
3231             { name => "SettlType", required => "N" },
3232             { name => "SettlDate", required => "N" },
3233             { name => "HandlInst", required => "N" },
3234             { name => "ExecInst", required => "N" },
3235             { name => "MinQty", required => "N" },
3236             { name => "MaxFloor", required => "N" },
3237             { name => "ExDestination", required => "N" },
3238             {
3239             name => "NoTradingSessions",
3240             required => "N",
3241             group => [
3242             { name => "TradingSessionID", required => "N" },
3243             {
3244             name => "TradingSessionSubID",
3245             required => "N"
3246             },
3247             ]
3248             },
3249             { name => "ProcessCode", required => "N" },
3250             { name => "PrevClosePx", required => "N" },
3251             { name => "LocateReqd", required => "N" },
3252             { name => "TransactTime", required => "Y" },
3253             {
3254             name => "Stipulations",
3255             required => "N",
3256             component => "Y"
3257             },
3258             { name => "OrdType", required => "Y" },
3259             { name => "PriceType", required => "N" },
3260             { name => "Price", required => "N" },
3261             { name => "StopPx", required => "N" },
3262             {
3263             name => "SpreadOrBenchmarkCurveData",
3264             required => "N",
3265             component => "Y"
3266             },
3267             {
3268             name => "YieldData",
3269             required => "N",
3270             component => "Y"
3271             },
3272             { name => "Currency", required => "N" },
3273             { name => "ComplianceID", required => "N" },
3274             { name => "IOIid", required => "N" },
3275             { name => "QuoteID", required => "N" },
3276             { name => "TimeInForce", required => "N" },
3277             { name => "EffectiveTime", required => "N" },
3278             { name => "ExpireDate", required => "N" },
3279             { name => "ExpireTime", required => "N" },
3280             { name => "GTBookingInst", required => "N" },
3281             { name => "MaxShow", required => "N" },
3282             {
3283             name => "PegInstructions",
3284             required => "N",
3285             component => "Y"
3286             },
3287             {
3288             name => "DiscretionInstructions",
3289             required => "N",
3290             component => "Y"
3291             },
3292             { name => "TargetStrategy", required => "N" },
3293             { name => "TargetStrategyParameters", required => "N" },
3294             { name => "ParticipationRate", required => "N" },
3295             { name => "CancellationRights", required => "N" },
3296             { name => "MoneyLaunderingStatus", required => "N" },
3297             { name => "RegistID", required => "N" },
3298             { name => "Designation", required => "N" },
3299             ]
3300             },
3301             {
3302             name => "CrossOrderCancelReplaceRequest",
3303             msgtype => "t",
3304             msgcat => "app",
3305             fields => [
3306             { name => "OrderID", required => "N" },
3307             { name => "CrossID", required => "Y" },
3308             { name => "OrigCrossID", required => "Y" },
3309             { name => "CrossType", required => "Y" },
3310             { name => "CrossPrioritization", required => "Y" },
3311             {
3312             name => "NoSides",
3313             required => "Y",
3314             group => [
3315             { name => "Side", required => "Y" },
3316             { name => "OrigClOrdID", required => "Y" },
3317             { name => "ClOrdID", required => "Y" },
3318             { name => "SecondaryClOrdID", required => "N" },
3319             { name => "ClOrdLinkID", required => "N" },
3320             { name => "OrigOrdModTime", required => "N" },
3321             {
3322             name => "Parties",
3323             required => "N",
3324             component => "Y"
3325             },
3326             {
3327             name => "TradeOriginationDate",
3328             required => "N"
3329             },
3330             { name => "TradeDate", required => "N" },
3331             { name => "Account", required => "N" },
3332             { name => "AcctIDSource", required => "N" },
3333             { name => "AccountType", required => "N" },
3334             { name => "DayBookingInst", required => "N" },
3335             { name => "BookingUnit", required => "N" },
3336             { name => "PreallocMethod", required => "N" },
3337             { name => "AllocID", required => "N" },
3338             {
3339             name => "NoAllocs",
3340             required => "N",
3341             group => [
3342             {
3343             name => "AllocAccount",
3344             required => "N"
3345             },
3346             {
3347             name => "AllocAcctIDSource",
3348             required => "N"
3349             },
3350             {
3351             name => "AllocSettlCurrency",
3352             required => "N"
3353             },
3354             {
3355             name => "IndividualAllocID",
3356             required => "N"
3357             },
3358             {
3359             name => "NestedParties",
3360             required => "N",
3361             component => "Y"
3362             },
3363             { name => "AllocQty", required => "N" },
3364             ]
3365             },
3366             { name => "QtyType", required => "N" },
3367             {
3368             name => "OrderQtyData",
3369             required => "Y",
3370             component => "Y"
3371             },
3372             {
3373             name => "CommissionData",
3374             required => "N",
3375             component => "Y"
3376             },
3377             { name => "OrderCapacity", required => "N" },
3378             { name => "OrderRestrictions", required => "N" },
3379             { name => "CustOrderCapacity", required => "N" },
3380             { name => "ForexReq", required => "N" },
3381             { name => "SettlCurrency", required => "N" },
3382             { name => "BookingType", required => "N" },
3383             { name => "Text", required => "N" },
3384             { name => "EncodedTextLen", required => "N" },
3385             { name => "EncodedText", required => "N" },
3386             { name => "PositionEffect", required => "N" },
3387             { name => "CoveredOrUncovered", required => "N" },
3388             { name => "CashMargin", required => "N" },
3389             {
3390             name => "ClearingFeeIndicator",
3391             required => "N"
3392             },
3393             { name => "SolicitedFlag", required => "N" },
3394             { name => "SideComplianceID", required => "N" },
3395             ]
3396             },
3397             {
3398             name => "Instrument",
3399             required => "Y",
3400             component => "Y"
3401             },
3402             {
3403             name => "NoUnderlyings",
3404             required => "N",
3405             group => [
3406             {
3407             name => "UnderlyingInstrument",
3408             required => "N",
3409             component => "Y"
3410             },
3411             ]
3412             },
3413             {
3414             name => "NoLegs",
3415             required => "N",
3416             group => [
3417             {
3418             name => "InstrumentLeg",
3419             required => "N",
3420             component => "Y"
3421             },
3422             ]
3423             },
3424             { name => "SettlType", required => "N" },
3425             { name => "SettlDate", required => "N" },
3426             { name => "HandlInst", required => "N" },
3427             { name => "ExecInst", required => "N" },
3428             { name => "MinQty", required => "N" },
3429             { name => "MaxFloor", required => "N" },
3430             { name => "ExDestination", required => "N" },
3431             {
3432             name => "NoTradingSessions",
3433             required => "N",
3434             group => [
3435             { name => "TradingSessionID", required => "N" },
3436             {
3437             name => "TradingSessionSubID",
3438             required => "N"
3439             },
3440             ]
3441             },
3442             { name => "ProcessCode", required => "N" },
3443             { name => "PrevClosePx", required => "N" },
3444             { name => "LocateReqd", required => "N" },
3445             { name => "TransactTime", required => "Y" },
3446             {
3447             name => "Stipulations",
3448             required => "N",
3449             component => "Y"
3450             },
3451             { name => "OrdType", required => "Y" },
3452             { name => "PriceType", required => "N" },
3453             { name => "Price", required => "N" },
3454             { name => "StopPx", required => "N" },
3455             {
3456             name => "SpreadOrBenchmarkCurveData",
3457             required => "N",
3458             component => "Y"
3459             },
3460             {
3461             name => "YieldData",
3462             required => "N",
3463             component => "Y"
3464             },
3465             { name => "Currency", required => "N" },
3466             { name => "ComplianceID", required => "N" },
3467             { name => "IOIid", required => "N" },
3468             { name => "QuoteID", required => "N" },
3469             { name => "TimeInForce", required => "N" },
3470             { name => "EffectiveTime", required => "N" },
3471             { name => "ExpireDate", required => "N" },
3472             { name => "ExpireTime", required => "N" },
3473             { name => "GTBookingInst", required => "N" },
3474             { name => "MaxShow", required => "N" },
3475             {
3476             name => "PegInstructions",
3477             required => "N",
3478             component => "Y"
3479             },
3480             {
3481             name => "DiscretionInstructions",
3482             required => "N",
3483             component => "Y"
3484             },
3485             { name => "TargetStrategy", required => "N" },
3486             { name => "TargetStrategyParameters", required => "N" },
3487             { name => "ParticipationRate", required => "N" },
3488             { name => "CancellationRights", required => "N" },
3489             { name => "MoneyLaunderingStatus", required => "N" },
3490             { name => "RegistID", required => "N" },
3491             { name => "Designation", required => "N" },
3492             ]
3493             },
3494             {
3495             name => "CrossOrderCancelRequest",
3496             msgtype => "u",
3497             msgcat => "app",
3498             fields => [
3499             { name => "OrderID", required => "N" },
3500             { name => "CrossID", required => "Y" },
3501             { name => "OrigCrossID", required => "Y" },
3502             { name => "CrossType", required => "Y" },
3503             { name => "CrossPrioritization", required => "Y" },
3504             {
3505             name => "NoSides",
3506             required => "Y",
3507             group => [
3508             { name => "Side", required => "Y" },
3509             { name => "OrigClOrdID", required => "Y" },
3510             { name => "ClOrdID", required => "Y" },
3511             { name => "SecondaryClOrdID", required => "N" },
3512             { name => "ClOrdLinkID", required => "N" },
3513             { name => "OrigOrdModTime", required => "N" },
3514             {
3515             name => "Parties",
3516             required => "N",
3517             component => "Y"
3518             },
3519             {
3520             name => "TradeOriginationDate",
3521             required => "N"
3522             },
3523             { name => "TradeDate", required => "N" },
3524             {
3525             name => "OrderQtyData",
3526             required => "Y",
3527             component => "Y"
3528             },
3529             { name => "ComplianceID", required => "N" },
3530             { name => "Text", required => "N" },
3531             { name => "EncodedTextLen", required => "N" },
3532             { name => "EncodedText", required => "N" },
3533             ]
3534             },
3535             {
3536             name => "Instrument",
3537             required => "Y",
3538             component => "Y"
3539             },
3540             {
3541             name => "NoUnderlyings",
3542             required => "N",
3543             group => [
3544             {
3545             name => "UnderlyingInstrument",
3546             required => "N",
3547             component => "Y"
3548             },
3549             ]
3550             },
3551             {
3552             name => "NoLegs",
3553             required => "N",
3554             group => [
3555             {
3556             name => "InstrumentLeg",
3557             required => "N",
3558             component => "Y"
3559             },
3560             ]
3561             },
3562             { name => "TransactTime", required => "Y" },
3563             ]
3564             },
3565             {
3566             name => "NewOrderMultileg",
3567             msgtype => "AB",
3568             msgcat => "app",
3569             fields => [
3570             { name => "ClOrdID", required => "Y" },
3571             { name => "SecondaryClOrdID", required => "N" },
3572             { name => "ClOrdLinkID", required => "N" },
3573             { name => "Parties", required => "N", component => "Y" },
3574             { name => "TradeOriginationDate", required => "N" },
3575             { name => "TradeDate", required => "N" },
3576             { name => "Account", required => "N" },
3577             { name => "AcctIDSource", required => "N" },
3578             { name => "AccountType", required => "N" },
3579             { name => "DayBookingInst", required => "N" },
3580             { name => "BookingUnit", required => "N" },
3581             { name => "PreallocMethod", required => "N" },
3582             { name => "AllocID", required => "N" },
3583             {
3584             name => "NoAllocs",
3585             required => "N",
3586             group => [
3587             { name => "AllocAccount", required => "N" },
3588             { name => "AllocAcctIDSource", required => "N" },
3589             { name => "AllocSettlCurrency", required => "N" },
3590             { name => "IndividualAllocID", required => "N" },
3591             {
3592             name => "NestedParties3",
3593             required => "N",
3594             component => "Y"
3595             },
3596             { name => "AllocQty", required => "N" },
3597             ]
3598             },
3599             { name => "SettlType", required => "N" },
3600             { name => "SettlDate", required => "N" },
3601             { name => "CashMargin", required => "N" },
3602             { name => "ClearingFeeIndicator", required => "N" },
3603             { name => "HandlInst", required => "N" },
3604             { name => "ExecInst", required => "N" },
3605             { name => "MinQty", required => "N" },
3606             { name => "MaxFloor", required => "N" },
3607             { name => "ExDestination", required => "N" },
3608             {
3609             name => "NoTradingSessions",
3610             required => "N",
3611             group => [
3612             { name => "TradingSessionID", required => "N" },
3613             {
3614             name => "TradingSessionSubID",
3615             required => "N"
3616             },
3617             ]
3618             },
3619             { name => "ProcessCode", required => "N" },
3620             { name => "Side", required => "Y" },
3621             {
3622             name => "Instrument",
3623             required => "Y",
3624             component => "Y"
3625             },
3626             {
3627             name => "NoUnderlyings",
3628             required => "N",
3629             group => [
3630             {
3631             name => "UnderlyingInstrument",
3632             required => "N",
3633             component => "Y"
3634             },
3635             ]
3636             },
3637             { name => "PrevClosePx", required => "N" },
3638             {
3639             name => "NoLegs",
3640             required => "Y",
3641             group => [
3642             {
3643             name => "InstrumentLeg",
3644             required => "N",
3645             component => "Y"
3646             },
3647             { name => "LegQty", required => "N" },
3648             { name => "LegSwapType", required => "N" },
3649             {
3650             name => "LegStipulations",
3651             required => "N",
3652             component => "Y"
3653             },
3654             {
3655             name => "NoLegAllocs",
3656             required => "N",
3657             group => [
3658             {
3659             name => "LegAllocAccount",
3660             required => "N"
3661             },
3662             {
3663             name => "LegIndividualAllocID",
3664             required => "N"
3665             },
3666             {
3667             name => "NestedParties2",
3668             required => "N",
3669             component => "Y"
3670             },
3671             {
3672             name => "LegAllocQty",
3673             required => "N"
3674             },
3675             {
3676             name => "LegAllocAcctIDSource",
3677             required => "N"
3678             },
3679             {
3680             name => "LegSettlCurrency",
3681             required => "N"
3682             },
3683             ]
3684             },
3685             { name => "LegPositionEffect", required => "N" },
3686             {
3687             name => "LegCoveredOrUncovered",
3688             required => "N"
3689             },
3690             {
3691             name => "NestedParties",
3692             required => "N",
3693             component => "Y"
3694             },
3695             { name => "LegRefID", required => "N" },
3696             { name => "LegPrice", required => "N" },
3697             { name => "LegSettlType", required => "N" },
3698             { name => "LegSettlDate", required => "N" },
3699             ]
3700             },
3701             { name => "LocateReqd", required => "N" },
3702             { name => "TransactTime", required => "Y" },
3703             { name => "QtyType", required => "N" },
3704             {
3705             name => "OrderQtyData",
3706             required => "Y",
3707             component => "Y"
3708             },
3709             { name => "OrdType", required => "Y" },
3710             { name => "PriceType", required => "N" },
3711             { name => "Price", required => "N" },
3712             { name => "StopPx", required => "N" },
3713             { name => "Currency", required => "N" },
3714             { name => "ComplianceID", required => "N" },
3715             { name => "SolicitedFlag", required => "N" },
3716             { name => "IOIid", required => "N" },
3717             { name => "QuoteID", required => "N" },
3718             { name => "TimeInForce", required => "N" },
3719             { name => "EffectiveTime", required => "N" },
3720             { name => "ExpireDate", required => "N" },
3721             { name => "ExpireTime", required => "N" },
3722             { name => "GTBookingInst", required => "N" },
3723             {
3724             name => "CommissionData",
3725             required => "N",
3726             component => "Y"
3727             },
3728             { name => "OrderCapacity", required => "N" },
3729             { name => "OrderRestrictions", required => "N" },
3730             { name => "CustOrderCapacity", required => "N" },
3731             { name => "ForexReq", required => "N" },
3732             { name => "SettlCurrency", required => "N" },
3733             { name => "BookingType", required => "N" },
3734             { name => "Text", required => "N" },
3735             { name => "EncodedTextLen", required => "N" },
3736             { name => "EncodedText", required => "N" },
3737             { name => "PositionEffect", required => "N" },
3738             { name => "CoveredOrUncovered", required => "N" },
3739             { name => "MaxShow", required => "N" },
3740             {
3741             name => "PegInstructions",
3742             required => "N",
3743             component => "Y"
3744             },
3745             {
3746             name => "DiscretionInstructions",
3747             required => "N",
3748             component => "Y"
3749             },
3750             { name => "TargetStrategy", required => "N" },
3751             { name => "TargetStrategyParameters", required => "N" },
3752             { name => "ParticipationRate", required => "N" },
3753             { name => "CancellationRights", required => "N" },
3754             { name => "MoneyLaunderingStatus", required => "N" },
3755             { name => "RegistID", required => "N" },
3756             { name => "Designation", required => "N" },
3757             { name => "MultiLegRptTypeReq", required => "N" },
3758             ]
3759             },
3760             {
3761             name => "MultilegOrderCancelReplaceRequest",
3762             msgtype => "AC",
3763             msgcat => "app",
3764             fields => [
3765             { name => "OrderID", required => "N" },
3766             { name => "OrigClOrdID", required => "Y" },
3767             { name => "ClOrdID", required => "Y" },
3768             { name => "SecondaryClOrdID", required => "N" },
3769             { name => "ClOrdLinkID", required => "N" },
3770             { name => "OrigOrdModTime", required => "N" },
3771             { name => "Parties", required => "N", component => "Y" },
3772             { name => "TradeOriginationDate", required => "N" },
3773             { name => "TradeDate", required => "N" },
3774             { name => "Account", required => "N" },
3775             { name => "AcctIDSource", required => "N" },
3776             { name => "AccountType", required => "N" },
3777             { name => "DayBookingInst", required => "N" },
3778             { name => "BookingUnit", required => "N" },
3779             { name => "PreallocMethod", required => "N" },
3780             { name => "AllocID", required => "N" },
3781             {
3782             name => "NoAllocs",
3783             required => "N",
3784             group => [
3785             { name => "AllocAccount", required => "N" },
3786             { name => "AllocAcctIDSource", required => "N" },
3787             { name => "AllocSettlCurrency", required => "N" },
3788             { name => "IndividualAllocID", required => "N" },
3789             {
3790             name => "NestedParties3",
3791             required => "N",
3792             component => "Y"
3793             },
3794             { name => "AllocQty", required => "N" },
3795             ]
3796             },
3797             { name => "SettlType", required => "N" },
3798             { name => "SettlDate", required => "N" },
3799             { name => "CashMargin", required => "N" },
3800             { name => "ClearingFeeIndicator", required => "N" },
3801             { name => "HandlInst", required => "N" },
3802             { name => "ExecInst", required => "N" },
3803             { name => "MinQty", required => "N" },
3804             { name => "MaxFloor", required => "N" },
3805             { name => "ExDestination", required => "N" },
3806             {
3807             name => "NoTradingSessions",
3808             required => "N",
3809             group => [
3810             { name => "TradingSessionID", required => "N" },
3811             {
3812             name => "TradingSessionSubID",
3813             required => "N"
3814             },
3815             ]
3816             },
3817             { name => "ProcessCode", required => "N" },
3818             { name => "Side", required => "Y" },
3819             {
3820             name => "Instrument",
3821             required => "Y",
3822             component => "Y"
3823             },
3824             {
3825             name => "NoUnderlyings",
3826             required => "N",
3827             group => [
3828             {
3829             name => "UnderlyingInstrument",
3830             required => "N",
3831             component => "Y"
3832             },
3833             ]
3834             },
3835             { name => "PrevClosePx", required => "N" },
3836             {
3837             name => "NoLegs",
3838             required => "Y",
3839             group => [
3840             {
3841             name => "InstrumentLeg",
3842             required => "N",
3843             component => "Y"
3844             },
3845             { name => "LegQty", required => "N" },
3846             { name => "LegSwapType", required => "N" },
3847             {
3848             name => "LegStipulations",
3849             required => "N",
3850             component => "Y"
3851             },
3852             {
3853             name => "NoLegAllocs",
3854             required => "N",
3855             group => [
3856             {
3857             name => "LegAllocAccount",
3858             required => "N"
3859             },
3860             {
3861             name => "LegIndividualAllocID",
3862             required => "N"
3863             },
3864             {
3865             name => "NestedParties2",
3866             required => "N",
3867             component => "Y"
3868             },
3869             {
3870             name => "LegAllocQty",
3871             required => "N"
3872             },
3873             {
3874             name => "LegAllocAcctIDSource",
3875             required => "N"
3876             },
3877             {
3878             name => "LegSettlCurrency",
3879             required => "N"
3880             },
3881             ]
3882             },
3883             { name => "LegPositionEffect", required => "N" },
3884             {
3885             name => "LegCoveredOrUncovered",
3886             required => "N"
3887             },
3888             {
3889             name => "NestedParties",
3890             required => "N",
3891             component => "Y"
3892             },
3893             { name => "LegRefID", required => "N" },
3894             { name => "LegPrice", required => "N" },
3895             { name => "LegSettlType", required => "N" },
3896             { name => "LegSettlDate", required => "N" },
3897             ]
3898             },
3899             { name => "LocateReqd", required => "N" },
3900             { name => "TransactTime", required => "Y" },
3901             { name => "QtyType", required => "N" },
3902             {
3903             name => "OrderQtyData",
3904             required => "Y",
3905             component => "Y"
3906             },
3907             { name => "OrdType", required => "Y" },
3908             { name => "PriceType", required => "N" },
3909             { name => "Price", required => "N" },
3910             { name => "StopPx", required => "N" },
3911             { name => "Currency", required => "N" },
3912             { name => "ComplianceID", required => "N" },
3913             { name => "SolicitedFlag", required => "N" },
3914             { name => "IOIid", required => "N" },
3915             { name => "QuoteID", required => "N" },
3916             { name => "TimeInForce", required => "N" },
3917             { name => "EffectiveTime", required => "N" },
3918             { name => "ExpireDate", required => "N" },
3919             { name => "ExpireTime", required => "N" },
3920             { name => "GTBookingInst", required => "N" },
3921             {
3922             name => "CommissionData",
3923             required => "N",
3924             component => "Y"
3925             },
3926             { name => "OrderCapacity", required => "N" },
3927             { name => "OrderRestrictions", required => "N" },
3928             { name => "CustOrderCapacity", required => "N" },
3929             { name => "ForexReq", required => "N" },
3930             { name => "SettlCurrency", required => "N" },
3931             { name => "BookingType", required => "N" },
3932             { name => "Text", required => "N" },
3933             { name => "EncodedTextLen", required => "N" },
3934             { name => "EncodedText", required => "N" },
3935             { name => "PositionEffect", required => "N" },
3936             { name => "CoveredOrUncovered", required => "N" },
3937             { name => "MaxShow", required => "N" },
3938             {
3939             name => "PegInstructions",
3940             required => "N",
3941             component => "Y"
3942             },
3943             {
3944             name => "DiscretionInstructions",
3945             required => "N",
3946             component => "Y"
3947             },
3948             { name => "TargetStrategy", required => "N" },
3949             { name => "TargetStrategyParameters", required => "N" },
3950             { name => "ParticipationRate", required => "N" },
3951             { name => "CancellationRights", required => "N" },
3952             { name => "MoneyLaunderingStatus", required => "N" },
3953             { name => "RegistID", required => "N" },
3954             { name => "Designation", required => "N" },
3955             { name => "MultiLegRptTypeReq", required => "N" },
3956             ]
3957             },
3958             {
3959             name => "BidRequest",
3960             msgtype => "k",
3961             msgcat => "app",
3962             fields => [
3963             { name => "BidID", required => "N" },
3964             { name => "ClientBidID", required => "Y" },
3965             { name => "BidRequestTransType", required => "Y" },
3966             { name => "ListName", required => "N" },
3967             { name => "TotNoRelatedSym", required => "Y" },
3968             { name => "BidType", required => "Y" },
3969             { name => "NumTickets", required => "N" },
3970             { name => "Currency", required => "N" },
3971             { name => "SideValue1", required => "N" },
3972             { name => "SideValue2", required => "N" },
3973             {
3974             name => "NoBidDescriptors",
3975             required => "N",
3976             group => [
3977             { name => "BidDescriptorType", required => "N" },
3978             { name => "BidDescriptor", required => "N" },
3979             { name => "SideValueInd", required => "N" },
3980             { name => "LiquidityValue", required => "N" },
3981             {
3982             name => "LiquidityNumSecurities",
3983             required => "N"
3984             },
3985             { name => "LiquidityPctLow", required => "N" },
3986             { name => "LiquidityPctHigh", required => "N" },
3987             { name => "EFPTrackingError", required => "N" },
3988             { name => "FairValue", required => "N" },
3989             { name => "OutsideIndexPct", required => "N" },
3990             { name => "ValueOfFutures", required => "N" },
3991             ]
3992             },
3993             {
3994             name => "NoBidComponents",
3995             required => "N",
3996             group => [
3997             { name => "ListID", required => "N" },
3998             { name => "Side", required => "N" },
3999             { name => "TradingSessionID", required => "N" },
4000             {
4001             name => "TradingSessionSubID",
4002             required => "N"
4003             },
4004             { name => "NetGrossInd", required => "N" },
4005             { name => "SettlType", required => "N" },
4006             { name => "SettlDate", required => "N" },
4007             { name => "Account", required => "N" },
4008             { name => "AcctIDSource", required => "N" },
4009             ]
4010             },
4011             { name => "LiquidityIndType", required => "N" },
4012             { name => "WtAverageLiquidity", required => "N" },
4013             { name => "ExchangeForPhysical", required => "N" },
4014             { name => "OutMainCntryUIndex", required => "N" },
4015             { name => "CrossPercent", required => "N" },
4016             { name => "ProgRptReqs", required => "N" },
4017             { name => "ProgPeriodInterval", required => "N" },
4018             { name => "IncTaxInd", required => "N" },
4019             { name => "ForexReq", required => "N" },
4020             { name => "NumBidders", required => "N" },
4021             { name => "TradeDate", required => "N" },
4022             { name => "BidTradeType", required => "Y" },
4023             { name => "BasisPxType", required => "Y" },
4024             { name => "StrikeTime", required => "N" },
4025             { name => "Text", required => "N" },
4026             { name => "EncodedTextLen", required => "N" },
4027             { name => "EncodedText", required => "N" },
4028             ]
4029             },
4030             {
4031             name => "BidResponse",
4032             msgtype => "l",
4033             msgcat => "app",
4034             fields => [
4035             { name => "BidID", required => "N" },
4036             { name => "ClientBidID", required => "N" },
4037             {
4038             name => "NoBidComponents",
4039             required => "Y",
4040             group => [
4041             {
4042             name => "CommissionData",
4043             required => "Y",
4044             component => "Y"
4045             },
4046             { name => "ListID", required => "N" },
4047             { name => "Country", required => "N" },
4048             { name => "Side", required => "N" },
4049             { name => "Price", required => "N" },
4050             { name => "PriceType", required => "N" },
4051             { name => "FairValue", required => "N" },
4052             { name => "NetGrossInd", required => "N" },
4053             { name => "SettlType", required => "N" },
4054             { name => "SettlDate", required => "N" },
4055             { name => "TradingSessionID", required => "N" },
4056             {
4057             name => "TradingSessionSubID",
4058             required => "N"
4059             },
4060             { name => "Text", required => "N" },
4061             { name => "EncodedTextLen", required => "N" },
4062             { name => "EncodedText", required => "N" },
4063             ]
4064             },
4065             ]
4066             },
4067             {
4068             name => "NewOrderList",
4069             msgtype => "E",
4070             msgcat => "app",
4071             fields => [
4072             { name => "ListID", required => "Y" },
4073             { name => "BidID", required => "N" },
4074             { name => "ClientBidID", required => "N" },
4075             { name => "ProgRptReqs", required => "N" },
4076             { name => "BidType", required => "Y" },
4077             { name => "ProgPeriodInterval", required => "N" },
4078             { name => "CancellationRights", required => "N" },
4079             { name => "MoneyLaunderingStatus", required => "N" },
4080             { name => "RegistID", required => "N" },
4081             { name => "ListExecInstType", required => "N" },
4082             { name => "ListExecInst", required => "N" },
4083             { name => "EncodedListExecInstLen", required => "N" },
4084             { name => "EncodedListExecInst", required => "N" },
4085             { name => "AllowableOneSidednessPct", required => "N" },
4086             { name => "AllowableOneSidednessValue", required => "N" },
4087             { name => "AllowableOneSidednessCurr", required => "N" },
4088             { name => "TotNoOrders", required => "Y" },
4089             { name => "LastFragment", required => "N" },
4090             {
4091             name => "NoOrders",
4092             required => "Y",
4093             group => [
4094             { name => "ClOrdID", required => "Y" },
4095             { name => "SecondaryClOrdID", required => "N" },
4096             { name => "ListSeqNo", required => "Y" },
4097             { name => "ClOrdLinkID", required => "N" },
4098             { name => "SettlInstMode", required => "N" },
4099             {
4100             name => "Parties",
4101             required => "N",
4102             component => "Y"
4103             },
4104             {
4105             name => "TradeOriginationDate",
4106             required => "N"
4107             },
4108             { name => "TradeDate", required => "N" },
4109             { name => "Account", required => "N" },
4110             { name => "AcctIDSource", required => "N" },
4111             { name => "AccountType", required => "N" },
4112             { name => "DayBookingInst", required => "N" },
4113             { name => "BookingUnit", required => "N" },
4114             { name => "AllocID", required => "N" },
4115             { name => "PreallocMethod", required => "N" },
4116             {
4117             name => "NoAllocs",
4118             required => "N",
4119             group => [
4120             {
4121             name => "AllocAccount",
4122             required => "N"
4123             },
4124             {
4125             name => "AllocAcctIDSource",
4126             required => "N"
4127             },
4128             {
4129             name => "AllocSettlCurrency",
4130             required => "N"
4131             },
4132             {
4133             name => "IndividualAllocID",
4134             required => "N"
4135             },
4136             {
4137             name => "NestedParties",
4138             required => "N",
4139             component => "Y"
4140             },
4141             { name => "AllocQty", required => "N" },
4142             ]
4143             },
4144             { name => "SettlType", required => "N" },
4145             { name => "SettlDate", required => "N" },
4146             { name => "CashMargin", required => "N" },
4147             {
4148             name => "ClearingFeeIndicator",
4149             required => "N"
4150             },
4151             { name => "HandlInst", required => "N" },
4152             { name => "ExecInst", required => "N" },
4153             { name => "MinQty", required => "N" },
4154             { name => "MaxFloor", required => "N" },
4155             { name => "ExDestination", required => "N" },
4156             {
4157             name => "NoTradingSessions",
4158             required => "N",
4159             group => [
4160             {
4161             name => "TradingSessionID",
4162             required => "N"
4163             },
4164             {
4165             name => "TradingSessionSubID",
4166             required => "N"
4167             },
4168             ]
4169             },
4170             { name => "ProcessCode", required => "N" },
4171             {
4172             name => "Instrument",
4173             required => "Y",
4174             component => "Y"
4175             },
4176             {
4177             name => "NoUnderlyings",
4178             required => "N",
4179             group => [
4180             {
4181             name => "UnderlyingInstrument",
4182             required => "N",
4183             component => "Y"
4184             },
4185             ]
4186             },
4187             { name => "PrevClosePx", required => "N" },
4188             { name => "Side", required => "Y" },
4189             { name => "SideValueInd", required => "N" },
4190             { name => "LocateReqd", required => "N" },
4191             { name => "TransactTime", required => "N" },
4192             {
4193             name => "Stipulations",
4194             required => "N",
4195             component => "Y"
4196             },
4197             { name => "QtyType", required => "N" },
4198             {
4199             name => "OrderQtyData",
4200             required => "Y",
4201             component => "Y"
4202             },
4203             { name => "OrdType", required => "N" },
4204             { name => "PriceType", required => "N" },
4205             { name => "Price", required => "N" },
4206             { name => "StopPx", required => "N" },
4207             {
4208             name => "SpreadOrBenchmarkCurveData",
4209             required => "N",
4210             component => "Y"
4211             },
4212             {
4213             name => "YieldData",
4214             required => "N",
4215             component => "Y"
4216             },
4217             { name => "Currency", required => "N" },
4218             { name => "ComplianceID", required => "N" },
4219             { name => "SolicitedFlag", required => "N" },
4220             { name => "IOIid", required => "N" },
4221             { name => "QuoteID", required => "N" },
4222             { name => "TimeInForce", required => "N" },
4223             { name => "EffectiveTime", required => "N" },
4224             { name => "ExpireDate", required => "N" },
4225             { name => "ExpireTime", required => "N" },
4226             { name => "GTBookingInst", required => "N" },
4227             {
4228             name => "CommissionData",
4229             required => "N",
4230             component => "Y"
4231             },
4232             { name => "OrderCapacity", required => "N" },
4233             { name => "OrderRestrictions", required => "N" },
4234             { name => "CustOrderCapacity", required => "N" },
4235             { name => "ForexReq", required => "N" },
4236             { name => "SettlCurrency", required => "N" },
4237             { name => "BookingType", required => "N" },
4238             { name => "Text", required => "N" },
4239             { name => "EncodedTextLen", required => "N" },
4240             { name => "EncodedText", required => "N" },
4241             { name => "SettlDate2", required => "N" },
4242             { name => "OrderQty2", required => "N" },
4243             { name => "Price2", required => "N" },
4244             { name => "PositionEffect", required => "N" },
4245             { name => "CoveredOrUncovered", required => "N" },
4246             { name => "MaxShow", required => "N" },
4247             {
4248             name => "PegInstructions",
4249             required => "N",
4250             component => "Y"
4251             },
4252             {
4253             name => "DiscretionInstructions",
4254             required => "N",
4255             component => "Y"
4256             },
4257             { name => "TargetStrategy", required => "N" },
4258             {
4259             name => "TargetStrategyParameters",
4260             required => "N"
4261             },
4262             { name => "ParticipationRate", required => "N" },
4263             { name => "Designation", required => "N" },
4264             ]
4265             },
4266             ]
4267             },
4268             {
4269             name => "ListStrikePrice",
4270             msgtype => "m",
4271             msgcat => "app",
4272             fields => [
4273             { name => "ListID", required => "Y" },
4274             { name => "TotNoStrikes", required => "Y" },
4275             { name => "LastFragment", required => "N" },
4276             {
4277             name => "NoStrikes",
4278             required => "Y",
4279             group => [
4280             {
4281             name => "Instrument",
4282             required => "Y",
4283             component => "Y"
4284             },
4285             ]
4286             },
4287             {
4288             name => "NoUnderlyings",
4289             required => "N",
4290             group => [
4291             {
4292             name => "UnderlyingInstrument",
4293             required => "N",
4294             component => "Y"
4295             },
4296             { name => "PrevClosePx", required => "N" },
4297             { name => "ClOrdID", required => "N" },
4298             { name => "SecondaryClOrdID", required => "N" },
4299             { name => "Side", required => "N" },
4300             { name => "Price", required => "Y" },
4301             { name => "Currency", required => "N" },
4302             { name => "Text", required => "N" },
4303             { name => "EncodedTextLen", required => "N" },
4304             { name => "EncodedText", required => "N" },
4305             ]
4306             },
4307             ]
4308             },
4309             {
4310             name => "ListStatus",
4311             msgtype => "N",
4312             msgcat => "app",
4313             fields => [
4314             { name => "ListID", required => "Y" },
4315             { name => "ListStatusType", required => "Y" },
4316             { name => "NoRpts", required => "Y" },
4317             { name => "ListOrderStatus", required => "Y" },
4318             { name => "RptSeq", required => "Y" },
4319             { name => "ListStatusText", required => "N" },
4320             { name => "EncodedListStatusTextLen", required => "N" },
4321             { name => "EncodedListStatusText", required => "N" },
4322             { name => "TransactTime", required => "N" },
4323             { name => "TotNoOrders", required => "Y" },
4324             { name => "LastFragment", required => "N" },
4325             {
4326             name => "NoOrders",
4327             required => "Y",
4328             group => [
4329             { name => "ClOrdID", required => "Y" },
4330             { name => "SecondaryClOrdID", required => "N" },
4331             { name => "CumQty", required => "Y" },
4332             { name => "OrdStatus", required => "Y" },
4333             { name => "WorkingIndicator", required => "N" },
4334             { name => "LeavesQty", required => "Y" },
4335             { name => "CxlQty", required => "Y" },
4336             { name => "AvgPx", required => "Y" },
4337             { name => "OrdRejReason", required => "N" },
4338             { name => "Text", required => "N" },
4339             { name => "EncodedTextLen", required => "N" },
4340             { name => "EncodedText", required => "N" },
4341             ]
4342             },
4343             ]
4344             },
4345             {
4346             name => "ListExecute",
4347             msgtype => "L",
4348             msgcat => "app",
4349             fields => [
4350             { name => "ListID", required => "Y" },
4351             { name => "ClientBidID", required => "N" },
4352             { name => "BidID", required => "N" },
4353             { name => "TransactTime", required => "Y" },
4354             { name => "Text", required => "N" },
4355             { name => "EncodedTextLen", required => "N" },
4356             { name => "EncodedText", required => "N" },
4357             ]
4358             },
4359             {
4360             name => "ListCancelRequest",
4361             msgtype => "K",
4362             msgcat => "app",
4363             fields => [
4364             { name => "ListID", required => "Y" },
4365             { name => "TransactTime", required => "Y" },
4366             { name => "TradeOriginationDate", required => "N" },
4367             { name => "TradeDate", required => "N" },
4368             { name => "Text", required => "N" },
4369             { name => "EncodedTextLen", required => "N" },
4370             { name => "EncodedText", required => "N" },
4371             ]
4372             },
4373             {
4374             name => "ListStatusRequest",
4375             msgtype => "M",
4376             msgcat => "app",
4377             fields => [
4378             { name => "ListID", required => "Y" },
4379             { name => "Text", required => "N" },
4380             { name => "EncodedTextLen", required => "N" },
4381             { name => "EncodedText", required => "N" },
4382             ]
4383             },
4384             {
4385             name => "AllocationInstruction",
4386             msgtype => "J",
4387             msgcat => "app",
4388             fields => [
4389             { name => "AllocID", required => "Y" },
4390             { name => "AllocTransType", required => "Y" },
4391             { name => "AllocType", required => "Y" },
4392             { name => "SecondaryAllocID", required => "N" },
4393             { name => "RefAllocID", required => "N" },
4394             { name => "AllocCancReplaceReason", required => "N" },
4395             { name => "AllocIntermedReqType", required => "N" },
4396             { name => "AllocLinkID", required => "N" },
4397             { name => "AllocLinkType", required => "N" },
4398             { name => "BookingRefID", required => "N" },
4399             { name => "AllocNoOrdersType", required => "Y" },
4400             {
4401             name => "NoOrders",
4402             required => "N",
4403             group => [
4404             { name => "ClOrdID", required => "N" },
4405             { name => "OrderID", required => "N" },
4406             { name => "SecondaryOrderID", required => "N" },
4407             { name => "SecondaryClOrdID", required => "N" },
4408             { name => "ListID", required => "N" },
4409             {
4410             name => "NestedParties2",
4411             required => "N",
4412             component => "Y"
4413             },
4414             { name => "OrderQty", required => "N" },
4415             { name => "OrderAvgPx", required => "N" },
4416             { name => "OrderBookingQty", required => "N" },
4417             ]
4418             },
4419             {
4420             name => "NoExecs",
4421             required => "N",
4422             group => [
4423             { name => "LastQty", required => "N" },
4424             { name => "ExecID", required => "N" },
4425             { name => "SecondaryExecID", required => "N" },
4426             { name => "LastPx", required => "N" },
4427             { name => "LastParPx", required => "N" },
4428             { name => "LastCapacity", required => "N" },
4429             ]
4430             },
4431             { name => "PreviouslyReported", required => "N" },
4432             { name => "ReversalIndicator", required => "N" },
4433             { name => "MatchType", required => "N" },
4434             { name => "Side", required => "Y" },
4435             {
4436             name => "Instrument",
4437             required => "Y",
4438             component => "Y"
4439             },
4440             {
4441             name => "InstrumentExtension",
4442             required => "N",
4443             component => "Y"
4444             },
4445             {
4446             name => "FinancingDetails",
4447             required => "N",
4448             component => "Y"
4449             },
4450             {
4451             name => "NoUnderlyings",
4452             required => "N",
4453             group => [
4454             {
4455             name => "UnderlyingInstrument",
4456             required => "N",
4457             component => "Y"
4458             },
4459             ]
4460             },
4461             {
4462             name => "NoLegs",
4463             required => "N",
4464             group => [
4465             {
4466             name => "InstrumentLeg",
4467             required => "N",
4468             component => "Y"
4469             },
4470             ]
4471             },
4472             { name => "Quantity", required => "Y" },
4473             { name => "QtyType", required => "N" },
4474             { name => "LastMkt", required => "N" },
4475             { name => "TradeOriginationDate", required => "N" },
4476             { name => "TradingSessionID", required => "N" },
4477             { name => "TradingSessionSubID", required => "N" },
4478             { name => "PriceType", required => "N" },
4479             { name => "AvgPx", required => "Y" },
4480             { name => "AvgParPx", required => "N" },
4481             {
4482             name => "SpreadOrBenchmarkCurveData",
4483             required => "N",
4484             component => "Y"
4485             },
4486             { name => "Currency", required => "N" },
4487             { name => "AvgPxPrecision", required => "N" },
4488             { name => "Parties", required => "N", component => "Y" },
4489             { name => "TradeDate", required => "Y" },
4490             { name => "TransactTime", required => "N" },
4491             { name => "SettlType", required => "N" },
4492             { name => "SettlDate", required => "N" },
4493             { name => "BookingType", required => "N" },
4494             { name => "GrossTradeAmt", required => "N" },
4495             { name => "Concession", required => "N" },
4496             { name => "TotalTakedown", required => "N" },
4497             { name => "NetMoney", required => "N" },
4498             { name => "PositionEffect", required => "N" },
4499             { name => "AutoAcceptIndicator", required => "N" },
4500             { name => "Text", required => "N" },
4501             { name => "EncodedTextLen", required => "N" },
4502             { name => "EncodedText", required => "N" },
4503             { name => "NumDaysInterest", required => "N" },
4504             { name => "AccruedInterestRate", required => "N" },
4505             { name => "AccruedInterestAmt", required => "N" },
4506             { name => "TotalAccruedInterestAmt", required => "N" },
4507             { name => "InterestAtMaturity", required => "N" },
4508             { name => "EndAccruedInterestAmt", required => "N" },
4509             { name => "StartCash", required => "N" },
4510             { name => "EndCash", required => "N" },
4511             { name => "LegalConfirm", required => "N" },
4512             {
4513             name => "Stipulations",
4514             required => "N",
4515             component => "Y"
4516             },
4517             {
4518             name => "YieldData",
4519             required => "N",
4520             component => "Y"
4521             },
4522             { name => "TotNoAllocs", required => "N" },
4523             { name => "LastFragment", required => "N" },
4524             {
4525             name => "NoAllocs",
4526             required => "Y",
4527             group => [
4528             { name => "AllocAccount", required => "Y" },
4529             { name => "AllocAcctIDSource", required => "N" },
4530             { name => "MatchStatus", required => "N" },
4531             { name => "AllocPrice", required => "N" },
4532             { name => "AllocQty", required => "Y" },
4533             { name => "IndividualAllocID", required => "N" },
4534             { name => "ProcessCode", required => "N" },
4535             {
4536             name => "NestedParties",
4537             required => "N",
4538             component => "Y"
4539             },
4540             {
4541             name => "NotifyBrokerOfCredit",
4542             required => "N"
4543             },
4544             { name => "AllocHandlInst", required => "N" },
4545             { name => "AllocText", required => "N" },
4546             {
4547             name => "EncodedAllocTextLen",
4548             required => "N"
4549             },
4550             { name => "EncodedAllocText", required => "N" },
4551             {
4552             name => "CommissionData",
4553             required => "N",
4554             component => "Y"
4555             },
4556             { name => "AllocAvgPx", required => "N" },
4557             { name => "AllocNetMoney", required => "N" },
4558             { name => "SettlCurrAmt", required => "N" },
4559             { name => "AllocSettlCurrAmt", required => "N" },
4560             { name => "SettlCurrency", required => "N" },
4561             { name => "AllocSettlCurrency", required => "N" },
4562             { name => "SettlCurrFxRate", required => "N" },
4563             {
4564             name => "SettlCurrFxRateCalc",
4565             required => "N"
4566             },
4567             { name => "AccruedInterestAmt", required => "N" },
4568             {
4569             name => "AllocAccruedInterestAmt",
4570             required => "N"
4571             },
4572             {
4573             name => "AllocInterestAtMaturity",
4574             required => "N"
4575             },
4576             { name => "SettlInstMode", required => "N" },
4577             {
4578             name => "NoMiscFees",
4579             required => "N",
4580             group => [
4581             { name => "MiscFeeAmt", required => "N" },
4582             {
4583             name => "MiscFeeCurr",
4584             required => "N"
4585             },
4586             {
4587             name => "MiscFeeType",
4588             required => "N"
4589             },
4590             {
4591             name => "MiscFeeBasis",
4592             required => "N"
4593             },
4594             ]
4595             },
4596             {
4597             name => "NoClearingInstructions",
4598             required => "N"
4599             },
4600             {
4601             name => "ClearingInstruction",
4602             required => "N"
4603             },
4604             {
4605             name => "ClearingFeeIndicator",
4606             required => "N"
4607             },
4608             { name => "AllocSettlInstType", required => "N" },
4609             {
4610             name => "SettlInstructionsData",
4611             required => "N",
4612             component => "Y"
4613             },
4614             ]
4615             },
4616             ]
4617             },
4618             {
4619             name => "AllocationInstructionAck",
4620             msgtype => "P",
4621             msgcat => "app",
4622             fields => [
4623             { name => "AllocID", required => "Y" },
4624             { name => "Parties", required => "N", component => "Y" },
4625             { name => "SecondaryAllocID", required => "N" },
4626             { name => "TradeDate", required => "N" },
4627             { name => "TransactTime", required => "Y" },
4628             { name => "AllocStatus", required => "Y" },
4629             { name => "AllocRejCode", required => "N" },
4630             { name => "AllocType", required => "N" },
4631             { name => "AllocIntermedReqType", required => "N" },
4632             { name => "MatchStatus", required => "N" },
4633             { name => "Product", required => "N" },
4634             { name => "SecurityType", required => "N" },
4635             { name => "Text", required => "N" },
4636             { name => "EncodedTextLen", required => "N" },
4637             { name => "EncodedText", required => "N" },
4638             {
4639             name => "NoAllocs",
4640             required => "N",
4641             group => [
4642             { name => "AllocAccount", required => "N" },
4643             { name => "AllocAcctIDSource", required => "N" },
4644             { name => "AllocPrice", required => "N" },
4645             { name => "IndividualAllocID", required => "N" },
4646             {
4647             name => "IndividualAllocRejCode",
4648             required => "N"
4649             },
4650             { name => "AllocText", required => "N" },
4651             {
4652             name => "EncodedAllocTextLen",
4653             required => "N"
4654             },
4655             { name => "EncodedAllocText", required => "N" },
4656             ]
4657             },
4658             ]
4659             },
4660             {
4661             name => "AllocationReport",
4662             msgtype => "AS",
4663             msgcat => "app",
4664             fields => [
4665             { name => "AllocReportID", required => "Y" },
4666             { name => "AllocID", required => "N" },
4667             { name => "AllocTransType", required => "Y" },
4668             { name => "AllocReportRefID", required => "N" },
4669             { name => "AllocCancReplaceReason", required => "N" },
4670             { name => "SecondaryAllocID", required => "N" },
4671             { name => "AllocReportType", required => "Y" },
4672             { name => "AllocStatus", required => "Y" },
4673             { name => "AllocRejCode", required => "N" },
4674             { name => "RefAllocID", required => "N" },
4675             { name => "AllocIntermedReqType", required => "N" },
4676             { name => "AllocLinkID", required => "N" },
4677             { name => "AllocLinkType", required => "N" },
4678             { name => "BookingRefID", required => "N" },
4679             { name => "AllocNoOrdersType", required => "Y" },
4680             {
4681             name => "NoOrders",
4682             required => "N",
4683             group => [
4684             { name => "ClOrdID", required => "N" },
4685             { name => "OrderID", required => "N" },
4686             { name => "SecondaryOrderID", required => "N" },
4687             { name => "SecondaryClOrdID", required => "N" },
4688             { name => "ListID", required => "N" },
4689             {
4690             name => "NestedParties2",
4691             required => "N",
4692             component => "Y"
4693             },
4694             { name => "OrderQty", required => "N" },
4695             { name => "OrderAvgPx", required => "N" },
4696             { name => "OrderBookingQty", required => "N" },
4697             ]
4698             },
4699             {
4700             name => "NoExecs",
4701             required => "N",
4702             group => [
4703             { name => "LastQty", required => "N" },
4704             { name => "ExecID", required => "N" },
4705             { name => "SecondaryExecID", required => "N" },
4706             { name => "LastPx", required => "N" },
4707             { name => "LastParPx", required => "N" },
4708             { name => "LastCapacity", required => "N" },
4709             ]
4710             },
4711             { name => "PreviouslyReported", required => "N" },
4712             { name => "ReversalIndicator", required => "N" },
4713             { name => "MatchType", required => "N" },
4714             { name => "Side", required => "Y" },
4715             {
4716             name => "Instrument",
4717             required => "Y",
4718             component => "Y"
4719             },
4720             {
4721             name => "InstrumentExtension",
4722             required => "N",
4723             component => "Y"
4724             },
4725             {
4726             name => "FinancingDetails",
4727             required => "N",
4728             component => "Y"
4729             },
4730             {
4731             name => "NoUnderlyings",
4732             required => "N",
4733             group => [
4734             {
4735             name => "UnderlyingInstrument",
4736             required => "N",
4737             component => "Y"
4738             },
4739             ]
4740             },
4741             {
4742             name => "NoLegs",
4743             required => "N",
4744             group => [
4745             {
4746             name => "InstrumentLeg",
4747             required => "N",
4748             component => "Y"
4749             },
4750             ]
4751             },
4752             { name => "Quantity", required => "Y" },
4753             { name => "QtyType", required => "N" },
4754             { name => "LastMkt", required => "N" },
4755             { name => "TradeOriginationDate", required => "N" },
4756             { name => "TradingSessionID", required => "N" },
4757             { name => "TradingSessionSubID", required => "N" },
4758             { name => "PriceType", required => "N" },
4759             { name => "AvgPx", required => "Y" },
4760             { name => "AvgParPx", required => "N" },
4761             {
4762             name => "SpreadOrBenchmarkCurveData",
4763             required => "N",
4764             component => "Y"
4765             },
4766             { name => "Currency", required => "N" },
4767             { name => "AvgPxPrecision", required => "N" },
4768             { name => "Parties", required => "N", component => "Y" },
4769             { name => "TradeDate", required => "Y" },
4770             { name => "TransactTime", required => "N" },
4771             { name => "SettlType", required => "N" },
4772             { name => "SettlDate", required => "N" },
4773             { name => "BookingType", required => "N" },
4774             { name => "GrossTradeAmt", required => "N" },
4775             { name => "Concession", required => "N" },
4776             { name => "TotalTakedown", required => "N" },
4777             { name => "NetMoney", required => "N" },
4778             { name => "PositionEffect", required => "N" },
4779             { name => "AutoAcceptIndicator", required => "N" },
4780             { name => "Text", required => "N" },
4781             { name => "EncodedTextLen", required => "N" },
4782             { name => "EncodedText", required => "N" },
4783             { name => "NumDaysInterest", required => "N" },
4784             { name => "AccruedInterestRate", required => "N" },
4785             { name => "AccruedInterestAmt", required => "N" },
4786             { name => "TotalAccruedInterestAmt", required => "N" },
4787             { name => "InterestAtMaturity", required => "N" },
4788             { name => "EndAccruedInterestAmt", required => "N" },
4789             { name => "StartCash", required => "N" },
4790             { name => "EndCash", required => "N" },
4791             { name => "LegalConfirm", required => "N" },
4792             {
4793             name => "Stipulations",
4794             required => "N",
4795             component => "Y"
4796             },
4797             {
4798             name => "YieldData",
4799             required => "N",
4800             component => "Y"
4801             },
4802             { name => "TotNoAllocs", required => "N" },
4803             { name => "LastFragment", required => "N" },
4804             {
4805             name => "NoAllocs",
4806             required => "Y",
4807             group => [
4808             { name => "AllocAccount", required => "Y" },
4809             { name => "AllocAcctIDSource", required => "N" },
4810             { name => "MatchStatus", required => "N" },
4811             { name => "AllocPrice", required => "N" },
4812             { name => "AllocQty", required => "Y" },
4813             { name => "IndividualAllocID", required => "N" },
4814             { name => "ProcessCode", required => "N" },
4815             {
4816             name => "NestedParties",
4817             required => "N",
4818             component => "Y"
4819             },
4820             {
4821             name => "NotifyBrokerOfCredit",
4822             required => "N"
4823             },
4824             { name => "AllocHandlInst", required => "N" },
4825             { name => "AllocText", required => "N" },
4826             {
4827             name => "EncodedAllocTextLen",
4828             required => "N"
4829             },
4830             { name => "EncodedAllocText", required => "N" },
4831             {
4832             name => "CommissionData",
4833             required => "N",
4834             component => "Y"
4835             },
4836             { name => "AllocAvgPx", required => "N" },
4837             { name => "AllocNetMoney", required => "N" },
4838             { name => "SettlCurrAmt", required => "N" },
4839             { name => "AllocSettlCurrAmt", required => "N" },
4840             { name => "SettlCurrency", required => "N" },
4841             { name => "AllocSettlCurrency", required => "N" },
4842             { name => "SettlCurrFxRate", required => "N" },
4843             {
4844             name => "SettlCurrFxRateCalc",
4845             required => "N"
4846             },
4847             {
4848             name => "AllocAccruedInterestAmt",
4849             required => "N"
4850             },
4851             {
4852             name => "AllocInterestAtMaturity",
4853             required => "N"
4854             },
4855             {
4856             name => "NoMiscFees",
4857             required => "N",
4858             group => [
4859             { name => "MiscFeeAmt", required => "N" },
4860             {
4861             name => "MiscFeeCurr",
4862             required => "N"
4863             },
4864             {
4865             name => "MiscFeeType",
4866             required => "N"
4867             },
4868             {
4869             name => "MiscFeeBasis",
4870             required => "N"
4871             },
4872             ]
4873             },
4874             {
4875             name => "NoClearingInstructions",
4876             required => "N",
4877             group => [
4878             {
4879             name => "ClearingInstruction",
4880             required => "N"
4881             },
4882             ]
4883             },
4884             {
4885             name => "ClearingFeeIndicator",
4886             required => "N"
4887             },
4888             { name => "AllocSettlInstType", required => "N" },
4889             {
4890             name => "SettlInstructionsData",
4891             required => "N",
4892             component => "Y"
4893             },
4894             ]
4895             },
4896             ]
4897             },
4898             {
4899             name => "AllocationReportAck",
4900             msgtype => "AT",
4901             msgcat => "app",
4902             fields => [
4903             { name => "AllocReportID", required => "Y" },
4904             { name => "AllocID", required => "Y" },
4905             { name => "Parties", required => "N", component => "Y" },
4906             { name => "SecondaryAllocID", required => "N" },
4907             { name => "TradeDate", required => "N" },
4908             { name => "TransactTime", required => "Y" },
4909             { name => "AllocStatus", required => "Y" },
4910             { name => "AllocRejCode", required => "N" },
4911             { name => "AllocReportType", required => "N" },
4912             { name => "AllocIntermedReqType", required => "N" },
4913             { name => "MatchStatus", required => "N" },
4914             { name => "Product", required => "N" },
4915             { name => "SecurityType", required => "N" },
4916             { name => "Text", required => "N" },
4917             { name => "EncodedTextLen", required => "N" },
4918             { name => "EncodedText", required => "N" },
4919             {
4920             name => "NoAllocs",
4921             required => "N",
4922             group => [
4923             { name => "AllocAccount", required => "N" },
4924             { name => "AllocAcctIDSource", required => "N" },
4925             { name => "AllocPrice", required => "N" },
4926             { name => "IndividualAllocID", required => "N" },
4927             {
4928             name => "IndividualAllocRejCode",
4929             required => "N"
4930             },
4931             { name => "AllocText", required => "N" },
4932             {
4933             name => "EncodedAllocTextLen",
4934             required => "N"
4935             },
4936             { name => "EncodedAllocText", required => "N" },
4937             ]
4938             },
4939             ]
4940             },
4941             {
4942             name => "Confirmation",
4943             msgtype => "AK",
4944             msgcat => "app",
4945             fields => [
4946             { name => "ConfirmID", required => "Y" },
4947             { name => "ConfirmRefID", required => "N" },
4948             { name => "ConfirmReqID", required => "N" },
4949             { name => "ConfirmTransType", required => "Y" },
4950             { name => "ConfirmType", required => "Y" },
4951             { name => "CopyMsgIndicator", required => "N" },
4952             { name => "LegalConfirm", required => "N" },
4953             { name => "ConfirmStatus", required => "Y" },
4954             { name => "Parties", required => "N", component => "Y" },
4955             {
4956             name => "NoOrders",
4957             required => "N",
4958             group => [
4959             { name => "ClOrdID", required => "N" },
4960             { name => "OrderID", required => "N" },
4961             { name => "SecondaryOrderID", required => "N" },
4962             { name => "SecondaryClOrdID", required => "N" },
4963             { name => "ListID", required => "N" },
4964             {
4965             name => "NestedParties2",
4966             required => "N",
4967             component => "Y"
4968             },
4969             { name => "OrderQty", required => "N" },
4970             { name => "OrderAvgPx", required => "N" },
4971             { name => "OrderBookingQty", required => "N" },
4972             ]
4973             },
4974             { name => "AllocID", required => "N" },
4975             { name => "SecondaryAllocID", required => "N" },
4976             { name => "IndividualAllocID", required => "N" },
4977             { name => "TransactTime", required => "Y" },
4978             { name => "TradeDate", required => "Y" },
4979             {
4980             name => "TrdRegTimestamps",
4981             required => "N",
4982             component => "Y"
4983             },
4984             {
4985             name => "Instrument",
4986             required => "Y",
4987             component => "Y"
4988             },
4989             {
4990             name => "InstrumentExtension",
4991             required => "N",
4992             component => "Y"
4993             },
4994             {
4995             name => "FinancingDetails",
4996             required => "N",
4997             component => "Y"
4998             },
4999             {
5000             name => "NoUnderlyings",
5001             required => "Y",
5002             group => [
5003             {
5004             name => "UnderlyingInstrument",
5005             required => "N",
5006             component => "Y"
5007             },
5008             ]
5009             },
5010             {
5011             name => "NoLegs",
5012             required => "Y",
5013             group => [
5014             {
5015             name => "InstrumentLeg",
5016             required => "N",
5017             component => "Y"
5018             },
5019             ]
5020             },
5021             {
5022             name => "YieldData",
5023             required => "N",
5024             component => "Y"
5025             },
5026             { name => "AllocQty", required => "Y" },
5027             { name => "QtyType", required => "N" },
5028             { name => "Side", required => "Y" },
5029             { name => "Currency", required => "N" },
5030             { name => "LastMkt", required => "N" },
5031             {
5032             name => "NoCapacities",
5033             required => "Y",
5034             group => [
5035             { name => "OrderCapacity", required => "Y" },
5036             { name => "OrderRestrictions", required => "N" },
5037             { name => "OrderCapacityQty", required => "Y" },
5038             ]
5039             },
5040             { name => "AllocAccount", required => "Y" },
5041             { name => "AllocAcctIDSource", required => "N" },
5042             { name => "AllocAccountType", required => "N" },
5043             { name => "AvgPx", required => "Y" },
5044             { name => "AvgPxPrecision", required => "N" },
5045             { name => "PriceType", required => "N" },
5046             { name => "AvgParPx", required => "N" },
5047             {
5048             name => "SpreadOrBenchmarkCurveData",
5049             required => "N",
5050             component => "Y"
5051             },
5052             { name => "ReportedPx", required => "N" },
5053             { name => "Text", required => "N" },
5054             { name => "EncodedTextLen", required => "N" },
5055             { name => "EncodedText", required => "N" },
5056             { name => "ProcessCode", required => "N" },
5057             { name => "GrossTradeAmt", required => "Y" },
5058             { name => "NumDaysInterest", required => "N" },
5059             { name => "ExDate", required => "N" },
5060             { name => "AccruedInterestRate", required => "N" },
5061             { name => "AccruedInterestAmt", required => "N" },
5062             { name => "InterestAtMaturity", required => "N" },
5063             { name => "EndAccruedInterestAmt", required => "N" },
5064             { name => "StartCash", required => "N" },
5065             { name => "EndCash", required => "N" },
5066             { name => "Concession", required => "N" },
5067             { name => "TotalTakedown", required => "N" },
5068             { name => "NetMoney", required => "Y" },
5069             { name => "MaturityNetMoney", required => "N" },
5070             { name => "SettlCurrAmt", required => "N" },
5071             { name => "SettlCurrency", required => "N" },
5072             { name => "SettlCurrFxRate", required => "N" },
5073             { name => "SettlCurrFxRateCalc", required => "N" },
5074             { name => "SettlType", required => "N" },
5075             { name => "SettlDate", required => "N" },
5076             {
5077             name => "SettlInstructionsData",
5078             required => "N",
5079             component => "Y"
5080             },
5081             {
5082             name => "CommissionData",
5083             required => "N",
5084             component => "Y"
5085             },
5086             { name => "SharedCommission", required => "N" },
5087             {
5088             name => "Stipulations",
5089             required => "N",
5090             component => "Y"
5091             },
5092             {
5093             name => "NoMiscFees",
5094             required => "N",
5095             group => [
5096             { name => "MiscFeeAmt", required => "N" },
5097             { name => "MiscFeeCurr", required => "N" },
5098             { name => "MiscFeeType", required => "N" },
5099             { name => "MiscFeeBasis", required => "N" },
5100             ]
5101             },
5102             ]
5103             },
5104             {
5105             name => "ConfirmationAck",
5106             msgtype => "AU",
5107             msgcat => "app",
5108             fields => [
5109             { name => "ConfirmID", required => "Y" },
5110             { name => "TradeDate", required => "Y" },
5111             { name => "TransactTime", required => "Y" },
5112             { name => "AffirmStatus", required => "Y" },
5113             { name => "ConfirmRejReason", required => "N" },
5114             { name => "MatchStatus", required => "N" },
5115             { name => "Text", required => "N" },
5116             { name => "EncodedTextLen", required => "N" },
5117             { name => "EncodedText", required => "N" },
5118             ]
5119             },
5120             {
5121             name => "ConfirmationRequest",
5122             msgtype => "BH",
5123             msgcat => "app",
5124             fields => [
5125             { name => "ConfirmReqID", required => "Y" },
5126             { name => "ConfirmType", required => "Y" },
5127             {
5128             name => "NoOrders",
5129             required => "N",
5130             group => [
5131             { name => "ClOrdID", required => "N" },
5132             { name => "OrderID", required => "N" },
5133             { name => "SecondaryOrderID", required => "N" },
5134             { name => "SecondaryClOrdID", required => "N" },
5135             { name => "ListID", required => "N" },
5136             {
5137             name => "NestedParties2",
5138             required => "N",
5139             component => "Y"
5140             },
5141             { name => "OrderQty", required => "N" },
5142             { name => "OrderAvgPx", required => "N" },
5143             { name => "OrderBookingQty", required => "N" },
5144             ]
5145             },
5146             { name => "AllocID", required => "N" },
5147             { name => "SecondaryAllocID", required => "N" },
5148             { name => "IndividualAllocID", required => "N" },
5149             { name => "TransactTime", required => "Y" },
5150             { name => "AllocAccount", required => "N" },
5151             { name => "AllocAcctIDSource", required => "N" },
5152             { name => "AllocAccountType", required => "N" },
5153             { name => "Text", required => "N" },
5154             { name => "EncodedTextLen", required => "N" },
5155             { name => "EncodedText", required => "N" },
5156             ]
5157             },
5158             {
5159             name => "SettlementInstructions",
5160             msgtype => "T",
5161             msgcat => "app",
5162             fields => [
5163             { name => "SettlInstMsgID", required => "Y" },
5164             { name => "SettlInstReqID", required => "N" },
5165             { name => "SettlInstMode", required => "Y" },
5166             { name => "SettlInstReqRejCode", required => "N" },
5167             { name => "Text", required => "N" },
5168             { name => "EncodedTextLen", required => "N" },
5169             { name => "EncodedText", required => "N" },
5170             { name => "SettlInstSource", required => "N" },
5171             { name => "ClOrdID", required => "N" },
5172             { name => "TransactTime", required => "Y" },
5173             {
5174             name => "NoSettlInst",
5175             required => "N",
5176             group => [
5177             { name => "SettlInstID", required => "N" },
5178             { name => "SettlInstTransType", required => "N" },
5179             { name => "SettlInstRefID", required => "N" },
5180             {
5181             name => "Parties",
5182             required => "N",
5183             component => "Y"
5184             },
5185             { name => "Side", required => "N" },
5186             { name => "Product", required => "N" },
5187             { name => "SecurityType", required => "N" },
5188             { name => "CFICode", required => "N" },
5189             { name => "EffectiveTime", required => "N" },
5190             { name => "ExpireTime", required => "N" },
5191             { name => "LastUpdateTime", required => "N" },
5192             {
5193             name => "SettlInstructionsData",
5194             required => "N",
5195             component => "Y"
5196             },
5197             { name => "PaymentMethod", required => "N" },
5198             { name => "PaymentRef", required => "N" },
5199             { name => "CardHolderName", required => "N" },
5200             { name => "CardNumber", required => "N" },
5201             { name => "CardStartDate", required => "N" },
5202             { name => "CardExpDate", required => "N" },
5203             { name => "CardIssNum", required => "N" },
5204             { name => "PaymentDate", required => "N" },
5205             { name => "PaymentRemitterID", required => "N" },
5206             ]
5207             },
5208             ]
5209             },
5210             {
5211             name => "SettlementInstructionRequest",
5212             msgtype => "AV",
5213             msgcat => "app",
5214             fields => [
5215             { name => "SettlInstReqID", required => "Y" },
5216             { name => "TransactTime", required => "Y" },
5217             { name => "Parties", required => "N", component => "Y" },
5218             { name => "AllocAccount", required => "N" },
5219             { name => "AllocAcctIDSource", required => "N" },
5220             { name => "Side", required => "N" },
5221             { name => "Product", required => "N" },
5222             { name => "SecurityType", required => "N" },
5223             { name => "CFICode", required => "N" },
5224             { name => "EffectiveTime", required => "N" },
5225             { name => "ExpireTime", required => "N" },
5226             { name => "LastUpdateTime", required => "N" },
5227             { name => "StandInstDbType", required => "N" },
5228             { name => "StandInstDbName", required => "N" },
5229             { name => "StandInstDbID", required => "N" },
5230             ]
5231             },
5232             {
5233             name => "TradeCaptureReportRequest",
5234             msgtype => "AD",
5235             msgcat => "app",
5236             fields => [
5237             { name => "TradeRequestID", required => "Y" },
5238             { name => "TradeRequestType", required => "Y" },
5239             { name => "SubscriptionRequestType", required => "N" },
5240             { name => "TradeReportID", required => "N" },
5241             { name => "SecondaryTradeReportID", required => "N" },
5242             { name => "ExecID", required => "N" },
5243             { name => "ExecType", required => "N" },
5244             { name => "OrderID", required => "N" },
5245             { name => "ClOrdID", required => "N" },
5246             { name => "MatchStatus", required => "N" },
5247             { name => "TrdType", required => "N" },
5248             { name => "TrdSubType", required => "N" },
5249             { name => "TransferReason", required => "N" },
5250             { name => "SecondaryTrdType", required => "N" },
5251             { name => "TradeLinkID", required => "N" },
5252             { name => "TrdMatchID", required => "N" },
5253             { name => "Parties", required => "N", component => "Y" },
5254             {
5255             name => "Instrument",
5256             required => "N",
5257             component => "Y"
5258             },
5259             {
5260             name => "InstrumentExtension",
5261             required => "N",
5262             component => "Y"
5263             },
5264             {
5265             name => "FinancingDetails",
5266             required => "N",
5267             component => "Y"
5268             },
5269             {
5270             name => "NoUnderlyings",
5271             required => "N",
5272             group => [
5273             {
5274             name => "UnderlyingInstrument",
5275             required => "N",
5276             component => "Y"
5277             },
5278             ]
5279             },
5280             {
5281             name => "NoLegs",
5282             required => "N",
5283             group => [
5284             {
5285             name => "InstrumentLeg",
5286             required => "N",
5287             component => "Y"
5288             },
5289             ]
5290             },
5291             {
5292             name => "NoDates",
5293             required => "N",
5294             group => [
5295             { name => "TradeDate", required => "N" },
5296             { name => "TransactTime", required => "N" },
5297             ]
5298             },
5299             { name => "ClearingBusinessDate", required => "N" },
5300             { name => "TradingSessionID", required => "N" },
5301             { name => "TradingSessionSubID", required => "N" },
5302             { name => "TimeBracket", required => "N" },
5303             { name => "Side", required => "N" },
5304             { name => "MultiLegReportingType", required => "N" },
5305             { name => "TradeInputSource", required => "N" },
5306             { name => "TradeInputDevice", required => "N" },
5307             { name => "ResponseTransportType", required => "N" },
5308             { name => "ResponseDestination", required => "N" },
5309             { name => "Text", required => "N" },
5310             { name => "EncodedTextLen", required => "N" },
5311             { name => "EncodedText", required => "N" },
5312             ]
5313             },
5314             {
5315             name => "TradeCaptureReportRequestAck",
5316             msgtype => "AQ",
5317             msgcat => "app",
5318             fields => [
5319             { name => "TradeRequestID", required => "Y" },
5320             { name => "TradeRequestType", required => "Y" },
5321             { name => "SubscriptionRequestType", required => "N" },
5322             { name => "TotNumTradeReports", required => "N" },
5323             { name => "TradeRequestResult", required => "Y" },
5324             { name => "TradeRequestStatus", required => "Y" },
5325             {
5326             name => "Instrument",
5327             required => "N",
5328             component => "Y"
5329             },
5330             {
5331             name => "NoUnderlyings",
5332             required => "N",
5333             group => [
5334             {
5335             name => "UnderlyingInstrument",
5336             required => "N",
5337             component => "Y"
5338             },
5339             ]
5340             },
5341             {
5342             name => "NoLegs",
5343             required => "N",
5344             group => [
5345             {
5346             name => "InstrumentLeg",
5347             required => "N",
5348             component => "Y"
5349             },
5350             ]
5351             },
5352             { name => "MultiLegReportingType", required => "N" },
5353             { name => "ResponseTransportType", required => "N" },
5354             { name => "ResponseDestination", required => "N" },
5355             { name => "Text", required => "N" },
5356             { name => "EncodedTextLen", required => "N" },
5357             { name => "EncodedText", required => "N" },
5358             ]
5359             },
5360             {
5361             name => "TradeCaptureReport",
5362             msgtype => "AE",
5363             msgcat => "app",
5364             fields => [
5365             { name => "TradeReportID", required => "Y" },
5366             { name => "TradeReportTransType", required => "N" },
5367             { name => "TradeReportType", required => "N" },
5368             { name => "TradeRequestID", required => "N" },
5369             { name => "TrdType", required => "N" },
5370             { name => "TrdSubType", required => "N" },
5371             { name => "SecondaryTrdType", required => "N" },
5372             { name => "TransferReason", required => "N" },
5373             { name => "ExecType", required => "N" },
5374             { name => "TotNumTradeReports", required => "N" },
5375             { name => "LastRptRequested", required => "N" },
5376             { name => "UnsolicitedIndicator", required => "N" },
5377             { name => "SubscriptionRequestType", required => "N" },
5378             { name => "TradeReportRefID", required => "N" },
5379             { name => "SecondaryTradeReportRefID", required => "N" },
5380             { name => "SecondaryTradeReportID", required => "N" },
5381             { name => "TradeLinkID", required => "N" },
5382             { name => "TrdMatchID", required => "N" },
5383             { name => "ExecID", required => "N" },
5384             { name => "OrdStatus", required => "N" },
5385             { name => "SecondaryExecID", required => "N" },
5386             { name => "ExecRestatementReason", required => "N" },
5387             { name => "PreviouslyReported", required => "Y" },
5388             { name => "PriceType", required => "N" },
5389             {
5390             name => "Instrument",
5391             required => "Y",
5392             component => "Y"
5393             },
5394             {
5395             name => "FinancingDetails",
5396             required => "N",
5397             component => "Y"
5398             },
5399             {
5400             name => "OrderQtyData",
5401             required => "N",
5402             component => "Y"
5403             },
5404             { name => "QtyType", required => "N" },
5405             {
5406             name => "YieldData",
5407             required => "N",
5408             component => "Y"
5409             },
5410             {
5411             name => "NoUnderlyings",
5412             required => "N",
5413             group => [
5414             {
5415             name => "UnderlyingInstrument",
5416             required => "N",
5417             component => "Y"
5418             },
5419             ]
5420             },
5421             { name => "UnderlyingTradingSessionID", required => "N" },
5422             {
5423             name => "UnderlyingTradingSessionSubID",
5424             required => "N"
5425             },
5426             { name => "LastQty", required => "Y" },
5427             { name => "LastPx", required => "Y" },
5428             { name => "LastParPx", required => "N" },
5429             { name => "LastSpotRate", required => "N" },
5430             { name => "LastForwardPoints", required => "N" },
5431             { name => "LastMkt", required => "N" },
5432             { name => "TradeDate", required => "Y" },
5433             { name => "ClearingBusinessDate", required => "N" },
5434             { name => "AvgPx", required => "N" },
5435             {
5436             name => "SpreadOrBenchmarkCurveData",
5437             required => "N",
5438             component => "Y"
5439             },
5440             { name => "AvgPxIndicator", required => "N" },
5441             {
5442             name => "PositionAmountData",
5443             required => "N",
5444             component => "Y"
5445             },
5446             { name => "MultiLegReportingType", required => "N" },
5447             { name => "TradeLegRefID", required => "N" },
5448             {
5449             name => "NoLegs",
5450             required => "N",
5451             group => [
5452             {
5453             name => "InstrumentLeg",
5454             required => "N",
5455             component => "Y"
5456             },
5457             { name => "LegQty", required => "N" },
5458             { name => "LegSwapType", required => "N" },
5459             {
5460             name => "LegStipulations",
5461             required => "N",
5462             component => "Y"
5463             },
5464             { name => "LegPositionEffect", required => "N" },
5465             {
5466             name => "LegCoveredOrUncovered",
5467             required => "N"
5468             },
5469             {
5470             name => "NestedParties",
5471             required => "N",
5472             component => "Y"
5473             },
5474             { name => "LegRefID", required => "N" },
5475             { name => "LegPrice", required => "N" },
5476             { name => "LegSettlType", required => "N" },
5477             { name => "LegSettlDate", required => "N" },
5478             { name => "LegLastPx", required => "N" },
5479             ]
5480             },
5481             { name => "TransactTime", required => "Y" },
5482             {
5483             name => "TrdRegTimestamps",
5484             required => "N",
5485             component => "Y"
5486             },
5487             { name => "SettlType", required => "N" },
5488             { name => "SettlDate", required => "N" },
5489             { name => "MatchStatus", required => "N" },
5490             { name => "MatchType", required => "N" },
5491             {
5492             name => "NoSides",
5493             required => "Y",
5494             group => [
5495             { name => "Side", required => "Y" },
5496             { name => "OrderID", required => "Y" },
5497             { name => "SecondaryOrderID", required => "N" },
5498             { name => "ClOrdID", required => "N" },
5499             { name => "SecondaryClOrdID", required => "N" },
5500             { name => "ListID", required => "N" },
5501             {
5502             name => "Parties",
5503             required => "N",
5504             component => "Y"
5505             },
5506             { name => "Account", required => "N" },
5507             { name => "AcctIDSource", required => "N" },
5508             { name => "AccountType", required => "N" },
5509             { name => "ProcessCode", required => "N" },
5510             { name => "OddLot", required => "N" },
5511             {
5512             name => "NoClearingInstructions",
5513             required => "N",
5514             group => [
5515             {
5516             name => "ClearingInstruction",
5517             required => "N"
5518             },
5519             ]
5520             },
5521             {
5522             name => "ClearingFeeIndicator",
5523             required => "N"
5524             },
5525             { name => "TradeInputSource", required => "N" },
5526             { name => "TradeInputDevice", required => "N" },
5527             { name => "OrderInputDevice", required => "N" },
5528             { name => "Currency", required => "N" },
5529             { name => "ComplianceID", required => "N" },
5530             { name => "SolicitedFlag", required => "N" },
5531             { name => "OrderCapacity", required => "N" },
5532             { name => "OrderRestrictions", required => "N" },
5533             { name => "CustOrderCapacity", required => "N" },
5534             { name => "OrdType", required => "N" },
5535             { name => "ExecInst", required => "N" },
5536             { name => "TransBkdTime", required => "N" },
5537             { name => "TradingSessionID", required => "N" },
5538             {
5539             name => "TradingSessionSubID",
5540             required => "N"
5541             },
5542             { name => "TimeBracket", required => "N" },
5543             {
5544             name => "CommissionData",
5545             required => "N",
5546             component => "Y"
5547             },
5548             { name => "GrossTradeAmt", required => "N" },
5549             { name => "NumDaysInterest", required => "N" },
5550             { name => "ExDate", required => "N" },
5551             {
5552             name => "AccruedInterestRate",
5553             required => "N"
5554             },
5555             { name => "AccruedInterestAmt", required => "N" },
5556             { name => "InterestAtMaturity", required => "N" },
5557             {
5558             name => "EndAccruedInterestAmt",
5559             required => "N"
5560             },
5561             { name => "StartCash", required => "N" },
5562             { name => "EndCash", required => "N" },
5563             { name => "Concession", required => "N" },
5564             { name => "TotalTakedown", required => "N" },
5565             { name => "NetMoney", required => "N" },
5566             { name => "SettlCurrAmt", required => "N" },
5567             { name => "SettlCurrency", required => "N" },
5568             { name => "SettlCurrFxRate", required => "N" },
5569             {
5570             name => "SettlCurrFxRateCalc",
5571             required => "N"
5572             },
5573             { name => "PositionEffect", required => "N" },
5574             { name => "Text", required => "N" },
5575             { name => "EncodedTextLen", required => "N" },
5576             { name => "EncodedText", required => "N" },
5577             {
5578             name => "SideMultiLegReportingType",
5579             required => "N"
5580             },
5581             {
5582             name => "NoContAmts",
5583             required => "N",
5584             group => [
5585             {
5586             name => "ContAmtType",
5587             required => "N"
5588             },
5589             {
5590             name => "ContAmtValue",
5591             required => "N"
5592             },
5593             {
5594             name => "ContAmtCurr",
5595             required => "N"
5596             },
5597             ]
5598             },
5599             {
5600             name => "Stipulations",
5601             required => "N",
5602             component => "Y"
5603             },
5604             {
5605             name => "NoMiscFees",
5606             required => "N",
5607             group => [
5608             { name => "MiscFeeAmt", required => "N" },
5609             {
5610             name => "MiscFeeCurr",
5611             required => "N"
5612             },
5613             {
5614             name => "MiscFeeType",
5615             required => "N"
5616             },
5617             {
5618             name => "MiscFeeBasis",
5619             required => "N"
5620             },
5621             ]
5622             },
5623             { name => "ExchangeRule", required => "N" },
5624             {
5625             name => "TradeAllocIndicator",
5626             required => "N"
5627             },
5628             { name => "PreallocMethod", required => "N" },
5629             { name => "AllocID", required => "N" },
5630             {
5631             name => "NoAllocs",
5632             required => "N",
5633             group => [
5634             {
5635             name => "AllocAccount",
5636             required => "N"
5637             },
5638             {
5639             name => "AllocAcctIDSource",
5640             required => "N"
5641             },
5642             {
5643             name => "AllocSettlCurrency",
5644             required => "N"
5645             },
5646             {
5647             name => "IndividualAllocID",
5648             required => "N"
5649             },
5650             {
5651             name => "NestedParties2",
5652             required => "N",
5653             component => "Y"
5654             },
5655             { name => "AllocQty", required => "N" },
5656             ]
5657             },
5658             ]
5659             },
5660             { name => "CopyMsgIndicator", required => "N" },
5661             { name => "PublishTrdIndicator", required => "N" },
5662             { name => "ShortSaleReason", required => "N" },
5663             ]
5664             },
5665             {
5666             name => "TradeCaptureReportAck",
5667             msgtype => "AR",
5668             msgcat => "app",
5669             fields => [
5670             { name => "TradeReportID", required => "Y" },
5671             { name => "TradeReportTransType", required => "N" },
5672             { name => "TradeReportType", required => "N" },
5673             { name => "TrdType", required => "N" },
5674             { name => "TrdSubType", required => "N" },
5675             { name => "SecondaryTrdType", required => "N" },
5676             { name => "TransferReason", required => "N" },
5677             { name => "ExecType", required => "Y" },
5678             { name => "TradeReportRefID", required => "N" },
5679             { name => "SecondaryTradeReportRefID", required => "N" },
5680             { name => "TrdRptStatus", required => "N" },
5681             { name => "TradeReportRejectReason", required => "N" },
5682             { name => "SecondaryTradeReportID", required => "N" },
5683             { name => "SubscriptionRequestType", required => "N" },
5684             { name => "TradeLinkID", required => "N" },
5685             { name => "TrdMatchID", required => "N" },
5686             { name => "ExecID", required => "N" },
5687             { name => "SecondaryExecID", required => "N" },
5688             {
5689             name => "Instrument",
5690             required => "Y",
5691             component => "Y"
5692             },
5693             { name => "TransactTime", required => "N" },
5694             {
5695             name => "TrdRegTimestamps",
5696             required => "N",
5697             component => "Y"
5698             },
5699             { name => "ResponseTransportType", required => "N" },
5700             { name => "ResponseDestination", required => "N" },
5701             { name => "Text", required => "N" },
5702             { name => "EncodedTextLen", required => "N" },
5703             { name => "EncodedText", required => "N" },
5704             {
5705             name => "NoLegs",
5706             required => "N",
5707             group => [
5708             {
5709             name => "InstrumentLeg",
5710             required => "N",
5711             component => "Y"
5712             },
5713             { name => "LegQty", required => "N" },
5714             { name => "LegSwapType", required => "N" },
5715             {
5716             name => "LegStipulations",
5717             required => "N",
5718             component => "Y"
5719             },
5720             { name => "LegPositionEffect", required => "N" },
5721             {
5722             name => "LegCoveredOrUncovered",
5723             required => "N"
5724             },
5725             {
5726             name => "NestedParties",
5727             required => "N",
5728             component => "Y"
5729             },
5730             { name => "LegRefID", required => "N" },
5731             { name => "LegPrice", required => "N" },
5732             { name => "LegSettlType", required => "N" },
5733             { name => "LegSettlDate", required => "N" },
5734             { name => "LegLastPx", required => "N" },
5735             ]
5736             },
5737             { name => "ClearingFeeIndicator", required => "N" },
5738             { name => "OrderCapacity", required => "N" },
5739             { name => "OrderRestrictions", required => "N" },
5740             { name => "CustOrderCapacity", required => "N" },
5741             { name => "Account", required => "N" },
5742             { name => "AcctIDSource", required => "N" },
5743             { name => "AccountType", required => "N" },
5744             { name => "PositionEffect", required => "N" },
5745             { name => "PreallocMethod", required => "N" },
5746             {
5747             name => "NoAllocs",
5748             required => "N",
5749             group => [
5750             { name => "AllocAccount", required => "N" },
5751             { name => "AllocAcctIDSource", required => "N" },
5752             { name => "AllocSettlCurrency", required => "N" },
5753             { name => "IndividualAllocID", required => "N" },
5754             {
5755             name => "NestedParties2",
5756             required => "N",
5757             component => "Y"
5758             },
5759             { name => "AllocQty", required => "N" },
5760             ]
5761             },
5762             ]
5763             },
5764             {
5765             name => "RegistrationInstructions",
5766             msgtype => "o",
5767             msgcat => "app",
5768             fields => [
5769             { name => "RegistID", required => "Y" },
5770             { name => "RegistTransType", required => "Y" },
5771             { name => "RegistRefID", required => "Y" },
5772             { name => "ClOrdID", required => "N" },
5773             { name => "Parties", required => "N", component => "Y" },
5774             { name => "Account", required => "N" },
5775             { name => "AcctIDSource", required => "N" },
5776             { name => "RegistAcctType", required => "N" },
5777             { name => "TaxAdvantageType", required => "N" },
5778             { name => "OwnershipType", required => "N" },
5779             {
5780             name => "NoRegistDtls",
5781             required => "N",
5782             group => [
5783             { name => "RegistDtls", required => "N" },
5784             { name => "RegistEmail", required => "N" },
5785             { name => "MailingDtls", required => "N" },
5786             { name => "MailingInst", required => "N" },
5787             {
5788             name => "NestedParties",
5789             required => "N",
5790             component => "Y"
5791             },
5792             { name => "OwnerType", required => "N" },
5793             { name => "DateOfBirth", required => "N" },
5794             {
5795             name => "InvestorCountryOfResidence",
5796             required => "N"
5797             },
5798             ]
5799             },
5800             {
5801             name => "NoDistribInsts",
5802             required => "N",
5803             group => [
5804             {
5805             name => "DistribPaymentMethod",
5806             required => "N"
5807             },
5808             { name => "DistribPercentage", required => "N" },
5809             { name => "CashDistribCurr", required => "N" },
5810             {
5811             name => "CashDistribAgentName",
5812             required => "N"
5813             },
5814             {
5815             name => "CashDistribAgentCode",
5816             required => "N"
5817             },
5818             {
5819             name => "CashDistribAgentAcctNumber",
5820             required => "N"
5821             },
5822             { name => "CashDistribPayRef", required => "N" },
5823             {
5824             name => "CashDistribAgentAcctName",
5825             required => "N"
5826             },
5827             ]
5828             },
5829             ]
5830             },
5831             {
5832             name => "RegistrationInstructionsResponse",
5833             msgtype => "p",
5834             msgcat => "app",
5835             fields => [
5836             { name => "RegistID", required => "Y" },
5837             { name => "RegistTransType", required => "Y" },
5838             { name => "RegistRefID", required => "Y" },
5839             { name => "ClOrdID", required => "N" },
5840             { name => "Parties", required => "N", component => "Y" },
5841             { name => "Account", required => "N" },
5842             { name => "AcctIDSource", required => "N" },
5843             { name => "RegistStatus", required => "Y" },
5844             { name => "RegistRejReasonCode", required => "N" },
5845             { name => "RegistRejReasonText", required => "N" },
5846             ]
5847             },
5848             {
5849             name => "PositionMaintenanceRequest",
5850             msgtype => "AL",
5851             msgcat => "app",
5852             fields => [
5853             { name => "PosReqID", required => "Y" },
5854             { name => "PosTransType", required => "Y" },
5855             { name => "PosMaintAction", required => "Y" },
5856             { name => "OrigPosReqRefID", required => "N" },
5857             { name => "PosMaintRptRefID", required => "N" },
5858             { name => "ClearingBusinessDate", required => "Y" },
5859             { name => "SettlSessID", required => "N" },
5860             { name => "SettlSessSubID", required => "N" },
5861             { name => "Parties", required => "Y", component => "Y" },
5862             { name => "Account", required => "Y" },
5863             { name => "AcctIDSource", required => "N" },
5864             { name => "AccountType", required => "Y" },
5865             {
5866             name => "Instrument",
5867             required => "Y",
5868             component => "Y"
5869             },
5870             { name => "Currency", required => "N" },
5871             {
5872             name => "NoLegs",
5873             required => "N",
5874             group => [
5875             {
5876             name => "InstrumentLeg",
5877             required => "N",
5878             component => "Y"
5879             },
5880             ]
5881             },
5882             {
5883             name => "NoUnderlyings",
5884             required => "N",
5885             group => [
5886             {
5887             name => "UnderlyingInstrument",
5888             required => "N",
5889             component => "Y"
5890             },
5891             ]
5892             },
5893             {
5894             name => "NoTradingSessions",
5895             required => "N",
5896             group => [
5897             { name => "TradingSessionID", required => "N" },
5898             {
5899             name => "TradingSessionSubID",
5900             required => "N"
5901             },
5902             ]
5903             },
5904             { name => "TransactTime", required => "Y" },
5905             {
5906             name => "PositionQty",
5907             required => "Y",
5908             component => "Y"
5909             },
5910             { name => "AdjustmentType", required => "N" },
5911             {
5912             name => "ContraryInstructionIndicator",
5913             required => "N"
5914             },
5915             { name => "PriorSpreadIndicator", required => "N" },
5916             { name => "ThresholdAmount", required => "N" },
5917             { name => "Text", required => "N" },
5918             { name => "EncodedTextLen", required => "N" },
5919             { name => "EncodedText", required => "N" },
5920             ]
5921             },
5922             {
5923             name => "PositionMaintenanceReport",
5924             msgtype => "AM",
5925             msgcat => "app",
5926             fields => [
5927             { name => "PosMaintRptID", required => "Y" },
5928             { name => "PosTransType", required => "Y" },
5929             { name => "PosReqID", required => "N" },
5930             { name => "PosMaintAction", required => "Y" },
5931             { name => "OrigPosReqRefID", required => "Y" },
5932             { name => "PosMaintStatus", required => "Y" },
5933             { name => "PosMaintResult", required => "N" },
5934             { name => "ClearingBusinessDate", required => "Y" },
5935             { name => "SettlSessID", required => "N" },
5936             { name => "SettlSessSubID", required => "N" },
5937             { name => "Parties", required => "N", component => "Y" },
5938             { name => "Account", required => "Y" },
5939             { name => "AcctIDSource", required => "N" },
5940             { name => "AccountType", required => "Y" },
5941             {
5942             name => "Instrument",
5943             required => "Y",
5944             component => "Y"
5945             },
5946             { name => "Currency", required => "N" },
5947             {
5948             name => "NoLegs",
5949             required => "N",
5950             group => [
5951             {
5952             name => "InstrumentLeg",
5953             required => "N",
5954             component => "Y"
5955             },
5956             ]
5957             },
5958             {
5959             name => "NoUnderlyings",
5960             required => "N",
5961             group => [
5962             {
5963             name => "UnderlyingInstrument",
5964             required => "N",
5965             component => "Y"
5966             },
5967             ]
5968             },
5969             {
5970             name => "NoTradingSessions",
5971             required => "N",
5972             group => [
5973             { name => "TradingSessionID", required => "N" },
5974             {
5975             name => "TradingSessionSubID",
5976             required => "N"
5977             },
5978             ]
5979             },
5980             { name => "TransactTime", required => "Y" },
5981             {
5982             name => "PositionQty",
5983             required => "Y",
5984             component => "Y"
5985             },
5986             {
5987             name => "PositionAmountData",
5988             required => "Y",
5989             component => "Y"
5990             },
5991             { name => "AdjustmentType", required => "N" },
5992             { name => "ThresholdAmount", required => "N" },
5993             { name => "Text", required => "N" },
5994             { name => "EncodedTextLen", required => "N" },
5995             { name => "EncodedText", required => "N" },
5996             ]
5997             },
5998             {
5999             name => "RequestForPositions",
6000             msgtype => "AN",
6001             msgcat => "app",
6002             fields => [
6003             { name => "PosReqID", required => "Y" },
6004             { name => "PosReqType", required => "Y" },
6005             { name => "MatchStatus", required => "N" },
6006             { name => "SubscriptionRequestType", required => "N" },
6007             { name => "Parties", required => "Y", component => "Y" },
6008             { name => "Account", required => "Y" },
6009             { name => "AcctIDSource", required => "N" },
6010             { name => "AccountType", required => "Y" },
6011             {
6012             name => "Instrument",
6013             required => "N",
6014             component => "Y"
6015             },
6016             { name => "Currency", required => "N" },
6017             {
6018             name => "NoLegs",
6019             required => "N",
6020             group => [
6021             {
6022             name => "InstrumentLeg",
6023             required => "N",
6024             component => "Y"
6025             },
6026             ]
6027             },
6028             {
6029             name => "NoUnderlyings",
6030             required => "N",
6031             group => [
6032             {
6033             name => "UnderlyingInstrument",
6034             required => "N",
6035             component => "Y"
6036             },
6037             ]
6038             },
6039             { name => "ClearingBusinessDate", required => "Y" },
6040             { name => "SettlSessID", required => "N" },
6041             { name => "SettlSessSubID", required => "N" },
6042             {
6043             name => "NoTradingSessions",
6044             required => "N",
6045             group => [
6046             { name => "TradingSessionID", required => "N" },
6047             {
6048             name => "TradingSessionSubID",
6049             required => "N"
6050             },
6051             ]
6052             },
6053             { name => "TransactTime", required => "Y" },
6054             { name => "ResponseTransportType", required => "N" },
6055             { name => "ResponseDestination", required => "N" },
6056             { name => "Text", required => "N" },
6057             { name => "EncodedTextLen", required => "N" },
6058             { name => "EncodedText", required => "N" },
6059             ]
6060             },
6061             {
6062             name => "RequestForPositionsAck",
6063             msgtype => "AO",
6064             msgcat => "app",
6065             fields => [
6066             { name => "PosMaintRptID", required => "Y" },
6067             { name => "PosReqID", required => "N" },
6068             { name => "TotalNumPosReports", required => "N" },
6069             { name => "UnsolicitedIndicator", required => "N" },
6070             { name => "PosReqResult", required => "Y" },
6071             { name => "PosReqStatus", required => "Y" },
6072             { name => "Parties", required => "Y", component => "Y" },
6073             { name => "Account", required => "Y" },
6074             { name => "AcctIDSource", required => "N" },
6075             { name => "AccountType", required => "Y" },
6076             {
6077             name => "Instrument",
6078             required => "N",
6079             component => "Y"
6080             },
6081             { name => "Currency", required => "N" },
6082             {
6083             name => "NoLegs",
6084             required => "N",
6085             group => [
6086             {
6087             name => "InstrumentLeg",
6088             required => "N",
6089             component => "Y"
6090             },
6091             ]
6092             },
6093             {
6094             name => "NoUnderlyings",
6095             required => "N",
6096             group => [
6097             {
6098             name => "UnderlyingInstrument",
6099             required => "N",
6100             component => "Y"
6101             },
6102             ]
6103             },
6104             { name => "ResponseTransportType", required => "N" },
6105             { name => "ResponseDestination", required => "N" },
6106             { name => "Text", required => "N" },
6107             { name => "EncodedTextLen", required => "N" },
6108             { name => "EncodedText", required => "N" },
6109             ]
6110             },
6111             {
6112             name => "PositionReport",
6113             msgtype => "AP",
6114             msgcat => "app",
6115             fields => [
6116             { name => "PosMaintRptID", required => "Y" },
6117             { name => "PosReqID", required => "N" },
6118             { name => "PosReqType", required => "N" },
6119             { name => "SubscriptionRequestType", required => "N" },
6120             { name => "TotalNumPosReports", required => "N" },
6121             { name => "UnsolicitedIndicator", required => "N" },
6122             { name => "PosReqResult", required => "Y" },
6123             { name => "ClearingBusinessDate", required => "Y" },
6124             { name => "SettlSessID", required => "N" },
6125             { name => "SettlSessSubID", required => "N" },
6126             { name => "Parties", required => "Y", component => "Y" },
6127             { name => "Account", required => "Y" },
6128             { name => "AcctIDSource", required => "N" },
6129             { name => "AccountType", required => "Y" },
6130             {
6131             name => "Instrument",
6132             required => "N",
6133             component => "Y"
6134             },
6135             { name => "Currency", required => "N" },
6136             { name => "SettlPrice", required => "Y" },
6137             { name => "SettlPriceType", required => "Y" },
6138             { name => "PriorSettlPrice", required => "Y" },
6139             {
6140             name => "NoLegs",
6141             required => "N",
6142             group => [
6143             {
6144             name => "InstrumentLeg",
6145             required => "N",
6146             component => "Y"
6147             },
6148             ]
6149             },
6150             {
6151             name => "NoUnderlyings",
6152             required => "N",
6153             group => [
6154             {
6155             name => "UnderlyingInstrument",
6156             required => "N",
6157             component => "Y"
6158             },
6159             {
6160             name => "UnderlyingSettlPrice",
6161             required => "Y"
6162             },
6163             {
6164             name => "UnderlyingSettlPriceType",
6165             required => "Y"
6166             },
6167             ]
6168             },
6169             {
6170             name => "PositionQty",
6171             required => "Y",
6172             component => "Y"
6173             },
6174             {
6175             name => "PositionAmountData",
6176             required => "Y",
6177             component => "Y"
6178             },
6179             { name => "RegistStatus", required => "N" },
6180             { name => "DeliveryDate", required => "N" },
6181             { name => "Text", required => "N" },
6182             { name => "EncodedTextLen", required => "N" },
6183             { name => "EncodedText", required => "N" },
6184             ]
6185             },
6186             {
6187             name => "AssignmentReport",
6188             msgtype => "AW",
6189             msgcat => "app",
6190             fields => [
6191             { name => "AsgnRptID", required => "Y" },
6192             { name => "TotNumAssignmentReports", required => "N" },
6193             { name => "LastRptRequested", required => "N" },
6194             { name => "Parties", required => "Y", component => "Y" },
6195             { name => "Account", required => "N" },
6196             { name => "AccountType", required => "Y" },
6197             {
6198             name => "Instrument",
6199             required => "N",
6200             component => "Y"
6201             },
6202             { name => "Currency", required => "N" },
6203             { name => "NoLegs", required => "N" },
6204             {
6205             name => "InstrumentLeg",
6206             required => "N",
6207             component => "Y"
6208             },
6209             {
6210             name => "NoUnderlyings",
6211             required => "N",
6212             group => [
6213             {
6214             name => "UnderlyingInstrument",
6215             required => "N",
6216             component => "Y"
6217             },
6218             ]
6219             },
6220             {
6221             name => "PositionQty",
6222             required => "Y",
6223             component => "Y"
6224             },
6225             {
6226             name => "PositionAmountData",
6227             required => "Y",
6228             component => "Y"
6229             },
6230             { name => "ThresholdAmount", required => "N" },
6231             { name => "SettlPrice", required => "Y" },
6232             { name => "SettlPriceType", required => "Y" },
6233             { name => "UnderlyingSettlPrice", required => "Y" },
6234             { name => "ExpireDate", required => "N" },
6235             { name => "AssignmentMethod", required => "Y" },
6236             { name => "AssignmentUnit", required => "N" },
6237             { name => "OpenInterest", required => "Y" },
6238             { name => "ExerciseMethod", required => "Y" },
6239             { name => "SettlSessID", required => "Y" },
6240             { name => "SettlSessSubID", required => "Y" },
6241             { name => "ClearingBusinessDate", required => "Y" },
6242             { name => "Text", required => "N" },
6243             { name => "EncodedTextLen", required => "N" },
6244             { name => "EncodedText", required => "N" },
6245             ]
6246             },
6247             {
6248             name => "CollateralRequest",
6249             msgtype => "AX",
6250             msgcat => "app",
6251             fields => [
6252             { name => "CollReqID", required => "Y" },
6253             { name => "CollAsgnReason", required => "Y" },
6254             { name => "TransactTime", required => "Y" },
6255             { name => "ExpireTime", required => "N" },
6256             { name => "Parties", required => "N", component => "Y" },
6257             { name => "Account", required => "N" },
6258             { name => "AccountType", required => "N" },
6259             { name => "ClOrdID", required => "N" },
6260             { name => "OrderID", required => "N" },
6261             { name => "SecondaryOrderID", required => "N" },
6262             { name => "SecondaryClOrdID", required => "N" },
6263             {
6264             name => "NoExecs",
6265             required => "N",
6266             group => [ { name => "ExecID", required => "N" }, ]
6267             },
6268             {
6269             name => "NoTrades",
6270             required => "N",
6271             group => [
6272             { name => "TradeReportID", required => "N" },
6273             {
6274             name => "SecondaryTradeReportID",
6275             required => "N"
6276             },
6277             ]
6278             },
6279             {
6280             name => "Instrument",
6281             required => "N",
6282             component => "Y"
6283             },
6284             {
6285             name => "FinancingDetails",
6286             required => "N",
6287             component => "Y"
6288             },
6289             { name => "SettlDate", required => "N" },
6290             { name => "Quantity", required => "N" },
6291             { name => "QtyType", required => "N" },
6292             { name => "Currency", required => "N" },
6293             { name => "NoLegs", required => "N" },
6294             {
6295             name => "InstrumentLeg",
6296             required => "N",
6297             component => "Y"
6298             },
6299             {
6300             name => "NoUnderlyings",
6301             required => "N",
6302             group => [
6303             {
6304             name => "UnderlyingInstrument",
6305             required => "N",
6306             component => "Y"
6307             },
6308             { name => "CollAction", required => "N" },
6309             ]
6310             },
6311             { name => "MarginExcess", required => "N" },
6312             { name => "TotalNetValue", required => "N" },
6313             { name => "CashOutstanding", required => "N" },
6314             {
6315             name => "TrdRegTimestamps",
6316             required => "N",
6317             component => "Y"
6318             },
6319             { name => "Side", required => "N" },
6320             {
6321             name => "NoMiscFees",
6322             required => "N",
6323             group => [
6324             { name => "MiscFeeAmt", required => "N" },
6325             { name => "MiscFeeCurr", required => "N" },
6326             { name => "MiscFeeType", required => "N" },
6327             { name => "MiscFeeBasis", required => "N" },
6328             ]
6329             },
6330             { name => "Price", required => "N" },
6331             { name => "PriceType", required => "N" },
6332             { name => "AccruedInterestAmt", required => "N" },
6333             { name => "EndAccruedInterestAmt", required => "N" },
6334             { name => "StartCash", required => "N" },
6335             { name => "EndCash", required => "N" },
6336             {
6337             name => "SpreadOrBenchmarkCurveData",
6338             required => "N",
6339             component => "Y"
6340             },
6341             {
6342             name => "Stipulations",
6343             required => "N",
6344             component => "Y"
6345             },
6346             { name => "TradingSessionID", required => "N" },
6347             { name => "TradingSessionSubID", required => "N" },
6348             { name => "SettlSessID", required => "N" },
6349             { name => "SettlSessSubID", required => "N" },
6350             { name => "ClearingBusinessDate", required => "N" },
6351             { name => "Text", required => "N" },
6352             { name => "EncodedTextLen", required => "N" },
6353             { name => "EncodedText", required => "N" },
6354             ]
6355             },
6356             {
6357             name => "CollateralAssignment",
6358             msgtype => "AY",
6359             msgcat => "app",
6360             fields => [
6361             { name => "CollAsgnID", required => "Y" },
6362             { name => "CollReqID", required => "N" },
6363             { name => "CollAsgnReason", required => "Y" },
6364             { name => "CollAsgnTransType", required => "Y" },
6365             { name => "CollAsgnRefID", required => "N" },
6366             { name => "TransactTime", required => "Y" },
6367             { name => "ExpireTime", required => "N" },
6368             { name => "Parties", required => "N", component => "Y" },
6369             { name => "Account", required => "N" },
6370             { name => "AccountType", required => "N" },
6371             { name => "ClOrdID", required => "N" },
6372             { name => "OrderID", required => "N" },
6373             { name => "SecondaryOrderID", required => "N" },
6374             { name => "SecondaryClOrdID", required => "N" },
6375             {
6376             name => "NoExecs",
6377             required => "N",
6378             group => [ { name => "ExecID", required => "N" }, ]
6379             },
6380             {
6381             name => "NoTrades",
6382             required => "N",
6383             group => [
6384             { name => "TradeReportID", required => "N" },
6385             {
6386             name => "SecondaryTradeReportID",
6387             required => "N"
6388             },
6389             ]
6390             },
6391             {
6392             name => "Instrument",
6393             required => "N",
6394             component => "Y"
6395             },
6396             {
6397             name => "FinancingDetails",
6398             required => "N",
6399             component => "Y"
6400             },
6401             { name => "SettlDate", required => "N" },
6402             { name => "Quantity", required => "N" },
6403             { name => "QtyType", required => "N" },
6404             { name => "Currency", required => "N" },
6405             { name => "NoLegs", required => "N" },
6406             {
6407             name => "InstrumentLeg",
6408             required => "N",
6409             component => "Y"
6410             },
6411             {
6412             name => "NoUnderlyings",
6413             required => "N",
6414             group => [
6415             {
6416             name => "UnderlyingInstrument",
6417             required => "N",
6418             component => "Y"
6419             },
6420             { name => "CollAction", required => "N" },
6421             ]
6422             },
6423             { name => "MarginExcess", required => "N" },
6424             { name => "TotalNetValue", required => "N" },
6425             { name => "CashOutstanding", required => "N" },
6426             {
6427             name => "TrdRegTimestamps",
6428             required => "N",
6429             component => "Y"
6430             },
6431             { name => "Side", required => "N" },
6432             {
6433             name => "NoMiscFees",
6434             required => "N",
6435             group => [
6436             { name => "MiscFeeAmt", required => "N" },
6437             { name => "MiscFeeCurr", required => "N" },
6438             { name => "MiscFeeType", required => "N" },
6439             { name => "MiscFeeBasis", required => "N" },
6440             ]
6441             },
6442             { name => "Price", required => "N" },
6443             { name => "PriceType", required => "N" },
6444             { name => "AccruedInterestAmt", required => "N" },
6445             { name => "EndAccruedInterestAmt", required => "N" },
6446             { name => "StartCash", required => "N" },
6447             { name => "EndCash", required => "N" },
6448             {
6449             name => "SpreadOrBenchmarkCurveData",
6450             required => "N",
6451             component => "Y"
6452             },
6453             {
6454             name => "Stipulations",
6455             required => "N",
6456             component => "Y"
6457             },
6458             {
6459             name => "SettlInstructionsData",
6460             required => "N",
6461             component => "Y"
6462             },
6463             { name => "TradingSessionID", required => "N" },
6464             { name => "TradingSessionSubID", required => "N" },
6465             { name => "SettlSessID", required => "N" },
6466             { name => "SettlSessSubID", required => "N" },
6467             { name => "ClearingBusinessDate", required => "N" },
6468             { name => "Text", required => "N" },
6469             { name => "EncodedTextLen", required => "N" },
6470             { name => "EncodedText", required => "N" },
6471             ]
6472             },
6473             {
6474             name => "CollateralResponse",
6475             msgtype => "AZ",
6476             msgcat => "app",
6477             fields => [
6478             { name => "CollRespID", required => "Y" },
6479             { name => "CollAsgnID", required => "Y" },
6480             { name => "CollReqID", required => "N" },
6481             { name => "CollAsgnReason", required => "Y" },
6482             { name => "CollAsgnTransType", required => "N" },
6483             { name => "CollAsgnRespType", required => "Y" },
6484             { name => "CollAsgnRejectReason", required => "N" },
6485             { name => "TransactTime", required => "Y" },
6486             { name => "Parties", required => "N", component => "Y" },
6487             { name => "Account", required => "N" },
6488             { name => "AccountType", required => "N" },
6489             { name => "ClOrdID", required => "N" },
6490             { name => "OrderID", required => "N" },
6491             { name => "SecondaryOrderID", required => "N" },
6492             { name => "SecondaryClOrdID", required => "N" },
6493             {
6494             name => "NoExecs",
6495             required => "N",
6496             group => [ { name => "ExecID", required => "N" }, ]
6497             },
6498             {
6499             name => "NoTrades",
6500             required => "N",
6501             group => [
6502             { name => "TradeReportID", required => "N" },
6503             {
6504             name => "SecondaryTradeReportID",
6505             required => "N"
6506             },
6507             ]
6508             },
6509             {
6510             name => "Instrument",
6511             required => "N",
6512             component => "Y"
6513             },
6514             {
6515             name => "FinancingDetails",
6516             required => "N",
6517             component => "Y"
6518             },
6519             { name => "SettlDate", required => "N" },
6520             { name => "Quantity", required => "N" },
6521             { name => "QtyType", required => "N" },
6522             { name => "Currency", required => "N" },
6523             { name => "NoLegs", required => "N" },
6524             {
6525             name => "InstrumentLeg",
6526             required => "N",
6527             component => "Y"
6528             },
6529             {
6530             name => "NoUnderlyings",
6531             required => "N",
6532             group => [
6533             {
6534             name => "UnderlyingInstrument",
6535             required => "N",
6536             component => "Y"
6537             },
6538             { name => "CollAction", required => "N" },
6539             ]
6540             },
6541             { name => "MarginExcess", required => "N" },
6542             { name => "TotalNetValue", required => "N" },
6543             { name => "CashOutstanding", required => "N" },
6544             {
6545             name => "TrdRegTimestamps",
6546             required => "N",
6547             component => "Y"
6548             },
6549             { name => "Side", required => "N" },
6550             {
6551             name => "NoMiscFees",
6552             required => "N",
6553             group => [
6554             { name => "MiscFeeAmt", required => "N" },
6555             { name => "MiscFeeCurr", required => "N" },
6556             { name => "MiscFeeType", required => "N" },
6557             { name => "MiscFeeBasis", required => "N" },
6558             ]
6559             },
6560             { name => "Price", required => "N" },
6561             { name => "PriceType", required => "N" },
6562             { name => "AccruedInterestAmt", required => "N" },
6563             { name => "EndAccruedInterestAmt", required => "N" },
6564             { name => "StartCash", required => "N" },
6565             { name => "EndCash", required => "N" },
6566             {
6567             name => "SpreadOrBenchmarkCurveData",
6568             required => "N",
6569             component => "Y"
6570             },
6571             {
6572             name => "Stipulations",
6573             required => "N",
6574             component => "Y"
6575             },
6576             { name => "Text", required => "N" },
6577             { name => "EncodedTextLen", required => "N" },
6578             { name => "EncodedText", required => "N" },
6579             ]
6580             },
6581             {
6582             name => "CollateralReport",
6583             msgtype => "BA",
6584             msgcat => "app",
6585             fields => [
6586             { name => "CollRptID", required => "Y" },
6587             { name => "CollInquiryID", required => "N" },
6588             { name => "CollStatus", required => "Y" },
6589             { name => "TotNumReports", required => "N" },
6590             { name => "LastRptRequested", required => "N" },
6591             { name => "Parties", required => "N", component => "Y" },
6592             { name => "Account", required => "N" },
6593             { name => "AccountType", required => "N" },
6594             { name => "ClOrdID", required => "N" },
6595             { name => "OrderID", required => "N" },
6596             { name => "SecondaryOrderID", required => "N" },
6597             { name => "SecondaryClOrdID", required => "N" },
6598             {
6599             name => "NoExecs",
6600             required => "N",
6601             group => [ { name => "ExecID", required => "N" }, ]
6602             },
6603             {
6604             name => "NoTrades",
6605             required => "N",
6606             group => [
6607             { name => "TradeReportID", required => "N" },
6608             {
6609             name => "SecondaryTradeReportID",
6610             required => "N"
6611             },
6612             ]
6613             },
6614             {
6615             name => "Instrument",
6616             required => "N",
6617             component => "Y"
6618             },
6619             {
6620             name => "FinancingDetails",
6621             required => "N",
6622             component => "Y"
6623             },
6624             { name => "SettlDate", required => "N" },
6625             { name => "Quantity", required => "N" },
6626             { name => "QtyType", required => "N" },
6627             { name => "Currency", required => "N" },
6628             { name => "NoLegs", required => "N" },
6629             {
6630             name => "InstrumentLeg",
6631             required => "N",
6632             component => "Y"
6633             },
6634             {
6635             name => "NoUnderlyings",
6636             required => "N",
6637             group => [
6638             {
6639             name => "UnderlyingInstrument",
6640             required => "N",
6641             component => "Y"
6642             },
6643             ]
6644             },
6645             { name => "MarginExcess", required => "N" },
6646             { name => "TotalNetValue", required => "N" },
6647             { name => "CashOutstanding", required => "N" },
6648             {
6649             name => "TrdRegTimestamps",
6650             required => "N",
6651             component => "Y"
6652             },
6653             { name => "Side", required => "N" },
6654             {
6655             name => "NoMiscFees",
6656             required => "N",
6657             group => [
6658             { name => "MiscFeeAmt", required => "N" },
6659             { name => "MiscFeeCurr", required => "N" },
6660             { name => "MiscFeeType", required => "N" },
6661             { name => "MiscFeeBasis", required => "N" },
6662             ]
6663             },
6664             { name => "Price", required => "N" },
6665             { name => "PriceType", required => "N" },
6666             { name => "AccruedInterestAmt", required => "N" },
6667             { name => "EndAccruedInterestAmt", required => "N" },
6668             { name => "StartCash", required => "N" },
6669             { name => "EndCash", required => "N" },
6670             {
6671             name => "SpreadOrBenchmarkCurveData",
6672             required => "N",
6673             component => "Y"
6674             },
6675             {
6676             name => "Stipulations",
6677             required => "N",
6678             component => "Y"
6679             },
6680             {
6681             name => "SettlInstructionsData",
6682             required => "N",
6683             component => "Y"
6684             },
6685             { name => "TradingSessionID", required => "N" },
6686             { name => "TradingSessionSubID", required => "N" },
6687             { name => "SettlSessID", required => "N" },
6688             { name => "SettlSessSubID", required => "N" },
6689             { name => "ClearingBusinessDate", required => "N" },
6690             { name => "Text", required => "N" },
6691             { name => "EncodedTextLen", required => "N" },
6692             { name => "EncodedText", required => "N" },
6693             ]
6694             },
6695             {
6696             name => "CollateralInquiry",
6697             msgtype => "BB",
6698             msgcat => "app",
6699             fields => [
6700             { name => "CollInquiryID", required => "N" },
6701             {
6702             name => "NoCollInquiryQualifier",
6703             required => "N",
6704             group => [
6705             {
6706             name => "CollInquiryQualifier",
6707             required => "N"
6708             },
6709             ]
6710             },
6711             { name => "SubscriptionRequestType", required => "N" },
6712             { name => "ResponseTransportType", required => "N" },
6713             { name => "ResponseDestination", required => "N" },
6714             { name => "Parties", required => "N", component => "Y" },
6715             { name => "Account", required => "N" },
6716             { name => "AccountType", required => "N" },
6717             { name => "ClOrdID", required => "N" },
6718             { name => "OrderID", required => "N" },
6719             { name => "SecondaryOrderID", required => "N" },
6720             { name => "SecondaryClOrdID", required => "N" },
6721             {
6722             name => "NoExecs",
6723             required => "N",
6724             group => [ { name => "ExecID", required => "N" }, ]
6725             },
6726             {
6727             name => "NoTrades",
6728             required => "N",
6729             group => [
6730             { name => "TradeReportID", required => "N" },
6731             {
6732             name => "SecondaryTradeReportID",
6733             required => "N"
6734             },
6735             ]
6736             },
6737             {
6738             name => "Instrument",
6739             required => "N",
6740             component => "Y"
6741             },
6742             {
6743             name => "FinancingDetails",
6744             required => "N",
6745             component => "Y"
6746             },
6747             { name => "SettlDate", required => "N" },
6748             { name => "Quantity", required => "N" },
6749             { name => "QtyType", required => "N" },
6750             { name => "Currency", required => "N" },
6751             { name => "NoLegs", required => "N" },
6752             {
6753             name => "InstrumentLeg",
6754             required => "N",
6755             component => "Y"
6756             },
6757             {
6758             name => "NoUnderlyings",
6759             required => "N",
6760             group => [
6761             {
6762             name => "UnderlyingInstrument",
6763             required => "N",
6764             component => "Y"
6765             },
6766             ]
6767             },
6768             { name => "MarginExcess", required => "N" },
6769             { name => "TotalNetValue", required => "N" },
6770             { name => "CashOutstanding", required => "N" },
6771             {
6772             name => "TrdRegTimestamps",
6773             required => "N",
6774             component => "Y"
6775             },
6776             { name => "Side", required => "N" },
6777             { name => "Price", required => "N" },
6778             { name => "PriceType", required => "N" },
6779             { name => "AccruedInterestAmt", required => "N" },
6780             { name => "EndAccruedInterestAmt", required => "N" },
6781             { name => "StartCash", required => "N" },
6782             { name => "EndCash", required => "N" },
6783             {
6784             name => "SpreadOrBenchmarkCurveData",
6785             required => "N",
6786             component => "Y"
6787             },
6788             {
6789             name => "Stipulations",
6790             required => "N",
6791             component => "Y"
6792             },
6793             {
6794             name => "SettlInstructionsData",
6795             required => "N",
6796             component => "Y"
6797             },
6798             { name => "TradingSessionID", required => "N" },
6799             { name => "TradingSessionSubID", required => "N" },
6800             { name => "SettlSessID", required => "N" },
6801             { name => "SettlSessSubID", required => "N" },
6802             { name => "ClearingBusinessDate", required => "N" },
6803             { name => "Text", required => "N" },
6804             { name => "EncodedTextLen", required => "N" },
6805             { name => "EncodedText", required => "N" },
6806             ]
6807             },
6808             {
6809             name => "NetworkStatusRequest",
6810             msgtype => "BC",
6811             msgcat => "app",
6812             fields => [
6813             { name => "NetworkRequestType", required => "Y" },
6814             { name => "NetworkRequestID", required => "Y" },
6815             {
6816             name => "NoCompIDs",
6817             required => "N",
6818             group => [
6819             { name => "RefCompID", required => "N" },
6820             { name => "RefSubID", required => "N" },
6821             { name => "LocationID", required => "N" },
6822             { name => "DeskID", required => "N" },
6823             ]
6824             },
6825             ]
6826             },
6827             {
6828             name => "NetworkStatusResponse",
6829             msgtype => "BD",
6830             msgcat => "app",
6831             fields => [
6832             { name => "NetworkStatusResponseType", required => "Y" },
6833             { name => "NetworkRequestID", required => "N" },
6834             { name => "NetworkResponseID", required => "N" },
6835             { name => "LastNetworkResponseID", required => "N" },
6836             {
6837             name => "NoCompIDs",
6838             required => "Y",
6839             group => [
6840             { name => "RefCompID", required => "N" },
6841             { name => "RefSubID", required => "N" },
6842             { name => "LocationID", required => "N" },
6843             { name => "DeskID", required => "N" },
6844             { name => "StatusValue", required => "N" },
6845             { name => "StatusText", required => "N" },
6846             ]
6847             },
6848             ]
6849             },
6850             {
6851             name => "CollateralInquiryAck",
6852             msgtype => "BG",
6853             msgcat => "app",
6854             fields => [
6855             { name => "CollInquiryID", required => "Y" },
6856             { name => "CollInquiryStatus", required => "Y" },
6857             { name => "CollInquiryResult", required => "N" },
6858             {
6859             name => "NoCollInquiryQualifier",
6860             required => "N",
6861             group => [
6862             {
6863             name => "CollInquiryQualifier",
6864             required => "N"
6865             },
6866             ]
6867             },
6868             { name => "TotNumReports", required => "N" },
6869             { name => "Parties", required => "N", component => "Y" },
6870             { name => "Account", required => "N" },
6871             { name => "AccountType", required => "N" },
6872             { name => "ClOrdID", required => "N" },
6873             { name => "OrderID", required => "N" },
6874             { name => "SecondaryOrderID", required => "N" },
6875             { name => "SecondaryClOrdID", required => "N" },
6876             {
6877             name => "NoExecs",
6878             required => "N",
6879             group => [ { name => "ExecID", required => "N" }, ]
6880             },
6881             {
6882             name => "NoTrades",
6883             required => "N",
6884             group => [
6885             { name => "TradeReportID", required => "N" },
6886             {
6887             name => "SecondaryTradeReportID",
6888             required => "N"
6889             },
6890             ]
6891             },
6892             {
6893             name => "Instrument",
6894             required => "N",
6895             component => "Y"
6896             },
6897             {
6898             name => "FinancingDetails",
6899             required => "N",
6900             component => "Y"
6901             },
6902             { name => "SettlDate", required => "N" },
6903             { name => "Quantity", required => "N" },
6904             { name => "QtyType", required => "N" },
6905             { name => "Currency", required => "N" },
6906             { name => "NoLegs", required => "N" },
6907             {
6908             name => "InstrumentLeg",
6909             required => "N",
6910             component => "Y"
6911             },
6912             {
6913             name => "NoUnderlyings",
6914             required => "N",
6915             group => [
6916             {
6917             name => "UnderlyingInstrument",
6918             required => "N",
6919             component => "Y"
6920             },
6921             ]
6922             },
6923             { name => "TradingSessionID", required => "N" },
6924             { name => "TradingSessionSubID", required => "N" },
6925             { name => "SettlSessID", required => "N" },
6926             { name => "SettlSessSubID", required => "N" },
6927             { name => "ClearingBusinessDate", required => "N" },
6928             { name => "ResponseTransportType", required => "N" },
6929             { name => "ResponseDestination", required => "N" },
6930             { name => "Text", required => "N" },
6931             { name => "EncodedTextLen", required => "N" },
6932             { name => "EncodedText", required => "N" },
6933             ]
6934             },
6935             ],
6936              
6937             components => [
6938             {
6939             name => "Instrument",
6940             fields => [
6941             { name => "Symbol", required => "Y" },
6942             { name => "SymbolSfx", required => "N" },
6943             { name => "SecurityID", required => "N" },
6944             { name => "SecurityIDSource", required => "N" },
6945             {
6946             name => "NoSecurityAltID",
6947             required => "N",
6948             group => [
6949             { name => "SecurityAltID", required => "N" },
6950             {
6951             name => "SecurityAltIDSource",
6952             required => "N"
6953             },
6954             ]
6955             },
6956             { name => "Product", required => "N" },
6957             { name => "CFICode", required => "N" },
6958             { name => "SecurityType", required => "N" },
6959             { name => "SecuritySubType", required => "N" },
6960             { name => "MaturityMonthYear", required => "N" },
6961             { name => "MaturityDate", required => "N" },
6962             { name => "CouponPaymentDate", required => "N" },
6963             { name => "IssueDate", required => "N" },
6964             { name => "RepoCollateralSecurityType", required => "N" },
6965             { name => "RepurchaseTerm", required => "N" },
6966             { name => "RepurchaseRate", required => "N" },
6967             { name => "Factor", required => "N" },
6968             { name => "CreditRating", required => "N" },
6969             { name => "InstrRegistry", required => "N" },
6970             { name => "CountryOfIssue", required => "N" },
6971             { name => "StateOrProvinceOfIssue", required => "N" },
6972             { name => "LocaleOfIssue", required => "N" },
6973             { name => "RedemptionDate", required => "N" },
6974             { name => "StrikePrice", required => "N" },
6975             { name => "StrikeCurrency", required => "N" },
6976             { name => "OptAttribute", required => "N" },
6977             { name => "ContractMultiplier", required => "N" },
6978             { name => "CouponRate", required => "N" },
6979             { name => "SecurityExchange", required => "N" },
6980             { name => "Issuer", required => "N" },
6981             { name => "EncodedIssuerLen", required => "N" },
6982             { name => "EncodedIssuer", required => "N" },
6983             { name => "SecurityDesc", required => "N" },
6984             { name => "EncodedSecurityDescLen", required => "N" },
6985             { name => "EncodedSecurityDesc", required => "N" },
6986             { name => "Pool", required => "N" },
6987             { name => "ContractSettlMonth", required => "N" },
6988             { name => "CPProgram", required => "N" },
6989             { name => "CPRegType", required => "N" },
6990             {
6991             name => "NoEvents",
6992             required => "N",
6993             group => [
6994             { name => "EventType", required => "N" },
6995             { name => "EventDate", required => "N" },
6996             { name => "EventPx", required => "N" },
6997             { name => "EventText", required => "N" },
6998             ]
6999             },
7000             { name => "DatedDate", required => "N" },
7001             { name => "InterestAccrualDate", required => "N" },
7002             ]
7003             },
7004             {
7005             name => "UnderlyingInstrument",
7006             fields => [
7007             { name => "UnderlyingSymbol", required => "Y" },
7008             { name => "UnderlyingSymbolSfx", required => "N" },
7009             { name => "UnderlyingSecurityID", required => "N" },
7010             { name => "UnderlyingSecurityIDSource", required => "N" },
7011             {
7012             name => "NoUnderlyingSecurityAltID",
7013             required => "N",
7014             group => [
7015             {
7016             name => "UnderlyingSecurityAltID",
7017             required => "N"
7018             },
7019             {
7020             name => "UnderlyingSecurityAltIDSource",
7021             required => "N"
7022             },
7023             ]
7024             },
7025             { name => "UnderlyingProduct", required => "N" },
7026             { name => "UnderlyingCFICode", required => "N" },
7027             { name => "UnderlyingSecurityType", required => "N" },
7028             { name => "UnderlyingSecuritySubType", required => "N" },
7029             {
7030             name => "UnderlyingMaturityMonthYear",
7031             required => "N"
7032             },
7033             { name => "UnderlyingMaturityDate", required => "N" },
7034             {
7035             name => "UnderlyingCouponPaymentDate",
7036             required => "N"
7037             },
7038             { name => "UnderlyingIssueDate", required => "N" },
7039             {
7040             name => "UnderlyingRepoCollateralSecurityType",
7041             required => "N"
7042             },
7043             { name => "UnderlyingRepurchaseTerm", required => "N" },
7044             { name => "UnderlyingRepurchaseRate", required => "N" },
7045             { name => "UnderlyingFactor", required => "N" },
7046             { name => "UnderlyingCreditRating", required => "N" },
7047             { name => "UnderlyingInstrRegistry", required => "N" },
7048             { name => "UnderlyingCountryOfIssue", required => "N" },
7049             {
7050             name => "UnderlyingStateOrProvinceOfIssue",
7051             required => "N"
7052             },
7053             { name => "UnderlyingLocaleOfIssue", required => "N" },
7054             { name => "UnderlyingRedemptionDate", required => "N" },
7055             { name => "UnderlyingStrikePrice", required => "N" },
7056             { name => "UnderlyingStrikeCurrency", required => "N" },
7057             { name => "UnderlyingOptAttribute", required => "N" },
7058             {
7059             name => "UnderlyingContractMultiplier",
7060             required => "N"
7061             },
7062             { name => "UnderlyingCouponRate", required => "N" },
7063             { name => "UnderlyingSecurityExchange", required => "N" },
7064             { name => "UnderlyingIssuer", required => "N" },
7065             { name => "EncodedUnderlyingIssuerLen", required => "N" },
7066             { name => "EncodedUnderlyingIssuer", required => "N" },
7067             { name => "UnderlyingSecurityDesc", required => "N" },
7068             {
7069             name => "EncodedUnderlyingSecurityDescLen",
7070             required => "N"
7071             },
7072             {
7073             name => "EncodedUnderlyingSecurityDesc",
7074             required => "N"
7075             },
7076             { name => "UnderlyingCPProgram", required => "N" },
7077             { name => "UnderlyingCPRegType", required => "N" },
7078             { name => "UnderlyingCurrency", required => "N" },
7079             { name => "UnderlyingQty", required => "N" },
7080             { name => "UnderlyingPx", required => "N" },
7081             { name => "UnderlyingDirtyPrice", required => "N" },
7082             { name => "UnderlyingEndPrice", required => "N" },
7083             { name => "UnderlyingStartValue", required => "N" },
7084             { name => "UnderlyingCurrentValue", required => "N" },
7085             { name => "UnderlyingEndValue", required => "N" },
7086             {
7087             name => "UnderlyingStipulations",
7088             required => "N",
7089             component => "Y"
7090             },
7091             ]
7092             },
7093             {
7094             name => "InstrumentLeg",
7095             fields => [
7096             { name => "LegSymbol", required => "N" },
7097             { name => "LegSymbolSfx", required => "N" },
7098             { name => "LegSecurityID", required => "N" },
7099             { name => "LegSecurityIDSource", required => "N" },
7100             {
7101             name => "NoLegSecurityAltID",
7102             required => "N",
7103             group => [
7104             { name => "LegSecurityAltID", required => "N" },
7105             {
7106             name => "LegSecurityAltIDSource",
7107             required => "N"
7108             },
7109             ]
7110             },
7111             { name => "LegProduct", required => "N" },
7112             { name => "LegCFICode", required => "N" },
7113             { name => "LegSecurityType", required => "N" },
7114             { name => "LegSecuritySubType", required => "N" },
7115             { name => "LegMaturityMonthYear", required => "N" },
7116             { name => "LegMaturityDate", required => "N" },
7117             { name => "LegCouponPaymentDate", required => "N" },
7118             { name => "LegIssueDate", required => "N" },
7119             {
7120             name => "LegRepoCollateralSecurityType",
7121             required => "N"
7122             },
7123             { name => "LegRepurchaseTerm", required => "N" },
7124             { name => "LegRepurchaseRate", required => "N" },
7125             { name => "LegFactor", required => "N" },
7126             { name => "LegCreditRating", required => "N" },
7127             { name => "LegInstrRegistry", required => "N" },
7128             { name => "LegCountryOfIssue", required => "N" },
7129             { name => "LegStateOrProvinceOfIssue", required => "N" },
7130             { name => "LegLocaleOfIssue", required => "N" },
7131             { name => "LegRedemptionDate", required => "N" },
7132             { name => "LegStrikePrice", required => "N" },
7133             { name => "LegStrikeCurrency", required => "N" },
7134             { name => "LegOptAttribute", required => "N" },
7135             { name => "LegContractMultiplier", required => "N" },
7136             { name => "LegCouponRate", required => "N" },
7137             { name => "LegSecurityExchange", required => "N" },
7138             { name => "LegIssuer", required => "N" },
7139             { name => "EncodedLegIssuerLen", required => "N" },
7140             { name => "EncodedLegIssuer", required => "N" },
7141             { name => "LegSecurityDesc", required => "N" },
7142             { name => "EncodedLegSecurityDescLen", required => "N" },
7143             { name => "EncodedLegSecurityDesc", required => "N" },
7144             { name => "LegRatioQty", required => "N" },
7145             { name => "LegSide", required => "N" },
7146             { name => "LegCurrency", required => "N" },
7147             { name => "LegPool", required => "N" },
7148             { name => "LegDatedDate", required => "N" },
7149             { name => "LegContractSettlMonth", required => "N" },
7150             { name => "LegInterestAccrualDate", required => "N" },
7151             ]
7152             },
7153             {
7154             name => "InstrumentExtension",
7155             fields => [
7156             { name => "DeliveryForm", required => "N" },
7157             { name => "PctAtRisk", required => "N" },
7158             {
7159             name => "NoInstrAttrib",
7160             required => "N",
7161             group => [
7162             { name => "InstrAttribType", required => "N" },
7163             { name => "InstrAttribValue", required => "N" },
7164             ]
7165             },
7166             ]
7167             },
7168             {
7169             name => "OrderQtyData",
7170             fields => [
7171             { name => "OrderQty", required => "N" },
7172             { name => "CashOrderQty", required => "N" },
7173             { name => "OrderPercent", required => "N" },
7174             { name => "RoundingDirection", required => "N" },
7175             { name => "RoundingModulus", required => "N" },
7176             ]
7177             },
7178             {
7179             name => "CommissionData",
7180             fields => [
7181             { name => "Commission", required => "N" },
7182             { name => "CommType", required => "N" },
7183             { name => "CommCurrency", required => "N" },
7184             { name => "FundRenewWaiv", required => "N" },
7185             ]
7186             },
7187             {
7188             name => "Parties",
7189             fields => [
7190             {
7191             name => "NoPartyIDs",
7192             required => "N",
7193             group => [
7194             { name => "PartyID", required => "N" },
7195             { name => "PartyIDSource", required => "N" },
7196             { name => "PartyRole", required => "N" },
7197             {
7198             name => "NoPartySubIDs",
7199             required => "N",
7200             group => [
7201             { name => "PartySubID", required => "N" },
7202             {
7203             name => "PartySubIDType",
7204             required => "N"
7205             },
7206             ]
7207             },
7208             ]
7209             },
7210             ]
7211             },
7212             {
7213             name => "NestedParties",
7214             fields => [
7215             {
7216             name => "NoNestedPartyIDs",
7217             required => "N",
7218             group => [
7219             { name => "NestedPartyID", required => "N" },
7220             {
7221             name => "NestedPartyIDSource",
7222             required => "N"
7223             },
7224             { name => "NestedPartyRole", required => "N" },
7225             {
7226             name => "NoNestedPartySubIDs",
7227             required => "N",
7228             group => [
7229             {
7230             name => "NestedPartySubID",
7231             required => "N"
7232             },
7233             {
7234             name => "NestedPartySubIDType",
7235             required => "N"
7236             },
7237             ]
7238             },
7239             ]
7240             },
7241             ]
7242             },
7243             {
7244             name => "NestedParties2",
7245             fields => [
7246             {
7247             name => "NoNested2PartyIDs",
7248             required => "N",
7249             group => [
7250             { name => "Nested2PartyID", required => "N" },
7251             {
7252             name => "Nested2PartyIDSource",
7253             required => "N"
7254             },
7255             { name => "Nested2PartyRole", required => "N" },
7256             {
7257             name => "NoNested2PartySubIDs",
7258             required => "N",
7259             group => [
7260             {
7261             name => "Nested2PartySubID",
7262             required => "N"
7263             },
7264             {
7265             name => "Nested2PartySubIDType",
7266             required => "N"
7267             },
7268             ]
7269             },
7270             ]
7271             },
7272             ]
7273             },
7274             {
7275             name => "NestedParties3",
7276             fields => [
7277             {
7278             name => "NoNested3PartyIDs",
7279             required => "N",
7280             group => [
7281             { name => "Nested3PartyID", required => "N" },
7282             {
7283             name => "Nested3PartyIDSource",
7284             required => "N"
7285             },
7286             { name => "Nested3PartyRole", required => "N" },
7287             {
7288             name => "NoNested3PartySubIDs",
7289             required => "N",
7290             group => [
7291             {
7292             name => "Nested3PartySubID",
7293             required => "N"
7294             },
7295             {
7296             name => "Nested3PartySubIDType",
7297             required => "N"
7298             },
7299             ]
7300             },
7301             ]
7302             },
7303             ]
7304             },
7305             {
7306             name => "SettlParties",
7307             fields => [
7308             {
7309             name => "NoSettlPartyIDs",
7310             required => "N",
7311             group => [
7312             { name => "SettlPartyID", required => "N" },
7313             { name => "SettlPartyIDSource", required => "N" },
7314             { name => "SettlPartyRole", required => "N" },
7315             {
7316             name => "NoSettlPartySubIDs",
7317             required => "N",
7318             group => [
7319             {
7320             name => "SettlPartySubID",
7321             required => "N"
7322             },
7323             {
7324             name => "SettlPartySubIDType",
7325             required => "N"
7326             },
7327             ]
7328             },
7329             ]
7330             },
7331             ]
7332             },
7333             {
7334             name => "SpreadOrBenchmarkCurveData",
7335             fields => [
7336             { name => "Spread", required => "N" },
7337             { name => "BenchmarkCurveCurrency", required => "N" },
7338             { name => "BenchmarkCurveName", required => "N" },
7339             { name => "BenchmarkCurvePoint", required => "N" },
7340             { name => "BenchmarkPrice", required => "N" },
7341             { name => "BenchmarkPriceType", required => "N" },
7342             { name => "BenchmarkSecurityID", required => "N" },
7343             { name => "BenchmarkSecurityIDSource", required => "N" },
7344             ]
7345             },
7346             {
7347             name => "LegBenchmarkCurveData",
7348             fields => [
7349             { name => "LegBenchmarkCurveCurrency", required => "N" },
7350             { name => "LegBenchmarkCurveName", required => "N" },
7351             { name => "LegBenchmarkCurvePoint", required => "N" },
7352             { name => "LegBenchmarkPrice", required => "N" },
7353             { name => "LegBenchmarkPriceType", required => "N" },
7354             ]
7355             },
7356             {
7357             name => "Stipulations",
7358             fields => [
7359             {
7360             name => "NoStipulations",
7361             required => "N",
7362             group => [
7363             { name => "StipulationType", required => "N" },
7364             { name => "StipulationValue", required => "N" },
7365             ]
7366             },
7367             ]
7368             },
7369             {
7370             name => "UnderlyingStipulations",
7371             fields => [
7372             {
7373             name => "NoUnderlyingStips",
7374             required => "N",
7375             group => [
7376             { name => "UnderlyingStipType", required => "N" },
7377             {
7378             name => "UnderlyingStipValue",
7379             required => "N"
7380             },
7381             ]
7382             },
7383             ]
7384             },
7385             {
7386             name => "LegStipulations",
7387             fields => [
7388             {
7389             name => "NoLegStipulations",
7390             required => "N",
7391             group => [
7392             { name => "LegStipulationType", required => "N" },
7393             {
7394             name => "LegStipulationValue",
7395             required => "N"
7396             },
7397             ]
7398             },
7399             ]
7400             },
7401             {
7402             name => "YieldData",
7403             fields => [
7404             { name => "YieldType", required => "N" },
7405             { name => "Yield", required => "N" },
7406             { name => "YieldCalcDate", required => "N" },
7407             { name => "YieldRedemptionDate", required => "N" },
7408             { name => "YieldRedemptionPrice", required => "N" },
7409             { name => "YieldRedemptionPriceType", required => "N" },
7410             ]
7411             },
7412             {
7413             name => "PositionQty",
7414             fields => [
7415             {
7416             name => "NoPositions",
7417             required => "Y",
7418             group => [
7419             { name => "PosType", required => "N" },
7420             { name => "LongQty", required => "N" },
7421             { name => "ShortQty", required => "N" },
7422             { name => "PosQtyStatus", required => "N" },
7423             {
7424             name => "NestedParties",
7425             required => "N",
7426             component => "Y"
7427             },
7428             ]
7429             },
7430             ]
7431             },
7432             {
7433             name => "PositionAmountData",
7434             fields => [
7435             {
7436             name => "NoPosAmt",
7437             required => "Y",
7438             group => [
7439             { name => "PosAmtType", required => "Y" },
7440             { name => "PosAmt", required => "Y" },
7441             ]
7442             },
7443             ]
7444             },
7445             {
7446             name => "TrdRegTimestamps",
7447             fields => [
7448             {
7449             name => "NoTrdRegTimestamps",
7450             required => "Y",
7451             group => [
7452             { name => "TrdRegTimestamp", required => "N" },
7453             {
7454             name => "TrdRegTimestampType",
7455             required => "N"
7456             },
7457             {
7458             name => "TrdRegTimestampOrigin",
7459             required => "N"
7460             },
7461             ]
7462             },
7463             ]
7464             },
7465             {
7466             name => "SettlInstructionsData",
7467             fields => [
7468             { name => "SettlDeliveryType", required => "N" },
7469             { name => "StandInstDbType", required => "N" },
7470             { name => "StandInstDbName", required => "N" },
7471             { name => "StandInstDbID", required => "N" },
7472             {
7473             name => "NoDlvyInst",
7474             required => "N",
7475             group => [
7476             { name => "SettlInstSource", required => "N" },
7477             { name => "DlvyInstType", required => "N" },
7478             {
7479             name => "SettlParties",
7480             required => "N",
7481             component => "Y"
7482             },
7483             ]
7484             },
7485             ]
7486             },
7487             {
7488             name => "PegInstructions",
7489             fields => [
7490             { name => "PegOffsetValue", required => "N" },
7491             { name => "PegMoveType", required => "N" },
7492             { name => "PegOffsetType", required => "N" },
7493             { name => "PegLimitType", required => "N" },
7494             { name => "PegRoundDirection", required => "N" },
7495             { name => "PegScope", required => "N" },
7496             ]
7497             },
7498             {
7499             name => "DiscretionInstructions",
7500             fields => [
7501             { name => "DiscretionInst", required => "N" },
7502             { name => "DiscretionOffsetValue", required => "N" },
7503             { name => "DiscretionMoveType", required => "N" },
7504             { name => "DiscretionOffsetType", required => "N" },
7505             { name => "DiscretionLimitType", required => "N" },
7506             { name => "DiscretionRoundDirection", required => "N" },
7507             { name => "DiscretionScope", required => "N" },
7508             ]
7509             },
7510             {
7511             name => "FinancingDetails",
7512             fields => [
7513             { name => "AgreementDesc", required => "N" },
7514             { name => "AgreementID", required => "N" },
7515             { name => "AgreementDate", required => "N" },
7516             { name => "AgreementCurrency", required => "N" },
7517             { name => "TerminationType", required => "N" },
7518             { name => "StartDate", required => "N" },
7519             { name => "EndDate", required => "N" },
7520             { name => "DeliveryType", required => "N" },
7521             { name => "MarginRatio", required => "N" },
7522             ]
7523             },
7524             ],
7525              
7526             fields => [
7527             { number => "1", name => "Account", type => "STRING" },
7528             { number => "2", name => "AdvId", type => "STRING" },
7529             { number => "3", name => "AdvRefID", type => "STRING" },
7530             {
7531             number => "4",
7532             name => "AdvSide",
7533             type => "CHAR",
7534             enum => [
7535             { name => "B", description => "BUY" },
7536             { name => "S", description => "SELL" },
7537             { name => "X", description => "CROSS" },
7538             { name => "T", description => "TRADE" },
7539             ]
7540             },
7541             {
7542             number => "5",
7543             name => "AdvTransType",
7544             type => "STRING",
7545             enum => [
7546             { name => "N", description => "NEW" },
7547             { name => "C", description => "CANCEL" },
7548             { name => "R", description => "REPLACE" },
7549             ]
7550             },
7551             { number => "6", name => "AvgPx", type => "PRICE" },
7552             { number => "7", name => "BeginSeqNo", type => "SEQNUM" },
7553             { number => "8", name => "BeginString", type => "STRING" },
7554             { number => "9", name => "BodyLength", type => "LENGTH" },
7555             { number => "10", name => "CheckSum", type => "STRING" },
7556             { number => "11", name => "ClOrdID", type => "STRING" },
7557             { number => "12", name => "Commission", type => "AMT" },
7558             {
7559             number => "13",
7560             name => "CommType",
7561             type => "CHAR",
7562             enum => [
7563             { name => "1", description => "PER_UNIT" },
7564             { name => "2", description => "PERCENTAGE" },
7565             { name => "3", description => "ABSOLUTE" },
7566             {
7567             name => "4",
7568             description => "PERCENTAGE_WAIVED_CASH_DISCOUNT"
7569             },
7570             {
7571             name => "5",
7572             description => "PERCENTAGE_WAIVED_ENHANCED_UNITS"
7573             },
7574             {
7575             name => "6",
7576             description => "POINTS_PER_BOND_OR_OR_CONTRACT"
7577             },
7578             ]
7579             },
7580             { number => "14", name => "CumQty", type => "QTY" },
7581             { number => "15", name => "Currency", type => "CURRENCY" },
7582             { number => "16", name => "EndSeqNo", type => "SEQNUM" },
7583             { number => "17", name => "ExecID", type => "STRING" },
7584             {
7585             number => "18",
7586             name => "ExecInst",
7587             type => "MULTIPLEVALUESTRING",
7588             enum => [
7589             { name => "1", description => "NOT_HELD" },
7590             { name => "2", description => "WORK" },
7591             { name => "3", description => "GO_ALONG" },
7592             { name => "4", description => "OVER_THE_DAY" },
7593             { name => "5", description => "HELD" },
7594             {
7595             name => "6",
7596             description => "PARTICIPATE_DONT_INITIATE"
7597             },
7598             { name => "7", description => "STRICT_SCALE" },
7599             { name => "8", description => "TRY_TO_SCALE" },
7600             { name => "9", description => "STAY_ON_BIDSIDE" },
7601             { name => "0", description => "STAY_ON_OFFERSIDE" },
7602             { name => "A", description => "NO_CROSS" },
7603             { name => "B", description => "OK_TO_CROSS" },
7604             { name => "C", description => "CALL_FIRST" },
7605             { name => "D", description => "PERCENT_OF_VOLUME" },
7606             { name => "E", description => "DO_NOT_INCREASE" },
7607             { name => "F", description => "DO_NOT_REDUCE" },
7608             { name => "G", description => "ALL_OR_NONE" },
7609             {
7610             name => "H",
7611             description => "REINSTATE_ON_SYSTEM_FAILURE"
7612             },
7613             { name => "I", description => "INSTITUTIONS_ONLY" },
7614             {
7615             name => "J",
7616             description => "REINSTATE_ON_TRADING_HALT"
7617             },
7618             { name => "K", description => "CANCEL_ON_TRADING_HALT" },
7619             { name => "L", description => "LAST_PEG" },
7620             { name => "M", description => "MID_PRICE" },
7621             { name => "N", description => "NON_NEGOTIABLE" },
7622             { name => "O", description => "OPENING_PEG" },
7623             { name => "P", description => "MARKET_PEG" },
7624             {
7625             name => "Q",
7626             description => "CANCEL_ON_SYSTEM_FAILURE"
7627             },
7628             { name => "R", description => "PRIMARY_PEG" },
7629             { name => "S", description => "SUSPEND" },
7630             {
7631             name => "T",
7632             description =>
7633             "FIXED_PEG_TO_LOCAL_BEST_BID_OR_OFFER_AT_TIME_OF_ORDER"
7634             },
7635             {
7636             name => "U",
7637             description => "CUSTOMER_DISPLAY_INSTRUCTION"
7638             },
7639             { name => "V", description => "NETTING" },
7640             { name => "W", description => "PEG_TO_VWAP" },
7641             { name => "X", description => "TRADE_ALONG" },
7642             { name => "Y", description => "TRY_TO_STOP" },
7643             { name => "Z", description => "CANCEL_IF_NOT_BEST" },
7644             { name => "a", description => "TRAILING_STOP_PEG" },
7645             { name => "b", description => "STRICT_LIMIT" },
7646             {
7647             name => "c",
7648             description => "IGNORE_PRICE_VALIDITY_CHECKS"
7649             },
7650             { name => "d", description => "PEG_TO_LIMIT_PRICE" },
7651             { name => "e", description => "WORK_TO_TARGET_STRATEGY" },
7652             ]
7653             },
7654             { number => "19", name => "ExecRefID", type => "STRING" },
7655             {
7656             number => "21",
7657             name => "HandlInst",
7658             type => "CHAR",
7659             enum => [
7660             {
7661             name => "1",
7662             description => "AUTOMATED_EXECUTION_ORDER_PRIVATE"
7663             },
7664             {
7665             name => "2",
7666             description => "AUTOMATED_EXECUTION_ORDER_PUBLIC"
7667             },
7668             { name => "3", description => "MANUAL_ORDER" },
7669             ]
7670             },
7671             {
7672             number => "22",
7673             name => "SecurityIDSource",
7674             type => "STRING",
7675             enum => [
7676             { name => "1", description => "CUSIP" },
7677             { name => "2", description => "SEDOL" },
7678             { name => "3", description => "QUIK" },
7679             { name => "4", description => "ISIN_NUMBER" },
7680             { name => "5", description => "RIC_CODE" },
7681             { name => "6", description => "ISO_CURRENCY_CODE" },
7682             { name => "7", description => "ISO_COUNTRY_CODE" },
7683             { name => "8", description => "EXCHANGE_SYMBOL" },
7684             {
7685             name => "9",
7686             description => "CONSOLIDATED_TAPE_ASSOCIATION"
7687             },
7688             { name => "A", description => "BLOOMBERG_SYMBOL" },
7689             { name => "B", description => "WERTPAPIER" },
7690             { name => "C", description => "DUTCH" },
7691             { name => "D", description => "VALOREN" },
7692             { name => "E", description => "SICOVAM" },
7693             { name => "F", description => "BELGIAN" },
7694             { name => "G", description => "COMMON" },
7695             {
7696             name => "H",
7697             description => "CLEARING_HOUSE_CLEARING_ORGANIZATION"
7698             },
7699             {
7700             name => "I",
7701             description => "ISDA_FPML_PRODUCT_SPECIFICATION"
7702             },
7703             {
7704             name => "J",
7705             description => "OPTIONS_PRICE_REPORTING_AUTHORITY"
7706             },
7707             ]
7708             },
7709             { number => "23", name => "IOIid", type => "STRING" },
7710             {
7711             number => "25",
7712             name => "IOIQltyInd",
7713             type => "CHAR",
7714             enum => [
7715             { name => "L", description => "LOW" },
7716             { name => "M", description => "MEDIUM" },
7717             { name => "H", description => "HIGH" },
7718             ]
7719             },
7720             { number => "26", name => "IOIRefID", type => "STRING" },
7721             { number => "27", name => "IOIQty", type => "STRING" },
7722             {
7723             number => "28",
7724             name => "IOITransType",
7725             type => "CHAR",
7726             enum => [
7727             { name => "N", description => "NEW" },
7728             { name => "C", description => "CANCEL" },
7729             { name => "R", description => "REPLACE" },
7730             ]
7731             },
7732             {
7733             number => "29",
7734             name => "LastCapacity",
7735             type => "CHAR",
7736             enum => [
7737             { name => "1", description => "AGENT" },
7738             { name => "2", description => "CROSS_AS_AGENT" },
7739             { name => "3", description => "CROSS_AS_PRINCIPAL" },
7740             { name => "4", description => "PRINCIPAL" },
7741             ]
7742             },
7743             { number => "30", name => "LastMkt", type => "EXCHANGE" },
7744             { number => "31", name => "LastPx", type => "PRICE" },
7745             { number => "32", name => "LastQty", type => "QTY" },
7746             { number => "33", name => "LinesOfText", type => "NUMINGROUP" },
7747             { number => "34", name => "MsgSeqNum", type => "SEQNUM" },
7748             {
7749             number => "35",
7750             name => "MsgType",
7751             type => "STRING",
7752             enum => [
7753             { name => "0", description => "HEARTBEAT" },
7754             { name => "1", description => "TEST_REQUEST" },
7755             { name => "2", description => "RESEND_REQUEST" },
7756             { name => "3", description => "REJECT" },
7757             { name => "4", description => "SEQUENCE_RESET" },
7758             { name => "5", description => "LOGOUT" },
7759             { name => "6", description => "INDICATION_OF_INTEREST" },
7760             { name => "7", description => "ADVERTISEMENT" },
7761             { name => "8", description => "EXECUTION_REPORT" },
7762             { name => "9", description => "ORDER_CANCEL_REJECT" },
7763             { name => "A", description => "LOGON" },
7764             { name => "B", description => "NEWS" },
7765             { name => "C", description => "EMAIL" },
7766             { name => "D", description => "ORDER_SINGLE" },
7767             { name => "E", description => "ORDER_LIST" },
7768             { name => "F", description => "ORDER_CANCEL_REQUEST" },
7769             {
7770             name => "G",
7771             description => "ORDER_CANCEL_REPLACE_REQUEST"
7772             },
7773             { name => "H", description => "ORDER_STATUS_REQUEST" },
7774             { name => "J", description => "ALLOCATION_INSTRUCTION" },
7775             { name => "K", description => "LIST_CANCEL_REQUEST" },
7776             { name => "L", description => "LIST_EXECUTE" },
7777             { name => "M", description => "LIST_STATUS_REQUEST" },
7778             { name => "N", description => "LIST_STATUS" },
7779             {
7780             name => "P",
7781             description => "ALLOCATION_INSTRUCTION_ACK"
7782             },
7783             { name => "Q", description => "DONT_KNOW_TRADE" },
7784             { name => "R", description => "QUOTE_REQUEST" },
7785             { name => "S", description => "QUOTE" },
7786             { name => "T", description => "SETTLEMENT_INSTRUCTIONS" },
7787             { name => "V", description => "MARKET_DATA_REQUEST" },
7788             {
7789             name => "W",
7790             description => "MARKET_DATA_SNAPSHOT_FULL_REFRESH"
7791             },
7792             {
7793             name => "X",
7794             description => "MARKET_DATA_INCREMENTAL_REFRESH"
7795             },
7796             {
7797             name => "Y",
7798             description => "MARKET_DATA_REQUEST_REJECT"
7799             },
7800             { name => "Z", description => "QUOTE_CANCEL" },
7801             { name => "a", description => "QUOTE_STATUS_REQUEST" },
7802             {
7803             name => "b",
7804             description => "MASS_QUOTE_ACKNOWLEDGEMENT"
7805             },
7806             {
7807             name => "c",
7808             description => "SECURITY_DEFINITION_REQUEST"
7809             },
7810             { name => "d", description => "SECURITY_DEFINITION" },
7811             { name => "e", description => "SECURITY_STATUS_REQUEST" },
7812             { name => "f", description => "SECURITY_STATUS" },
7813             {
7814             name => "g",
7815             description => "TRADING_SESSION_STATUS_REQUEST"
7816             },
7817             { name => "h", description => "TRADING_SESSION_STATUS" },
7818             { name => "i", description => "MASS_QUOTE" },
7819             { name => "j", description => "BUSINESS_MESSAGE_REJECT" },
7820             { name => "k", description => "BID_REQUEST" },
7821             { name => "l", description => "BID_RESPONSE" },
7822             { name => "m", description => "LIST_STRIKE_PRICE" },
7823             { name => "n", description => "XML_MESSAGE" },
7824             {
7825             name => "o",
7826             description => "REGISTRATION_INSTRUCTIONS"
7827             },
7828             {
7829             name => "p",
7830             description => "REGISTRATION_INSTRUCTIONS_RESPONSE"
7831             },
7832             {
7833             name => "q",
7834             description => "ORDER_MASS_CANCEL_REQUEST"
7835             },
7836             {
7837             name => "r",
7838             description => "ORDER_MASS_CANCEL_REPORT"
7839             },
7840             { name => "s", description => "NEW_ORDER_CROSS" },
7841             {
7842             name => "t",
7843             description => "CROSS_ORDER_CANCEL_REPLACE_REQUEST"
7844             },
7845             {
7846             name => "u",
7847             description => "CROSS_ORDER_CANCEL_REQUEST"
7848             },
7849             { name => "v", description => "SECURITY_TYPE_REQUEST" },
7850             { name => "w", description => "SECURITY_TYPES" },
7851             { name => "x", description => "SECURITY_LIST_REQUEST" },
7852             { name => "y", description => "SECURITY_LIST" },
7853             {
7854             name => "z",
7855             description => "DERIVATIVE_SECURITY_LIST_REQUEST"
7856             },
7857             {
7858             name => "AA",
7859             description => "DERIVATIVE_SECURITY_LIST"
7860             },
7861             { name => "AB", description => "NEW_ORDER_MULTILEG" },
7862             {
7863             name => "AC",
7864             description => "MULTILEG_ORDER_CANCEL_REPLACE"
7865             },
7866             {
7867             name => "AD",
7868             description => "TRADE_CAPTURE_REPORT_REQUEST"
7869             },
7870             { name => "AE", description => "TRADE_CAPTURE_REPORT" },
7871             {
7872             name => "AF",
7873             description => "ORDER_MASS_STATUS_REQUEST"
7874             },
7875             { name => "AG", description => "QUOTE_REQUEST_REJECT" },
7876             { name => "AH", description => "RFQ_REQUEST" },
7877             { name => "AI", description => "QUOTE_STATUS_REPORT" },
7878             { name => "AJ", description => "QUOTE_RESPONSE" },
7879             { name => "AK", description => "CONFIRMATION" },
7880             {
7881             name => "AL",
7882             description => "POSITION_MAINTENANCE_REQUEST"
7883             },
7884             {
7885             name => "AM",
7886             description => "POSITION_MAINTENANCE_REPORT"
7887             },
7888             { name => "AN", description => "REQUEST_FOR_POSITIONS" },
7889             {
7890             name => "AO",
7891             description => "REQUEST_FOR_POSITIONS_ACK"
7892             },
7893             { name => "AP", description => "POSITION_REPORT" },
7894             {
7895             name => "AQ",
7896             description => "TRADE_CAPTURE_REPORT_REQUEST_ACK"
7897             },
7898             {
7899             name => "AR",
7900             description => "TRADE_CAPTURE_REPORT_ACK"
7901             },
7902             { name => "AS", description => "ALLOCATION_REPORT" },
7903             { name => "AT", description => "ALLOCATION_REPORT_ACK" },
7904             { name => "AU", description => "CONFIRMATION_ACK" },
7905             {
7906             name => "AV",
7907             description => "SETTLEMENT_INSTRUCTION_REQUEST"
7908             },
7909             { name => "AW", description => "ASSIGNMENT_REPORT" },
7910             { name => "AX", description => "COLLATERAL_REQUEST" },
7911             { name => "AY", description => "COLLATERAL_ASSIGNMENT" },
7912             { name => "AZ", description => "COLLATERAL_RESPONSE" },
7913             { name => "BA", description => "COLLATERAL_REPORT" },
7914             { name => "BB", description => "COLLATERAL_INQUIRY" },
7915             { name => "BC", description => "NETWORK_STATUS_REQUEST" },
7916             {
7917             name => "BD",
7918             description => "NETWORK_STATUS_RESPONSE"
7919             },
7920             { name => "BE", description => "USER_REQUEST" },
7921             { name => "BF", description => "USER_RESPONSE" },
7922             { name => "BG", description => "COLLATERAL_INQUIRY_ACK" },
7923             { name => "BH", description => "CONFIRMATION_REQUEST" },
7924             ]
7925             },
7926             { number => "36", name => "NewSeqNo", type => "SEQNUM" },
7927             { number => "37", name => "OrderID", type => "STRING" },
7928             { number => "38", name => "OrderQty", type => "QTY" },
7929             {
7930             number => "39",
7931             name => "OrdStatus",
7932             type => "CHAR",
7933             enum => [
7934             { name => "0", description => "NEW" },
7935             { name => "1", description => "PARTIALLY_FILLED" },
7936             { name => "2", description => "FILLED" },
7937             { name => "3", description => "DONE_FOR_DAY" },
7938             { name => "4", description => "CANCELED" },
7939             { name => "5", description => "REPLACED" },
7940             { name => "6", description => "PENDING_CANCEL" },
7941             { name => "7", description => "STOPPED" },
7942             { name => "8", description => "REJECTED" },
7943             { name => "9", description => "SUSPENDED" },
7944             { name => "A", description => "PENDING_NEW" },
7945             { name => "B", description => "CALCULATED" },
7946             { name => "C", description => "EXPIRED" },
7947             { name => "D", description => "ACCEPTED_FOR_BIDDING" },
7948             { name => "E", description => "PENDING_REPLACE" },
7949             ]
7950             },
7951             {
7952             number => "40",
7953             name => "OrdType",
7954             type => "CHAR",
7955             enum => [
7956             { name => "1", description => "MARKET" },
7957             { name => "2", description => "LIMIT" },
7958             { name => "3", description => "STOP" },
7959             { name => "4", description => "STOP_LIMIT" },
7960             { name => "5", description => "MARKET_ON_CLOSE" },
7961             { name => "6", description => "WITH_OR_WITHOUT" },
7962             { name => "7", description => "LIMIT_OR_BETTER" },
7963             { name => "8", description => "LIMIT_WITH_OR_WITHOUT" },
7964             { name => "9", description => "ON_BASIS" },
7965             { name => "A", description => "ON_CLOSE" },
7966             { name => "B", description => "LIMIT_ON_CLOSE" },
7967             { name => "C", description => "FOREX_MARKET" },
7968             { name => "D", description => "PREVIOUSLY_QUOTED" },
7969             { name => "E", description => "PREVIOUSLY_INDICATED" },
7970             { name => "F", description => "FOREX_LIMIT" },
7971             { name => "G", description => "FOREX_SWAP" },
7972             { name => "H", description => "FOREX_PREVIOUSLY_QUOTED" },
7973             { name => "I", description => "FUNARI" },
7974             { name => "J", description => "MARKET_IF_TOUCHED" },
7975             {
7976             name => "K",
7977             description => "MARKET_WITH_LEFTOVER_AS_LIMIT"
7978             },
7979             {
7980             name => "L",
7981             description => "PREVIOUS_FUND_VALUATION_POINT"
7982             },
7983             {
7984             name => "M",
7985             description => "NEXT_FUND_VALUATION_POINT"
7986             },
7987             { name => "P", description => "PEGGED" },
7988             ]
7989             },
7990             { number => "41", name => "OrigClOrdID", type => "STRING" },
7991             { number => "42", name => "OrigTime", type => "UTCTIMESTAMP" },
7992             { number => "43", name => "PossDupFlag", type => "BOOLEAN" },
7993             { number => "44", name => "Price", type => "PRICE" },
7994             { number => "45", name => "RefSeqNum", type => "SEQNUM" },
7995             { number => "48", name => "SecurityID", type => "STRING" },
7996             { number => "49", name => "SenderCompID", type => "STRING" },
7997             { number => "50", name => "SenderSubID", type => "STRING" },
7998             { number => "52", name => "SendingTime", type => "UTCTIMESTAMP" },
7999             { number => "53", name => "Quantity", type => "QTY" },
8000             {
8001             number => "54",
8002             name => "Side",
8003             type => "CHAR",
8004             enum => [
8005             { name => "1", description => "BUY" },
8006             { name => "2", description => "SELL" },
8007             { name => "3", description => "BUY_MINUS" },
8008             { name => "4", description => "SELL_PLUS" },
8009             { name => "5", description => "SELL_SHORT" },
8010             { name => "6", description => "SELL_SHORT_EXEMPT" },
8011             { name => "7", description => "UNDISCLOSED" },
8012             { name => "8", description => "CROSS" },
8013             { name => "9", description => "CROSS_SHORT" },
8014             { name => "A", description => "CROSS_SHORT_EXEMPT" },
8015             { name => "B", description => "AS_DEFINED" },
8016             { name => "C", description => "OPPOSITE" },
8017             { name => "D", description => "SUBSCRIBE" },
8018             { name => "E", description => "REDEEM" },
8019             { name => "F", description => "LEND" },
8020             { name => "G", description => "BORROW" },
8021             ]
8022             },
8023             { number => "55", name => "Symbol", type => "STRING" },
8024             { number => "56", name => "TargetCompID", type => "STRING" },
8025             { number => "57", name => "TargetSubID", type => "STRING" },
8026             { number => "58", name => "Text", type => "STRING" },
8027             {
8028             number => "59",
8029             name => "TimeInForce",
8030             type => "CHAR",
8031             enum => [
8032             { name => "0", description => "DAY" },
8033             { name => "1", description => "GOOD_TILL_CANCEL" },
8034             { name => "2", description => "AT_THE_OPENING" },
8035             { name => "3", description => "IMMEDIATE_OR_CANCEL" },
8036             { name => "4", description => "FILL_OR_KILL" },
8037             { name => "5", description => "GOOD_TILL_CROSSING" },
8038             { name => "6", description => "GOOD_TILL_DATE" },
8039             { name => "7", description => "AT_THE_CLOSE" },
8040             ]
8041             },
8042             {
8043             number => "60",
8044             name => "TransactTime",
8045             type => "UTCTIMESTAMP"
8046             },
8047             {
8048             number => "61",
8049             name => "Urgency",
8050             type => "CHAR",
8051             enum => [
8052             { name => "0", description => "NORMAL" },
8053             { name => "1", description => "FLASH" },
8054             { name => "2", description => "BACKGROUND" },
8055             ]
8056             },
8057             {
8058             number => "62",
8059             name => "ValidUntilTime",
8060             type => "UTCTIMESTAMP"
8061             },
8062             {
8063             number => "63",
8064             name => "SettlType",
8065             type => "CHAR",
8066             enum => [
8067             { name => "0", description => "REGULAR" },
8068             { name => "1", description => "CASH" },
8069             { name => "2", description => "NEXT_DAY" },
8070             { name => "3", description => "T_PLUS_2" },
8071             { name => "4", description => "T_PLUS_3" },
8072             { name => "5", description => "T_PLUS_4" },
8073             { name => "6", description => "FUTURE" },
8074             { name => "7", description => "WHEN_AND_IF_ISSUED" },
8075             { name => "8", description => "SELLERS_OPTION" },
8076             { name => "9", description => "T_PLUS_5" },
8077             ]
8078             },
8079             { number => "64", name => "SettlDate", type => "LOCALMKTDATE" },
8080             {
8081             number => "65",
8082             name => "SymbolSfx",
8083             type => "STRING",
8084             allowOtherValues => "true",
8085             enum => [
8086             { name => "WI", description => "WHEN_ISSUED" },
8087             {
8088             name => "CD",
8089             description => "A_EUCP_WITH_LUMP_SUM_INTEREST"
8090             },
8091             ]
8092             },
8093             { number => "66", name => "ListID", type => "STRING" },
8094             { number => "67", name => "ListSeqNo", type => "INT" },
8095             { number => "68", name => "TotNoOrders", type => "INT" },
8096             { number => "69", name => "ListExecInst", type => "STRING" },
8097             { number => "70", name => "AllocID", type => "STRING" },
8098             {
8099             number => "71",
8100             name => "AllocTransType",
8101             type => "CHAR",
8102             enum => [
8103             { name => "0", description => "NEW" },
8104             { name => "1", description => "REPLACE" },
8105             { name => "2", description => "CANCEL" },
8106             { name => "3", description => "PRELIMINARY" },
8107             { name => "4", description => "CALCULATED" },
8108             {
8109             name => "5",
8110             description => "CALCULATED_WITHOUT_PRELIMINARY"
8111             },
8112             ]
8113             },
8114             { number => "72", name => "RefAllocID", type => "STRING" },
8115             { number => "73", name => "NoOrders", type => "NUMINGROUP" },
8116             { number => "74", name => "AvgPxPrecision", type => "INT" },
8117             { number => "75", name => "TradeDate", type => "LOCALMKTDATE" },
8118             {
8119             number => "77",
8120             name => "PositionEffect",
8121             type => "CHAR",
8122             enum => [
8123             { name => "O", description => "OPEN" },
8124             { name => "C", description => "CLOSE" },
8125             { name => "R", description => "ROLLED" },
8126             { name => "F", description => "FIFO" },
8127             ]
8128             },
8129             { number => "78", name => "NoAllocs", type => "NUMINGROUP" },
8130             { number => "79", name => "AllocAccount", type => "STRING" },
8131             { number => "80", name => "AllocQty", type => "QTY" },
8132             {
8133             number => "81",
8134             name => "ProcessCode",
8135             type => "CHAR",
8136             enum => [
8137             { name => "0", description => "REGULAR" },
8138             { name => "1", description => "SOFT_DOLLAR" },
8139             { name => "2", description => "STEP_IN" },
8140             { name => "3", description => "STEP_OUT" },
8141             { name => "4", description => "SOFT_DOLLAR_STEP_IN" },
8142             { name => "5", description => "SOFT_DOLLAR_STEP_OUT" },
8143             { name => "6", description => "PLAN_SPONSOR" },
8144             ]
8145             },
8146             { number => "82", name => "NoRpts", type => "NUMINGROUP" },
8147             { number => "83", name => "RptSeq", type => "INT" },
8148             { number => "84", name => "CxlQty", type => "QTY" },
8149             { number => "85", name => "NoDlvyInst", type => "NUMINGROUP" },
8150             {
8151             number => "87",
8152             name => "AllocStatus",
8153             type => "INT",
8154             enum => [
8155             { name => "0", description => "ACCEPTED" },
8156             { name => "1", description => "BLOCK_LEVEL_REJECT" },
8157             { name => "2", description => "ACCOUNT_LEVEL_REJECT" },
8158             { name => "3", description => "RECEIVED" },
8159             { name => "4", description => "INCOMPLETE" },
8160             {
8161             name => "5",
8162             description => "REJECTED_BY_INTERMEDIARY"
8163             },
8164             ]
8165             },
8166             {
8167             number => "88",
8168             name => "AllocRejCode",
8169             type => "INT",
8170             enum => [
8171             { name => "0", description => "UNKNOWN_ACCOUNT" },
8172             { name => "1", description => "INCORRECT_QUANTITY" },
8173             { name => "2", description => "INCORRECT_AVERAGE_PRICE" },
8174             {
8175             name => "3",
8176             description => "UNKNOWN_EXECUTING_BROKER_MNEMONIC"
8177             },
8178             { name => "4", description => "COMMISSION_DIFFERENCE" },
8179             { name => "5", description => "UNKNOWN_ORDERID" },
8180             { name => "6", description => "UNKNOWN_LISTID" },
8181             { name => "7", description => "OTHER" },
8182             {
8183             name => "8",
8184             description => "INCORRECT_ALLOCATED_QUANTITY"
8185             },
8186             { name => "9", description => "CALCULATION_DIFFERENCE" },
8187             {
8188             name => "10",
8189             description => "UNKNOWN_OR_STALE_EXEC_ID"
8190             },
8191             { name => "11", description => "MISMATCHED_DATA_VALUE" },
8192             { name => "12", description => "UNKNOWN_CLORDID" },
8193             {
8194             name => "13",
8195             description => "WAREHOUSE_REQUEST_REJECTED"
8196             },
8197             ]
8198             },
8199             { number => "89", name => "Signature", type => "DATA" },
8200             { number => "90", name => "SecureDataLen", type => "LENGTH" },
8201             { number => "91", name => "SecureData", type => "DATA" },
8202             { number => "93", name => "SignatureLength", type => "LENGTH" },
8203             {
8204             number => "94",
8205             name => "EmailType",
8206             type => "CHAR",
8207             enum => [
8208             { name => "0", description => "NEW" },
8209             { name => "1", description => "REPLY" },
8210             { name => "2", description => "ADMIN_REPLY" },
8211             ]
8212             },
8213             { number => "95", name => "RawDataLength", type => "LENGTH" },
8214             { number => "96", name => "RawData", type => "DATA" },
8215             { number => "97", name => "PossResend", type => "BOOLEAN" },
8216             {
8217             number => "98",
8218             name => "EncryptMethod",
8219             type => "INT",
8220             enum => [
8221             { name => "0", description => "NONE_OTHER" },
8222             { name => "1", description => "PKCS" },
8223             { name => "2", description => "DES" },
8224             { name => "3", description => "PKCS_DES" },
8225             { name => "4", description => "PGP_DES" },
8226             { name => "5", description => "PGP_DES_MD5" },
8227             { name => "6", description => "PEM_DES_MD5" },
8228             ]
8229             },
8230             { number => "99", name => "StopPx", type => "PRICE" },
8231             { number => "100", name => "ExDestination", type => "EXCHANGE" },
8232             {
8233             number => "102",
8234             name => "CxlRejReason",
8235             type => "INT",
8236             enum => [
8237             { name => "0", description => "TOO_LATE_TO_CANCEL" },
8238             { name => "1", description => "UNKNOWN_ORDER" },
8239             { name => "2", description => "BROKER_EXCHANGE_OPTION" },
8240             {
8241             name => "3",
8242             description =>
8243             "ORDER_ALREADY_IN_PENDING_CANCEL_OR_PENDING_REPLACE_STATUS"
8244             },
8245             {
8246             name => "4",
8247             description =>
8248             "UNABLE_TO_PROCESS_ORDER_MASS_CANCEL_REQUEST"
8249             },
8250             {
8251             name => "5",
8252             description =>
8253             "ORIGORDMODTIME_DID_NOT_MATCH_LAST_TRANSACTTIME_OF_ORDER"
8254             },
8255             {
8256             name => "6",
8257             description => "DUPLICATE_CLORDID_RECEIVED"
8258             },
8259             { name => "99", description => "OTHER" },
8260             ]
8261             },
8262             {
8263             number => "103",
8264             name => "OrdRejReason",
8265             type => "INT",
8266             enum => [
8267             { name => "0", description => "BROKER_EXCHANGE_OPTION" },
8268             { name => "1", description => "UNKNOWN_SYMBOL" },
8269             { name => "2", description => "EXCHANGE_CLOSED" },
8270             { name => "3", description => "ORDER_EXCEEDS_LIMIT" },
8271             { name => "4", description => "TOO_LATE_TO_ENTER" },
8272             { name => "5", description => "UNKNOWN_ORDER" },
8273             { name => "6", description => "DUPLICATE_ORDER" },
8274             {
8275             name => "7",
8276             description =>
8277             "DUPLICATE_OF_A_VERBALLY_COMMUNICATED_ORDER"
8278             },
8279             { name => "8", description => "STALE_ORDER" },
8280             { name => "9", description => "TRADE_ALONG_REQUIRED" },
8281             { name => "10", description => "INVALID_INVESTOR_ID" },
8282             {
8283             name => "11",
8284             description => "UNSUPPORTED_ORDER_CHARACTERISTIC"
8285             },
8286             { name => "12", description => "SURVEILLENCE_OPTION" },
8287             { name => "13", description => "INCORRECT_QUANTITY" },
8288             {
8289             name => "14",
8290             description => "INCORRECT_ALLOCATED_QUANTITY"
8291             },
8292             { name => "15", description => "UNKNOWN_ACCOUNT" },
8293             { name => "99", description => "OTHER" },
8294             ]
8295             },
8296             {
8297             number => "104",
8298             name => "IOIQualifier",
8299             type => "CHAR",
8300             enum => [
8301             { name => "A", description => "ALL_OR_NONE" },
8302             { name => "B", description => "MARKET_ON_CLOSE" },
8303             { name => "C", description => "AT_THE_CLOSE" },
8304             { name => "D", description => "VWAP" },
8305             { name => "I", description => "IN_TOUCH_WITH" },
8306             { name => "L", description => "LIMIT" },
8307             { name => "M", description => "MORE_BEHIND" },
8308             { name => "O", description => "AT_THE_OPEN" },
8309             { name => "P", description => "TAKING_A_POSITION" },
8310             { name => "Q", description => "AT_THE_MARKET" },
8311             { name => "R", description => "READY_TO_TRADE" },
8312             { name => "S", description => "PORTFOLIO_SHOWN" },
8313             { name => "T", description => "THROUGH_THE_DAY" },
8314             { name => "V", description => "VERSUS" },
8315             { name => "W", description => "INDICATION_WORKING_AWAY" },
8316             { name => "X", description => "CROSSING_OPPORTUNITY" },
8317             { name => "Y", description => "AT_THE_MIDPOINT" },
8318             { name => "Z", description => "PRE_OPEN" },
8319             ]
8320             },
8321             { number => "105", name => "WaveNo", type => "STRING" },
8322             { number => "106", name => "Issuer", type => "STRING" },
8323             { number => "107", name => "SecurityDesc", type => "STRING" },
8324             { number => "108", name => "HeartBtInt", type => "INT" },
8325             { number => "110", name => "MinQty", type => "QTY" },
8326             { number => "111", name => "MaxFloor", type => "QTY" },
8327             { number => "112", name => "TestReqID", type => "STRING" },
8328             { number => "113", name => "ReportToExch", type => "BOOLEAN" },
8329             { number => "114", name => "LocateReqd", type => "BOOLEAN" },
8330             { number => "115", name => "OnBehalfOfCompID", type => "STRING" },
8331             { number => "116", name => "OnBehalfOfSubID", type => "STRING" },
8332             { number => "117", name => "QuoteID", type => "STRING" },
8333             { number => "118", name => "NetMoney", type => "AMT" },
8334             { number => "119", name => "SettlCurrAmt", type => "AMT" },
8335             { number => "120", name => "SettlCurrency", type => "CURRENCY" },
8336             { number => "121", name => "ForexReq", type => "BOOLEAN" },
8337             {
8338             number => "122",
8339             name => "OrigSendingTime",
8340             type => "UTCTIMESTAMP"
8341             },
8342             { number => "123", name => "GapFillFlag", type => "BOOLEAN" },
8343             { number => "124", name => "NoExecs", type => "NUMINGROUP" },
8344             { number => "126", name => "ExpireTime", type => "UTCTIMESTAMP" },
8345             {
8346             number => "127",
8347             name => "DKReason",
8348             type => "CHAR",
8349             enum => [
8350             { name => "A", description => "UNKNOWN_SYMBOL" },
8351             { name => "B", description => "WRONG_SIDE" },
8352             { name => "C", description => "QUANTITY_EXCEEDS_ORDER" },
8353             { name => "D", description => "NO_MATCHING_ORDER" },
8354             { name => "E", description => "PRICE_EXCEEDS_LIMIT" },
8355             { name => "F", description => "CALCULATION_DIFFERENCE" },
8356             { name => "Z", description => "OTHER" },
8357             ]
8358             },
8359             { number => "128", name => "DeliverToCompID", type => "STRING" },
8360             { number => "129", name => "DeliverToSubID", type => "STRING" },
8361             { number => "130", name => "IOINaturalFlag", type => "BOOLEAN" },
8362             { number => "131", name => "QuoteReqID", type => "STRING" },
8363             { number => "132", name => "BidPx", type => "PRICE" },
8364             { number => "133", name => "OfferPx", type => "PRICE" },
8365             { number => "134", name => "BidSize", type => "QTY" },
8366             { number => "135", name => "OfferSize", type => "QTY" },
8367             { number => "136", name => "NoMiscFees", type => "NUMINGROUP" },
8368             { number => "137", name => "MiscFeeAmt", type => "AMT" },
8369             { number => "138", name => "MiscFeeCurr", type => "CURRENCY" },
8370             {
8371             number => "139",
8372             name => "MiscFeeType",
8373             type => "CHAR",
8374             enum => [
8375             { name => "1", description => "REGULATORY" },
8376             { name => "2", description => "TAX" },
8377             { name => "3", description => "LOCAL_COMMISSION" },
8378             { name => "4", description => "EXCHANGE_FEES" },
8379             { name => "5", description => "STAMP" },
8380             { name => "6", description => "LEVY" },
8381             { name => "7", description => "OTHER" },
8382             { name => "8", description => "MARKUP" },
8383             { name => "9", description => "CONSUMPTION_TAX" },
8384             ]
8385             },
8386             { number => "140", name => "PrevClosePx", type => "PRICE" },
8387             { number => "141", name => "ResetSeqNumFlag", type => "BOOLEAN" },
8388             { number => "142", name => "SenderLocationID", type => "STRING" },
8389             { number => "143", name => "TargetLocationID", type => "STRING" },
8390             {
8391             number => "144",
8392             name => "OnBehalfOfLocationID",
8393             type => "STRING"
8394             },
8395             {
8396             number => "145",
8397             name => "DeliverToLocationID",
8398             type => "STRING"
8399             },
8400             { number => "146", name => "NoRelatedSym", type => "NUMINGROUP" },
8401             { number => "147", name => "Subject", type => "STRING" },
8402             { number => "148", name => "Headline", type => "STRING" },
8403             { number => "149", name => "URLLink", type => "STRING" },
8404             {
8405             number => "150",
8406             name => "ExecType",
8407             type => "CHAR",
8408             enum => [
8409             { name => "0", description => "NEW" },
8410             { name => "1", description => "PARTIAL_FILL" },
8411             { name => "2", description => "FILL" },
8412             { name => "3", description => "DONE_FOR_DAY" },
8413             { name => "4", description => "CANCELED" },
8414             { name => "5", description => "REPLACE" },
8415             { name => "6", description => "PENDING_CANCEL" },
8416             { name => "7", description => "STOPPED" },
8417             { name => "8", description => "REJECTED" },
8418             { name => "9", description => "SUSPENDED" },
8419             { name => "A", description => "PENDING_NEW" },
8420             { name => "B", description => "CALCULATED" },
8421             { name => "C", description => "EXPIRED" },
8422             { name => "D", description => "RESTATED" },
8423             { name => "E", description => "PENDING_REPLACE" },
8424             { name => "F", description => "TRADE" },
8425             { name => "G", description => "TRADE_CORRECT" },
8426             { name => "H", description => "TRADE_CANCEL" },
8427             { name => "I", description => "ORDER_STATUS" },
8428             ]
8429             },
8430             { number => "151", name => "LeavesQty", type => "QTY" },
8431             { number => "152", name => "CashOrderQty", type => "QTY" },
8432             { number => "153", name => "AllocAvgPx", type => "PRICE" },
8433             { number => "154", name => "AllocNetMoney", type => "AMT" },
8434             { number => "155", name => "SettlCurrFxRate", type => "FLOAT" },
8435             {
8436             number => "156",
8437             name => "SettlCurrFxRateCalc",
8438             type => "CHAR",
8439             enum => [
8440             { name => "M", description => "MULTIPLY" },
8441             { name => "D", description => "DIVIDE" },
8442             ]
8443             },
8444             { number => "157", name => "NumDaysInterest", type => "INT" },
8445             {
8446             number => "158",
8447             name => "AccruedInterestRate",
8448             type => "PERCENTAGE"
8449             },
8450             { number => "159", name => "AccruedInterestAmt", type => "AMT" },
8451             {
8452             number => "160",
8453             name => "SettlInstMode",
8454             type => "CHAR",
8455             enum => [
8456             { name => "0", description => "DEFAULT" },
8457             {
8458             name => "1",
8459             description => "STANDING_INSTRUCTIONS_PROVIDED"
8460             },
8461             {
8462             name => "4",
8463             description => "SPECIFIC_ORDER_FOR_A_SINGLE_ACCOUNT"
8464             },
8465             { name => "5", description => "REQUEST_REJECT" },
8466             ]
8467             },
8468             { number => "161", name => "AllocText", type => "STRING" },
8469             { number => "162", name => "SettlInstID", type => "STRING" },
8470             {
8471             number => "163",
8472             name => "SettlInstTransType",
8473             type => "CHAR",
8474             enum => [
8475             { name => "N", description => "NEW" },
8476             { name => "C", description => "CANCEL" },
8477             { name => "R", description => "REPLACE" },
8478             { name => "T", description => "RESTATE" },
8479             ]
8480             },
8481             { number => "164", name => "EmailThreadID", type => "STRING" },
8482             {
8483             number => "165",
8484             name => "SettlInstSource",
8485             type => "CHAR",
8486             enum => [
8487             { name => "1", description => "BROKERS_INSTRUCTIONS" },
8488             {
8489             name => "2",
8490             description => "INSTITUTIONS_INSTRUCTIONS"
8491             },
8492             { name => "3", description => "INVESTOR" },
8493             ]
8494             },
8495             {
8496             number => "167",
8497             name => "SecurityType",
8498             type => "STRING",
8499             enum => [
8500             { name => "?", description => "WILDCARD" },
8501             {
8502             name => "ABS",
8503             description => "ASSET_BACKED_SECURITIES"
8504             },
8505             {
8506             name => "AMENDED",
8507             description => "AMENDED_AND_RESTATED"
8508             },
8509             {
8510             name => "AN",
8511             description => "OTHER_ANTICIPATION_NOTES"
8512             },
8513             { name => "BA", description => "BANKERS_ACCEPTANCE" },
8514             { name => "BN", description => "BANK_NOTES" },
8515             { name => "BOX", description => "BILL_OF_EXCHANGES" },
8516             { name => "BRADY", description => "BRADY_BOND" },
8517             { name => "BRIDGE", description => "BRIDGE_LOAN" },
8518             { name => "BUYSELL", description => "BUY_SELLBACK" },
8519             { name => "CB", description => "CONVERTIBLE_BOND" },
8520             { name => "CD", description => "CERTIFICATE_OF_DEPOSIT" },
8521             { name => "CL", description => "CALL_LOANS" },
8522             {
8523             name => "CMBS",
8524             description => "CORP_MORTGAGE_BACKED_SECURITIES"
8525             },
8526             {
8527             name => "CMO",
8528             description => "COLLATERALIZED_MORTGAGE_OBLIGATION"
8529             },
8530             {
8531             name => "COFO",
8532             description => "CERTIFICATE_OF_OBLIGATION"
8533             },
8534             {
8535             name => "COFP",
8536             description => "CERTIFICATE_OF_PARTICIPATION"
8537             },
8538             { name => "CORP", description => "CORPORATE_BOND" },
8539             { name => "CP", description => "COMMERCIAL_PAPER" },
8540             {
8541             name => "CPP",
8542             description => "CORPORATE_PRIVATE_PLACEMENT"
8543             },
8544             { name => "CS", description => "COMMON_STOCK" },
8545             { name => "DEFLTED", description => "DEFAULTED" },
8546             { name => "DINP", description => "DEBTOR_IN_POSSESSION" },
8547             { name => "DN", description => "DEPOSIT_NOTES" },
8548             { name => "DUAL", description => "DUAL_CURRENCY" },
8549             {
8550             name => "EUCD",
8551             description => "EURO_CERTIFICATE_OF_DEPOSIT"
8552             },
8553             {
8554             name => "EUCORP",
8555             description => "EURO_CORPORATE_BOND"
8556             },
8557             {
8558             name => "EUCP",
8559             description => "EURO_COMMERCIAL_PAPER"
8560             },
8561             { name => "EUSOV", description => "EURO_SOVEREIGNS" },
8562             {
8563             name => "EUSUPRA",
8564             description => "EURO_SUPRANATIONAL_COUPONS"
8565             },
8566             { name => "FAC", description => "FEDERAL_AGENCY_COUPON" },
8567             {
8568             name => "FADN",
8569             description => "FEDERAL_AGENCY_DISCOUNT_NOTE"
8570             },
8571             {
8572             name => "FOR",
8573             description => "FOREIGN_EXCHANGE_CONTRACT"
8574             },
8575             { name => "FORWARD", description => "FORWARD" },
8576             { name => "FUT", description => "FUTURE" },
8577             {
8578             name => "GO",
8579             description => "GENERAL_OBLIGATION_BONDS"
8580             },
8581             { name => "IET", description => "IOETTE_MORTGAGE" },
8582             { name => "LOFC", description => "LETTER_OF_CREDIT" },
8583             { name => "LQN", description => "LIQUIDITY_NOTE" },
8584             { name => "MATURED", description => "MATURED" },
8585             {
8586             name => "MBS",
8587             description => "MORTGAGE_BACKED_SECURITIES"
8588             },
8589             { name => "MF", description => "MUTUAL_FUND" },
8590             {
8591             name => "MIO",
8592             description => "MORTGAGE_INTEREST_ONLY"
8593             },
8594             { name => "MLEG", description => "MULTI_LEG_INSTRUMENT" },
8595             {
8596             name => "MPO",
8597             description => "MORTGAGE_PRINCIPAL_ONLY"
8598             },
8599             {
8600             name => "MPP",
8601             description => "MORTGAGE_PRIVATE_PLACEMENT"
8602             },
8603             {
8604             name => "MPT",
8605             description => "MISCELLANEOUS_PASS_THROUGH"
8606             },
8607             { name => "MT", description => "MANDATORY_TENDER" },
8608             { name => "MTN", description => "MEDIUM_TERM_NOTES" },
8609             { name => "NONE", description => "NO_SECURITY_TYPE" },
8610             { name => "ONITE", description => "OVERNIGHT" },
8611             { name => "OPT", description => "OPTION" },
8612             {
8613             name => "PEF",
8614             description => "PRIVATE_EXPORT_FUNDING"
8615             },
8616             { name => "PFAND", description => "PFANDBRIEFE" },
8617             { name => "PN", description => "PROMISSORY_NOTE" },
8618             { name => "PS", description => "PREFERRED_STOCK" },
8619             { name => "PZFJ", description => "PLAZOS_FIJOS" },
8620             {
8621             name => "RAN",
8622             description => "REVENUE_ANTICIPATION_NOTE"
8623             },
8624             { name => "REPLACD", description => "REPLACED" },
8625             { name => "REPO", description => "REPURCHASE" },
8626             { name => "RETIRED", description => "RETIRED" },
8627             { name => "REV", description => "REVENUE_BONDS" },
8628             { name => "RVLV", description => "REVOLVER_LOAN" },
8629             {
8630             name => "RVLVTRM",
8631             description => "REVOLVER_TERM_LOAN"
8632             },
8633             { name => "SECLOAN", description => "SECURITIES_LOAN" },
8634             {
8635             name => "SECPLEDGE",
8636             description => "SECURITIES_PLEDGE"
8637             },
8638             { name => "SPCLA", description => "SPECIAL_ASSESSMENT" },
8639             { name => "SPCLO", description => "SPECIAL_OBLIGATION" },
8640             { name => "SPCLT", description => "SPECIAL_TAX" },
8641             { name => "STN", description => "SHORT_TERM_LOAN_NOTE" },
8642             { name => "STRUCT", description => "STRUCTURED_NOTES" },
8643             {
8644             name => "SUPRA",
8645             description => "USD_SUPRANATIONAL_COUPONS"
8646             },
8647             { name => "SWING", description => "SWING_LINE_FACILITY" },
8648             { name => "TAN", description => "TAX_ANTICIPATION_NOTE" },
8649             { name => "TAXA", description => "TAX_ALLOCATION" },
8650             { name => "TBA", description => "TO_BE_ANNOUNCED" },
8651             { name => "TBILL", description => "US_TREASURY_BILL" },
8652             { name => "TBOND", description => "US_TREASURY_BOND" },
8653             {
8654             name => "TCAL",
8655             description =>
8656             "PRINCIPAL_STRIP_OF_A_CALLABLE_BOND_OR_NOTE"
8657             },
8658             { name => "TD", description => "TIME_DEPOSIT" },
8659             {
8660             name => "TECP",
8661             description => "TAX_EXEMPT_COMMERCIAL_PAPER"
8662             },
8663             { name => "TERM", description => "TERM_LOAN" },
8664             {
8665             name => "TINT",
8666             description => "INTEREST_STRIP_FROM_ANY_BOND_OR_NOTE"
8667             },
8668             {
8669             name => "TIPS",
8670             description =>
8671             "TREASURY_INFLATION_PROTECTED_SECURITIES"
8672             },
8673             { name => "TNOTE", description => "US_TREASURY_NOTE" },
8674             {
8675             name => "TPRN",
8676             description =>
8677             "PRINCIPAL_STRIP_FROM_A_NON_CALLABLE_BOND_OR_NOTE"
8678             },
8679             {
8680             name => "TRAN",
8681             description => "TAX_AND_REVENUE_ANTICIPATION_NOTE"
8682             },
8683             {
8684             name => "VRDN",
8685             description => "VARIABLE_RATE_DEMAND_NOTE"
8686             },
8687             { name => "WAR", description => "WARRANT" },
8688             { name => "WITHDRN", description => "WITHDRAWN" },
8689             { name => "XCN", description => "EXTENDED_COMM_NOTE" },
8690             { name => "XLINKD", description => "INDEXED_LINKED" },
8691             {
8692             name => "YANK",
8693             description => "YANKEE_CORPORATE_BOND"
8694             },
8695             {
8696             name => "YCD",
8697             description => "YANKEE_CERTIFICATE_OF_DEPOSIT"
8698             },
8699             ]
8700             },
8701             {
8702             number => "168",
8703             name => "EffectiveTime",
8704             type => "UTCTIMESTAMP"
8705             },
8706             {
8707             number => "169",
8708             name => "StandInstDbType",
8709             type => "INT",
8710             enum => [
8711             { name => "0", description => "OTHER" },
8712             { name => "1", description => "DTC_SID" },
8713             { name => "2", description => "THOMSON_ALERT" },
8714             { name => "3", description => "A_GLOBAL_CUSTODIAN" },
8715             { name => "4", description => "ACCOUNTNET" },
8716             ]
8717             },
8718             { number => "170", name => "StandInstDbName", type => "STRING" },
8719             { number => "171", name => "StandInstDbID", type => "STRING" },
8720             {
8721             number => "172",
8722             name => "SettlDeliveryType",
8723             type => "INT",
8724             enum => [
8725             { name => "0", description => "VERSUS_PAYMENT" },
8726             { name => "1", description => "FREE" },
8727             { name => "2", description => "TRI_PARTY" },
8728             { name => "3", description => "HOLD_IN_CUSTODY" },
8729             ]
8730             },
8731             { number => "188", name => "BidSpotRate", type => "PRICE" },
8732             {
8733             number => "189",
8734             name => "BidForwardPoints",
8735             type => "PRICEOFFSET"
8736             },
8737             { number => "190", name => "OfferSpotRate", type => "PRICE" },
8738             {
8739             number => "191",
8740             name => "OfferForwardPoints",
8741             type => "PRICEOFFSET"
8742             },
8743             { number => "192", name => "OrderQty2", type => "QTY" },
8744             { number => "193", name => "SettlDate2", type => "LOCALMKTDATE" },
8745             { number => "194", name => "LastSpotRate", type => "PRICE" },
8746             {
8747             number => "195",
8748             name => "LastForwardPoints",
8749             type => "PRICEOFFSET"
8750             },
8751             { number => "196", name => "AllocLinkID", type => "STRING" },
8752             {
8753             number => "197",
8754             name => "AllocLinkType",
8755             type => "INT",
8756             enum => [
8757             { name => "0", description => "F_X_NETTING" },
8758             { name => "1", description => "F_X_SWAP" },
8759             ]
8760             },
8761             { number => "198", name => "SecondaryOrderID", type => "STRING" },
8762             {
8763             number => "199",
8764             name => "NoIOIQualifiers",
8765             type => "NUMINGROUP"
8766             },
8767             {
8768             number => "200",
8769             name => "MaturityMonthYear",
8770             type => "MONTHYEAR"
8771             },
8772             { number => "202", name => "StrikePrice", type => "PRICE" },
8773             {
8774             number => "203",
8775             name => "CoveredOrUncovered",
8776             type => "INT",
8777             enum => [
8778             { name => "0", description => "COVERED" },
8779             { name => "1", description => "UNCOVERED" },
8780             ]
8781             },
8782             { number => "206", name => "OptAttribute", type => "CHAR" },
8783             {
8784             number => "207",
8785             name => "SecurityExchange",
8786             type => "EXCHANGE"
8787             },
8788             {
8789             number => "208",
8790             name => "NotifyBrokerOfCredit",
8791             type => "BOOLEAN"
8792             },
8793             {
8794             number => "209",
8795             name => "AllocHandlInst",
8796             type => "INT",
8797             enum => [
8798             { name => "1", description => "MATCH" },
8799             { name => "2", description => "FORWARD" },
8800             { name => "3", description => "FORWARD_AND_MATCH" },
8801             ]
8802             },
8803             { number => "210", name => "MaxShow", type => "QTY" },
8804             { number => "211", name => "PegOffsetValue", type => "FLOAT" },
8805             { number => "212", name => "XmlDataLen", type => "LENGTH" },
8806             { number => "213", name => "XmlData", type => "DATA" },
8807             { number => "214", name => "SettlInstRefID", type => "STRING" },
8808             { number => "215", name => "NoRoutingIDs", type => "NUMINGROUP" },
8809             {
8810             number => "216",
8811             name => "RoutingType",
8812             type => "INT",
8813             enum => [
8814             { name => "1", description => "TARGET_FIRM" },
8815             { name => "2", description => "TARGET_LIST" },
8816             { name => "3", description => "BLOCK_FIRM" },
8817             { name => "4", description => "BLOCK_LIST" },
8818             ]
8819             },
8820             { number => "217", name => "RoutingID", type => "STRING" },
8821             { number => "218", name => "Spread", type => "PRICEOFFSET" },
8822             {
8823             number => "220",
8824             name => "BenchmarkCurveCurrency",
8825             type => "CURRENCY"
8826             },
8827             {
8828             number => "221",
8829             name => "BenchmarkCurveName",
8830             type => "STRING",
8831             enum => [
8832             { name => "MuniAAA", description => "MUNIAAA" },
8833             { name => "FutureSWAP", description => "FUTURESWAP" },
8834             { name => "LIBID", description => "LIBID" },
8835             { name => "LIBOR", description => "LIBOR" },
8836             { name => "OTHER", description => "OTHER" },
8837             { name => "SWAP", description => "SWAP" },
8838             { name => "Treasury", description => "TREASURY" },
8839             { name => "Euribor", description => "EURIBOR" },
8840             { name => "Pfandbriefe", description => "PFANDBRIEFE" },
8841             { name => "EONIA", description => "EONIA" },
8842             { name => "SONIA", description => "SONIA" },
8843             { name => "EUREPO", description => "EUREPO" },
8844             ]
8845             },
8846             {
8847             number => "222",
8848             name => "BenchmarkCurvePoint",
8849             type => "STRING"
8850             },
8851             { number => "223", name => "CouponRate", type => "PERCENTAGE" },
8852             {
8853             number => "224",
8854             name => "CouponPaymentDate",
8855             type => "LOCALMKTDATE"
8856             },
8857             { number => "225", name => "IssueDate", type => "LOCALMKTDATE" },
8858             { number => "226", name => "RepurchaseTerm", type => "INT" },
8859             {
8860             number => "227",
8861             name => "RepurchaseRate",
8862             type => "PERCENTAGE"
8863             },
8864             { number => "228", name => "Factor", type => "FLOAT" },
8865             {
8866             number => "229",
8867             name => "TradeOriginationDate",
8868             type => "LOCALMKTDATE"
8869             },
8870             { number => "230", name => "ExDate", type => "LOCALMKTDATE" },
8871             {
8872             number => "231",
8873             name => "ContractMultiplier",
8874             type => "FLOAT"
8875             },
8876             {
8877             number => "232",
8878             name => "NoStipulations",
8879             type => "NUMINGROUP"
8880             },
8881             {
8882             number => "233",
8883             name => "StipulationType",
8884             type => "STRING",
8885             enum => [
8886             { name => "AMT", description => "AMT" },
8887             {
8888             name => "AUTOREINV",
8889             description => "AUTO_REINVESTMENT_AT_OR_BETTER"
8890             },
8891             { name => "BANKQUAL", description => "BANK_QUALIFIED" },
8892             { name => "BGNCON", description => "BARGAIN_CONDITIONS" },
8893             { name => "COUPON", description => "COUPON_RANGE" },
8894             {
8895             name => "CURRENCY",
8896             description => "ISO_CURRENCY_CODE"
8897             },
8898             {
8899             name => "CUSTOMDATE",
8900             description => "CUSTOM_START_END_DATE"
8901             },
8902             {
8903             name => "GEOG",
8904             description => "GEOGRAPHICS_AND_PERCENT_RANGE"
8905             },
8906             {
8907             name => "HAIRCUT",
8908             description => "VALUATION_DISCOUNT"
8909             },
8910             { name => "INSURED", description => "INSURED" },
8911             {
8912             name => "ISSUE",
8913             description => "YEAR_OR_YEAR_MONTH_OF_ISSUE"
8914             },
8915             { name => "ISSUER", description => "ISSUERS_TICKER" },
8916             {
8917             name => "ISSUESIZE",
8918             description => "ISSUE_SIZE_RANGE"
8919             },
8920             { name => "LOOKBACK", description => "LOOKBACK_DAYS" },
8921             {
8922             name => "LOT",
8923             description => "EXPLICIT_LOT_IDENTIFIER"
8924             },
8925             { name => "LOTVAR", description => "LOT_VARIANCE" },
8926             {
8927             name => "MAT",
8928             description => "MATURITY_YEAR_AND_MONTH"
8929             },
8930             { name => "MATURITY", description => "MATURITY_RANGE" },
8931             {
8932             name => "MAXSUBS",
8933             description => "MAXIMUM_SUBSTITUTIONS"
8934             },
8935             { name => "MINQTY", description => "MINIMUM_QUANTITY" },
8936             { name => "MININCR", description => "MINIMUM_INCREMENT" },
8937             {
8938             name => "MINDNOM",
8939             description => "MINIMUM_DENOMINATION"
8940             },
8941             {
8942             name => "PAYFREQ",
8943             description => "PAYMENT_FREQUENCY_CALENDAR"
8944             },
8945             { name => "PIECES", description => "NUMBER_OF_PIECES" },
8946             { name => "PMAX", description => "POOLS_MAXIMUM" },
8947             { name => "PPM", description => "POOLS_PER_MILLION" },
8948             { name => "PPL", description => "POOLS_PER_LOT" },
8949             { name => "PPT", description => "POOLS_PER_TRADE" },
8950             { name => "PRICE", description => "PRICE_RANGE" },
8951             {
8952             name => "PRICEFREQ",
8953             description => "PRICING_FREQUENCY"
8954             },
8955             { name => "PROD", description => "PRODUCTION_YEAR" },
8956             { name => "PROTECT", description => "CALL_PROTECTION" },
8957             { name => "PURPOSE", description => "PURPOSE" },
8958             {
8959             name => "PXSOURCE",
8960             description => "BENCHMARK_PRICE_SOURCE"
8961             },
8962             {
8963             name => "RATING",
8964             description => "RATING_SOURCE_AND_RANGE"
8965             },
8966             { name => "RESTRICTED", description => "RESTRICTED" },
8967             { name => "SECTOR", description => "MARKET_SECTOR" },
8968             {
8969             name => "SECTYPE",
8970             description => "SECURITYTYPE_INCLUDED_OR_EXCLUDED"
8971             },
8972             { name => "STRUCT", description => "STRUCTURE" },
8973             {
8974             name => "SUBSFREQ",
8975             description => "SUBSTITUTIONS_FREQUENCY"
8976             },
8977             {
8978             name => "SUBSLEFT",
8979             description => "SUBSTITUTIONS_LEFT"
8980             },
8981             { name => "TEXT", description => "FREEFORM_TEXT" },
8982             { name => "TRDVAR", description => "TRADE_VARIANCE" },
8983             {
8984             name => "WAC",
8985             description => "WEIGHTED_AVERAGE_COUPON"
8986             },
8987             {
8988             name => "WAL",
8989             description => "WEIGHTED_AVERAGE_LIFE_COUPON"
8990             },
8991             {
8992             name => "WALA",
8993             description => "WEIGHTED_AVERAGE_LOAN_AGE"
8994             },
8995             {
8996             name => "WAM",
8997             description => "WEIGHTED_AVERAGE_MATURITY"
8998             },
8999             { name => "WHOLE", description => "WHOLE_POOL" },
9000             { name => "YIELD", description => "YIELD_RANGE" },
9001             {
9002             name => "SMM",
9003             description => "SINGLE_MONTHLY_MORTALITY"
9004             },
9005             {
9006             name => "CPR",
9007             description => "CONSTANT_PREPAYMENT_RATE"
9008             },
9009             {
9010             name => "CPY",
9011             description => "CONSTANT_PREPAYMENT_YIELD"
9012             },
9013             {
9014             name => "CPP",
9015             description => "CONSTANT_PREPAYMENT_PENALTY"
9016             },
9017             {
9018             name => "ABS",
9019             description => "ABSOLUTE_PREPAYMENT_SPEED"
9020             },
9021             {
9022             name => "MPR",
9023             description => "MONTHLY_PREPAYMENT_RATE"
9024             },
9025             {
9026             name => "PSA",
9027             description => "PERCENT_OF_BMA_PREPAYMENT_CURVE"
9028             },
9029             {
9030             name => "PPC",
9031             description =>
9032             "PERCENT_OF_PROSPECTUS_PREPAYMENT_CURVE"
9033             },
9034             {
9035             name => "MHP",
9036             description =>
9037             "PERCENT_OF_MANUFACTURED_HOUSING_PREPAYMENT_CURVE"
9038             },
9039             {
9040             name => "HEP",
9041             description =>
9042             "FINAL_CPR_OF_HOME_EQUITY_PREPAYMENT_CURVE"
9043             },
9044             ]
9045             },
9046             {
9047             number => "234",
9048             name => "StipulationValue",
9049             type => "STRING",
9050             enum => [
9051             { name => "CD", description => "SPECIAL_CUM_DIVIDEND" },
9052             { name => "XD", description => "SPECIAL_EX_DIVIDEND" },
9053             { name => "CC", description => "SPECIAL_CUM_COUPON" },
9054             { name => "XC", description => "SPECIAL_EX_COUPON" },
9055             { name => "CB", description => "SPECIAL_CUM_BONUS" },
9056             { name => "XB", description => "SPECIAL_EX_BONUS" },
9057             { name => "CR", description => "SPECIAL_CUM_RIGHTS" },
9058             { name => "XR", description => "SPECIAL_EX_RIGHTS" },
9059             {
9060             name => "CP",
9061             description => "SPECIAL_CUM_CAPITAL_REPAYMENTS"
9062             },
9063             {
9064             name => "XP",
9065             description => "SPECIAL_EX_CAPITAL_REPAYMENTS"
9066             },
9067             { name => "CS", description => "CASH_SETTLEMENT" },
9068             { name => "SP", description => "SPECIAL_PRICE" },
9069             {
9070             name => "TR",
9071             description =>
9072             "REPORT_FOR_EUROPEAN_EQUITY_MARKET_SECURITIES"
9073             },
9074             { name => "GD", description => "GUARANTEED_DELIVERY" },
9075             ]
9076             },
9077             {
9078             number => "235",
9079             name => "YieldType",
9080             type => "STRING",
9081             enum => [
9082             { name => "AFTERTAX", description => "AFTER_TAX_YIELD" },
9083             { name => "ANNUAL", description => "ANNUAL_YIELD" },
9084             { name => "ATISSUE", description => "YIELD_AT_ISSUE" },
9085             {
9086             name => "AVGMATURITY",
9087             description => "YIELD_TO_AVERAGE_MATURITY"
9088             },
9089             { name => "BOOK", description => "BOOK_YIELD" },
9090             { name => "CALL", description => "YIELD_TO_NEXT_CALL" },
9091             {
9092             name => "CHANGE",
9093             description => "YIELD_CHANGE_SINCE_CLOSE"
9094             },
9095             { name => "CLOSE", description => "CLOSING_YIELD" },
9096             { name => "COMPOUND", description => "COMPOUND_YIELD" },
9097             { name => "CURRENT", description => "CURRENT_YIELD" },
9098             { name => "GROSS", description => "TRUE_GROSS_YIELD" },
9099             {
9100             name => "GOVTEQUIV",
9101             description => "GOVERNMENT_EQUIVALENT_YIELD"
9102             },
9103             {
9104             name => "INFLATION",
9105             description => "YIELD_WITH_INFLATION_ASSUMPTION"
9106             },
9107             {
9108             name => "INVERSEFLOATER",
9109             description => "INVERSE_FLOATER_BOND_YIELD"
9110             },
9111             {
9112             name => "LASTCLOSE",
9113             description => "MOST_RECENT_CLOSING_YIELD"
9114             },
9115             {
9116             name => "LASTMONTH",
9117             description => "CLOSING_YIELD_MOST_RECENT_MONTH"
9118             },
9119             {
9120             name => "LASTQUARTER",
9121             description => "CLOSING_YIELD_MOST_RECENT_QUARTER"
9122             },
9123             {
9124             name => "LASTYEAR",
9125             description => "CLOSING_YIELD_MOST_RECENT_YEAR"
9126             },
9127             {
9128             name => "LONGAVGLIFE",
9129             description => "YIELD_TO_LONGEST_AVERAGE_LIFE"
9130             },
9131             { name => "MARK", description => "MARK_TO_MARKET_YIELD" },
9132             {
9133             name => "MATURITY",
9134             description => "YIELD_TO_MATURITY"
9135             },
9136             {
9137             name => "NEXTREFUND",
9138             description => "YIELD_TO_NEXT_REFUND"
9139             },
9140             {
9141             name => "OPENAVG",
9142             description => "OPEN_AVERAGE_YIELD"
9143             },
9144             { name => "PUT", description => "YIELD_TO_NEXT_PUT" },
9145             {
9146             name => "PREVCLOSE",
9147             description => "PREVIOUS_CLOSE_YIELD"
9148             },
9149             { name => "PROCEEDS", description => "PROCEEDS_YIELD" },
9150             {
9151             name => "SEMIANNUAL",
9152             description => "SEMI_ANNUAL_YIELD"
9153             },
9154             {
9155             name => "SHORTAVGLIFE",
9156             description => "YIELD_TO_SHORTEST_AVERAGE_LIFE"
9157             },
9158             { name => "SIMPLE", description => "SIMPLE_YIELD" },
9159             {
9160             name => "TAXEQUIV",
9161             description => "TAX_EQUIVALENT_YIELD"
9162             },
9163             {
9164             name => "TENDER",
9165             description => "YIELD_TO_TENDER_DATE"
9166             },
9167             { name => "TRUE", description => "TRUE_YIELD" },
9168             {
9169             name => "VALUE1_32",
9170             description => "YIELD_VALUE_OF_1_32"
9171             },
9172             { name => "WORST", description => "YIELD_TO_WORST" },
9173             ]
9174             },
9175             { number => "236", name => "Yield", type => "PERCENTAGE" },
9176             { number => "237", name => "TotalTakedown", type => "AMT" },
9177             { number => "238", name => "Concession", type => "AMT" },
9178             {
9179             number => "239",
9180             name => "RepoCollateralSecurityType",
9181             type => "INT"
9182             },
9183             {
9184             number => "240",
9185             name => "RedemptionDate",
9186             type => "LOCALMKTDATE"
9187             },
9188             {
9189             number => "241",
9190             name => "UnderlyingCouponPaymentDate",
9191             type => "LOCALMKTDATE"
9192             },
9193             {
9194             number => "242",
9195             name => "UnderlyingIssueDate",
9196             type => "LOCALMKTDATE"
9197             },
9198             {
9199             number => "243",
9200             name => "UnderlyingRepoCollateralSecurityType",
9201             type => "INT"
9202             },
9203             {
9204             number => "244",
9205             name => "UnderlyingRepurchaseTerm",
9206             type => "INT"
9207             },
9208             {
9209             number => "245",
9210             name => "UnderlyingRepurchaseRate",
9211             type => "PERCENTAGE"
9212             },
9213             { number => "246", name => "UnderlyingFactor", type => "FLOAT" },
9214             {
9215             number => "247",
9216             name => "UnderlyingRedemptionDate",
9217             type => "LOCALMKTDATE"
9218             },
9219             {
9220             number => "248",
9221             name => "LegCouponPaymentDate",
9222             type => "LOCALMKTDATE"
9223             },
9224             {
9225             number => "249",
9226             name => "LegIssueDate",
9227             type => "LOCALMKTDATE"
9228             },
9229             {
9230             number => "250",
9231             name => "LegRepoCollateralSecurityType",
9232             type => "INT"
9233             },
9234             { number => "251", name => "LegRepurchaseTerm", type => "INT" },
9235             {
9236             number => "252",
9237             name => "LegRepurchaseRate",
9238             type => "PERCENTAGE"
9239             },
9240             { number => "253", name => "LegFactor", type => "FLOAT" },
9241             {
9242             number => "254",
9243             name => "LegRedemptionDate",
9244             type => "LOCALMKTDATE"
9245             },
9246             { number => "255", name => "CreditRating", type => "STRING" },
9247             {
9248             number => "256",
9249             name => "UnderlyingCreditRating",
9250             type => "STRING"
9251             },
9252             { number => "257", name => "LegCreditRating", type => "STRING" },
9253             {
9254             number => "258",
9255             name => "TradedFlatSwitch",
9256             type => "BOOLEAN"
9257             },
9258             {
9259             number => "259",
9260             name => "BasisFeatureDate",
9261             type => "LOCALMKTDATE"
9262             },
9263             { number => "260", name => "BasisFeaturePrice", type => "PRICE" },
9264             { number => "262", name => "MDReqID", type => "STRING" },
9265             {
9266             number => "263",
9267             name => "SubscriptionRequestType",
9268             type => "CHAR",
9269             enum => [
9270             { name => "0", description => "SNAPSHOT" },
9271             { name => "1", description => "SNAPSHOT_PLUS_UPDATES" },
9272             {
9273             name => "2",
9274             description =>
9275             "DISABLE_PREVIOUS_SNAPSHOT_PLUS_UPDATE_REQUEST"
9276             },
9277             ]
9278             },
9279             {
9280             number => "264",
9281             name => "MarketDepth",
9282             type => "INT",
9283             enum => [
9284             { name => "0", description => "FULL_BOOK" },
9285             { name => "1", description => "TOP_OF_BOOK" },
9286             ]
9287             },
9288             {
9289             number => "265",
9290             name => "MDUpdateType",
9291             type => "INT",
9292             enum => [
9293             { name => "0", description => "FULL_REFRESH" },
9294             { name => "1", description => "INCREMENTAL_REFRESH" },
9295             ]
9296             },
9297             { number => "266", name => "AggregatedBook", type => "BOOLEAN" },
9298             {
9299             number => "267",
9300             name => "NoMDEntryTypes",
9301             type => "NUMINGROUP"
9302             },
9303             { number => "268", name => "NoMDEntries", type => "NUMINGROUP" },
9304             {
9305             number => "269",
9306             name => "MDEntryType",
9307             type => "CHAR",
9308             enum => [
9309             { name => "0", description => "BID" },
9310             { name => "1", description => "OFFER" },
9311             { name => "2", description => "TRADE" },
9312             { name => "3", description => "INDEX_VALUE" },
9313             { name => "4", description => "OPENING_PRICE" },
9314             { name => "5", description => "CLOSING_PRICE" },
9315             { name => "6", description => "SETTLEMENT_PRICE" },
9316             {
9317             name => "7",
9318             description => "TRADING_SESSION_HIGH_PRICE"
9319             },
9320             {
9321             name => "8",
9322             description => "TRADING_SESSION_LOW_PRICE"
9323             },
9324             {
9325             name => "9",
9326             description => "TRADING_SESSION_VWAP_PRICE"
9327             },
9328             { name => "A", description => "IMBALANCE" },
9329             { name => "B", description => "TRADE_VOLUME" },
9330             { name => "C", description => "OPEN_INTEREST" },
9331             ]
9332             },
9333             { number => "270", name => "MDEntryPx", type => "PRICE" },
9334             { number => "271", name => "MDEntrySize", type => "QTY" },
9335             { number => "272", name => "MDEntryDate", type => "UTCDATEONLY" },
9336             { number => "273", name => "MDEntryTime", type => "UTCTIMEONLY" },
9337             {
9338             number => "274",
9339             name => "TickDirection",
9340             type => "CHAR",
9341             enum => [
9342             { name => "0", description => "PLUS_TICK" },
9343             { name => "1", description => "ZERO_PLUS_TICK" },
9344             { name => "2", description => "MINUS_TICK" },
9345             { name => "3", description => "ZERO_MINUS_TICK" },
9346             ]
9347             },
9348             { number => "275", name => "MDMkt", type => "EXCHANGE" },
9349             {
9350             number => "276",
9351             name => "QuoteCondition",
9352             type => "MULTIPLEVALUESTRING",
9353             enum => [
9354             { name => "A", description => "OPEN_ACTIVE" },
9355             { name => "B", description => "CLOSED_INACTIVE" },
9356             { name => "C", description => "EXCHANGE_BEST" },
9357             { name => "D", description => "CONSOLIDATED_BEST" },
9358             { name => "E", description => "LOCKED" },
9359             { name => "F", description => "CROSSED" },
9360             { name => "G", description => "DEPTH" },
9361             { name => "H", description => "FAST_TRADING" },
9362             { name => "I", description => "NON_FIRM" },
9363             ]
9364             },
9365             {
9366             number => "277",
9367             name => "TradeCondition",
9368             type => "MULTIPLEVALUESTRING",
9369             enum => [
9370             { name => "A", description => "CASH_MARKET" },
9371             { name => "B", description => "AVERAGE_PRICE_TRADE" },
9372             { name => "C", description => "CASH_TRADE" },
9373             { name => "D", description => "NEXT_DAY_MARKET" },
9374             {
9375             name => "E",
9376             description => "OPENING_REOPENING_TRADE_DETAIL"
9377             },
9378             { name => "F", description => "INTRADAY_TRADE_DETAIL" },
9379             { name => "G", description => "RULE127" },
9380             { name => "H", description => "RULE155" },
9381             { name => "I", description => "SOLD_LAST" },
9382             { name => "J", description => "NEXT_DAY_TRADE" },
9383             { name => "K", description => "OPENED" },
9384             { name => "L", description => "SELLER" },
9385             { name => "M", description => "SOLD" },
9386             { name => "N", description => "STOPPED_STOCK" },
9387             { name => "P", description => "IMBALANCE_MORE_BUYERS" },
9388             { name => "Q", description => "IMBALANCE_MORE_SELLERS" },
9389             { name => "R", description => "OPENING_PRICE" },
9390             ]
9391             },
9392             { number => "278", name => "MDEntryID", type => "STRING" },
9393             {
9394             number => "279",
9395             name => "MDUpdateAction",
9396             type => "CHAR",
9397             enum => [
9398             { name => "0", description => "NEW" },
9399             { name => "1", description => "CHANGE" },
9400             { name => "2", description => "DELETE" },
9401             ]
9402             },
9403             { number => "280", name => "MDEntryRefID", type => "STRING" },
9404             {
9405             number => "281",
9406             name => "MDReqRejReason",
9407             type => "CHAR",
9408             enum => [
9409             { name => "0", description => "UNKNOWN_SYMBOL" },
9410             { name => "1", description => "DUPLICATE_MDREQID" },
9411             { name => "2", description => "INSUFFICIENT_BANDWIDTH" },
9412             {
9413             name => "3",
9414             description => "INSUFFICIENT_PERMISSIONS"
9415             },
9416             {
9417             name => "4",
9418             description => "UNSUPPORTED_SUBSCRIPTIONREQUESTTYPE"
9419             },
9420             { name => "5", description => "UNSUPPORTED_MARKETDEPTH" },
9421             {
9422             name => "6",
9423             description => "UNSUPPORTED_MDUPDATETYPE"
9424             },
9425             {
9426             name => "7",
9427             description => "UNSUPPORTED_AGGREGATEDBOOK"
9428             },
9429             { name => "8", description => "UNSUPPORTED_MDENTRYTYPE" },
9430             {
9431             name => "9",
9432             description => "UNSUPPORTED_TRADINGSESSIONID"
9433             },
9434             { name => "A", description => "UNSUPPORTED_SCOPE" },
9435             {
9436             name => "B",
9437             description => "UNSUPPORTED_OPENCLOSESETTLEFLAG"
9438             },
9439             {
9440             name => "C",
9441             description => "UNSUPPORTED_MDIMPLICITDELETE"
9442             },
9443             ]
9444             },
9445             {
9446             number => "282",
9447             name => "MDEntryOriginator",
9448             type => "STRING"
9449             },
9450             { number => "283", name => "LocationID", type => "STRING" },
9451             { number => "284", name => "DeskID", type => "STRING" },
9452             {
9453             number => "285",
9454             name => "DeleteReason",
9455             type => "CHAR",
9456             enum => [
9457             { name => "0", description => "CANCELATION_TRADE_BUST" },
9458             { name => "1", description => "ERROR" },
9459             ]
9460             },
9461             {
9462             number => "286",
9463             name => "OpenCloseSettlFlag",
9464             type => "MULTIPLEVALUESTRING",
9465             enum => [
9466             {
9467             name => "0",
9468             description => "DAILY_OPEN_CLOSE_SETTLEMENT_ENTRY"
9469             },
9470             {
9471             name => "1",
9472             description => "SESSION_OPEN_CLOSE_SETTLEMENT_ENTRY"
9473             },
9474             {
9475             name => "2",
9476             description => "DELIVERY_SETTLEMENT_ENTRY"
9477             },
9478             { name => "3", description => "EXPECTED_ENTRY" },
9479             {
9480             name => "4",
9481             description => "ENTRY_FROM_PREVIOUS_BUSINESS_DAY"
9482             },
9483             { name => "5", description => "THEORETICAL_PRICE_VALUE" },
9484             ]
9485             },
9486             { number => "287", name => "SellerDays", type => "INT" },
9487             { number => "288", name => "MDEntryBuyer", type => "STRING" },
9488             { number => "289", name => "MDEntrySeller", type => "STRING" },
9489             { number => "290", name => "MDEntryPositionNo", type => "INT" },
9490             {
9491             number => "291",
9492             name => "FinancialStatus",
9493             type => "MULTIPLEVALUESTRING",
9494             enum => [
9495             { name => "1", description => "BANKRUPT" },
9496             { name => "2", description => "PENDING_DELISTING" },
9497             ]
9498             },
9499             {
9500             number => "292",
9501             name => "CorporateAction",
9502             type => "MULTIPLEVALUESTRING",
9503             enum => [
9504             { name => "A", description => "EX_DIVIDEND" },
9505             { name => "B", description => "EX_DISTRIBUTION" },
9506             { name => "C", description => "EX_RIGHTS" },
9507             { name => "D", description => "NEW" },
9508             { name => "E", description => "EX_INTEREST" },
9509             ]
9510             },
9511             { number => "293", name => "DefBidSize", type => "QTY" },
9512             { number => "294", name => "DefOfferSize", type => "QTY" },
9513             {
9514             number => "295",
9515             name => "NoQuoteEntries",
9516             type => "NUMINGROUP"
9517             },
9518             { number => "296", name => "NoQuoteSets", type => "NUMINGROUP" },
9519             {
9520             number => "297",
9521             name => "QuoteStatus",
9522             type => "INT",
9523             enum => [
9524             { name => "0", description => "ACCEPTED" },
9525             { name => "1", description => "CANCELED_FOR_SYMBOL" },
9526             {
9527             name => "2",
9528             description => "CANCELED_FOR_SECURITY_TYPE"
9529             },
9530             { name => "3", description => "CANCELED_FOR_UNDERLYING" },
9531             { name => "4", description => "CANCELED_ALL" },
9532             { name => "5", description => "REJECTED" },
9533             { name => "6", description => "REMOVED_FROM_MARKET" },
9534             { name => "7", description => "EXPIRED" },
9535             { name => "8", description => "QUERY" },
9536             { name => "9", description => "QUOTE_NOT_FOUND" },
9537             { name => "10", description => "PENDING" },
9538             { name => "11", description => "PASS" },
9539             { name => "12", description => "LOCKED_MARKET_WARNING" },
9540             { name => "13", description => "CROSS_MARKET_WARNING" },
9541             {
9542             name => "14",
9543             description => "CANCELED_DUE_TO_LOCK_MARKET"
9544             },
9545             {
9546             name => "15",
9547             description => "CANCELED_DUE_TO_CROSS_MARKET"
9548             },
9549             ]
9550             },
9551             {
9552             number => "298",
9553             name => "QuoteCancelType",
9554             type => "INT",
9555             enum => [
9556             { name => "1", description => "CANCEL_FOR_SYMBOL" },
9557             {
9558             name => "2",
9559             description => "CANCEL_FOR_SECURITY_TYPE"
9560             },
9561             {
9562             name => "3",
9563             description => "CANCEL_FOR_UNDERLYING_SYMBOL"
9564             },
9565             { name => "4", description => "CANCEL_ALL_QUOTES" },
9566             ]
9567             },
9568             { number => "299", name => "QuoteEntryID", type => "STRING" },
9569             {
9570             number => "300",
9571             name => "QuoteRejectReason",
9572             type => "INT",
9573             enum => [
9574             { name => "1", description => "UNKNOWN_SYMBOL" },
9575             { name => "2", description => "EXCHANGE_CLOSED" },
9576             {
9577             name => "3",
9578             description => "QUOTE_REQUEST_EXCEEDS_LIMIT"
9579             },
9580             { name => "4", description => "TOO_LATE_TO_ENTER" },
9581             { name => "5", description => "UNKNOWN_QUOTE" },
9582             { name => "6", description => "DUPLICATE_QUOTE" },
9583             { name => "7", description => "INVALID_BID_ASK_SPREAD" },
9584             { name => "8", description => "INVALID_PRICE" },
9585             {
9586             name => "9",
9587             description => "NOT_AUTHORIZED_TO_QUOTE_SECURITY"
9588             },
9589             ]
9590             },
9591             {
9592             number => "301",
9593             name => "QuoteResponseLevel",
9594             type => "INT",
9595             enum => [
9596             { name => "0", description => "NO_ACKNOWLEDGEMENT" },
9597             {
9598             name => "1",
9599             description =>
9600             "ACKNOWLEDGE_ONLY_NEGATIVE_OR_ERRONEOUS_QUOTES"
9601             },
9602             {
9603             name => "2",
9604             description => "ACKNOWLEDGE_EACH_QUOTE_MESSAGES"
9605             },
9606             ]
9607             },
9608             { number => "302", name => "QuoteSetID", type => "STRING" },
9609             {
9610             number => "303",
9611             name => "QuoteRequestType",
9612             type => "INT",
9613             enum => [
9614             { name => "1", description => "MANUAL" },
9615             { name => "2", description => "AUTOMATIC" },
9616             ]
9617             },
9618             { number => "304", name => "TotNoQuoteEntries", type => "INT" },
9619             {
9620             number => "305",
9621             name => "UnderlyingSecurityIDSource",
9622             type => "STRING"
9623             },
9624             { number => "306", name => "UnderlyingIssuer", type => "STRING" },
9625             {
9626             number => "307",
9627             name => "UnderlyingSecurityDesc",
9628             type => "STRING"
9629             },
9630             {
9631             number => "308",
9632             name => "UnderlyingSecurityExchange",
9633             type => "EXCHANGE"
9634             },
9635             {
9636             number => "309",
9637             name => "UnderlyingSecurityID",
9638             type => "STRING"
9639             },
9640             {
9641             number => "310",
9642             name => "UnderlyingSecurityType",
9643             type => "STRING"
9644             },
9645             { number => "311", name => "UnderlyingSymbol", type => "STRING" },
9646             {
9647             number => "312",
9648             name => "UnderlyingSymbolSfx",
9649             type => "STRING"
9650             },
9651             {
9652             number => "313",
9653             name => "UnderlyingMaturityMonthYear",
9654             type => "MONTHYEAR"
9655             },
9656             {
9657             number => "316",
9658             name => "UnderlyingStrikePrice",
9659             type => "PRICE"
9660             },
9661             {
9662             number => "317",
9663             name => "UnderlyingOptAttribute",
9664             type => "CHAR"
9665             },
9666             {
9667             number => "318",
9668             name => "UnderlyingCurrency",
9669             type => "CURRENCY"
9670             },
9671             { number => "320", name => "SecurityReqID", type => "STRING" },
9672             {
9673             number => "321",
9674             name => "SecurityRequestType",
9675             type => "INT",
9676             enum => [
9677             {
9678             name => "0",
9679             description =>
9680             "REQUEST_SECURITY_IDENTITY_AND_SPECIFICATIONS"
9681             },
9682             {
9683             name => "1",
9684             description =>
9685             "REQUEST_SECURITY_IDENTITY_FOR_THE_SPECIFICATIONS_PROVIDED"
9686             },
9687             {
9688             name => "2",
9689             description => "REQUEST_LIST_SECURITY_TYPES"
9690             },
9691             { name => "3", description => "REQUEST_LIST_SECURITIES" },
9692             ]
9693             },
9694             {
9695             number => "322",
9696             name => "SecurityResponseID",
9697             type => "STRING"
9698             },
9699             {
9700             number => "323",
9701             name => "SecurityResponseType",
9702             type => "INT",
9703             enum => [
9704             {
9705             name => "1",
9706             description => "ACCEPT_SECURITY_PROPOSAL_AS_IS"
9707             },
9708             {
9709             name => "2",
9710             description =>
9711             "ACCEPT_SECURITY_PROPOSAL_WITH_REVISIONS_AS_INDICATED_IN_THE_MESSAGE"
9712             },
9713             {
9714             name => "3",
9715             description =>
9716             "LIST_OF_SECURITY_TYPES_RETURNED_PER_REQUEST"
9717             },
9718             {
9719             name => "4",
9720             description =>
9721             "LIST_OF_SECURITIES_RETURNED_PER_REQUEST"
9722             },
9723             {
9724             name => "5",
9725             description => "REJECT_SECURITY_PROPOSAL"
9726             },
9727             {
9728             name => "6",
9729             description => "CAN_NOT_MATCH_SELECTION_CRITERIA"
9730             },
9731             ]
9732             },
9733             {
9734             number => "324",
9735             name => "SecurityStatusReqID",
9736             type => "STRING"
9737             },
9738             {
9739             number => "325",
9740             name => "UnsolicitedIndicator",
9741             type => "BOOLEAN"
9742             },
9743             {
9744             number => "326",
9745             name => "SecurityTradingStatus",
9746             type => "INT",
9747             enum => [
9748             { name => "1", description => "OPENING_DELAY" },
9749             { name => "2", description => "TRADING_HALT" },
9750             { name => "3", description => "RESUME" },
9751             { name => "4", description => "NO_OPEN_NO_RESUME" },
9752             { name => "5", description => "PRICE_INDICATION" },
9753             {
9754             name => "6",
9755             description => "TRADING_RANGE_INDICATION"
9756             },
9757             { name => "7", description => "MARKET_IMBALANCE_BUY" },
9758             { name => "8", description => "MARKET_IMBALANCE_SELL" },
9759             {
9760             name => "9",
9761             description => "MARKET_ON_CLOSE_IMBALANCE_BUY"
9762             },
9763             {
9764             name => "10",
9765             description => "MARKET_ON_CLOSE_IMBALANCE_SELL"
9766             },
9767             { name => "11", description => "NOT_ASSIGNED" },
9768             { name => "12", description => "NO_MARKET_IMBALANCE" },
9769             {
9770             name => "13",
9771             description => "NO_MARKET_ON_CLOSE_IMBALANCE"
9772             },
9773             { name => "14", description => "ITS_PRE_OPENING" },
9774             { name => "15", description => "NEW_PRICE_INDICATION" },
9775             {
9776             name => "16",
9777             description => "TRADE_DISSEMINATION_TIME"
9778             },
9779             {
9780             name => "17",
9781             description => "READY_TO_TRADE_START_OF_SESSION"
9782             },
9783             {
9784             name => "18",
9785             description =>
9786             "NOT_AVAILABLE_FOR_TRADING_END_OF_SESSION"
9787             },
9788             {
9789             name => "19",
9790             description => "NOT_TRADED_ON_THIS_MARKET"
9791             },
9792             { name => "20", description => "UNKNOWN_OR_INVALID" },
9793             { name => "21", description => "PRE_OPEN" },
9794             { name => "22", description => "OPENING_ROTATION" },
9795             { name => "23", description => "FAST_MARKET" },
9796             ]
9797             },
9798             {
9799             number => "327",
9800             name => "HaltReason",
9801             type => "CHAR",
9802             enum => [
9803             { name => "I", description => "ORDER_IMBALANCE" },
9804             { name => "X", description => "EQUIPMENT_CHANGEOVER" },
9805             { name => "P", description => "NEWS_PENDING" },
9806             { name => "D", description => "NEWS_DISSEMINATION" },
9807             { name => "E", description => "ORDER_INFLUX" },
9808             { name => "M", description => "ADDITIONAL_INFORMATION" },
9809             ]
9810             },
9811             { number => "328", name => "InViewOfCommon", type => "BOOLEAN" },
9812             { number => "329", name => "DueToRelated", type => "BOOLEAN" },
9813             { number => "330", name => "BuyVolume", type => "QTY" },
9814             { number => "331", name => "SellVolume", type => "QTY" },
9815             { number => "332", name => "HighPx", type => "PRICE" },
9816             { number => "333", name => "LowPx", type => "PRICE" },
9817             {
9818             number => "334",
9819             name => "Adjustment",
9820             type => "INT",
9821             enum => [
9822             { name => "1", description => "CANCEL" },
9823             { name => "2", description => "ERROR" },
9824             { name => "3", description => "CORRECTION" },
9825             ]
9826             },
9827             { number => "335", name => "TradSesReqID", type => "STRING" },
9828             { number => "336", name => "TradingSessionID", type => "STRING" },
9829             { number => "337", name => "ContraTrader", type => "STRING" },
9830             {
9831             number => "338",
9832             name => "TradSesMethod",
9833             type => "INT",
9834             enum => [
9835             { name => "1", description => "ELECTRONIC" },
9836             { name => "2", description => "OPEN_OUTCRY" },
9837             { name => "3", description => "TWO_PARTY" },
9838             ]
9839             },
9840             {
9841             number => "339",
9842             name => "TradSesMode",
9843             type => "INT",
9844             enum => [
9845             { name => "1", description => "TESTING" },
9846             { name => "2", description => "SIMULATED" },
9847             { name => "3", description => "PRODUCTION" },
9848             ]
9849             },
9850             {
9851             number => "340",
9852             name => "TradSesStatus",
9853             type => "INT",
9854             enum => [
9855             { name => "0", description => "UNKNOWN" },
9856             { name => "1", description => "HALTED" },
9857             { name => "2", description => "OPEN" },
9858             { name => "3", description => "CLOSED" },
9859             { name => "4", description => "PRE_OPEN" },
9860             { name => "5", description => "PRE_CLOSE" },
9861             { name => "6", description => "REQUEST_REJECTED" },
9862             ]
9863             },
9864             {
9865             number => "341",
9866             name => "TradSesStartTime",
9867             type => "UTCTIMESTAMP"
9868             },
9869             {
9870             number => "342",
9871             name => "TradSesOpenTime",
9872             type => "UTCTIMESTAMP"
9873             },
9874             {
9875             number => "343",
9876             name => "TradSesPreCloseTime",
9877             type => "UTCTIMESTAMP"
9878             },
9879             {
9880             number => "344",
9881             name => "TradSesCloseTime",
9882             type => "UTCTIMESTAMP"
9883             },
9884             {
9885             number => "345",
9886             name => "TradSesEndTime",
9887             type => "UTCTIMESTAMP"
9888             },
9889             { number => "346", name => "NumberOfOrders", type => "INT" },
9890             {
9891             number => "347",
9892             name => "MessageEncoding",
9893             type => "STRING",
9894             enum => [
9895             { name => "ISO-2022-JP", description => "ISO_2022_JP" },
9896             { name => "EUC-JP", description => "EUC_JP" },
9897             { name => "SHIFT_JIS", description => "SHIFT_JIS" },
9898             { name => "UTF-8", description => "UTF_8" },
9899             ]
9900             },
9901             { number => "348", name => "EncodedIssuerLen", type => "LENGTH" },
9902             { number => "349", name => "EncodedIssuer", type => "DATA" },
9903             {
9904             number => "350",
9905             name => "EncodedSecurityDescLen",
9906             type => "LENGTH"
9907             },
9908             {
9909             number => "351",
9910             name => "EncodedSecurityDesc",
9911             type => "DATA"
9912             },
9913             {
9914             number => "352",
9915             name => "EncodedListExecInstLen",
9916             type => "LENGTH"
9917             },
9918             {
9919             number => "353",
9920             name => "EncodedListExecInst",
9921             type => "DATA"
9922             },
9923             { number => "354", name => "EncodedTextLen", type => "LENGTH" },
9924             { number => "355", name => "EncodedText", type => "DATA" },
9925             {
9926             number => "356",
9927             name => "EncodedSubjectLen",
9928             type => "LENGTH"
9929             },
9930             { number => "357", name => "EncodedSubject", type => "DATA" },
9931             {
9932             number => "358",
9933             name => "EncodedHeadlineLen",
9934             type => "LENGTH"
9935             },
9936             { number => "359", name => "EncodedHeadline", type => "DATA" },
9937             {
9938             number => "360",
9939             name => "EncodedAllocTextLen",
9940             type => "LENGTH"
9941             },
9942             { number => "361", name => "EncodedAllocText", type => "DATA" },
9943             {
9944             number => "362",
9945             name => "EncodedUnderlyingIssuerLen",
9946             type => "LENGTH"
9947             },
9948             {
9949             number => "363",
9950             name => "EncodedUnderlyingIssuer",
9951             type => "DATA"
9952             },
9953             {
9954             number => "364",
9955             name => "EncodedUnderlyingSecurityDescLen",
9956             type => "LENGTH"
9957             },
9958             {
9959             number => "365",
9960             name => "EncodedUnderlyingSecurityDesc",
9961             type => "DATA"
9962             },
9963             { number => "366", name => "AllocPrice", type => "PRICE" },
9964             {
9965             number => "367",
9966             name => "QuoteSetValidUntilTime",
9967             type => "UTCTIMESTAMP"
9968             },
9969             {
9970             number => "368",
9971             name => "QuoteEntryRejectReason",
9972             type => "INT",
9973             enum => [
9974             { name => "1", description => "UNKNOWN_SYMBOL" },
9975             { name => "2", description => "EXCHANGE_CLOSED" },
9976             { name => "3", description => "QUOTE_EXCEEDS_LIMIT" },
9977             { name => "4", description => "TOO_LATE_TO_ENTER" },
9978             { name => "5", description => "UNKNOWN_QUOTE" },
9979             { name => "6", description => "DUPLICATE_QUOTE" },
9980             { name => "7", description => "INVALID_BID_ASK_SPREAD" },
9981             { name => "8", description => "INVALID_PRICE" },
9982             {
9983             name => "9",
9984             description => "NOT_AUTHORIZED_TO_QUOTE_SECURITY"
9985             },
9986             ]
9987             },
9988             {
9989             number => "369",
9990             name => "LastMsgSeqNumProcessed",
9991             type => "SEQNUM"
9992             },
9993             { number => "371", name => "RefTagID", type => "INT" },
9994             { number => "372", name => "RefMsgType", type => "STRING" },
9995             {
9996             number => "373",
9997             name => "SessionRejectReason",
9998             type => "INT",
9999             enum => [
10000             { name => "0", description => "INVALID_TAG_NUMBER" },
10001             { name => "1", description => "REQUIRED_TAG_MISSING" },
10002             {
10003             name => "2",
10004             description => "TAG_NOT_DEFINED_FOR_THIS_MESSAGE_TYPE"
10005             },
10006             { name => "3", description => "UNDEFINED_TAG" },
10007             {
10008             name => "4",
10009             description => "TAG_SPECIFIED_WITHOUT_A_VALUE"
10010             },
10011             { name => "5", description => "VALUE_IS_INCORRECT" },
10012             {
10013             name => "6",
10014             description => "INCORRECT_DATA_FORMAT_FOR_VALUE"
10015             },
10016             { name => "7", description => "DECRYPTION_PROBLEM" },
10017             { name => "8", description => "SIGNATURE_PROBLEM" },
10018             { name => "9", description => "COMPID_PROBLEM" },
10019             {
10020             name => "10",
10021             description => "SENDINGTIME_ACCURACY_PROBLEM"
10022             },
10023             { name => "11", description => "INVALID_MSGTYPE" },
10024             { name => "12", description => "XML_VALIDATION_ERROR" },
10025             {
10026             name => "13",
10027             description => "TAG_APPEARS_MORE_THAN_ONCE"
10028             },
10029             {
10030             name => "14",
10031             description => "TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER"
10032             },
10033             {
10034             name => "15",
10035             description => "REPEATING_GROUP_FIELDS_OUT_OF_ORDER"
10036             },
10037             {
10038             name => "16",
10039             description =>
10040             "INCORRECT_NUMINGROUP_COUNT_FOR_REPEATING_GROUP"
10041             },
10042             {
10043             name => "17",
10044             description =>
10045             "NON_DATA_VALUE_INCLUDES_FIELD_DELIMITER"
10046             },
10047             { name => "99", description => "OTHER" },
10048             ]
10049             },
10050             {
10051             number => "374",
10052             name => "BidRequestTransType",
10053             type => "CHAR",
10054             enum => [
10055             { name => "N", description => "NEW" },
10056             { name => "C", description => "CANCEL" },
10057             ]
10058             },
10059             { number => "375", name => "ContraBroker", type => "STRING" },
10060             { number => "376", name => "ComplianceID", type => "STRING" },
10061             { number => "377", name => "SolicitedFlag", type => "BOOLEAN" },
10062             {
10063             number => "378",
10064             name => "ExecRestatementReason",
10065             type => "INT",
10066             enum => [
10067             { name => "0", description => "GT_CORPORATE_ACTION" },
10068             { name => "1", description => "GT_RENEWAL_RESTATEMENT" },
10069             { name => "2", description => "VERBAL_CHANGE" },
10070             { name => "3", description => "REPRICING_OF_ORDER" },
10071             { name => "4", description => "BROKER_OPTION" },
10072             {
10073             name => "5",
10074             description => "PARTIAL_DECLINE_OF_ORDERQTY"
10075             },
10076             { name => "6", description => "CANCEL_ON_TRADING_HALT" },
10077             {
10078             name => "7",
10079             description => "CANCEL_ON_SYSTEM_FAILURE"
10080             },
10081             { name => "8", description => "MARKET_OPTION" },
10082             { name => "9", description => "CANCELED_NOT_BEST" },
10083             ]
10084             },
10085             {
10086             number => "379",
10087             name => "BusinessRejectRefID",
10088             type => "STRING"
10089             },
10090             {
10091             number => "380",
10092             name => "BusinessRejectReason",
10093             type => "INT",
10094             enum => [
10095             { name => "0", description => "OTHER" },
10096             { name => "1", description => "UNKOWN_ID" },
10097             { name => "2", description => "UNKNOWN_SECURITY" },
10098             {
10099             name => "3",
10100             description => "UNSUPPORTED_MESSAGE_TYPE"
10101             },
10102             {
10103             name => "4",
10104             description => "APPLICATION_NOT_AVAILABLE"
10105             },
10106             {
10107             name => "5",
10108             description => "CONDITIONALLY_REQUIRED_FIELD_MISSING"
10109             },
10110             { name => "6", description => "NOT_AUTHORIZED" },
10111             {
10112             name => "7",
10113             description =>
10114             "DELIVERTO_FIRM_NOT_AVAILABLE_AT_THIS_TIME"
10115             },
10116             ]
10117             },
10118             { number => "381", name => "GrossTradeAmt", type => "AMT" },
10119             {
10120             number => "382",
10121             name => "NoContraBrokers",
10122             type => "NUMINGROUP"
10123             },
10124             { number => "383", name => "MaxMessageSize", type => "LENGTH" },
10125             { number => "384", name => "NoMsgTypes", type => "NUMINGROUP" },
10126             {
10127             number => "385",
10128             name => "MsgDirection",
10129             type => "CHAR",
10130             enum => [
10131             { name => "S", description => "SEND" },
10132             { name => "R", description => "RECEIVE" },
10133             ]
10134             },
10135             {
10136             number => "386",
10137             name => "NoTradingSessions",
10138             type => "NUMINGROUP"
10139             },
10140             { number => "387", name => "TotalVolumeTraded", type => "QTY" },
10141             {
10142             number => "388",
10143             name => "DiscretionInst",
10144             type => "CHAR",
10145             enum => [
10146             {
10147             name => "0",
10148             description => "RELATED_TO_DISPLAYED_PRICE"
10149             },
10150             { name => "1", description => "RELATED_TO_MARKET_PRICE" },
10151             {
10152             name => "2",
10153             description => "RELATED_TO_PRIMARY_PRICE"
10154             },
10155             {
10156             name => "3",
10157             description => "RELATED_TO_LOCAL_PRIMARY_PRICE"
10158             },
10159             {
10160             name => "4",
10161             description => "RELATED_TO_MIDPOINT_PRICE"
10162             },
10163             {
10164             name => "5",
10165             description => "RELATED_TO_LAST_TRADE_PRICE"
10166             },
10167             { name => "6", description => "RELATED_TO_VWAP" },
10168             ]
10169             },
10170             {
10171             number => "389",
10172             name => "DiscretionOffsetValue",
10173             type => "FLOAT"
10174             },
10175             { number => "390", name => "BidID", type => "STRING" },
10176             { number => "391", name => "ClientBidID", type => "STRING" },
10177             { number => "392", name => "ListName", type => "STRING" },
10178             { number => "393", name => "TotNoRelatedSym", type => "INT" },
10179             {
10180             number => "394",
10181             name => "BidType",
10182             type => "INT",
10183             enum => [
10184             { name => "1", description => "NON_DISCLOSED" },
10185             { name => "2", description => "DISCLOSED_STYLE" },
10186             { name => "3", description => "NO_BIDDING_PROCESS" },
10187             ]
10188             },
10189             { number => "395", name => "NumTickets", type => "INT" },
10190             { number => "396", name => "SideValue1", type => "AMT" },
10191             { number => "397", name => "SideValue2", type => "AMT" },
10192             {
10193             number => "398",
10194             name => "NoBidDescriptors",
10195             type => "NUMINGROUP"
10196             },
10197             {
10198             number => "399",
10199             name => "BidDescriptorType",
10200             type => "INT",
10201             enum => [
10202             { name => "1", description => "SECTOR" },
10203             { name => "2", description => "COUNTRY" },
10204             { name => "3", description => "INDEX" },
10205             ]
10206             },
10207             { number => "400", name => "BidDescriptor", type => "STRING" },
10208             {
10209             number => "401",
10210             name => "SideValueInd",
10211             type => "INT",
10212             enum => [
10213             { name => "1", description => "SIDEVALUE1" },
10214             { name => "2", description => "SIDEVALUE2" },
10215             ]
10216             },
10217             {
10218             number => "402",
10219             name => "LiquidityPctLow",
10220             type => "PERCENTAGE"
10221             },
10222             {
10223             number => "403",
10224             name => "LiquidityPctHigh",
10225             type => "PERCENTAGE"
10226             },
10227             { number => "404", name => "LiquidityValue", type => "AMT" },
10228             {
10229             number => "405",
10230             name => "EFPTrackingError",
10231             type => "PERCENTAGE"
10232             },
10233             { number => "406", name => "FairValue", type => "AMT" },
10234             {
10235             number => "407",
10236             name => "OutsideIndexPct",
10237             type => "PERCENTAGE"
10238             },
10239             { number => "408", name => "ValueOfFutures", type => "AMT" },
10240             {
10241             number => "409",
10242             name => "LiquidityIndType",
10243             type => "INT",
10244             enum => [
10245             { name => "1", description => "FIVEDAY_MOVING_AVERAGE" },
10246             {
10247             name => "2",
10248             description => "TWENTYDAY_MOVING_AVERAGE"
10249             },
10250             { name => "3", description => "NORMAL_MARKET_SIZE" },
10251             { name => "4", description => "OTHER" },
10252             ]
10253             },
10254             {
10255             number => "410",
10256             name => "WtAverageLiquidity",
10257             type => "PERCENTAGE"
10258             },
10259             {
10260             number => "411",
10261             name => "ExchangeForPhysical",
10262             type => "BOOLEAN"
10263             },
10264             { number => "412", name => "OutMainCntryUIndex", type => "AMT" },
10265             { number => "413", name => "CrossPercent", type => "PERCENTAGE" },
10266             {
10267             number => "414",
10268             name => "ProgRptReqs",
10269             type => "INT",
10270             enum => [
10271             {
10272             name => "1",
10273             description =>
10274             "BUYSIDE_EXPLICITLY_REQUESTS_STATUS_USING_STATUSREQUEST"
10275             },
10276             {
10277             name => "2",
10278             description =>
10279             "SELLSIDE_PERIODICALLY_SENDS_STATUS_USING_LISTSTATUS"
10280             },
10281             {
10282             name => "3",
10283             description => "REAL_TIME_EXECUTION_REPORTS"
10284             },
10285             ]
10286             },
10287             { number => "415", name => "ProgPeriodInterval", type => "INT" },
10288             {
10289             number => "416",
10290             name => "IncTaxInd",
10291             type => "INT",
10292             enum => [
10293             { name => "1", description => "NET" },
10294             { name => "2", description => "GROSS" },
10295             ]
10296             },
10297             { number => "417", name => "NumBidders", type => "INT" },
10298             {
10299             number => "418",
10300             name => "BidTradeType",
10301             type => "CHAR",
10302             enum => [
10303             { name => "R", description => "RISK_TRADE" },
10304             { name => "G", description => "VWAP_GUARANTEE" },
10305             { name => "A", description => "AGENCY" },
10306             { name => "J", description => "GUARANTEED_CLOSE" },
10307             ]
10308             },
10309             {
10310             number => "419",
10311             name => "BasisPxType",
10312             type => "CHAR",
10313             enum => [
10314             {
10315             name => "2",
10316             description => "CLOSING_PRICE_AT_MORNING_SESSION"
10317             },
10318             { name => "3", description => "CLOSING_PRICE" },
10319             { name => "4", description => "CURRENT_PRICE" },
10320             { name => "5", description => "SQ" },
10321             { name => "6", description => "VWAP_THROUGH_A_DAY" },
10322             {
10323             name => "7",
10324             description => "VWAP_THROUGH_A_MORNING_SESSION"
10325             },
10326             {
10327             name => "8",
10328             description => "VWAP_THROUGH_AN_AFTERNOON_SESSION"
10329             },
10330             {
10331             name => "9",
10332             description => "VWAP_THROUGH_A_DAY_EXCEPT_YORI"
10333             },
10334             {
10335             name => "A",
10336             description =>
10337             "VWAP_THROUGH_A_MORNING_SESSION_EXCEPT_YORI"
10338             },
10339             {
10340             name => "B",
10341             description =>
10342             "VWAP_THROUGH_AN_AFTERNOON_SESSION_EXCEPT_YORI"
10343             },
10344             { name => "C", description => "STRIKE" },
10345             { name => "D", description => "OPEN" },
10346             { name => "Z", description => "OTHERS" },
10347             ]
10348             },
10349             {
10350             number => "420",
10351             name => "NoBidComponents",
10352             type => "NUMINGROUP"
10353             },
10354             { number => "421", name => "Country", type => "COUNTRY" },
10355             { number => "422", name => "TotNoStrikes", type => "INT" },
10356             {
10357             number => "423",
10358             name => "PriceType",
10359             type => "INT",
10360             enum => [
10361             { name => "1", description => "PERCENTAGE" },
10362             { name => "2", description => "PER_UNIT" },
10363             { name => "3", description => "FIXED_AMOUNT" },
10364             { name => "4", description => "DISCOUNT" },
10365             { name => "5", description => "PREMIUM" },
10366             { name => "6", description => "SPREAD" },
10367             { name => "7", description => "TED_PRICE" },
10368             { name => "8", description => "TED_YIELD" },
10369             { name => "9", description => "YIELD" },
10370             ]
10371             },
10372             { number => "424", name => "DayOrderQty", type => "QTY" },
10373             { number => "425", name => "DayCumQty", type => "QTY" },
10374             { number => "426", name => "DayAvgPx", type => "PRICE" },
10375             {
10376             number => "427",
10377             name => "GTBookingInst",
10378             type => "INT",
10379             enum => [
10380             {
10381             name => "0",
10382             description =>
10383             "BOOK_OUT_ALL_TRADES_ON_DAY_OF_EXECUTION"
10384             },
10385             {
10386             name => "1",
10387             description =>
10388             "ACCUMULATE_EXECUTIONS_UNTIL_ORDER_IS_FILLED_OR_EXPIRES"
10389             },
10390             {
10391             name => "2",
10392             description =>
10393             "ACCUMULATE_UNTIL_VERBALLY_NOTIFIED_OTHERWISE"
10394             },
10395             ]
10396             },
10397             { number => "428", name => "NoStrikes", type => "NUMINGROUP" },
10398             {
10399             number => "429",
10400             name => "ListStatusType",
10401             type => "INT",
10402             enum => [
10403             { name => "1", description => "ACK" },
10404             { name => "2", description => "RESPONSE" },
10405             { name => "3", description => "TIMED" },
10406             { name => "4", description => "EXECSTARTED" },
10407             { name => "5", description => "ALLDONE" },
10408             { name => "6", description => "ALERT" },
10409             ]
10410             },
10411             {
10412             number => "430",
10413             name => "NetGrossInd",
10414             type => "INT",
10415             enum => [
10416             { name => "1", description => "NET" },
10417             { name => "2", description => "GROSS" },
10418             ]
10419             },
10420             {
10421             number => "431",
10422             name => "ListOrderStatus",
10423             type => "INT",
10424             enum => [
10425             { name => "1", description => "INBIDDINGPROCESS" },
10426             { name => "2", description => "RECEIVEDFOREXECUTION" },
10427             { name => "3", description => "EXECUTING" },
10428             { name => "4", description => "CANCELING" },
10429             { name => "5", description => "ALERT" },
10430             { name => "6", description => "ALL_DONE" },
10431             { name => "7", description => "REJECT" },
10432             ]
10433             },
10434             { number => "432", name => "ExpireDate", type => "LOCALMKTDATE" },
10435             {
10436             number => "433",
10437             name => "ListExecInstType",
10438             type => "CHAR",
10439             enum => [
10440             { name => "1", description => "IMMEDIATE" },
10441             {
10442             name => "2",
10443             description => "WAIT_FOR_EXECUTE_INSTRUCTION"
10444             },
10445             {
10446             name => "3",
10447             description => "EXCHANGE_SWITCH_CIV_ORDER_SELL_DRIVEN"
10448             },
10449             {
10450             name => "4",
10451             description =>
10452             "EXCHANGE_SWITCH_CIV_ORDER_BUY_DRIVEN_CASH_TOP_UP"
10453             },
10454             {
10455             name => "5",
10456             description =>
10457             "EXCHANGE_SWITCH_CIV_ORDER_BUY_DRIVEN_CASH_WITHDRAW"
10458             },
10459             ]
10460             },
10461             {
10462             number => "434",
10463             name => "CxlRejResponseTo",
10464             type => "CHAR",
10465             enum => [
10466             { name => "1", description => "ORDER_CANCEL_REQUEST" },
10467             {
10468             name => "2",
10469             description => "ORDER_CANCEL_REPLACE_REQUEST"
10470             },
10471             ]
10472             },
10473             {
10474             number => "435",
10475             name => "UnderlyingCouponRate",
10476             type => "PERCENTAGE"
10477             },
10478             {
10479             number => "436",
10480             name => "UnderlyingContractMultiplier",
10481             type => "FLOAT"
10482             },
10483             { number => "437", name => "ContraTradeQty", type => "QTY" },
10484             {
10485             number => "438",
10486             name => "ContraTradeTime",
10487             type => "UTCTIMESTAMP"
10488             },
10489             {
10490             number => "441",
10491             name => "LiquidityNumSecurities",
10492             type => "INT"
10493             },
10494             {
10495             number => "442",
10496             name => "MultiLegReportingType",
10497             type => "CHAR",
10498             enum => [
10499             { name => "1", description => "SINGLE_SECURITY" },
10500             {
10501             name => "2",
10502             description =>
10503             "INDIVIDUAL_LEG_OF_A_MULTI_LEG_SECURITY"
10504             },
10505             { name => "3", description => "MULTI_LEG_SECURITY" },
10506             ]
10507             },
10508             { number => "443", name => "StrikeTime", type => "UTCTIMESTAMP" },
10509             { number => "444", name => "ListStatusText", type => "STRING" },
10510             {
10511             number => "445",
10512             name => "EncodedListStatusTextLen",
10513             type => "LENGTH"
10514             },
10515             {
10516             number => "446",
10517             name => "EncodedListStatusText",
10518             type => "DATA"
10519             },
10520             {
10521             number => "447",
10522             name => "PartyIDSource",
10523             type => "CHAR",
10524             enum => [
10525             { name => "B", description => "BIC" },
10526             {
10527             name => "C",
10528             description =>
10529             "GENERALLY_ACCEPTED_MARKET_PARTICIPANT_IDENTIFIER"
10530             },
10531             { name => "D", description => "PROPRIETARY_CUSTOM_CODE" },
10532             { name => "E", description => "ISO_COUNTRY_CODE" },
10533             {
10534             name => "F",
10535             description => "SETTLEMENT_ENTITY_LOCATION"
10536             },
10537             { name => "G", description => "MIC" },
10538             {
10539             name => "H",
10540             description => "CSD_PARTICIPANT_MEMBER_CODE"
10541             },
10542             { name => "1", description => "KOREAN_INVESTOR_ID" },
10543             {
10544             name => "2",
10545             description =>
10546             "TAIWANESE_QUALIFIED_FOREIGN_INVESTOR_ID_QFII_FID"
10547             },
10548             {
10549             name => "3",
10550             description => "TAIWANESE_TRADING_ACCOUNT"
10551             },
10552             {
10553             name => "4",
10554             description => "MALAYSIAN_CENTRAL_DEPOSITORY_NUMBER"
10555             },
10556             { name => "5", description => "CHINESE_B_SHARE" },
10557             {
10558             name => "6",
10559             description =>
10560             "UK_NATIONAL_INSURANCE_OR_PENSION_NUMBER"
10561             },
10562             {
10563             name => "7",
10564             description => "US_SOCIAL_SECURITY_NUMBER"
10565             },
10566             {
10567             name => "8",
10568             description => "US_EMPLOYER_IDENTIFICATION_NUMBER"
10569             },
10570             {
10571             name => "9",
10572             description => "AUSTRALIAN_BUSINESS_NUMBER"
10573             },
10574             {
10575             name => "A",
10576             description => "AUSTRALIAN_TAX_FILE_NUMBER"
10577             },
10578             { name => "I", description => "DIRECTED_BROKER" },
10579             ]
10580             },
10581             { number => "448", name => "PartyID", type => "STRING" },
10582             {
10583             number => "451",
10584             name => "NetChgPrevDay",
10585             type => "PRICEOFFSET"
10586             },
10587             {
10588             number => "452",
10589             name => "PartyRole",
10590             type => "INT",
10591             enum => [
10592             { name => "1", description => "EXECUTING_FIRM" },
10593             { name => "2", description => "BROKER_OF_CREDIT" },
10594             { name => "3", description => "CLIENT_ID" },
10595             { name => "4", description => "CLEARING_FIRM" },
10596             { name => "5", description => "INVESTOR_ID" },
10597             { name => "6", description => "INTRODUCING_FIRM" },
10598             { name => "7", description => "ENTERING_FIRM" },
10599             { name => "8", description => "LOCATE_LENDING_FIRM" },
10600             { name => "9", description => "FUND_MANAGER_CLIENT_ID" },
10601             { name => "10", description => "SETTLEMENT_LOCATION" },
10602             {
10603             name => "11",
10604             description => "ORDER_ORIGINATION_TRADER"
10605             },
10606             { name => "12", description => "EXECUTING_TRADER" },
10607             { name => "13", description => "ORDER_ORIGINATION_FIRM" },
10608             { name => "14", description => "GIVEUP_CLEARING_FIRM" },
10609             {
10610             name => "15",
10611             description => "CORRESPONDANT_CLEARING_FIRM"
10612             },
10613             { name => "16", description => "EXECUTING_SYSTEM" },
10614             { name => "17", description => "CONTRA_FIRM" },
10615             { name => "18", description => "CONTRA_CLEARING_FIRM" },
10616             { name => "19", description => "SPONSORING_FIRM" },
10617             { name => "20", description => "UNDERLYING_CONTRA_FIRM" },
10618             { name => "21", description => "CLEARING_ORGANIZATION" },
10619             { name => "22", description => "EXCHANGE" },
10620             { name => "24", description => "CUSTOMER_ACCOUNT" },
10621             {
10622             name => "25",
10623             description => "CORRESPONDENT_CLEARING_ORGANIZATION"
10624             },
10625             { name => "26", description => "CORRESPONDENT_BROKER" },
10626             { name => "27", description => "BUYER_SELLER" },
10627             { name => "28", description => "CUSTODIAN" },
10628             { name => "29", description => "INTERMEDIARY" },
10629             { name => "30", description => "AGENT" },
10630             { name => "31", description => "SUB_CUSTODIAN" },
10631             { name => "32", description => "BENEFICIARY" },
10632             { name => "33", description => "INTERESTED_PARTY" },
10633             { name => "34", description => "REGULATORY_BODY" },
10634             { name => "35", description => "LIQUIDITY_PROVIDER" },
10635             { name => "36", description => "ENTERING_TRADER" },
10636             { name => "37", description => "CONTRA_TRADER" },
10637             { name => "38", description => "POSITION_ACCOUNT" },
10638             ]
10639             },
10640             { number => "453", name => "NoPartyIDs", type => "NUMINGROUP" },
10641             {
10642             number => "454",
10643             name => "NoSecurityAltID",
10644             type => "NUMINGROUP"
10645             },
10646             { number => "455", name => "SecurityAltID", type => "STRING" },
10647             {
10648             number => "456",
10649             name => "SecurityAltIDSource",
10650             type => "STRING"
10651             },
10652             {
10653             number => "457",
10654             name => "NoUnderlyingSecurityAltID",
10655             type => "NUMINGROUP"
10656             },
10657             {
10658             number => "458",
10659             name => "UnderlyingSecurityAltID",
10660             type => "STRING"
10661             },
10662             {
10663             number => "459",
10664             name => "UnderlyingSecurityAltIDSource",
10665             type => "STRING"
10666             },
10667             {
10668             number => "460",
10669             name => "Product",
10670             type => "INT",
10671             enum => [
10672             { name => "1", description => "AGENCY" },
10673             { name => "2", description => "COMMODITY" },
10674             { name => "3", description => "CORPORATE" },
10675             { name => "4", description => "CURRENCY" },
10676             { name => "5", description => "EQUITY" },
10677             { name => "6", description => "GOVERNMENT" },
10678             { name => "7", description => "INDEX" },
10679             { name => "8", description => "LOAN" },
10680             { name => "9", description => "MONEYMARKET" },
10681             { name => "10", description => "MORTGAGE" },
10682             { name => "11", description => "MUNICIPAL" },
10683             { name => "12", description => "OTHER" },
10684             { name => "13", description => "FINANCING" },
10685             ]
10686             },
10687             { number => "461", name => "CFICode", type => "STRING" },
10688             { number => "462", name => "UnderlyingProduct", type => "INT" },
10689             {
10690             number => "463",
10691             name => "UnderlyingCFICode",
10692             type => "STRING"
10693             },
10694             {
10695             number => "464",
10696             name => "TestMessageIndicator",
10697             type => "BOOLEAN"
10698             },
10699             {
10700             number => "465",
10701             name => "QuantityType",
10702             type => "INT",
10703             enum => [
10704             { name => "1", description => "SHARES" },
10705             { name => "2", description => "BONDS" },
10706             { name => "3", description => "CURRENTFACE" },
10707             { name => "4", description => "ORIGINALFACE" },
10708             { name => "5", description => "CURRENCY" },
10709             { name => "6", description => "CONTRACTS" },
10710             { name => "7", description => "OTHER" },
10711             { name => "8", description => "PAR" },
10712             ]
10713             },
10714             { number => "466", name => "BookingRefID", type => "STRING" },
10715             {
10716             number => "467",
10717             name => "IndividualAllocID",
10718             type => "STRING"
10719             },
10720             {
10721             number => "468",
10722             name => "RoundingDirection",
10723             type => "CHAR",
10724             enum => [
10725             { name => "0", description => "ROUND_TO_NEAREST" },
10726             { name => "1", description => "ROUND_DOWN" },
10727             { name => "2", description => "ROUND_UP" },
10728             ]
10729             },
10730             { number => "469", name => "RoundingModulus", type => "FLOAT" },
10731             { number => "470", name => "CountryOfIssue", type => "COUNTRY" },
10732             {
10733             number => "471",
10734             name => "StateOrProvinceOfIssue",
10735             type => "STRING"
10736             },
10737             { number => "472", name => "LocaleOfIssue", type => "STRING" },
10738             { number => "473", name => "NoRegistDtls", type => "NUMINGROUP" },
10739             { number => "474", name => "MailingDtls", type => "STRING" },
10740             {
10741             number => "475",
10742             name => "InvestorCountryOfResidence",
10743             type => "COUNTRY"
10744             },
10745             { number => "476", name => "PaymentRef", type => "STRING" },
10746             {
10747             number => "477",
10748             name => "DistribPaymentMethod",
10749             type => "INT",
10750             enum => [
10751             { name => "1", description => "CREST" },
10752             { name => "2", description => "NSCC" },
10753             { name => "3", description => "EUROCLEAR" },
10754             { name => "4", description => "CLEARSTREAM" },
10755             { name => "5", description => "CHEQUE" },
10756             { name => "6", description => "TELEGRAPHIC_TRANSFER" },
10757             { name => "7", description => "FEDWIRE" },
10758             { name => "8", description => "DIRECT_CREDIT" },
10759             { name => "9", description => "ACH_CREDIT" },
10760             ]
10761             },
10762             {
10763             number => "478",
10764             name => "CashDistribCurr",
10765             type => "CURRENCY"
10766             },
10767             { number => "479", name => "CommCurrency", type => "CURRENCY" },
10768             {
10769             number => "480",
10770             name => "CancellationRights",
10771             type => "CHAR",
10772             enum => [
10773             { name => "N", description => "NO_EXECUTION_ONLY" },
10774             { name => "M", description => "NO_WAIVER_AGREEMENT" },
10775             { name => "O", description => "NO_INSTITUTIONAL" },
10776             ]
10777             },
10778             {
10779             number => "481",
10780             name => "MoneyLaunderingStatus",
10781             type => "CHAR",
10782             enum => [
10783             { name => "Y", description => "PASSED" },
10784             { name => "N", description => "NOT_CHECKED" },
10785             { name => "1", description => "EXEMPT_BELOW_THE_LIMIT" },
10786             {
10787             name => "2",
10788             description => "EXEMPT_CLIENT_MONEY_TYPE_EXEMPTION"
10789             },
10790             {
10791             name => "3",
10792             description =>
10793             "EXEMPT_AUTHORISED_CREDIT_OR_FINANCIAL_INSTITUTION"
10794             },
10795             ]
10796             },
10797             { number => "482", name => "MailingInst", type => "STRING" },
10798             {
10799             number => "483",
10800             name => "TransBkdTime",
10801             type => "UTCTIMESTAMP"
10802             },
10803             {
10804             number => "484",
10805             name => "ExecPriceType",
10806             type => "CHAR",
10807             enum => [
10808             { name => "B", description => "BID_PRICE" },
10809             { name => "C", description => "CREATION_PRICE" },
10810             {
10811             name => "D",
10812             description =>
10813             "CREATION_PRICE_PLUS_ADJUSTMENT_PERCENT"
10814             },
10815             {
10816             name => "E",
10817             description => "CREATION_PRICE_PLUS_ADJUSTMENT_AMOUNT"
10818             },
10819             { name => "O", description => "OFFER_PRICE" },
10820             {
10821             name => "P",
10822             description => "OFFER_PRICE_MINUS_ADJUSTMENT_PERCENT"
10823             },
10824             {
10825             name => "Q",
10826             description => "OFFER_PRICE_MINUS_ADJUSTMENT_AMOUNT"
10827             },
10828             { name => "S", description => "SINGLE_PRICE" },
10829             ]
10830             },
10831             {
10832             number => "485",
10833             name => "ExecPriceAdjustment",
10834             type => "FLOAT"
10835             },
10836             {
10837             number => "486",
10838             name => "DateOfBirth",
10839             type => "LOCALMKTDATE"
10840             },
10841             {
10842             number => "487",
10843             name => "TradeReportTransType",
10844             type => "INT",
10845             enum => [
10846             { name => "0", description => "NEW" },
10847             { name => "1", description => "CANCEL" },
10848             { name => "2", description => "REPLACE" },
10849             { name => "3", description => "RELEASE" },
10850             { name => "4", description => "REVERSE" },
10851             ]
10852             },
10853             { number => "488", name => "CardHolderName", type => "STRING" },
10854             { number => "489", name => "CardNumber", type => "STRING" },
10855             {
10856             number => "490",
10857             name => "CardExpDate",
10858             type => "LOCALMKTDATE"
10859             },
10860             { number => "491", name => "CardIssNum", type => "STRING" },
10861             {
10862             number => "492",
10863             name => "PaymentMethod",
10864             type => "INT",
10865             enum => [
10866             { name => "1", description => "CREST" },
10867             { name => "2", description => "NSCC" },
10868             { name => "3", description => "EUROCLEAR" },
10869             { name => "4", description => "CLEARSTREAM" },
10870             { name => "5", description => "CHEQUE" },
10871             { name => "6", description => "TELEGRAPHIC_TRANSFER" },
10872             { name => "7", description => "FEDWIRE" },
10873             { name => "8", description => "DEBIT_CARD" },
10874             { name => "9", description => "DIRECT_DEBIT" },
10875             ]
10876             },
10877             { number => "493", name => "RegistAcctType", type => "STRING" },
10878             { number => "494", name => "Designation", type => "STRING" },
10879             {
10880             number => "495",
10881             name => "TaxAdvantageType",
10882             type => "INT",
10883             enum => [
10884             { name => "0", description => "NONE" },
10885             { name => "1", description => "MAXI_ISA" },
10886             { name => "2", description => "TESSA" },
10887             { name => "3", description => "MINI_CASH_ISA" },
10888             {
10889             name => "4",
10890             description => "MINI_STOCKS_AND_SHARES_ISA"
10891             },
10892             { name => "5", description => "MINI_INSURANCE_ISA" },
10893             { name => "6", description => "CURRENT_YEAR_PAYMENT" },
10894             { name => "7", description => "PRIOR_YEAR_PAYMENT" },
10895             { name => "8", description => "ASSET_TRANSFER" },
10896             { name => "9", description => "EMPLOYEE_PRIOR_YEAR" },
10897             { name => "999", description => "OTHER" },
10898             ]
10899             },
10900             {
10901             number => "496",
10902             name => "RegistRejReasonText",
10903             type => "STRING"
10904             },
10905             {
10906             number => "497",
10907             name => "FundRenewWaiv",
10908             type => "CHAR",
10909             enum => [
10910             { name => "Y", description => "YES" },
10911             { name => "N", description => "NO" },
10912             ]
10913             },
10914             {
10915             number => "498",
10916             name => "CashDistribAgentName",
10917             type => "STRING"
10918             },
10919             {
10920             number => "499",
10921             name => "CashDistribAgentCode",
10922             type => "STRING"
10923             },
10924             {
10925             number => "500",
10926             name => "CashDistribAgentAcctNumber",
10927             type => "STRING"
10928             },
10929             {
10930             number => "501",
10931             name => "CashDistribPayRef",
10932             type => "STRING"
10933             },
10934             {
10935             number => "502",
10936             name => "CashDistribAgentAcctName",
10937             type => "STRING"
10938             },
10939             {
10940             number => "503",
10941             name => "CardStartDate",
10942             type => "LOCALMKTDATE"
10943             },
10944             {
10945             number => "504",
10946             name => "PaymentDate",
10947             type => "LOCALMKTDATE"
10948             },
10949             {
10950             number => "505",
10951             name => "PaymentRemitterID",
10952             type => "STRING"
10953             },
10954             {
10955             number => "506",
10956             name => "RegistStatus",
10957             type => "CHAR",
10958             enum => [
10959             { name => "A", description => "ACCEPTED" },
10960             { name => "R", description => "REJECTED" },
10961             { name => "H", description => "HELD" },
10962             { name => "N", description => "REMINDER" },
10963             ]
10964             },
10965             {
10966             number => "507",
10967             name => "RegistRejReasonCode",
10968             type => "INT",
10969             enum => [
10970             {
10971             name => "1",
10972             description => "INVALID_UNACCEPTABLE_ACCOUNT_TYPE"
10973             },
10974             {
10975             name => "2",
10976             description => "INVALID_UNACCEPTABLE_TAX_EXEMPT_TYPE"
10977             },
10978             {
10979             name => "3",
10980             description => "INVALID_UNACCEPTABLE_OWNERSHIP_TYPE"
10981             },
10982             {
10983             name => "4",
10984             description => "INVALID_UNACCEPTABLE_NO_REG_DETLS"
10985             },
10986             {
10987             name => "5",
10988             description => "INVALID_UNACCEPTABLE_REG_SEQ_NO"
10989             },
10990             {
10991             name => "6",
10992             description => "INVALID_UNACCEPTABLE_REG_DTLS"
10993             },
10994             {
10995             name => "7",
10996             description => "INVALID_UNACCEPTABLE_MAILING_DTLS"
10997             },
10998             {
10999             name => "8",
11000             description => "INVALID_UNACCEPTABLE_MAILING_INST"
11001             },
11002             {
11003             name => "9",
11004             description => "INVALID_UNACCEPTABLE_INVESTOR_ID"
11005             },
11006             {
11007             name => "10",
11008             description =>
11009             "INVALID_UNACCEPTABLE_INVESTOR_ID_SOURCE"
11010             },
11011             {
11012             name => "11",
11013             description => "INVALID_UNACCEPTABLE_DATE_OF_BIRTH"
11014             },
11015             {
11016             name => "12",
11017             description =>
11018             "INVALID_UNACCEPTABLE_INVESTOR_COUNTRY_OF_RESIDENCE"
11019             },
11020             {
11021             name => "13",
11022             description => "INVALID_UNACCEPTABLE_NODISTRIBINSTNS"
11023             },
11024             {
11025             name => "14",
11026             description =>
11027             "INVALID_UNACCEPTABLE_DISTRIB_PERCENTAGE"
11028             },
11029             {
11030             name => "15",
11031             description =>
11032             "INVALID_UNACCEPTABLE_DISTRIB_PAYMENT_METHOD"
11033             },
11034             {
11035             name => "16",
11036             description =>
11037             "INVALID_UNACCEPTABLE_CASH_DISTRIB_AGENT_ACCT_NAME"
11038             },
11039             {
11040             name => "17",
11041             description =>
11042             "INVALID_UNACCEPTABLE_CASH_DISTRIB_AGENT_CODE"
11043             },
11044             {
11045             name => "18",
11046             description =>
11047             "INVALID_UNACCEPTABLE_CASH_DISTRIB_AGENT_ACCT_NUM"
11048             },
11049             { name => "99", description => "OTHER" },
11050             ]
11051             },
11052             { number => "508", name => "RegistRefID", type => "STRING" },
11053             { number => "509", name => "RegistDtls", type => "STRING" },
11054             {
11055             number => "510",
11056             name => "NoDistribInsts",
11057             type => "NUMINGROUP"
11058             },
11059             { number => "511", name => "RegistEmail", type => "STRING" },
11060             {
11061             number => "512",
11062             name => "DistribPercentage",
11063             type => "PERCENTAGE"
11064             },
11065             { number => "513", name => "RegistID", type => "STRING" },
11066             {
11067             number => "514",
11068             name => "RegistTransType",
11069             type => "CHAR",
11070             enum => [
11071             { name => "0", description => "NEW" },
11072             { name => "1", description => "REPLACE" },
11073             { name => "2", description => "CANCEL" },
11074             ]
11075             },
11076             {
11077             number => "515",
11078             name => "ExecValuationPoint",
11079             type => "UTCTIMESTAMP"
11080             },
11081             { number => "516", name => "OrderPercent", type => "PERCENTAGE" },
11082             {
11083             number => "517",
11084             name => "OwnershipType",
11085             type => "CHAR",
11086             enum => [
11087             { name => "J", description => "JOINT_INVESTORS" },
11088             { name => "T", description => "TENANTS_IN_COMMON" },
11089             { name => "2", description => "JOINT_TRUSTEES" },
11090             ]
11091             },
11092             { number => "518", name => "NoContAmts", type => "NUMINGROUP" },
11093             {
11094             number => "519",
11095             name => "ContAmtType",
11096             type => "INT",
11097             enum => [
11098             { name => "1", description => "COMMISSION_AMOUNT" },
11099             { name => "2", description => "COMMISSION_PERCENT" },
11100             { name => "3", description => "INITIAL_CHARGE_AMOUNT" },
11101             { name => "4", description => "INITIAL_CHARGE_PERCENT" },
11102             { name => "5", description => "DISCOUNT_AMOUNT" },
11103             { name => "6", description => "DISCOUNT_PERCENT" },
11104             { name => "7", description => "DILUTION_LEVY_AMOUNT" },
11105             { name => "8", description => "DILUTION_LEVY_PERCENT" },
11106             { name => "9", description => "EXIT_CHARGE_AMOUNT" },
11107             ]
11108             },
11109             { number => "520", name => "ContAmtValue", type => "FLOAT" },
11110             { number => "521", name => "ContAmtCurr", type => "CURRENCY" },
11111             {
11112             number => "522",
11113             name => "OwnerType",
11114             type => "INT",
11115             enum => [
11116             { name => "1", description => "INDIVIDUAL_INVESTOR" },
11117             { name => "2", description => "PUBLIC_COMPANY" },
11118             { name => "3", description => "PRIVATE_COMPANY" },
11119             { name => "4", description => "INDIVIDUAL_TRUSTEE" },
11120             { name => "5", description => "COMPANY_TRUSTEE" },
11121             { name => "6", description => "PENSION_PLAN" },
11122             {
11123             name => "7",
11124             description => "CUSTODIAN_UNDER_GIFTS_TO_MINORS_ACT"
11125             },
11126             { name => "8", description => "TRUSTS" },
11127             { name => "9", description => "FIDUCIARIES" },
11128             ]
11129             },
11130             { number => "523", name => "PartySubID", type => "STRING" },
11131             { number => "524", name => "NestedPartyID", type => "STRING" },
11132             {
11133             number => "525",
11134             name => "NestedPartyIDSource",
11135             type => "CHAR"
11136             },
11137             { number => "526", name => "SecondaryClOrdID", type => "STRING" },
11138             { number => "527", name => "SecondaryExecID", type => "STRING" },
11139             {
11140             number => "528",
11141             name => "OrderCapacity",
11142             type => "CHAR",
11143             enum => [
11144             { name => "A", description => "AGENCY" },
11145             { name => "G", description => "PROPRIETARY" },
11146             { name => "I", description => "INDIVIDUAL" },
11147             { name => "P", description => "PRINCIPAL" },
11148             { name => "R", description => "RISKLESS_PRINCIPAL" },
11149             { name => "W", description => "AGENT_FOR_OTHER_MEMBER" },
11150             ]
11151             },
11152             {
11153             number => "529",
11154             name => "OrderRestrictions",
11155             type => "MULTIPLEVALUESTRING",
11156             enum => [
11157             { name => "1", description => "PROGRAM_TRADE" },
11158             { name => "2", description => "INDEX_ARBITRAGE" },
11159             { name => "3", description => "NON_INDEX_ARBITRAGE" },
11160             { name => "4", description => "COMPETING_MARKET_MAKER" },
11161             {
11162             name => "5",
11163             description =>
11164             "ACTING_AS_MARKET_MAKER_OR_SPECIALIST_IN_THE_SECURITY"
11165             },
11166             {
11167             name => "6",
11168             description =>
11169             "ACTING_AS_MARKET_MAKER_OR_SPECIALIST_IN_THE_UNDERLYING_SECURITY_OF_A_DERIVATIVE_SECURITY"
11170             },
11171             { name => "7", description => "FOREIGN_ENTITY" },
11172             {
11173             name => "8",
11174             description => "EXTERNAL_MARKET_PARTICIPANT"
11175             },
11176             {
11177             name => "9",
11178             description =>
11179             "EXTERNAL_INTER_CONNECTED_MARKET_LINKAGE"
11180             },
11181             { name => "A", description => "RISKLESS_ARBITRAGE" },
11182             ]
11183             },
11184             {
11185             number => "530",
11186             name => "MassCancelRequestType",
11187             type => "CHAR",
11188             enum => [
11189             {
11190             name => "1",
11191             description => "CANCEL_ORDERS_FOR_A_SECURITY"
11192             },
11193             {
11194             name => "2",
11195             description =>
11196             "CANCEL_ORDERS_FOR_AN_UNDERLYING_SECURITY"
11197             },
11198             {
11199             name => "3",
11200             description => "CANCEL_ORDERS_FOR_A_PRODUCT"
11201             },
11202             {
11203             name => "4",
11204             description => "CANCEL_ORDERS_FOR_A_CFICODE"
11205             },
11206             {
11207             name => "5",
11208             description => "CANCEL_ORDERS_FOR_A_SECURITYTYPE"
11209             },
11210             {
11211             name => "6",
11212             description => "CANCEL_ORDERS_FOR_A_TRADING_SESSION"
11213             },
11214             { name => "7", description => "CANCEL_ALL_ORDERS" },
11215             ]
11216             },
11217             {
11218             number => "531",
11219             name => "MassCancelResponse",
11220             type => "CHAR",
11221             enum => [
11222             { name => "0", description => "CANCEL_REQUEST_REJECTED" },
11223             {
11224             name => "1",
11225             description => "CANCEL_ORDERS_FOR_A_SECURITY"
11226             },
11227             {
11228             name => "2",
11229             description =>
11230             "CANCEL_ORDERS_FOR_AN_UNDERLYING_SECURITY"
11231             },
11232             {
11233             name => "3",
11234             description => "CANCEL_ORDERS_FOR_A_PRODUCT"
11235             },
11236             {
11237             name => "4",
11238             description => "CANCEL_ORDERS_FOR_A_CFICODE"
11239             },
11240             {
11241             name => "5",
11242             description => "CANCEL_ORDERS_FOR_A_SECURITYTYPE"
11243             },
11244             {
11245             name => "6",
11246             description => "CANCEL_ORDERS_FOR_A_TRADING_SESSION"
11247             },
11248             { name => "7", description => "CANCEL_ALL_ORDERS" },
11249             ]
11250             },
11251             {
11252             number => "532",
11253             name => "MassCancelRejectReason",
11254             type => "CHAR",
11255             enum => [
11256             {
11257             name => "0",
11258             description => "MASS_CANCEL_NOT_SUPPORTED"
11259             },
11260             {
11261             name => "1",
11262             description => "INVALID_OR_UNKNOWN_SECURITY"
11263             },
11264             {
11265             name => "2",
11266             description => "INVALID_OR_UNKNOWN_UNDERLYING"
11267             },
11268             {
11269             name => "3",
11270             description => "INVALID_OR_UNKNOWN_PRODUCT"
11271             },
11272             {
11273             name => "4",
11274             description => "INVALID_OR_UNKNOWN_CFICODE"
11275             },
11276             {
11277             name => "5",
11278             description => "INVALID_OR_UNKNOWN_SECURITY_TYPE"
11279             },
11280             {
11281             name => "6",
11282             description => "INVALID_OR_UNKNOWN_TRADING_SESSION"
11283             },
11284             ]
11285             },
11286             { number => "533", name => "TotalAffectedOrders", type => "INT" },
11287             { number => "534", name => "NoAffectedOrders", type => "INT" },
11288             { number => "535", name => "AffectedOrderID", type => "STRING" },
11289             {
11290             number => "536",
11291             name => "AffectedSecondaryOrderID",
11292             type => "STRING"
11293             },
11294             {
11295             number => "537",
11296             name => "QuoteType",
11297             type => "INT",
11298             enum => [
11299             { name => "0", description => "INDICATIVE" },
11300             { name => "1", description => "TRADEABLE" },
11301             { name => "2", description => "RESTRICTED_TRADEABLE" },
11302             { name => "3", description => "COUNTER" },
11303             ]
11304             },
11305             { number => "538", name => "NestedPartyRole", type => "INT" },
11306             {
11307             number => "539",
11308             name => "NoNestedPartyIDs",
11309             type => "NUMINGROUP"
11310             },
11311             {
11312             number => "540",
11313             name => "TotalAccruedInterestAmt",
11314             type => "AMT"
11315             },
11316             {
11317             number => "541",
11318             name => "MaturityDate",
11319             type => "LOCALMKTDATE"
11320             },
11321             {
11322             number => "542",
11323             name => "UnderlyingMaturityDate",
11324             type => "LOCALMKTDATE"
11325             },
11326             { number => "543", name => "InstrRegistry", type => "STRING" },
11327             {
11328             number => "544",
11329             name => "CashMargin",
11330             type => "CHAR",
11331             enum => [
11332             { name => "1", description => "CASH" },
11333             { name => "2", description => "MARGIN_OPEN" },
11334             { name => "3", description => "MARGIN_CLOSE" },
11335             ]
11336             },
11337             { number => "545", name => "NestedPartySubID", type => "STRING" },
11338             {
11339             number => "546",
11340             name => "Scope",
11341             type => "MULTIPLEVALUESTRING",
11342             enum => [
11343             { name => "1", description => "LOCAL" },
11344             { name => "2", description => "NATIONAL" },
11345             { name => "3", description => "GLOBAL" },
11346             ]
11347             },
11348             {
11349             number => "547",
11350             name => "MDImplicitDelete",
11351             type => "BOOLEAN"
11352             },
11353             { number => "548", name => "CrossID", type => "STRING" },
11354             {
11355             number => "549",
11356             name => "CrossType",
11357             type => "INT",
11358             enum => [
11359             {
11360             name => "1",
11361             description =>
11362             "CROSS_TRADE_WHICH_IS_EXECUTED_COMPLETELY_OR_NOT"
11363             },
11364             {
11365             name => "2",
11366             description =>
11367             "CROSS_TRADE_WHICH_IS_EXECUTED_PARTIALLY_AND_THE_REST_IS_CANCELLED"
11368             },
11369             {
11370             name => "3",
11371             description =>
11372             "CROSS_TRADE_WHICH_IS_PARTIALLY_EXECUTED_WITH_THE_UNFILLED_PORTIONS_REMAINING_ACTIVE"
11373             },
11374             {
11375             name => "4",
11376             description =>
11377             "CROSS_TRADE_IS_EXECUTED_WITH_EXISTING_ORDERS_WITH_THE_SAME_PRICE"
11378             },
11379             ]
11380             },
11381             {
11382             number => "550",
11383             name => "CrossPrioritization",
11384             type => "INT",
11385             enum => [
11386             { name => "0", description => "NONE" },
11387             { name => "1", description => "BUY_SIDE_IS_PRIORITIZED" },
11388             {
11389             name => "2",
11390             description => "SELL_SIDE_IS_PRIORITIZED"
11391             },
11392             ]
11393             },
11394             { number => "551", name => "OrigCrossID", type => "STRING" },
11395             {
11396             number => "552",
11397             name => "NoSides",
11398             type => "NUMINGROUP",
11399             enum => [
11400             { name => "1", description => "ONE_SIDE" },
11401             { name => "2", description => "BOTH_SIDES" },
11402             ]
11403             },
11404             { number => "553", name => "Username", type => "STRING" },
11405             { number => "554", name => "Password", type => "STRING" },
11406             { number => "555", name => "NoLegs", type => "NUMINGROUP" },
11407             { number => "556", name => "LegCurrency", type => "CURRENCY" },
11408             { number => "557", name => "TotNoSecurityTypes", type => "INT" },
11409             {
11410             number => "558",
11411             name => "NoSecurityTypes",
11412             type => "NUMINGROUP"
11413             },
11414             {
11415             number => "559",
11416             name => "SecurityListRequestType",
11417             type => "INT",
11418             enum => [
11419             { name => "0", description => "SYMBOL" },
11420             {
11421             name => "1",
11422             description => "SECURITYTYPE_AND_OR_CFICODE"
11423             },
11424             { name => "2", description => "PRODUCT" },
11425             { name => "3", description => "TRADINGSESSIONID" },
11426             { name => "4", description => "ALL_SECURITIES" },
11427             ]
11428             },
11429             {
11430             number => "560",
11431             name => "SecurityRequestResult",
11432             type => "INT",
11433             enum => [
11434             { name => "0", description => "VALID_REQUEST" },
11435             {
11436             name => "1",
11437             description => "INVALID_OR_UNSUPPORTED_REQUEST"
11438             },
11439             {
11440             name => "2",
11441             description =>
11442             "NO_INSTRUMENTS_FOUND_THAT_MATCH_SELECTION_CRITERIA"
11443             },
11444             {
11445             name => "3",
11446             description =>
11447             "NOT_AUTHORIZED_TO_RETRIEVE_INSTRUMENT_DATA"
11448             },
11449             {
11450             name => "4",
11451             description =>
11452             "INSTRUMENT_DATA_TEMPORARILY_UNAVAILABLE"
11453             },
11454             {
11455             name => "5",
11456             description =>
11457             "REQUEST_FOR_INSTRUMENT_DATA_NOT_SUPPORTED"
11458             },
11459             ]
11460             },
11461             { number => "561", name => "RoundLot", type => "QTY" },
11462             { number => "562", name => "MinTradeVol", type => "QTY" },
11463             {
11464             number => "563",
11465             name => "MultiLegRptTypeReq",
11466             type => "INT",
11467             enum => [
11468             {
11469             name => "0",
11470             description => "REPORT_BY_MULITLEG_SECURITY_ONLY"
11471             },
11472             {
11473             name => "1",
11474             description =>
11475             "REPORT_BY_MULTILEG_SECURITY_AND_BY_INSTRUMENT_LEGS_BELONGING_TO_THE_MULTILEG_SECURITY"
11476             },
11477             {
11478             name => "2",
11479             description =>
11480             "REPORT_BY_INSTRUMENT_LEGS_BELONGING_TO_THE_MULTILEG_SECURITY_ONLY"
11481             },
11482             ]
11483             },
11484             { number => "564", name => "LegPositionEffect", type => "CHAR" },
11485             {
11486             number => "565",
11487             name => "LegCoveredOrUncovered",
11488             type => "INT"
11489             },
11490             { number => "566", name => "LegPrice", type => "PRICE" },
11491             {
11492             number => "567",
11493             name => "TradSesStatusRejReason",
11494             type => "INT",
11495             enum => [
11496             {
11497             name => "1",
11498             description => "UNKNOWN_OR_INVALID_TRADINGSESSIONID"
11499             },
11500             ]
11501             },
11502             { number => "568", name => "TradeRequestID", type => "STRING" },
11503             {
11504             number => "569",
11505             name => "TradeRequestType",
11506             type => "INT",
11507             enum => [
11508             { name => "0", description => "ALL_TRADES" },
11509             {
11510             name => "1",
11511             description =>
11512             "MATCHED_TRADES_MATCHING_CRITERIA_PROVIDED_ON_REQUEST"
11513             },
11514             {
11515             name => "2",
11516             description => "UNMATCHED_TRADES_THAT_MATCH_CRITERIA"
11517             },
11518             {
11519             name => "3",
11520             description => "UNREPORTED_TRADES_THAT_MATCH_CRITERIA"
11521             },
11522             {
11523             name => "4",
11524             description => "ADVISORIES_THAT_MATCH_CRITERIA"
11525             },
11526             ]
11527             },
11528             {
11529             number => "570",
11530             name => "PreviouslyReported",
11531             type => "BOOLEAN"
11532             },
11533             { number => "571", name => "TradeReportID", type => "STRING" },
11534             { number => "572", name => "TradeReportRefID", type => "STRING" },
11535             {
11536             number => "573",
11537             name => "MatchStatus",
11538             type => "CHAR",
11539             enum => [
11540             {
11541             name => "0",
11542             description => "COMPARED_MATCHED_OR_AFFIRMED"
11543             },
11544             {
11545             name => "1",
11546             description => "UNCOMPARED_UNMATCHED_OR_UNAFFIRMED"
11547             },
11548             { name => "2", description => "ADVISORY_OR_ALERT" },
11549             ]
11550             },
11551             { number => "574", name => "MatchType", type => "STRING" },
11552             { number => "575", name => "OddLot", type => "BOOLEAN" },
11553             {
11554             number => "576",
11555             name => "NoClearingInstructions",
11556             type => "INT"
11557             },
11558             {
11559             number => "577",
11560             name => "ClearingInstruction",
11561             type => "INT",
11562             enum => [
11563             { name => "0", description => "PROCESS_NORMALLY" },
11564             {
11565             name => "1",
11566             description => "EXCLUDE_FROM_ALL_NETTING"
11567             },
11568             { name => "2", description => "BILATERAL_NETTING_ONLY" },
11569             { name => "3", description => "EX_CLEARING" },
11570             { name => "4", description => "SPECIAL_TRADE" },
11571             { name => "5", description => "MULTILATERAL_NETTING" },
11572             {
11573             name => "6",
11574             description => "CLEAR_AGAINST_CENTRAL_COUNTERPARTY"
11575             },
11576             {
11577             name => "7",
11578             description => "EXCLUDE_FROM_CENTRAL_COUNTERPARTY"
11579             },
11580             { name => "8", description => "MANUAL_MODE" },
11581             { name => "9", description => "AUTOMATIC_POSTING_MODE" },
11582             ]
11583             },
11584             { number => "578", name => "TradeInputSource", type => "STRING" },
11585             { number => "579", name => "TradeInputDevice", type => "STRING" },
11586             { number => "580", name => "NoDates", type => "INT" },
11587             {
11588             number => "581",
11589             name => "AccountType",
11590             type => "INT",
11591             enum => [
11592             {
11593             name => "1",
11594             description =>
11595             "ACCOUNT_IS_CARRIED_ON_CUSTOMER_SIDE_OF_BOOKS"
11596             },
11597             {
11598             name => "2",
11599             description =>
11600             "ACCOUNT_IS_CARRIED_ON_NON_CUSTOMER_SIDE_OF_BOOKS"
11601             },
11602             { name => "3", description => "HOUSE_TRADER" },
11603             { name => "4", description => "FLOOR_TRADER" },
11604             {
11605             name => "6",
11606             description =>
11607             "ACCOUNT_IS_CARRIED_ON_NON_CUSTOMER_SIDE_OF_BOOKS_AND_IS_CROSS_MARGINED"
11608             },
11609             {
11610             name => "7",
11611             description =>
11612             "ACCOUNT_IS_HOUSE_TRADER_AND_IS_CROSS_MARGINED"
11613             },
11614             {
11615             name => "8",
11616             description => "JOINT_BACKOFFICE_ACCOUNT"
11617             },
11618             ]
11619             },
11620             {
11621             number => "582",
11622             name => "CustOrderCapacity",
11623             type => "INT",
11624             enum => [
11625             {
11626             name => "1",
11627             description => "MEMBER_TRADING_FOR_THEIR_OWN_ACCOUNT"
11628             },
11629             {
11630             name => "2",
11631             description =>
11632             "CLEARING_FIRM_TRADING_FOR_ITS_PROPRIETARY_ACCOUNT"
11633             },
11634             {
11635             name => "3",
11636             description => "MEMBER_TRADING_FOR_ANOTHER_MEMBER"
11637             },
11638             { name => "4", description => "ALL_OTHER" },
11639             ]
11640             },
11641             { number => "583", name => "ClOrdLinkID", type => "STRING" },
11642             { number => "584", name => "MassStatusReqID", type => "STRING" },
11643             {
11644             number => "585",
11645             name => "MassStatusReqType",
11646             type => "INT",
11647             enum => [
11648             {
11649             name => "1",
11650             description => "STATUS_FOR_ORDERS_FOR_A_SECURITY"
11651             },
11652             {
11653             name => "2",
11654             description =>
11655             "STATUS_FOR_ORDERS_FOR_AN_UNDERLYING_SECURITY"
11656             },
11657             {
11658             name => "3",
11659             description => "STATUS_FOR_ORDERS_FOR_A_PRODUCT"
11660             },
11661             {
11662             name => "4",
11663             description => "STATUS_FOR_ORDERS_FOR_A_CFICODE"
11664             },
11665             {
11666             name => "5",
11667             description => "STATUS_FOR_ORDERS_FOR_A_SECURITYTYPE"
11668             },
11669             {
11670             name => "6",
11671             description =>
11672             "STATUS_FOR_ORDERS_FOR_A_TRADING_SESSION"
11673             },
11674             { name => "7", description => "STATUS_FOR_ALL_ORDERS" },
11675             {
11676             name => "8",
11677             description => "STATUS_FOR_ORDERS_FOR_A_PARTYID"
11678             },
11679             ]
11680             },
11681             {
11682             number => "586",
11683             name => "OrigOrdModTime",
11684             type => "UTCTIMESTAMP"
11685             },
11686             { number => "587", name => "LegSettlType", type => "CHAR" },
11687             {
11688             number => "588",
11689             name => "LegSettlDate",
11690             type => "LOCALMKTDATE"
11691             },
11692             {
11693             number => "589",
11694             name => "DayBookingInst",
11695             type => "CHAR",
11696             enum => [
11697             {
11698             name => "0",
11699             description =>
11700             "CAN_TRIGGER_BOOKING_WITHOUT_REFERENCE_TO_THE_ORDER_INITIATOR"
11701             },
11702             {
11703             name => "1",
11704             description =>
11705             "SPEAK_WITH_ORDER_INITIATOR_BEFORE_BOOKING"
11706             },
11707             { name => "2", description => "ACCUMULATE" },
11708             ]
11709             },
11710             {
11711             number => "590",
11712             name => "BookingUnit",
11713             type => "CHAR",
11714             enum => [
11715             {
11716             name => "0",
11717             description =>
11718             "EACH_PARTIAL_EXECUTION_IS_A_BOOKABLE_UNIT"
11719             },
11720             {
11721             name => "1",
11722             description =>
11723             "AGGREGATE_PARTIAL_EXECUTIONS_ON_THIS_ORDER_AND_BOOK_ONE_TRADE_PER_ORDER"
11724             },
11725             {
11726             name => "2",
11727             description =>
11728             "AGGREGATE_EXECUTIONS_FOR_THIS_SYMBOL_SIDE_AND_SETTLEMENT_DATE"
11729             },
11730             ]
11731             },
11732             {
11733             number => "591",
11734             name => "PreallocMethod",
11735             type => "CHAR",
11736             enum => [
11737             { name => "0", description => "PRO_RATA" },
11738             { name => "1", description => "DO_NOT_PRO_RATA" },
11739             ]
11740             },
11741             {
11742             number => "592",
11743             name => "UnderlyingCountryOfIssue",
11744             type => "COUNTRY"
11745             },
11746             {
11747             number => "593",
11748             name => "UnderlyingStateOrProvinceOfIssue",
11749             type => "STRING"
11750             },
11751             {
11752             number => "594",
11753             name => "UnderlyingLocaleOfIssue",
11754             type => "STRING"
11755             },
11756             {
11757             number => "595",
11758             name => "UnderlyingInstrRegistry",
11759             type => "STRING"
11760             },
11761             {
11762             number => "596",
11763             name => "LegCountryOfIssue",
11764             type => "COUNTRY"
11765             },
11766             {
11767             number => "597",
11768             name => "LegStateOrProvinceOfIssue",
11769             type => "STRING"
11770             },
11771             { number => "598", name => "LegLocaleOfIssue", type => "STRING" },
11772             { number => "599", name => "LegInstrRegistry", type => "STRING" },
11773             { number => "600", name => "LegSymbol", type => "STRING" },
11774             { number => "601", name => "LegSymbolSfx", type => "STRING" },
11775             { number => "602", name => "LegSecurityID", type => "STRING" },
11776             {
11777             number => "603",
11778             name => "LegSecurityIDSource",
11779             type => "STRING"
11780             },
11781             {
11782             number => "604",
11783             name => "NoLegSecurityAltID",
11784             type => "STRING"
11785             },
11786             { number => "605", name => "LegSecurityAltID", type => "STRING" },
11787             {
11788             number => "606",
11789             name => "LegSecurityAltIDSource",
11790             type => "STRING"
11791             },
11792             { number => "607", name => "LegProduct", type => "INT" },
11793             { number => "608", name => "LegCFICode", type => "STRING" },
11794             { number => "609", name => "LegSecurityType", type => "STRING" },
11795             {
11796             number => "610",
11797             name => "LegMaturityMonthYear",
11798             type => "MONTHYEAR"
11799             },
11800             {
11801             number => "611",
11802             name => "LegMaturityDate",
11803             type => "LOCALMKTDATE"
11804             },
11805             { number => "612", name => "LegStrikePrice", type => "PRICE" },
11806             { number => "613", name => "LegOptAttribute", type => "CHAR" },
11807             {
11808             number => "614",
11809             name => "LegContractMultiplier",
11810             type => "FLOAT"
11811             },
11812             {
11813             number => "615",
11814             name => "LegCouponRate",
11815             type => "PERCENTAGE"
11816             },
11817             {
11818             number => "616",
11819             name => "LegSecurityExchange",
11820             type => "EXCHANGE"
11821             },
11822             { number => "617", name => "LegIssuer", type => "STRING" },
11823             {
11824             number => "618",
11825             name => "EncodedLegIssuerLen",
11826             type => "LENGTH"
11827             },
11828             { number => "619", name => "EncodedLegIssuer", type => "DATA" },
11829             { number => "620", name => "LegSecurityDesc", type => "STRING" },
11830             {
11831             number => "621",
11832             name => "EncodedLegSecurityDescLen",
11833             type => "LENGTH"
11834             },
11835             {
11836             number => "622",
11837             name => "EncodedLegSecurityDesc",
11838             type => "DATA"
11839             },
11840             { number => "623", name => "LegRatioQty", type => "FLOAT" },
11841             { number => "624", name => "LegSide", type => "CHAR" },
11842             {
11843             number => "625",
11844             name => "TradingSessionSubID",
11845             type => "STRING"
11846             },
11847             {
11848             number => "626",
11849             name => "AllocType",
11850             type => "INT",
11851             enum => [
11852             { name => "1", description => "CALCULATED" },
11853             { name => "2", description => "PRELIMINARY" },
11854             {
11855             name => "5",
11856             description => "READY_TO_BOOK_SINGLE_ORDER"
11857             },
11858             { name => "7", description => "WAREHOUSE_INSTRUCTION" },
11859             { name => "8", description => "REQUEST_TO_INTERMEDIARY" },
11860             ]
11861             },
11862             { number => "627", name => "NoHops", type => "NUMINGROUP" },
11863             { number => "628", name => "HopCompID", type => "STRING" },
11864             {
11865             number => "629",
11866             name => "HopSendingTime",
11867             type => "UTCTIMESTAMP"
11868             },
11869             { number => "630", name => "HopRefID", type => "SEQNUM" },
11870             { number => "631", name => "MidPx", type => "PRICE" },
11871             { number => "632", name => "BidYield", type => "PERCENTAGE" },
11872             { number => "633", name => "MidYield", type => "PERCENTAGE" },
11873             { number => "634", name => "OfferYield", type => "PERCENTAGE" },
11874             {
11875             number => "635",
11876             name => "ClearingFeeIndicator",
11877             type => "STRING",
11878             enum => [
11879             { name => "B", description => "CBOE_MEMBER" },
11880             { name => "C", description => "NON_MEMBER_AND_CUSTOMER" },
11881             {
11882             name => "E",
11883             description => "EQUITY_MEMBER_AND_CLEARING_MEMBER"
11884             },
11885             {
11886             name => "F",
11887             description =>
11888             "FULL_AND_ASSOCIATE_MEMBER_TRADING_FOR_OWN_ACCOUNT_AND_AS_FLOOR_BROKERS"
11889             },
11890             { name => "H", description => "FIRMS_106H_AND_106J" },
11891             {
11892             name => "I",
11893             description =>
11894             "GIM_IDEM_AND_COM_MEMBERSHIP_INTEREST_HOLDERS"
11895             },
11896             {
11897             name => "L",
11898             description => "LESSEE_AND_106F_EMPLOYEES"
11899             },
11900             {
11901             name => "M",
11902             description => "ALL_OTHER_OWNERSHIP_TYPES"
11903             },
11904             ]
11905             },
11906             {
11907             number => "636",
11908             name => "WorkingIndicator",
11909             type => "BOOLEAN"
11910             },
11911             { number => "637", name => "LegLastPx", type => "PRICE" },
11912             {
11913             number => "638",
11914             name => "PriorityIndicator",
11915             type => "INT",
11916             enum => [
11917             { name => "0", description => "PRIORITY_UNCHANGED" },
11918             {
11919             name => "1",
11920             description =>
11921             "LOST_PRIORITY_AS_RESULT_OF_ORDER_CHANGE"
11922             },
11923             ]
11924             },
11925             {
11926             number => "639",
11927             name => "PriceImprovement",
11928             type => "PRICEOFFSET"
11929             },
11930             { number => "640", name => "Price2", type => "PRICE" },
11931             {
11932             number => "641",
11933             name => "LastForwardPoints2",
11934             type => "PRICEOFFSET"
11935             },
11936             {
11937             number => "642",
11938             name => "BidForwardPoints2",
11939             type => "PRICEOFFSET"
11940             },
11941             {
11942             number => "643",
11943             name => "OfferForwardPoints2",
11944             type => "PRICEOFFSET"
11945             },
11946             { number => "644", name => "RFQReqID", type => "STRING" },
11947             { number => "645", name => "MktBidPx", type => "PRICE" },
11948             { number => "646", name => "MktOfferPx", type => "PRICE" },
11949             { number => "647", name => "MinBidSize", type => "QTY" },
11950             { number => "648", name => "MinOfferSize", type => "QTY" },
11951             { number => "649", name => "QuoteStatusReqID", type => "STRING" },
11952             { number => "650", name => "LegalConfirm", type => "BOOLEAN" },
11953             { number => "651", name => "UnderlyingLastPx", type => "PRICE" },
11954             { number => "652", name => "UnderlyingLastQty", type => "QTY" },
11955             { number => "654", name => "LegRefID", type => "STRING" },
11956             { number => "655", name => "ContraLegRefID", type => "STRING" },
11957             {
11958             number => "656",
11959             name => "SettlCurrBidFxRate",
11960             type => "FLOAT"
11961             },
11962             {
11963             number => "657",
11964             name => "SettlCurrOfferFxRate",
11965             type => "FLOAT"
11966             },
11967             {
11968             number => "658",
11969             name => "QuoteRequestRejectReason",
11970             type => "INT",
11971             enum => [
11972             { name => "1", description => "UNKNOWN_SYMBOL" },
11973             { name => "2", description => "EXCHANGE_CLOSED" },
11974             {
11975             name => "3",
11976             description => "QUOTE_REQUEST_EXCEEDS_LIMIT"
11977             },
11978             { name => "4", description => "TOO_LATE_TO_ENTER" },
11979             { name => "5", description => "INVALID_PRICE" },
11980             {
11981             name => "6",
11982             description => "NOT_AUTHORIZED_TO_REQUEST_QUOTE"
11983             },
11984             { name => "7", description => "NO_MATCH_FOR_INQUIRY" },
11985             {
11986             name => "8",
11987             description => "NO_MARKET_FOR_INSTRUMENT"
11988             },
11989             { name => "9", description => "NO_INVENTORY" },
11990             { name => "10", description => "PASS" },
11991             { name => "99", description => "OTHER" },
11992             ]
11993             },
11994             { number => "659", name => "SideComplianceID", type => "STRING" },
11995             {
11996             number => "660",
11997             name => "AcctIDSource",
11998             type => "INT",
11999             enum => [
12000             { name => "1", description => "BIC" },
12001             { name => "2", description => "SID_CODE" },
12002             { name => "3", description => "TFM" },
12003             { name => "4", description => "OMGEO" },
12004             { name => "5", description => "DTCC_CODE" },
12005             ]
12006             },
12007             { number => "661", name => "AllocAcctIDSource", type => "INT" },
12008             { number => "662", name => "BenchmarkPrice", type => "PRICE" },
12009             { number => "663", name => "BenchmarkPriceType", type => "INT" },
12010             { number => "664", name => "ConfirmID", type => "STRING" },
12011             {
12012             number => "665",
12013             name => "ConfirmStatus",
12014             type => "INT",
12015             enum => [
12016             { name => "1", description => "RECEIVED" },
12017             { name => "2", description => "MISMATCHED_ACCOUNT" },
12018             {
12019             name => "3",
12020             description => "MISSING_SETTLEMENT_INSTRUCTIONS"
12021             },
12022             { name => "4", description => "CONFIRMED" },
12023             { name => "5", description => "REQUEST_REJECTED" },
12024             ]
12025             },
12026             {
12027             number => "666",
12028             name => "ConfirmTransType",
12029             type => "INT",
12030             enum => [
12031             { name => "0", description => "NEW" },
12032             { name => "1", description => "REPLACE" },
12033             { name => "2", description => "CANCEL" },
12034             ]
12035             },
12036             {
12037             number => "667",
12038             name => "ContractSettlMonth",
12039             type => "MONTHYEAR"
12040             },
12041             {
12042             number => "668",
12043             name => "DeliveryForm",
12044             type => "INT",
12045             enum => [
12046             { name => "1", description => "BOOKENTRY" },
12047             { name => "2", description => "BEARER" },
12048             ]
12049             },
12050             { number => "669", name => "LastParPx", type => "PRICE" },
12051             { number => "670", name => "NoLegAllocs", type => "NUMINGROUP" },
12052             { number => "671", name => "LegAllocAccount", type => "STRING" },
12053             {
12054             number => "672",
12055             name => "LegIndividualAllocID",
12056             type => "STRING"
12057             },
12058             { number => "673", name => "LegAllocQty", type => "QTY" },
12059             {
12060             number => "674",
12061             name => "LegAllocAcctIDSource",
12062             type => "STRING"
12063             },
12064             {
12065             number => "675",
12066             name => "LegSettlCurrency",
12067             type => "CURRENCY"
12068             },
12069             {
12070             number => "676",
12071             name => "LegBenchmarkCurveCurrency",
12072             type => "CURRENCY"
12073             },
12074             {
12075             number => "677",
12076             name => "LegBenchmarkCurveName",
12077             type => "STRING"
12078             },
12079             {
12080             number => "678",
12081             name => "LegBenchmarkCurvePoint",
12082             type => "STRING"
12083             },
12084             { number => "679", name => "LegBenchmarkPrice", type => "PRICE" },
12085             {
12086             number => "680",
12087             name => "LegBenchmarkPriceType",
12088             type => "INT"
12089             },
12090             { number => "681", name => "LegBidPx", type => "PRICE" },
12091             { number => "682", name => "LegIOIQty", type => "STRING" },
12092             {
12093             number => "683",
12094             name => "NoLegStipulations",
12095             type => "NUMINGROUP"
12096             },
12097             { number => "684", name => "LegOfferPx", type => "PRICE" },
12098             { number => "685", name => "LegOrderQty", type => "QTY" },
12099             { number => "686", name => "LegPriceType", type => "INT" },
12100             { number => "687", name => "LegQty", type => "QTY" },
12101             {
12102             number => "688",
12103             name => "LegStipulationType",
12104             type => "STRING"
12105             },
12106             {
12107             number => "689",
12108             name => "LegStipulationValue",
12109             type => "STRING"
12110             },
12111             {
12112             number => "690",
12113             name => "LegSwapType",
12114             type => "INT",
12115             enum => [
12116             { name => "1", description => "PAR_FOR_PAR" },
12117             { name => "2", description => "MODIFIED_DURATION" },
12118             { name => "4", description => "RISK" },
12119             { name => "5", description => "PROCEEDS" },
12120             ]
12121             },
12122             { number => "691", name => "Pool", type => "STRING" },
12123             {
12124             number => "692",
12125             name => "QuotePriceType",
12126             type => "INT",
12127             enum => [
12128             { name => "1", description => "PERCENT" },
12129             { name => "2", description => "PER_SHARE" },
12130             { name => "3", description => "FIXED_AMOUNT" },
12131             { name => "4", description => "DISCOUNT" },
12132             { name => "5", description => "PREMIUM" },
12133             {
12134             name => "6",
12135             description => "BASIS_POINTS_RELATIVE_TO_BENCHMARK"
12136             },
12137             { name => "7", description => "TED_PRICE" },
12138             { name => "8", description => "TED_YIELD" },
12139             { name => "9", description => "YIELD_SPREAD" },
12140             ]
12141             },
12142             { number => "693", name => "QuoteRespID", type => "STRING" },
12143             {
12144             number => "694",
12145             name => "QuoteRespType",
12146             type => "INT",
12147             enum => [
12148             { name => "1", description => "HIT_LIFT" },
12149             { name => "2", description => "COUNTER" },
12150             { name => "3", description => "EXPIRED" },
12151             { name => "4", description => "COVER" },
12152             { name => "5", description => "DONE_AWAY" },
12153             { name => "6", description => "PASS" },
12154             ]
12155             },
12156             { number => "695", name => "QuoteQualifier", type => "CHAR" },
12157             {
12158             number => "696",
12159             name => "YieldRedemptionDate",
12160             type => "LOCALMKTDATE"
12161             },
12162             {
12163             number => "697",
12164             name => "YieldRedemptionPrice",
12165             type => "PRICE"
12166             },
12167             {
12168             number => "698",
12169             name => "YieldRedemptionPriceType",
12170             type => "INT"
12171             },
12172             {
12173             number => "699",
12174             name => "BenchmarkSecurityID",
12175             type => "STRING"
12176             },
12177             {
12178             number => "700",
12179             name => "ReversalIndicator",
12180             type => "BOOLEAN"
12181             },
12182             {
12183             number => "701",
12184             name => "YieldCalcDate",
12185             type => "LOCALMKTDATE"
12186             },
12187             { number => "702", name => "NoPositions", type => "NUMINGROUP" },
12188             {
12189             number => "703",
12190             name => "PosType",
12191             type => "STRING",
12192             enum => [
12193             { name => "TQ", description => "TRANSACTION_QUANTITY" },
12194             { name => "IAS", description => "INTRA_SPREAD_QTY" },
12195             { name => "IES", description => "INTER_SPREAD_QTY" },
12196             { name => "FIN", description => "END_OF_DAY_QTY" },
12197             { name => "SOD", description => "START_OF_DAY_QTY" },
12198             { name => "EX", description => "OPTION_EXERCISE_QTY" },
12199             { name => "AS", description => "OPTION_ASSIGNMENT" },
12200             {
12201             name => "TX",
12202             description => "TRANSACTION_FROM_EXERCISE"
12203             },
12204             {
12205             name => "TA",
12206             description => "TRANSACTION_FROM_ASSIGNMENT"
12207             },
12208             { name => "PIT", description => "PIT_TRADE_QTY" },
12209             { name => "TRF", description => "TRANSFER_TRADE_QTY" },
12210             { name => "ETR", description => "ELECTRONIC_TRADE_QTY" },
12211             { name => "ALC", description => "ALLOCATION_TRADE_QTY" },
12212             { name => "PA", description => "ADJUSTMENT_QTY" },
12213             { name => "ASF", description => "AS_OF_TRADE_QTY" },
12214             { name => "DLV", description => "DELIVERY_QTY" },
12215             { name => "TOT", description => "TOTAL_TRANSACTION_QTY" },
12216             { name => "XM", description => "CROSS_MARGIN_QTY" },
12217             { name => "SPL", description => "INTEGRAL_SPLIT" },
12218             ]
12219             },
12220             { number => "704", name => "LongQty", type => "QTY" },
12221             { number => "705", name => "ShortQty", type => "QTY" },
12222             {
12223             number => "706",
12224             name => "PosQtyStatus",
12225             type => "INT",
12226             enum => [
12227             { name => "0", description => "SUBMITTED" },
12228             { name => "1", description => "ACCEPTED" },
12229             { name => "2", description => "REJECTED" },
12230             ]
12231             },
12232             {
12233             number => "707",
12234             name => "PosAmtType",
12235             type => "STRING",
12236             enum => [
12237             {
12238             name => "FMTM",
12239             description => "FINAL_MARK_TO_MARKET_AMOUNT"
12240             },
12241             {
12242             name => "IMTM",
12243             description => "INCREMENTAL_MARK_TO_MARKET_AMOUNT"
12244             },
12245             {
12246             name => "TVAR",
12247             description => "TRADE_VARIATION_AMOUNT"
12248             },
12249             {
12250             name => "SMTM",
12251             description => "START_OF_DAY_MARK_TO_MARKET_AMOUNT"
12252             },
12253             { name => "PREM", description => "PREMIUM_AMOUNT" },
12254             { name => "CRES", description => "CASH_RESIDUAL_AMOUNT" },
12255             { name => "CASH", description => "CASH_AMOUNT" },
12256             {
12257             name => "VADJ",
12258             description => "VALUE_ADJUSTED_AMOUNT"
12259             },
12260             ]
12261             },
12262             { number => "708", name => "PosAmt", type => "AMT" },
12263             {
12264             number => "709",
12265             name => "PosTransType",
12266             type => "INT",
12267             enum => [
12268             { name => "1", description => "EXERCISE" },
12269             { name => "2", description => "DO_NOT_EXERCISE" },
12270             { name => "3", description => "POSITION_ADJUSTMENT" },
12271             {
12272             name => "4",
12273             description =>
12274             "POSITION_CHANGE_SUBMISSION_MARGIN_DISPOSITION"
12275             },
12276             { name => "5", description => "PLEDGE" },
12277             ]
12278             },
12279             { number => "710", name => "PosReqID", type => "STRING" },
12280             {
12281             number => "711",
12282             name => "NoUnderlyings",
12283             type => "NUMINGROUP"
12284             },
12285             {
12286             number => "712",
12287             name => "PosMaintAction",
12288             type => "INT",
12289             enum => [
12290             { name => "1", description => "NEW" },
12291             { name => "2", description => "REPLACE" },
12292             { name => "3", description => "CANCEL" },
12293             ]
12294             },
12295             { number => "713", name => "OrigPosReqRefID", type => "STRING" },
12296             { number => "714", name => "PosMaintRptRefID", type => "STRING" },
12297             {
12298             number => "715",
12299             name => "ClearingBusinessDate",
12300             type => "LOCALMKTDATE"
12301             },
12302             { number => "716", name => "SettlSessID", type => "STRING" },
12303             { number => "717", name => "SettlSessSubID", type => "STRING" },
12304             {
12305             number => "718",
12306             name => "AdjustmentType",
12307             type => "INT",
12308             enum => [
12309             {
12310             name => "0",
12311             description => "PROCESS_REQUEST_AS_MARGIN_DISPOSITION"
12312             },
12313             { name => "1", description => "DELTA_PLUS" },
12314             { name => "2", description => "DELTA_MINUS" },
12315             { name => "3", description => "FINAL" },
12316             ]
12317             },
12318             {
12319             number => "719",
12320             name => "ContraryInstructionIndicator",
12321             type => "BOOLEAN"
12322             },
12323             {
12324             number => "720",
12325             name => "PriorSpreadIndicator",
12326             type => "BOOLEAN"
12327             },
12328             { number => "721", name => "PosMaintRptID", type => "STRING" },
12329             {
12330             number => "722",
12331             name => "PosMaintStatus",
12332             type => "INT",
12333             enum => [
12334             { name => "0", description => "ACCEPTED" },
12335             { name => "1", description => "ACCEPTED_WITH_WARNINGS" },
12336             { name => "2", description => "REJECTED" },
12337             { name => "3", description => "COMPLETED" },
12338             { name => "4", description => "COMPLETED_WITH_WARNINGS" },
12339             ]
12340             },
12341             {
12342             number => "723",
12343             name => "PosMaintResult",
12344             type => "INT",
12345             enum => [
12346             {
12347             name => "0",
12348             description =>
12349             "SUCCESSFUL_COMPLETION_NO_WARNINGS_OR_ERRORS"
12350             },
12351             { name => "1", description => "REJECTED" },
12352             ]
12353             },
12354             {
12355             number => "724",
12356             name => "PosReqType",
12357             type => "INT",
12358             enum => [
12359             { name => "0", description => "POSITIONS" },
12360             { name => "1", description => "TRADES" },
12361             { name => "2", description => "EXERCISES" },
12362             { name => "3", description => "ASSIGNMENTS" },
12363             ]
12364             },
12365             {
12366             number => "725",
12367             name => "ResponseTransportType",
12368             type => "INT",
12369             enum => [
12370             { name => "0", description => "INBAND" },
12371             { name => "1", description => "OUT_OF_BAND" },
12372             ]
12373             },
12374             {
12375             number => "726",
12376             name => "ResponseDestination",
12377             type => "STRING"
12378             },
12379             { number => "727", name => "TotalNumPosReports", type => "INT" },
12380             {
12381             number => "728",
12382             name => "PosReqResult",
12383             type => "INT",
12384             enum => [
12385             { name => "0", description => "VALID_REQUEST" },
12386             {
12387             name => "1",
12388             description => "INVALID_OR_UNSUPPORTED_REQUEST"
12389             },
12390             {
12391             name => "2",
12392             description =>
12393             "NO_POSITIONS_FOUND_THAT_MATCH_CRITERIA"
12394             },
12395             {
12396             name => "3",
12397             description => "NOT_AUTHORIZED_TO_REQUEST_POSITIONS"
12398             },
12399             {
12400             name => "4",
12401             description => "REQUEST_FOR_POSITION_NOT_SUPPORTED"
12402             },
12403             { name => "99", description => "OTHER" },
12404             ]
12405             },
12406             {
12407             number => "729",
12408             name => "PosReqStatus",
12409             type => "INT",
12410             enum => [
12411             { name => "0", description => "COMPLETED" },
12412             { name => "1", description => "COMPLETED_WITH_WARNINGS" },
12413             { name => "2", description => "REJECTED" },
12414             ]
12415             },
12416             { number => "730", name => "SettlPrice", type => "PRICE" },
12417             {
12418             number => "731",
12419             name => "SettlPriceType",
12420             type => "INT",
12421             enum => [
12422             { name => "1", description => "FINAL" },
12423             { name => "2", description => "THEORETICAL" },
12424             ]
12425             },
12426             {
12427             number => "732",
12428             name => "UnderlyingSettlPrice",
12429             type => "PRICE"
12430             },
12431             {
12432             number => "733",
12433             name => "UnderlyingSettlPriceType",
12434             type => "INT"
12435             },
12436             { number => "734", name => "PriorSettlPrice", type => "PRICE" },
12437             {
12438             number => "735",
12439             name => "NoQuoteQualifiers",
12440             type => "NUMINGROUP"
12441             },
12442             {
12443             number => "736",
12444             name => "AllocSettlCurrency",
12445             type => "CURRENCY"
12446             },
12447             { number => "737", name => "AllocSettlCurrAmt", type => "AMT" },
12448             { number => "738", name => "InterestAtMaturity", type => "AMT" },
12449             {
12450             number => "739",
12451             name => "LegDatedDate",
12452             type => "LOCALMKTDATE"
12453             },
12454             { number => "740", name => "LegPool", type => "STRING" },
12455             {
12456             number => "741",
12457             name => "AllocInterestAtMaturity",
12458             type => "AMT"
12459             },
12460             {
12461             number => "742",
12462             name => "AllocAccruedInterestAmt",
12463             type => "AMT"
12464             },
12465             {
12466             number => "743",
12467             name => "DeliveryDate",
12468             type => "LOCALMKTDATE"
12469             },
12470             {
12471             number => "744",
12472             name => "AssignmentMethod",
12473             type => "CHAR",
12474             enum => [
12475             { name => "R", description => "RANDOM" },
12476             { name => "P", description => "PRORATA" },
12477             ]
12478             },
12479             { number => "745", name => "AssignmentUnit", type => "QTY" },
12480             { number => "746", name => "OpenInterest", type => "AMT" },
12481             {
12482             number => "747",
12483             name => "ExerciseMethod",
12484             type => "CHAR",
12485             enum => [
12486             { name => "A", description => "AUTOMATIC" },
12487             { name => "M", description => "MANUAL" },
12488             ]
12489             },
12490             { number => "748", name => "TotNumTradeReports", type => "INT" },
12491             {
12492             number => "749",
12493             name => "TradeRequestResult",
12494             type => "INT",
12495             enum => [
12496             { name => "0", description => "SUCCESSFUL" },
12497             {
12498             name => "1",
12499             description => "INVALID_OR_UNKNOWN_INSTRUMENT"
12500             },
12501             {
12502             name => "2",
12503             description => "INVALID_TYPE_OF_TRADE_REQUESTED"
12504             },
12505             { name => "3", description => "INVALID_PARTIES" },
12506             {
12507             name => "4",
12508             description => "INVALID_TRANSPORT_TYPE_REQUESTED"
12509             },
12510             {
12511             name => "5",
12512             description => "INVALID_DESTINATION_REQUESTED"
12513             },
12514             {
12515             name => "8",
12516             description => "TRADEREQUESTTYPE_NOT_SUPPORTED"
12517             },
12518             {
12519             name => "9",
12520             description =>
12521             "UNAUTHORIZED_FOR_TRADE_CAPTURE_REPORT_REQUEST"
12522             },
12523             ]
12524             },
12525             {
12526             number => "750",
12527             name => "TradeRequestStatus",
12528             type => "INT",
12529             enum => [
12530             { name => "0", description => "ACCEPTED" },
12531             { name => "1", description => "COMPLETED" },
12532             { name => "2", description => "REJECTED" },
12533             ]
12534             },
12535             {
12536             number => "751",
12537             name => "TradeReportRejectReason",
12538             type => "INT",
12539             enum => [
12540             { name => "0", description => "SUCCESSFUL" },
12541             {
12542             name => "1",
12543             description => "INVALID_PARTY_INFORMATION"
12544             },
12545             { name => "2", description => "UNKNOWN_INSTRUMENT" },
12546             {
12547             name => "3",
12548             description => "UNAUTHORIZED_TO_REPORT_TRADES"
12549             },
12550             { name => "4", description => "INVALID_TRADE_TYPE" },
12551             ]
12552             },
12553             {
12554             number => "752",
12555             name => "SideMultiLegReportingType",
12556             type => "INT",
12557             enum => [
12558             { name => "1", description => "SINGLE_SECURITY" },
12559             {
12560             name => "2",
12561             description =>
12562             "INDIVIDUAL_LEG_OF_A_MULTI_LEG_SECURITY"
12563             },
12564             { name => "3", description => "MULTI_LEG_SECURITY" },
12565             ]
12566             },
12567             { number => "753", name => "NoPosAmt", type => "NUMINGROUP" },
12568             {
12569             number => "754",
12570             name => "AutoAcceptIndicator",
12571             type => "BOOLEAN"
12572             },
12573             { number => "755", name => "AllocReportID", type => "STRING" },
12574             {
12575             number => "756",
12576             name => "NoNested2PartyIDs",
12577             type => "NUMINGROUP"
12578             },
12579             { number => "757", name => "Nested2PartyID", type => "STRING" },
12580             {
12581             number => "758",
12582             name => "Nested2PartyIDSource",
12583             type => "CHAR"
12584             },
12585             { number => "759", name => "Nested2PartyRole", type => "INT" },
12586             {
12587             number => "760",
12588             name => "Nested2PartySubID",
12589             type => "STRING"
12590             },
12591             {
12592             number => "761",
12593             name => "BenchmarkSecurityIDSource",
12594             type => "STRING",
12595             enum => [
12596             { name => "1", description => "CUSIP" },
12597             { name => "2", description => "SEDOL" },
12598             { name => "3", description => "QUIK" },
12599             { name => "4", description => "ISIN_NUMBER" },
12600             { name => "5", description => "RIC_CODE" },
12601             { name => "6", description => "ISO_CURRENCY_CODE" },
12602             { name => "7", description => "ISO_COUNTRY_CODE" },
12603             { name => "8", description => "EXCHANGE_SYMBOL" },
12604             {
12605             name => "9",
12606             description => "CONSOLIDATED_TAPE_ASSOCIATION"
12607             },
12608             { name => "A", description => "BLOOMBERG_SYMBOL" },
12609             { name => "B", description => "WERTPAPIER" },
12610             { name => "C", description => "DUTCH" },
12611             { name => "D", description => "VALOREN" },
12612             { name => "E", description => "SICOVAM" },
12613             { name => "F", description => "BELGIAN" },
12614             { name => "G", description => "COMMON" },
12615             {
12616             name => "H",
12617             description => "CLEARING_HOUSE_CLEARING_ORGANIZATION"
12618             },
12619             {
12620             name => "I",
12621             description => "ISDA_FPML_PRODUCT_SPECIFICATION"
12622             },
12623             {
12624             name => "J",
12625             description => "OPTIONS_PRICE_REPORTING_AUTHORITY"
12626             },
12627             ]
12628             },
12629             { number => "762", name => "SecuritySubType", type => "STRING" },
12630             {
12631             number => "763",
12632             name => "UnderlyingSecuritySubType",
12633             type => "STRING"
12634             },
12635             {
12636             number => "764",
12637             name => "LegSecuritySubType",
12638             type => "STRING"
12639             },
12640             {
12641             number => "765",
12642             name => "AllowableOneSidednessPct",
12643             type => "PERCENTAGE"
12644             },
12645             {
12646             number => "766",
12647             name => "AllowableOneSidednessValue",
12648             type => "AMT"
12649             },
12650             {
12651             number => "767",
12652             name => "AllowableOneSidednessCurr",
12653             type => "CURRENCY"
12654             },
12655             {
12656             number => "768",
12657             name => "NoTrdRegTimestamps",
12658             type => "NUMINGROUP"
12659             },
12660             {
12661             number => "769",
12662             name => "TrdRegTimestamp",
12663             type => "UTCTIMESTAMP"
12664             },
12665             {
12666             number => "770",
12667             name => "TrdRegTimestampType",
12668             type => "INT",
12669             enum => [
12670             { name => "1", description => "EXECUTION_TIME" },
12671             { name => "2", description => "TIME_IN" },
12672             { name => "3", description => "TIME_OUT" },
12673             { name => "4", description => "BROKER_RECEIPT" },
12674             { name => "5", description => "BROKER_EXECUTION" },
12675             ]
12676             },
12677             {
12678             number => "771",
12679             name => "TrdRegTimestampOrigin",
12680             type => "STRING"
12681             },
12682             { number => "772", name => "ConfirmRefID", type => "STRING" },
12683             {
12684             number => "773",
12685             name => "ConfirmType",
12686             type => "INT",
12687             enum => [
12688             { name => "1", description => "STATUS" },
12689             { name => "2", description => "CONFIRMATION" },
12690             {
12691             name => "3",
12692             description => "CONFIRMATION_REQUEST_REJECTED"
12693             },
12694             ]
12695             },
12696             {
12697             number => "774",
12698             name => "ConfirmRejReason",
12699             type => "INT",
12700             enum => [
12701             { name => "1", description => "MISMATCHED_ACCOUNT" },
12702             {
12703             name => "2",
12704             description => "MISSING_SETTLEMENT_INSTRUCTIONS"
12705             },
12706             ]
12707             },
12708             {
12709             number => "775",
12710             name => "BookingType",
12711             type => "INT",
12712             enum => [
12713             { name => "0", description => "REGULAR_BOOKING" },
12714             { name => "1", description => "CFD" },
12715             { name => "2", description => "TOTAL_RETURN_SWAP" },
12716             ]
12717             },
12718             {
12719             number => "776",
12720             name => "IndividualAllocRejCode",
12721             type => "INT"
12722             },
12723             { number => "777", name => "SettlInstMsgID", type => "STRING" },
12724             { number => "778", name => "NoSettlInst", type => "NUMINGROUP" },
12725             {
12726             number => "779",
12727             name => "LastUpdateTime",
12728             type => "UTCTIMESTAMP"
12729             },
12730             {
12731             number => "780",
12732             name => "AllocSettlInstType",
12733             type => "INT",
12734             enum => [
12735             {
12736             name => "0",
12737             description => "USE_DEFAULT_INSTRUCTIONS"
12738             },
12739             {
12740             name => "1",
12741             description => "DERIVE_FROM_PARAMETERS_PROVIDED"
12742             },
12743             { name => "2", description => "FULL_DETAILS_PROVIDED" },
12744             { name => "3", description => "SSI_DB_IDS_PROVIDED" },
12745             { name => "4", description => "PHONE_FOR_INSTRUCTIONS" },
12746             ]
12747             },
12748             {
12749             number => "781",
12750             name => "NoSettlPartyIDs",
12751             type => "NUMINGROUP"
12752             },
12753             { number => "782", name => "SettlPartyID", type => "STRING" },
12754             { number => "783", name => "SettlPartyIDSource", type => "CHAR" },
12755             { number => "784", name => "SettlPartyRole", type => "INT" },
12756             { number => "785", name => "SettlPartySubID", type => "STRING" },
12757             { number => "786", name => "SettlPartySubIDType", type => "INT" },
12758             {
12759             number => "787",
12760             name => "DlvyInstType",
12761             type => "CHAR",
12762             enum => [
12763             { name => "S", description => "SECURITIES" },
12764             { name => "C", description => "CASH" },
12765             ]
12766             },
12767             {
12768             number => "788",
12769             name => "TerminationType",
12770             type => "INT",
12771             enum => [
12772             { name => "1", description => "OVERNIGHT" },
12773             { name => "2", description => "TERM" },
12774             { name => "3", description => "FLEXIBLE" },
12775             { name => "4", description => "OPEN" },
12776             ]
12777             },
12778             {
12779             number => "789",
12780             name => "NextExpectedMsgSeqNum",
12781             type => "SEQNUM"
12782             },
12783             { number => "790", name => "OrdStatusReqID", type => "STRING" },
12784             { number => "791", name => "SettlInstReqID", type => "STRING" },
12785             {
12786             number => "792",
12787             name => "SettlInstReqRejCode",
12788             type => "INT",
12789             enum => [
12790             {
12791             name => "0",
12792             description => "UNABLE_TO_PROCESS_REQUEST"
12793             },
12794             { name => "1", description => "UNKNOWN_ACCOUNT" },
12795             {
12796             name => "2",
12797             description =>
12798             "NO_MATCHING_SETTLEMENT_INSTRUCTIONS_FOUND"
12799             },
12800             ]
12801             },
12802             { number => "793", name => "SecondaryAllocID", type => "STRING" },
12803             {
12804             number => "794",
12805             name => "AllocReportType",
12806             type => "INT",
12807             enum => [
12808             {
12809             name => "3",
12810             description => "SELLSIDE_CALCULATED_USING_PRELIMINARY"
12811             },
12812             {
12813             name => "4",
12814             description =>
12815             "SELLSIDE_CALCULATED_WITHOUT_PRELIMINARY"
12816             },
12817             { name => "5", description => "WAREHOUSE_RECAP" },
12818             { name => "8", description => "REQUEST_TO_INTERMEDIARY" },
12819             ]
12820             },
12821             { number => "795", name => "AllocReportRefID", type => "STRING" },
12822             {
12823             number => "796",
12824             name => "AllocCancReplaceReason",
12825             type => "INT",
12826             enum => [
12827             {
12828             name => "1",
12829             description => "ORIGINAL_DETAILS_INCOMPLETE_INCORRECT"
12830             },
12831             {
12832             name => "2",
12833             description => "CHANGE_IN_UNDERLYING_ORDER_DETAILS"
12834             },
12835             ]
12836             },
12837             {
12838             number => "797",
12839             name => "CopyMsgIndicator",
12840             type => "BOOLEAN"
12841             },
12842             {
12843             number => "798",
12844             name => "AllocAccountType",
12845             type => "INT",
12846             enum => [
12847             {
12848             name => "1",
12849             description =>
12850             "ACCOUNT_IS_CARRIED_ON_CUSTOMER_SIDE_OF_BOOKS"
12851             },
12852             {
12853             name => "2",
12854             description =>
12855             "ACCOUNT_IS_CARRIED_ON_NON_CUSTOMER_SIDE_OF_BOOKS"
12856             },
12857             { name => "3", description => "HOUSE_TRADER" },
12858             { name => "4", description => "FLOOR_TRADER" },
12859             {
12860             name => "6",
12861             description =>
12862             "ACCOUNT_IS_CARRIED_ON_NON_CUSTOMER_SIDE_OF_BOOKS_AND_IS_CROSS_MARGINED"
12863             },
12864             {
12865             name => "7",
12866             description =>
12867             "ACCOUNT_IS_HOUSE_TRADER_AND_IS_CROSS_MARGINED"
12868             },
12869             {
12870             name => "8",
12871             description => "JOINT_BACKOFFICE_ACCOUNT"
12872             },
12873             ]
12874             },
12875             { number => "799", name => "OrderAvgPx", type => "PRICE" },
12876             { number => "800", name => "OrderBookingQty", type => "QTY" },
12877             {
12878             number => "801",
12879             name => "NoSettlPartySubIDs",
12880             type => "NUMINGROUP"
12881             },
12882             {
12883             number => "802",
12884             name => "NoPartySubIDs",
12885             type => "NUMINGROUP"
12886             },
12887             { number => "803", name => "PartySubIDType", type => "INT" },
12888             {
12889             number => "804",
12890             name => "NoNestedPartySubIDs",
12891             type => "NUMINGROUP"
12892             },
12893             {
12894             number => "805",
12895             name => "NestedPartySubIDType",
12896             type => "INT"
12897             },
12898             {
12899             number => "806",
12900             name => "NoNested2PartySubIDs",
12901             type => "NUMINGROUP"
12902             },
12903             {
12904             number => "807",
12905             name => "Nested2PartySubIDType",
12906             type => "INT"
12907             },
12908             {
12909             number => "808",
12910             name => "AllocIntermedReqType",
12911             type => "INT",
12912             enum => [
12913             { name => "1", description => "PENDING_ACCEPT" },
12914             { name => "2", description => "PENDING_RELEASE" },
12915             { name => "3", description => "PENDING_REVERSAL" },
12916             { name => "4", description => "ACCEPT" },
12917             { name => "5", description => "BLOCK_LEVEL_REJECT" },
12918             { name => "6", description => "ACCOUNT_LEVEL_REJECT" },
12919             ]
12920             },
12921             { number => "810", name => "UnderlyingPx", type => "PRICE" },
12922             { number => "811", name => "PriceDelta", type => "FLOAT" },
12923             { number => "812", name => "ApplQueueMax", type => "INT" },
12924             { number => "813", name => "ApplQueueDepth", type => "INT" },
12925             {
12926             number => "814",
12927             name => "ApplQueueResolution",
12928             type => "INT",
12929             enum => [
12930             { name => "0", description => "NO_ACTION_TAKEN" },
12931             { name => "1", description => "QUEUE_FLUSHED" },
12932             { name => "2", description => "OVERLAY_LAST" },
12933             { name => "3", description => "END_SESSION" },
12934             ]
12935             },
12936             {
12937             number => "815",
12938             name => "ApplQueueAction",
12939             type => "INT",
12940             enum => [
12941             { name => "0", description => "NO_ACTION_TAKEN" },
12942             { name => "1", description => "QUEUE_FLUSHED" },
12943             { name => "2", description => "OVERLAY_LAST" },
12944             { name => "3", description => "END_SESSION" },
12945             ]
12946             },
12947             {
12948             number => "816",
12949             name => "NoAltMDSource",
12950             type => "NUMINGROUP"
12951             },
12952             { number => "817", name => "AltMDSourceID", type => "STRING" },
12953             {
12954             number => "818",
12955             name => "SecondaryTradeReportID",
12956             type => "STRING"
12957             },
12958             {
12959             number => "819",
12960             name => "AvgPxIndicator",
12961             type => "INT",
12962             enum => [
12963             { name => "0", description => "NO_AVERAGE_PRICING" },
12964             {
12965             name => "1",
12966             description =>
12967             "TRADE_IS_PART_OF_AN_AVERAGE_PRICE_GROUP_IDENTIFIED_BY_THE_TRADELINKID"
12968             },
12969             {
12970             name => "2",
12971             description =>
12972             "LAST_TRADE_IN_THE_AVERAGE_PRICE_GROUP_IDENTIFIED_BY_THE_TRADELINKID"
12973             },
12974             ]
12975             },
12976             { number => "820", name => "TradeLinkID", type => "STRING" },
12977             { number => "821", name => "OrderInputDevice", type => "STRING" },
12978             {
12979             number => "822",
12980             name => "UnderlyingTradingSessionID",
12981             type => "STRING"
12982             },
12983             {
12984             number => "823",
12985             name => "UnderlyingTradingSessionSubID",
12986             type => "STRING"
12987             },
12988             { number => "824", name => "TradeLegRefID", type => "STRING" },
12989             { number => "825", name => "ExchangeRule", type => "STRING" },
12990             {
12991             number => "826",
12992             name => "TradeAllocIndicator",
12993             type => "INT",
12994             enum => [
12995             { name => "0", description => "ALLOCATION_NOT_REQUIRED" },
12996             { name => "1", description => "ALLOCATION_REQUIRED" },
12997             {
12998             name => "2",
12999             description =>
13000             "USE_ALLOCATION_PROVIDED_WITH_THE_TRADE"
13001             },
13002             ]
13003             },
13004             {
13005             number => "827",
13006             name => "ExpirationCycle",
13007             type => "INT",
13008             enum => [
13009             {
13010             name => "0",
13011             description => "EXPIRE_ON_TRADING_SESSION_CLOSE"
13012             },
13013             {
13014             name => "1",
13015             description => "EXPIRE_ON_TRADING_SESSION_OPEN"
13016             },
13017             ]
13018             },
13019             {
13020             number => "828",
13021             name => "TrdType",
13022             type => "INT",
13023             enum => [
13024             { name => "0", description => "REGULAR_TRADE" },
13025             { name => "1", description => "BLOCK_TRADE" },
13026             { name => "2", description => "EFP" },
13027             { name => "3", description => "TRANSFER" },
13028             { name => "4", description => "LATE_TRADE" },
13029             { name => "5", description => "T_TRADE" },
13030             {
13031             name => "6",
13032             description => "WEIGHTED_AVERAGE_PRICE_TRADE"
13033             },
13034             { name => "7", description => "BUNCHED_TRADE" },
13035             { name => "8", description => "LATE_BUNCHED_TRADE" },
13036             {
13037             name => "9",
13038             description => "PRIOR_REFERENCE_PRICE_TRADE"
13039             },
13040             ]
13041             },
13042             { number => "829", name => "TrdSubType", type => "INT" },
13043             { number => "830", name => "TransferReason", type => "STRING" },
13044             { number => "831", name => "AsgnReqID", type => "STRING" },
13045             {
13046             number => "832",
13047             name => "TotNumAssignmentReports",
13048             type => "INT"
13049             },
13050             { number => "833", name => "AsgnRptID", type => "STRING" },
13051             {
13052             number => "834",
13053             name => "ThresholdAmount",
13054             type => "PRICEOFFSET"
13055             },
13056             {
13057             number => "835",
13058             name => "PegMoveType",
13059             type => "INT",
13060             enum => [
13061             { name => "0", description => "FLOATING" },
13062             { name => "1", description => "FIXED" },
13063             ]
13064             },
13065             {
13066             number => "836",
13067             name => "PegOffsetType",
13068             type => "INT",
13069             enum => [
13070             { name => "0", description => "PRICE" },
13071             { name => "1", description => "BASIS_POINTS" },
13072             { name => "2", description => "TICKS" },
13073             { name => "3", description => "PRICE_TIER_LEVEL" },
13074             ]
13075             },
13076             {
13077             number => "837",
13078             name => "PegLimitType",
13079             type => "INT",
13080             enum => [
13081             { name => "0", description => "OR_BETTER" },
13082             { name => "1", description => "STRICT" },
13083             { name => "2", description => "OR_WORSE" },
13084             ]
13085             },
13086             {
13087             number => "838",
13088             name => "PegRoundDirection",
13089             type => "INT",
13090             enum => [
13091             { name => "1", description => "MORE_AGGRESSIVE" },
13092             { name => "2", description => "MORE_PASSIVE" },
13093             ]
13094             },
13095             { number => "839", name => "PeggedPrice", type => "PRICE" },
13096             {
13097             number => "840",
13098             name => "PegScope",
13099             type => "INT",
13100             enum => [
13101             { name => "1", description => "LOCAL" },
13102             { name => "2", description => "NATIONAL" },
13103             { name => "3", description => "GLOBAL" },
13104             {
13105             name => "4",
13106             description => "NATIONAL_EXCLUDING_LOCAL"
13107             },
13108             ]
13109             },
13110             {
13111             number => "841",
13112             name => "DiscretionMoveType",
13113             type => "INT",
13114             enum => [
13115             { name => "0", description => "FLOATING" },
13116             { name => "1", description => "FIXED" },
13117             ]
13118             },
13119             {
13120             number => "842",
13121             name => "DiscretionOffsetType",
13122             type => "INT",
13123             enum => [
13124             { name => "0", description => "PRICE" },
13125             { name => "1", description => "BASIS_POINTS" },
13126             { name => "2", description => "TICKS" },
13127             { name => "3", description => "PRICE_TIER_LEVEL" },
13128             ]
13129             },
13130             {
13131             number => "843",
13132             name => "DiscretionLimitType",
13133             type => "INT",
13134             enum => [
13135             { name => "0", description => "OR_BETTER" },
13136             { name => "1", description => "STRICT" },
13137             { name => "2", description => "OR_WORSE" },
13138             ]
13139             },
13140             {
13141             number => "844",
13142             name => "DiscretionRoundDirection",
13143             type => "INT",
13144             enum => [
13145             { name => "1", description => "MORE_AGGRESSIVE" },
13146             { name => "2", description => "MORE_PASSIVE" },
13147             ]
13148             },
13149             { number => "845", name => "DiscretionPrice", type => "PRICE" },
13150             {
13151             number => "846",
13152             name => "DiscretionScope",
13153             type => "INT",
13154             enum => [
13155             { name => "1", description => "LOCAL" },
13156             { name => "2", description => "NATIONAL" },
13157             { name => "3", description => "GLOBAL" },
13158             {
13159             name => "4",
13160             description => "NATIONAL_EXCLUDING_LOCAL"
13161             },
13162             ]
13163             },
13164             { number => "847", name => "TargetStrategy", type => "INT" },
13165             {
13166             number => "848",
13167             name => "TargetStrategyParameters",
13168             type => "STRING"
13169             },
13170             {
13171             number => "849",
13172             name => "ParticipationRate",
13173             type => "PERCENTAGE"
13174             },
13175             {
13176             number => "850",
13177             name => "TargetStrategyPerformance",
13178             type => "FLOAT"
13179             },
13180             {
13181             number => "851",
13182             name => "LastLiquidityInd",
13183             type => "INT",
13184             enum => [
13185             { name => "1", description => "ADDED_LIQUIDITY" },
13186             { name => "2", description => "REMOVED_LIQUIDITY" },
13187             { name => "3", description => "LIQUIDITY_ROUTED_OUT" },
13188             ]
13189             },
13190             {
13191             number => "852",
13192             name => "PublishTrdIndicator",
13193             type => "BOOLEAN"
13194             },
13195             {
13196             number => "853",
13197             name => "ShortSaleReason",
13198             type => "INT",
13199             enum => [
13200             { name => "0", description => "DEALER_SOLD_SHORT" },
13201             {
13202             name => "1",
13203             description => "DEALER_SOLD_SHORT_EXEMPT"
13204             },
13205             {
13206             name => "2",
13207             description => "SELLING_CUSTOMER_SOLD_SHORT"
13208             },
13209             {
13210             name => "3",
13211             description => "SELLING_CUSTOMER_SOLD_SHORT_EXEMPT"
13212             },
13213             {
13214             name => "4",
13215             description =>
13216             "QUALIFED_SERVICE_REPRESENTATIVE_OR_AUTOMATIC_GIVEUP_CONTRA_SIDE_SOLD_SHORT"
13217             },
13218             {
13219             name => "5",
13220             description =>
13221             "QSR_OR_AGU_CONTRA_SIDE_SOLD_SHORT_EXEMPT"
13222             },
13223             ]
13224             },
13225             {
13226             number => "854",
13227             name => "QtyType",
13228             type => "INT",
13229             enum => [
13230             { name => "0", description => "UNITS" },
13231             { name => "1", description => "CONTRACTS" },
13232             ]
13233             },
13234             { number => "855", name => "SecondaryTrdType", type => "INT" },
13235             {
13236             number => "856",
13237             name => "TradeReportType",
13238             type => "INT",
13239             enum => [
13240             { name => "0", description => "SUBMIT" },
13241             { name => "1", description => "ALLEGED" },
13242             { name => "2", description => "ACCEPT" },
13243             { name => "3", description => "DECLINE" },
13244             { name => "4", description => "ADDENDUM" },
13245             { name => "5", description => "NO_WAS" },
13246             { name => "6", description => "TRADE_REPORT_CANCEL" },
13247             { name => "7", description => "LOCKED_IN_TRADE_BREAK" },
13248             ]
13249             },
13250             {
13251             number => "857",
13252             name => "AllocNoOrdersType",
13253             type => "INT",
13254             enum => [
13255             { name => "0", description => "NOT_SPECIFIED" },
13256             { name => "1", description => "EXPLICIT_LIST_PROVIDED" },
13257             ]
13258             },
13259             { number => "858", name => "SharedCommission", type => "AMT" },
13260             { number => "859", name => "ConfirmReqID", type => "STRING" },
13261             { number => "860", name => "AvgParPx", type => "PRICE" },
13262             { number => "861", name => "ReportedPx", type => "PRICE" },
13263             { number => "862", name => "NoCapacities", type => "NUMINGROUP" },
13264             { number => "863", name => "OrderCapacityQty", type => "QTY" },
13265             { number => "864", name => "NoEvents", type => "NUMINGROUP" },
13266             {
13267             number => "865",
13268             name => "EventType",
13269             type => "INT",
13270             enum => [
13271             { name => "1", description => "PUT" },
13272             { name => "2", description => "CALL" },
13273             { name => "3", description => "TENDER" },
13274             { name => "4", description => "SINKING_FUND_CALL" },
13275             ]
13276             },
13277             { number => "866", name => "EventDate", type => "LOCALMKTDATE" },
13278             { number => "867", name => "EventPx", type => "PRICE" },
13279             { number => "868", name => "EventText", type => "STRING" },
13280             { number => "869", name => "PctAtRisk", type => "PERCENTAGE" },
13281             {
13282             number => "870",
13283             name => "NoInstrAttrib",
13284             type => "NUMINGROUP"
13285             },
13286             {
13287             number => "871",
13288             name => "InstrAttribType",
13289             type => "INT",
13290             enum => [
13291             { name => "1", description => "FLAT" },
13292             { name => "2", description => "ZERO_COUPON" },
13293             { name => "3", description => "INTEREST_BEARING" },
13294             { name => "4", description => "NO_PERIODIC_PAYMENTS" },
13295             { name => "5", description => "VARIABLE_RATE" },
13296             { name => "6", description => "LESS_FEE_FOR_PUT" },
13297             { name => "7", description => "STEPPED_COUPON" },
13298             { name => "8", description => "COUPON_PERIOD" },
13299             { name => "9", description => "WHEN_AND_IF_ISSUED" },
13300             ]
13301             },
13302             { number => "872", name => "InstrAttribValue", type => "STRING" },
13303             { number => "873", name => "DatedDate", type => "LOCALMKTDATE" },
13304             {
13305             number => "874",
13306             name => "InterestAccrualDate",
13307             type => "LOCALMKTDATE"
13308             },
13309             { number => "875", name => "CPProgram", type => "INT" },
13310             { number => "876", name => "CPRegType", type => "STRING" },
13311             {
13312             number => "877",
13313             name => "UnderlyingCPProgram",
13314             type => "STRING"
13315             },
13316             {
13317             number => "878",
13318             name => "UnderlyingCPRegType",
13319             type => "STRING"
13320             },
13321             { number => "879", name => "UnderlyingQty", type => "QTY" },
13322             { number => "880", name => "TrdMatchID", type => "STRING" },
13323             {
13324             number => "881",
13325             name => "SecondaryTradeReportRefID",
13326             type => "STRING"
13327             },
13328             {
13329             number => "882",
13330             name => "UnderlyingDirtyPrice",
13331             type => "PRICE"
13332             },
13333             {
13334             number => "883",
13335             name => "UnderlyingEndPrice",
13336             type => "PRICE"
13337             },
13338             {
13339             number => "884",
13340             name => "UnderlyingStartValue",
13341             type => "AMT"
13342             },
13343             {
13344             number => "885",
13345             name => "UnderlyingCurrentValue",
13346             type => "AMT"
13347             },
13348             { number => "886", name => "UnderlyingEndValue", type => "AMT" },
13349             {
13350             number => "887",
13351             name => "NoUnderlyingStips",
13352             type => "NUMINGROUP"
13353             },
13354             {
13355             number => "888",
13356             name => "UnderlyingStipType",
13357             type => "STRING"
13358             },
13359             {
13360             number => "889",
13361             name => "UnderlyingStipValue",
13362             type => "STRING"
13363             },
13364             { number => "890", name => "MaturityNetMoney", type => "AMT" },
13365             {
13366             number => "891",
13367             name => "MiscFeeBasis",
13368             type => "INT",
13369             enum => [
13370             { name => "0", description => "ABSOLUTE" },
13371             { name => "1", description => "PER_UNIT" },
13372             { name => "2", description => "PERCENTAGE" },
13373             ]
13374             },
13375             { number => "892", name => "TotNoAllocs", type => "INT" },
13376             { number => "893", name => "LastFragment", type => "BOOLEAN" },
13377             { number => "894", name => "CollReqID", type => "STRING" },
13378             {
13379             number => "895",
13380             name => "CollAsgnReason",
13381             type => "INT",
13382             enum => [
13383             { name => "0", description => "INITIAL" },
13384             { name => "1", description => "SCHEDULED" },
13385             { name => "2", description => "TIME_WARNING" },
13386             { name => "3", description => "MARGIN_DEFICIENCY" },
13387             { name => "4", description => "MARGIN_EXCESS" },
13388             {
13389             name => "5",
13390             description => "FORWARD_COLLATERAL_DEMAND"
13391             },
13392             { name => "6", description => "EVENT_OF_DEFAULT" },
13393             { name => "7", description => "ADVERSE_TAX_EVENT" },
13394             ]
13395             },
13396             {
13397             number => "896",
13398             name => "CollInquiryQualifier",
13399             type => "INT",
13400             enum => [
13401             { name => "0", description => "TRADEDATE" },
13402             { name => "1", description => "GC_INSTRUMENT" },
13403             { name => "2", description => "COLLATERALINSTRUMENT" },
13404             { name => "3", description => "SUBSTITUTION_ELIGIBLE" },
13405             { name => "4", description => "NOT_ASSIGNED" },
13406             { name => "5", description => "PARTIALLY_ASSIGNED" },
13407             { name => "6", description => "FULLY_ASSIGNED" },
13408             { name => "7", description => "OUTSTANDING_TRADES" },
13409             ]
13410             },
13411             { number => "897", name => "NoTrades", type => "NUMINGROUP" },
13412             { number => "898", name => "MarginRatio", type => "PERCENTAGE" },
13413             { number => "899", name => "MarginExcess", type => "AMT" },
13414             { number => "900", name => "TotalNetValue", type => "AMT" },
13415             { number => "901", name => "CashOutstanding", type => "AMT" },
13416             { number => "902", name => "CollAsgnID", type => "STRING" },
13417             {
13418             number => "903",
13419             name => "CollAsgnTransType",
13420             type => "INT",
13421             enum => [
13422             { name => "0", description => "NEW" },
13423             { name => "1", description => "REPLACE" },
13424             { name => "2", description => "CANCEL" },
13425             { name => "3", description => "RELEASE" },
13426             { name => "4", description => "REVERSE" },
13427             ]
13428             },
13429             { number => "904", name => "CollRespID", type => "STRING" },
13430             {
13431             number => "905",
13432             name => "CollAsgnRespType",
13433             type => "INT",
13434             enum => [
13435             { name => "0", description => "RECEIVED" },
13436             { name => "1", description => "ACCEPTED" },
13437             { name => "2", description => "DECLINED" },
13438             { name => "3", description => "REJECTED" },
13439             ]
13440             },
13441             {
13442             number => "906",
13443             name => "CollAsgnRejectReason",
13444             type => "INT",
13445             enum => [
13446             { name => "0", description => "UNKNOWN_DEAL" },
13447             {
13448             name => "1",
13449             description => "UNKNOWN_OR_INVALID_INSTRUMENT"
13450             },
13451             {
13452             name => "2",
13453             description => "UNAUTHORIZED_TRANSACTION"
13454             },
13455             { name => "3", description => "INSUFFICIENT_COLLATERAL" },
13456             {
13457             name => "4",
13458             description => "INVALID_TYPE_OF_COLLATERAL"
13459             },
13460             { name => "5", description => "EXCESSIVE_SUBSTITUTION" },
13461             ]
13462             },
13463             { number => "907", name => "CollAsgnRefID", type => "STRING" },
13464             { number => "908", name => "CollRptID", type => "STRING" },
13465             { number => "909", name => "CollInquiryID", type => "STRING" },
13466             {
13467             number => "910",
13468             name => "CollStatus",
13469             type => "INT",
13470             enum => [
13471             { name => "0", description => "UNASSIGNED" },
13472             { name => "1", description => "PARTIALLY_ASSIGNED" },
13473             { name => "2", description => "ASSIGNMENT_PROPOSED" },
13474             { name => "3", description => "ASSIGNED" },
13475             { name => "4", description => "CHALLENGED" },
13476             ]
13477             },
13478             { number => "911", name => "TotNumReports", type => "INT" },
13479             {
13480             number => "912",
13481             name => "LastRptRequested",
13482             type => "BOOLEAN"
13483             },
13484             { number => "913", name => "AgreementDesc", type => "STRING" },
13485             { number => "914", name => "AgreementID", type => "STRING" },
13486             {
13487             number => "915",
13488             name => "AgreementDate",
13489             type => "LOCALMKTDATE"
13490             },
13491             { number => "916", name => "StartDate", type => "LOCALMKTDATE" },
13492             { number => "917", name => "EndDate", type => "LOCALMKTDATE" },
13493             {
13494             number => "918",
13495             name => "AgreementCurrency",
13496             type => "CURRENCY"
13497             },
13498             {
13499             number => "919",
13500             name => "DeliveryType",
13501             type => "INT",
13502             enum => [
13503             { name => "0", description => "VERSUS_PAYMENT" },
13504             { name => "1", description => "FREE" },
13505             { name => "2", description => "TRI_PARTY" },
13506             { name => "3", description => "HOLD_IN_CUSTODY" },
13507             ]
13508             },
13509             {
13510             number => "920",
13511             name => "EndAccruedInterestAmt",
13512             type => "AMT"
13513             },
13514             { number => "921", name => "StartCash", type => "AMT" },
13515             { number => "922", name => "EndCash", type => "AMT" },
13516             { number => "923", name => "UserRequestID", type => "STRING" },
13517             {
13518             number => "924",
13519             name => "UserRequestType",
13520             type => "INT",
13521             enum => [
13522             { name => "1", description => "LOGONUSER" },
13523             { name => "2", description => "LOGOFFUSER" },
13524             { name => "3", description => "CHANGEPASSWORDFORUSER" },
13525             {
13526             name => "4",
13527             description => "REQUEST_INDIVIDUAL_USER_STATUS"
13528             },
13529             ]
13530             },
13531             { number => "925", name => "NewPassword", type => "STRING" },
13532             {
13533             number => "926",
13534             name => "UserStatus",
13535             type => "INT",
13536             enum => [
13537             { name => "1", description => "LOGGED_IN" },
13538             { name => "2", description => "NOT_LOGGED_IN" },
13539             { name => "3", description => "USER_NOT_RECOGNISED" },
13540             { name => "4", description => "PASSWORD_INCORRECT" },
13541             { name => "5", description => "PASSWORD_CHANGED" },
13542             { name => "6", description => "OTHER" },
13543             ]
13544             },
13545             { number => "927", name => "UserStatusText", type => "STRING" },
13546             {
13547             number => "928",
13548             name => "StatusValue",
13549             type => "INT",
13550             enum => [
13551             { name => "1", description => "CONNECTED" },
13552             {
13553             name => "2",
13554             description => "NOT_CONNECTED_DOWN_EXPECTED_UP"
13555             },
13556             {
13557             name => "3",
13558             description => "NOT_CONNECTED_DOWN_EXPECTED_DOWN"
13559             },
13560             { name => "4", description => "IN_PROCESS" },
13561             ]
13562             },
13563             { number => "929", name => "StatusText", type => "STRING" },
13564             { number => "930", name => "RefCompID", type => "STRING" },
13565             { number => "931", name => "RefSubID", type => "STRING" },
13566             {
13567             number => "932",
13568             name => "NetworkResponseID",
13569             type => "STRING"
13570             },
13571             { number => "933", name => "NetworkRequestID", type => "STRING" },
13572             {
13573             number => "934",
13574             name => "LastNetworkResponseID",
13575             type => "STRING"
13576             },
13577             {
13578             number => "935",
13579             name => "NetworkRequestType",
13580             type => "INT",
13581             enum => [
13582             { name => "1", description => "SNAPSHOT" },
13583             { name => "2", description => "SUBSCRIBE" },
13584             { name => "4", description => "STOP_SUBSCRIBING" },
13585             { name => "8", description => "LEVEL_OF_DETAIL" },
13586             ]
13587             },
13588             { number => "936", name => "NoCompIDs", type => "NUMINGROUP" },
13589             {
13590             number => "937",
13591             name => "NetworkStatusResponseType",
13592             type => "INT",
13593             enum => [
13594             { name => "1", description => "FULL" },
13595             { name => "2", description => "INCREMENTAL_UPDATE" },
13596             ]
13597             },
13598             {
13599             number => "938",
13600             name => "NoCollInquiryQualifier",
13601             type => "NUMINGROUP"
13602             },
13603             {
13604             number => "939",
13605             name => "TrdRptStatus",
13606             type => "INT",
13607             enum => [
13608             { name => "0", description => "ACCEPTED" },
13609             { name => "1", description => "REJECTED" },
13610             ]
13611             },
13612             {
13613             number => "940",
13614             name => "AffirmStatus",
13615             type => "INT",
13616             enum => [
13617             { name => "1", description => "RECEIVED" },
13618             { name => "2", description => "CONFIRM_REJECTED" },
13619             { name => "3", description => "AFFIRMED" },
13620             ]
13621             },
13622             {
13623             number => "941",
13624             name => "UnderlyingStrikeCurrency",
13625             type => "CURRENCY"
13626             },
13627             {
13628             number => "942",
13629             name => "LegStrikeCurrency",
13630             type => "CURRENCY"
13631             },
13632             { number => "943", name => "TimeBracket", type => "STRING" },
13633             {
13634             number => "944",
13635             name => "CollAction",
13636             type => "INT",
13637             enum => [
13638             { name => "0", description => "RETAIN" },
13639             { name => "1", description => "ADD" },
13640             { name => "2", description => "REMOVE" },
13641             ]
13642             },
13643             {
13644             number => "945",
13645             name => "CollInquiryStatus",
13646             type => "INT",
13647             enum => [
13648             { name => "0", description => "ACCEPTED" },
13649             { name => "1", description => "ACCEPTED_WITH_WARNINGS" },
13650             { name => "2", description => "COMPLETED" },
13651             { name => "3", description => "COMPLETED_WITH_WARNINGS" },
13652             { name => "4", description => "REJECTED" },
13653             ]
13654             },
13655             {
13656             number => "946",
13657             name => "CollInquiryResult",
13658             type => "INT",
13659             enum => [
13660             { name => "0", description => "SUCCESSFUL" },
13661             {
13662             name => "1",
13663             description => "INVALID_OR_UNKNOWN_INSTRUMENT"
13664             },
13665             {
13666             name => "2",
13667             description => "INVALID_OR_UNKNOWN_COLLATERAL_TYPE"
13668             },
13669             { name => "3", description => "INVALID_PARTIES" },
13670             {
13671             name => "4",
13672             description => "INVALID_TRANSPORT_TYPE_REQUESTED"
13673             },
13674             {
13675             name => "5",
13676             description => "INVALID_DESTINATION_REQUESTED"
13677             },
13678             {
13679             name => "6",
13680             description =>
13681             "NO_COLLATERAL_FOUND_FOR_THE_TRADE_SPECIFIED"
13682             },
13683             {
13684             name => "7",
13685             description =>
13686             "NO_COLLATERAL_FOUND_FOR_THE_ORDER_SPECIFIED"
13687             },
13688             {
13689             name => "8",
13690             description => "COLLATERAL_INQUIRY_TYPE_NOT_SUPPORTED"
13691             },
13692             {
13693             name => "9",
13694             description => "UNAUTHORIZED_FOR_COLLATERAL_INQUIRY"
13695             },
13696             { name => "99", description => "OTHER" },
13697             ]
13698             },
13699             { number => "947", name => "StrikeCurrency", type => "CURRENCY" },
13700             {
13701             number => "948",
13702             name => "NoNested3PartyIDs",
13703             type => "NUMINGROUP"
13704             },
13705             { number => "949", name => "Nested3PartyID", type => "STRING" },
13706             {
13707             number => "950",
13708             name => "Nested3PartyIDSource",
13709             type => "CHAR"
13710             },
13711             { number => "951", name => "Nested3PartyRole", type => "INT" },
13712             {
13713             number => "952",
13714             name => "NoNested3PartySubIDs",
13715             type => "NUMINGROUP"
13716             },
13717             {
13718             number => "953",
13719             name => "Nested3PartySubID",
13720             type => "STRING"
13721             },
13722             {
13723             number => "954",
13724             name => "Nested3PartySubIDType",
13725             type => "INT"
13726             },
13727             {
13728             number => "955",
13729             name => "LegContractSettlMonth",
13730             type => "MONTHYEAR"
13731             },
13732             {
13733             number => "956",
13734             name => "LegInterestAccrualDate",
13735             type => "LOCALMKTDATE"
13736             },
13737             ],
13738             };
13739             }
13740              
13741             1;
13742