Skip to main content

fixer_fix/fix50/
allocation_instruction.rs

1// Code generated by fixer-gen. DO NOT EDIT.
2#![allow(clippy::new_without_default)]
3#![allow(clippy::needless_pass_by_value)]
4#![allow(clippy::too_many_arguments)]
5#![allow(unused_imports)]
6
7use fixer::message::Message;
8use fixer::fix_string::FIXString;
9use fixer::errors::MessageRejectErrorEnum;
10use fixer::session::session_id::SessionID;
11
12use rust_decimal::Decimal;
13
14
15use jiff::Timestamp;
16
17use crate::field;
18use crate::tag;
19
20/// `AllocationInstruction` is the `fix50` `AllocationInstruction` type, `MsgType` = J.
21pub struct AllocationInstruction {
22    pub message: Message,
23}
24
25impl AllocationInstruction {
26    /// Creates a new `AllocationInstruction` with required fields.
27    pub fn new(alloc_id: field::AllocIDField, alloc_trans_type: field::AllocTransTypeField, alloc_type: field::AllocTypeField, side: field::SideField, quantity: field::QuantityField, trade_date: field::TradeDateField) -> Self {
28        let mut msg = Message::new();
29        msg.header.set_field(tag::MSG_TYPE, FIXString::from("J".to_string()));
30
31        msg.body.set_field(tag::ALLOC_ID, alloc_id.0);
32
33        msg.body.set_field(tag::ALLOC_TRANS_TYPE, alloc_trans_type.0);
34
35        msg.body.set_field(tag::ALLOC_TYPE, alloc_type.0);
36
37        msg.body.set_field(tag::SIDE, side.0);
38
39        msg.body.set_field(tag::QUANTITY, quantity.0);
40
41        msg.body.set_field(tag::TRADE_DATE, trade_date.0);
42
43        Self { message: msg }
44    }
45
46    /// Creates a `AllocationInstruction` from an existing `Message`.
47    pub fn from_message(msg: Message) -> Self {
48        Self { message: msg }
49    }
50
51    /// Returns the underlying `Message`.
52    pub fn to_message(self) -> Message {
53        self.message
54    }
55
56
57
58
59    /// Sets `AccruedInterestAmt`, Tag 159.
60    pub fn set_accrued_interest_amt(&mut self, val: Decimal, scale: i32) {
61        self.message.body.set_field(tag::ACCRUED_INTEREST_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
62    }
63
64    /// Gets `AccruedInterestAmt`, Tag 159.
65    pub fn get_accrued_interest_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
66        let mut fld = field::AccruedInterestAmtField::new(Decimal::ZERO, 0);
67        self.message.body.get_field(tag::ACCRUED_INTEREST_AMT, &mut fld.0)?;
68        Ok(fld.value())
69    }
70
71
72    /// Returns true if `AccruedInterestAmt` is present, Tag 159.
73    pub fn has_accrued_interest_amt(&self) -> bool {
74        self.message.body.has(tag::ACCRUED_INTEREST_AMT)
75    }
76
77
78
79
80    /// Sets `AccruedInterestRate`, Tag 158.
81    pub fn set_accrued_interest_rate(&mut self, val: Decimal, scale: i32) {
82        self.message.body.set_field(tag::ACCRUED_INTEREST_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
83    }
84
85    /// Gets `AccruedInterestRate`, Tag 158.
86    pub fn get_accrued_interest_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
87        let mut fld = field::AccruedInterestRateField::new(Decimal::ZERO, 0);
88        self.message.body.get_field(tag::ACCRUED_INTEREST_RATE, &mut fld.0)?;
89        Ok(fld.value())
90    }
91
92
93    /// Returns true if `AccruedInterestRate` is present, Tag 158.
94    pub fn has_accrued_interest_rate(&self) -> bool {
95        self.message.body.has(tag::ACCRUED_INTEREST_RATE)
96    }
97
98
99
100
101    /// Sets `AgreementCurrency`, Tag 918.
102    pub fn set_agreement_currency(&mut self, v: String) {
103        self.message.body.set_field(tag::AGREEMENT_CURRENCY, FIXString::from(v));
104    }
105
106    /// Gets `AgreementCurrency`, Tag 918.
107    pub fn get_agreement_currency(&self) -> Result<String, MessageRejectErrorEnum> {
108        let mut fld = field::AgreementCurrencyField::new(String::new());
109        self.message.body.get_field(tag::AGREEMENT_CURRENCY, &mut fld.0)?;
110        Ok(fld.value().to_string())
111    }
112
113
114    /// Returns true if `AgreementCurrency` is present, Tag 918.
115    pub fn has_agreement_currency(&self) -> bool {
116        self.message.body.has(tag::AGREEMENT_CURRENCY)
117    }
118
119
120
121
122    /// Sets `AgreementDate`, Tag 915.
123    pub fn set_agreement_date(&mut self, v: String) {
124        self.message.body.set_field(tag::AGREEMENT_DATE, FIXString::from(v));
125    }
126
127    /// Gets `AgreementDate`, Tag 915.
128    pub fn get_agreement_date(&self) -> Result<String, MessageRejectErrorEnum> {
129        let mut fld = field::AgreementDateField::new(String::new());
130        self.message.body.get_field(tag::AGREEMENT_DATE, &mut fld.0)?;
131        Ok(fld.value().to_string())
132    }
133
134
135    /// Returns true if `AgreementDate` is present, Tag 915.
136    pub fn has_agreement_date(&self) -> bool {
137        self.message.body.has(tag::AGREEMENT_DATE)
138    }
139
140
141
142
143    /// Sets `AgreementDesc`, Tag 913.
144    pub fn set_agreement_desc(&mut self, v: String) {
145        self.message.body.set_field(tag::AGREEMENT_DESC, FIXString::from(v));
146    }
147
148    /// Gets `AgreementDesc`, Tag 913.
149    pub fn get_agreement_desc(&self) -> Result<String, MessageRejectErrorEnum> {
150        let mut fld = field::AgreementDescField::new(String::new());
151        self.message.body.get_field(tag::AGREEMENT_DESC, &mut fld.0)?;
152        Ok(fld.value().to_string())
153    }
154
155
156    /// Returns true if `AgreementDesc` is present, Tag 913.
157    pub fn has_agreement_desc(&self) -> bool {
158        self.message.body.has(tag::AGREEMENT_DESC)
159    }
160
161
162
163
164    /// Sets `AgreementID`, Tag 914.
165    pub fn set_agreement_id(&mut self, v: String) {
166        self.message.body.set_field(tag::AGREEMENT_ID, FIXString::from(v));
167    }
168
169    /// Gets `AgreementID`, Tag 914.
170    pub fn get_agreement_id(&self) -> Result<String, MessageRejectErrorEnum> {
171        let mut fld = field::AgreementIDField::new(String::new());
172        self.message.body.get_field(tag::AGREEMENT_ID, &mut fld.0)?;
173        Ok(fld.value().to_string())
174    }
175
176
177    /// Returns true if `AgreementID` is present, Tag 914.
178    pub fn has_agreement_id(&self) -> bool {
179        self.message.body.has(tag::AGREEMENT_ID)
180    }
181
182
183
184
185    /// Sets `AllocCancReplaceReason`, Tag 796.
186    pub fn set_alloc_canc_replace_reason(&mut self, v: isize) {
187        self.message.body.set_field(tag::ALLOC_CANC_REPLACE_REASON, fixer::fix_int::FIXInt::from(v));
188    }
189
190    /// Gets `AllocCancReplaceReason`, Tag 796.
191    pub fn get_alloc_canc_replace_reason(&self) -> Result<isize, MessageRejectErrorEnum> {
192        let mut fld = field::AllocCancReplaceReasonField::new(0);
193        self.message.body.get_field(tag::ALLOC_CANC_REPLACE_REASON, &mut fld.0)?;
194        Ok(fld.value())
195    }
196
197
198    /// Returns true if `AllocCancReplaceReason` is present, Tag 796.
199    pub fn has_alloc_canc_replace_reason(&self) -> bool {
200        self.message.body.has(tag::ALLOC_CANC_REPLACE_REASON)
201    }
202
203
204
205
206    /// Sets `AllocID`, Tag 70.
207    pub fn set_alloc_id(&mut self, v: String) {
208        self.message.body.set_field(tag::ALLOC_ID, FIXString::from(v));
209    }
210
211    /// Gets `AllocID`, Tag 70.
212    pub fn get_alloc_id(&self) -> Result<String, MessageRejectErrorEnum> {
213        let mut fld = field::AllocIDField::new(String::new());
214        self.message.body.get_field(tag::ALLOC_ID, &mut fld.0)?;
215        Ok(fld.value().to_string())
216    }
217
218
219    /// Returns true if `AllocID` is present, Tag 70.
220    pub fn has_alloc_id(&self) -> bool {
221        self.message.body.has(tag::ALLOC_ID)
222    }
223
224
225
226
227    /// Sets `AllocIntermedReqType`, Tag 808.
228    pub fn set_alloc_intermed_req_type(&mut self, v: isize) {
229        self.message.body.set_field(tag::ALLOC_INTERMED_REQ_TYPE, fixer::fix_int::FIXInt::from(v));
230    }
231
232    /// Gets `AllocIntermedReqType`, Tag 808.
233    pub fn get_alloc_intermed_req_type(&self) -> Result<isize, MessageRejectErrorEnum> {
234        let mut fld = field::AllocIntermedReqTypeField::new(0);
235        self.message.body.get_field(tag::ALLOC_INTERMED_REQ_TYPE, &mut fld.0)?;
236        Ok(fld.value())
237    }
238
239
240    /// Returns true if `AllocIntermedReqType` is present, Tag 808.
241    pub fn has_alloc_intermed_req_type(&self) -> bool {
242        self.message.body.has(tag::ALLOC_INTERMED_REQ_TYPE)
243    }
244
245
246
247
248    /// Sets `AllocLinkID`, Tag 196.
249    pub fn set_alloc_link_id(&mut self, v: String) {
250        self.message.body.set_field(tag::ALLOC_LINK_ID, FIXString::from(v));
251    }
252
253    /// Gets `AllocLinkID`, Tag 196.
254    pub fn get_alloc_link_id(&self) -> Result<String, MessageRejectErrorEnum> {
255        let mut fld = field::AllocLinkIDField::new(String::new());
256        self.message.body.get_field(tag::ALLOC_LINK_ID, &mut fld.0)?;
257        Ok(fld.value().to_string())
258    }
259
260
261    /// Returns true if `AllocLinkID` is present, Tag 196.
262    pub fn has_alloc_link_id(&self) -> bool {
263        self.message.body.has(tag::ALLOC_LINK_ID)
264    }
265
266
267
268
269    /// Sets `AllocLinkType`, Tag 197.
270    pub fn set_alloc_link_type(&mut self, v: isize) {
271        self.message.body.set_field(tag::ALLOC_LINK_TYPE, fixer::fix_int::FIXInt::from(v));
272    }
273
274    /// Gets `AllocLinkType`, Tag 197.
275    pub fn get_alloc_link_type(&self) -> Result<isize, MessageRejectErrorEnum> {
276        let mut fld = field::AllocLinkTypeField::new(0);
277        self.message.body.get_field(tag::ALLOC_LINK_TYPE, &mut fld.0)?;
278        Ok(fld.value())
279    }
280
281
282    /// Returns true if `AllocLinkType` is present, Tag 197.
283    pub fn has_alloc_link_type(&self) -> bool {
284        self.message.body.has(tag::ALLOC_LINK_TYPE)
285    }
286
287
288
289
290    /// Sets `AllocNoOrdersType`, Tag 857.
291    pub fn set_alloc_no_orders_type(&mut self, v: isize) {
292        self.message.body.set_field(tag::ALLOC_NO_ORDERS_TYPE, fixer::fix_int::FIXInt::from(v));
293    }
294
295    /// Gets `AllocNoOrdersType`, Tag 857.
296    pub fn get_alloc_no_orders_type(&self) -> Result<isize, MessageRejectErrorEnum> {
297        let mut fld = field::AllocNoOrdersTypeField::new(0);
298        self.message.body.get_field(tag::ALLOC_NO_ORDERS_TYPE, &mut fld.0)?;
299        Ok(fld.value())
300    }
301
302
303    /// Returns true if `AllocNoOrdersType` is present, Tag 857.
304    pub fn has_alloc_no_orders_type(&self) -> bool {
305        self.message.body.has(tag::ALLOC_NO_ORDERS_TYPE)
306    }
307
308
309
310
311    /// Sets `AllocTransType`, Tag 71.
312    pub fn set_alloc_trans_type(&mut self, v: String) {
313        self.message.body.set_field(tag::ALLOC_TRANS_TYPE, FIXString::from(v));
314    }
315
316    /// Gets `AllocTransType`, Tag 71.
317    pub fn get_alloc_trans_type(&self) -> Result<String, MessageRejectErrorEnum> {
318        let mut fld = field::AllocTransTypeField::new(String::new());
319        self.message.body.get_field(tag::ALLOC_TRANS_TYPE, &mut fld.0)?;
320        Ok(fld.value().to_string())
321    }
322
323
324    /// Returns true if `AllocTransType` is present, Tag 71.
325    pub fn has_alloc_trans_type(&self) -> bool {
326        self.message.body.has(tag::ALLOC_TRANS_TYPE)
327    }
328
329
330
331
332    /// Sets `AllocType`, Tag 626.
333    pub fn set_alloc_type(&mut self, v: isize) {
334        self.message.body.set_field(tag::ALLOC_TYPE, fixer::fix_int::FIXInt::from(v));
335    }
336
337    /// Gets `AllocType`, Tag 626.
338    pub fn get_alloc_type(&self) -> Result<isize, MessageRejectErrorEnum> {
339        let mut fld = field::AllocTypeField::new(0);
340        self.message.body.get_field(tag::ALLOC_TYPE, &mut fld.0)?;
341        Ok(fld.value())
342    }
343
344
345    /// Returns true if `AllocType` is present, Tag 626.
346    pub fn has_alloc_type(&self) -> bool {
347        self.message.body.has(tag::ALLOC_TYPE)
348    }
349
350
351
352
353    /// Sets `AutoAcceptIndicator`, Tag 754.
354    pub fn set_auto_accept_indicator(&mut self, v: bool) {
355        self.message.body.set_field(tag::AUTO_ACCEPT_INDICATOR, fixer::fix_boolean::FIXBoolean::from(v));
356    }
357
358    /// Gets `AutoAcceptIndicator`, Tag 754.
359    pub fn get_auto_accept_indicator(&self) -> Result<bool, MessageRejectErrorEnum> {
360        let mut fld = field::AutoAcceptIndicatorField::new(false);
361        self.message.body.get_field(tag::AUTO_ACCEPT_INDICATOR, &mut fld.0)?;
362        Ok(fld.value())
363    }
364
365
366    /// Returns true if `AutoAcceptIndicator` is present, Tag 754.
367    pub fn has_auto_accept_indicator(&self) -> bool {
368        self.message.body.has(tag::AUTO_ACCEPT_INDICATOR)
369    }
370
371
372
373
374    /// Sets `AvgParPx`, Tag 860.
375    pub fn set_avg_par_px(&mut self, val: Decimal, scale: i32) {
376        self.message.body.set_field(tag::AVG_PAR_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
377    }
378
379    /// Gets `AvgParPx`, Tag 860.
380    pub fn get_avg_par_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
381        let mut fld = field::AvgParPxField::new(Decimal::ZERO, 0);
382        self.message.body.get_field(tag::AVG_PAR_PX, &mut fld.0)?;
383        Ok(fld.value())
384    }
385
386
387    /// Returns true if `AvgParPx` is present, Tag 860.
388    pub fn has_avg_par_px(&self) -> bool {
389        self.message.body.has(tag::AVG_PAR_PX)
390    }
391
392
393
394
395    /// Sets `AvgPx`, Tag 6.
396    pub fn set_avg_px(&mut self, val: Decimal, scale: i32) {
397        self.message.body.set_field(tag::AVG_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
398    }
399
400    /// Gets `AvgPx`, Tag 6.
401    pub fn get_avg_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
402        let mut fld = field::AvgPxField::new(Decimal::ZERO, 0);
403        self.message.body.get_field(tag::AVG_PX, &mut fld.0)?;
404        Ok(fld.value())
405    }
406
407
408    /// Returns true if `AvgPx` is present, Tag 6.
409    pub fn has_avg_px(&self) -> bool {
410        self.message.body.has(tag::AVG_PX)
411    }
412
413
414
415
416    /// Sets `AvgPxIndicator`, Tag 819.
417    pub fn set_avg_px_indicator(&mut self, v: isize) {
418        self.message.body.set_field(tag::AVG_PX_INDICATOR, fixer::fix_int::FIXInt::from(v));
419    }
420
421    /// Gets `AvgPxIndicator`, Tag 819.
422    pub fn get_avg_px_indicator(&self) -> Result<isize, MessageRejectErrorEnum> {
423        let mut fld = field::AvgPxIndicatorField::new(0);
424        self.message.body.get_field(tag::AVG_PX_INDICATOR, &mut fld.0)?;
425        Ok(fld.value())
426    }
427
428
429    /// Returns true if `AvgPxIndicator` is present, Tag 819.
430    pub fn has_avg_px_indicator(&self) -> bool {
431        self.message.body.has(tag::AVG_PX_INDICATOR)
432    }
433
434
435
436
437    /// Sets `AvgPxPrecision`, Tag 74.
438    pub fn set_avg_px_precision(&mut self, v: isize) {
439        self.message.body.set_field(tag::AVG_PX_PRECISION, fixer::fix_int::FIXInt::from(v));
440    }
441
442    /// Gets `AvgPxPrecision`, Tag 74.
443    pub fn get_avg_px_precision(&self) -> Result<isize, MessageRejectErrorEnum> {
444        let mut fld = field::AvgPxPrecisionField::new(0);
445        self.message.body.get_field(tag::AVG_PX_PRECISION, &mut fld.0)?;
446        Ok(fld.value())
447    }
448
449
450    /// Returns true if `AvgPxPrecision` is present, Tag 74.
451    pub fn has_avg_px_precision(&self) -> bool {
452        self.message.body.has(tag::AVG_PX_PRECISION)
453    }
454
455
456
457
458    /// Sets `BenchmarkCurveCurrency`, Tag 220.
459    pub fn set_benchmark_curve_currency(&mut self, v: String) {
460        self.message.body.set_field(tag::BENCHMARK_CURVE_CURRENCY, FIXString::from(v));
461    }
462
463    /// Gets `BenchmarkCurveCurrency`, Tag 220.
464    pub fn get_benchmark_curve_currency(&self) -> Result<String, MessageRejectErrorEnum> {
465        let mut fld = field::BenchmarkCurveCurrencyField::new(String::new());
466        self.message.body.get_field(tag::BENCHMARK_CURVE_CURRENCY, &mut fld.0)?;
467        Ok(fld.value().to_string())
468    }
469
470
471    /// Returns true if `BenchmarkCurveCurrency` is present, Tag 220.
472    pub fn has_benchmark_curve_currency(&self) -> bool {
473        self.message.body.has(tag::BENCHMARK_CURVE_CURRENCY)
474    }
475
476
477
478
479    /// Sets `BenchmarkCurveName`, Tag 221.
480    pub fn set_benchmark_curve_name(&mut self, v: String) {
481        self.message.body.set_field(tag::BENCHMARK_CURVE_NAME, FIXString::from(v));
482    }
483
484    /// Gets `BenchmarkCurveName`, Tag 221.
485    pub fn get_benchmark_curve_name(&self) -> Result<String, MessageRejectErrorEnum> {
486        let mut fld = field::BenchmarkCurveNameField::new(String::new());
487        self.message.body.get_field(tag::BENCHMARK_CURVE_NAME, &mut fld.0)?;
488        Ok(fld.value().to_string())
489    }
490
491
492    /// Returns true if `BenchmarkCurveName` is present, Tag 221.
493    pub fn has_benchmark_curve_name(&self) -> bool {
494        self.message.body.has(tag::BENCHMARK_CURVE_NAME)
495    }
496
497
498
499
500    /// Sets `BenchmarkCurvePoint`, Tag 222.
501    pub fn set_benchmark_curve_point(&mut self, v: String) {
502        self.message.body.set_field(tag::BENCHMARK_CURVE_POINT, FIXString::from(v));
503    }
504
505    /// Gets `BenchmarkCurvePoint`, Tag 222.
506    pub fn get_benchmark_curve_point(&self) -> Result<String, MessageRejectErrorEnum> {
507        let mut fld = field::BenchmarkCurvePointField::new(String::new());
508        self.message.body.get_field(tag::BENCHMARK_CURVE_POINT, &mut fld.0)?;
509        Ok(fld.value().to_string())
510    }
511
512
513    /// Returns true if `BenchmarkCurvePoint` is present, Tag 222.
514    pub fn has_benchmark_curve_point(&self) -> bool {
515        self.message.body.has(tag::BENCHMARK_CURVE_POINT)
516    }
517
518
519
520
521    /// Sets `BenchmarkPrice`, Tag 662.
522    pub fn set_benchmark_price(&mut self, val: Decimal, scale: i32) {
523        self.message.body.set_field(tag::BENCHMARK_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
524    }
525
526    /// Gets `BenchmarkPrice`, Tag 662.
527    pub fn get_benchmark_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
528        let mut fld = field::BenchmarkPriceField::new(Decimal::ZERO, 0);
529        self.message.body.get_field(tag::BENCHMARK_PRICE, &mut fld.0)?;
530        Ok(fld.value())
531    }
532
533
534    /// Returns true if `BenchmarkPrice` is present, Tag 662.
535    pub fn has_benchmark_price(&self) -> bool {
536        self.message.body.has(tag::BENCHMARK_PRICE)
537    }
538
539
540
541
542    /// Sets `BenchmarkPriceType`, Tag 663.
543    pub fn set_benchmark_price_type(&mut self, v: isize) {
544        self.message.body.set_field(tag::BENCHMARK_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
545    }
546
547    /// Gets `BenchmarkPriceType`, Tag 663.
548    pub fn get_benchmark_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
549        let mut fld = field::BenchmarkPriceTypeField::new(0);
550        self.message.body.get_field(tag::BENCHMARK_PRICE_TYPE, &mut fld.0)?;
551        Ok(fld.value())
552    }
553
554
555    /// Returns true if `BenchmarkPriceType` is present, Tag 663.
556    pub fn has_benchmark_price_type(&self) -> bool {
557        self.message.body.has(tag::BENCHMARK_PRICE_TYPE)
558    }
559
560
561
562
563    /// Sets `BenchmarkSecurityID`, Tag 699.
564    pub fn set_benchmark_security_id(&mut self, v: String) {
565        self.message.body.set_field(tag::BENCHMARK_SECURITY_ID, FIXString::from(v));
566    }
567
568    /// Gets `BenchmarkSecurityID`, Tag 699.
569    pub fn get_benchmark_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
570        let mut fld = field::BenchmarkSecurityIDField::new(String::new());
571        self.message.body.get_field(tag::BENCHMARK_SECURITY_ID, &mut fld.0)?;
572        Ok(fld.value().to_string())
573    }
574
575
576    /// Returns true if `BenchmarkSecurityID` is present, Tag 699.
577    pub fn has_benchmark_security_id(&self) -> bool {
578        self.message.body.has(tag::BENCHMARK_SECURITY_ID)
579    }
580
581
582
583
584    /// Sets `BenchmarkSecurityIDSource`, Tag 761.
585    pub fn set_benchmark_security_id_source(&mut self, v: String) {
586        self.message.body.set_field(tag::BENCHMARK_SECURITY_ID_SOURCE, FIXString::from(v));
587    }
588
589    /// Gets `BenchmarkSecurityIDSource`, Tag 761.
590    pub fn get_benchmark_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
591        let mut fld = field::BenchmarkSecurityIDSourceField::new(String::new());
592        self.message.body.get_field(tag::BENCHMARK_SECURITY_ID_SOURCE, &mut fld.0)?;
593        Ok(fld.value().to_string())
594    }
595
596
597    /// Returns true if `BenchmarkSecurityIDSource` is present, Tag 761.
598    pub fn has_benchmark_security_id_source(&self) -> bool {
599        self.message.body.has(tag::BENCHMARK_SECURITY_ID_SOURCE)
600    }
601
602
603
604
605    /// Sets `BookingRefID`, Tag 466.
606    pub fn set_booking_ref_id(&mut self, v: String) {
607        self.message.body.set_field(tag::BOOKING_REF_ID, FIXString::from(v));
608    }
609
610    /// Gets `BookingRefID`, Tag 466.
611    pub fn get_booking_ref_id(&self) -> Result<String, MessageRejectErrorEnum> {
612        let mut fld = field::BookingRefIDField::new(String::new());
613        self.message.body.get_field(tag::BOOKING_REF_ID, &mut fld.0)?;
614        Ok(fld.value().to_string())
615    }
616
617
618    /// Returns true if `BookingRefID` is present, Tag 466.
619    pub fn has_booking_ref_id(&self) -> bool {
620        self.message.body.has(tag::BOOKING_REF_ID)
621    }
622
623
624
625
626    /// Sets `BookingType`, Tag 775.
627    pub fn set_booking_type(&mut self, v: isize) {
628        self.message.body.set_field(tag::BOOKING_TYPE, fixer::fix_int::FIXInt::from(v));
629    }
630
631    /// Gets `BookingType`, Tag 775.
632    pub fn get_booking_type(&self) -> Result<isize, MessageRejectErrorEnum> {
633        let mut fld = field::BookingTypeField::new(0);
634        self.message.body.get_field(tag::BOOKING_TYPE, &mut fld.0)?;
635        Ok(fld.value())
636    }
637
638
639    /// Returns true if `BookingType` is present, Tag 775.
640    pub fn has_booking_type(&self) -> bool {
641        self.message.body.has(tag::BOOKING_TYPE)
642    }
643
644
645
646
647    /// Sets `CFICode`, Tag 461.
648    pub fn set_cfi_code(&mut self, v: String) {
649        self.message.body.set_field(tag::CFI_CODE, FIXString::from(v));
650    }
651
652    /// Gets `CFICode`, Tag 461.
653    pub fn get_cfi_code(&self) -> Result<String, MessageRejectErrorEnum> {
654        let mut fld = field::CFICodeField::new(String::new());
655        self.message.body.get_field(tag::CFI_CODE, &mut fld.0)?;
656        Ok(fld.value().to_string())
657    }
658
659
660    /// Returns true if `CFICode` is present, Tag 461.
661    pub fn has_cfi_code(&self) -> bool {
662        self.message.body.has(tag::CFI_CODE)
663    }
664
665
666
667
668    /// Sets `CPProgram`, Tag 875.
669    pub fn set_cp_program(&mut self, v: isize) {
670        self.message.body.set_field(tag::CP_PROGRAM, fixer::fix_int::FIXInt::from(v));
671    }
672
673    /// Gets `CPProgram`, Tag 875.
674    pub fn get_cp_program(&self) -> Result<isize, MessageRejectErrorEnum> {
675        let mut fld = field::CPProgramField::new(0);
676        self.message.body.get_field(tag::CP_PROGRAM, &mut fld.0)?;
677        Ok(fld.value())
678    }
679
680
681    /// Returns true if `CPProgram` is present, Tag 875.
682    pub fn has_cp_program(&self) -> bool {
683        self.message.body.has(tag::CP_PROGRAM)
684    }
685
686
687
688
689    /// Sets `CPRegType`, Tag 876.
690    pub fn set_cp_reg_type(&mut self, v: String) {
691        self.message.body.set_field(tag::CP_REG_TYPE, FIXString::from(v));
692    }
693
694    /// Gets `CPRegType`, Tag 876.
695    pub fn get_cp_reg_type(&self) -> Result<String, MessageRejectErrorEnum> {
696        let mut fld = field::CPRegTypeField::new(String::new());
697        self.message.body.get_field(tag::CP_REG_TYPE, &mut fld.0)?;
698        Ok(fld.value().to_string())
699    }
700
701
702    /// Returns true if `CPRegType` is present, Tag 876.
703    pub fn has_cp_reg_type(&self) -> bool {
704        self.message.body.has(tag::CP_REG_TYPE)
705    }
706
707
708
709
710    /// Sets `ClearingBusinessDate`, Tag 715.
711    pub fn set_clearing_business_date(&mut self, v: String) {
712        self.message.body.set_field(tag::CLEARING_BUSINESS_DATE, FIXString::from(v));
713    }
714
715    /// Gets `ClearingBusinessDate`, Tag 715.
716    pub fn get_clearing_business_date(&self) -> Result<String, MessageRejectErrorEnum> {
717        let mut fld = field::ClearingBusinessDateField::new(String::new());
718        self.message.body.get_field(tag::CLEARING_BUSINESS_DATE, &mut fld.0)?;
719        Ok(fld.value().to_string())
720    }
721
722
723    /// Returns true if `ClearingBusinessDate` is present, Tag 715.
724    pub fn has_clearing_business_date(&self) -> bool {
725        self.message.body.has(tag::CLEARING_BUSINESS_DATE)
726    }
727
728
729
730
731    /// Sets `Concession`, Tag 238.
732    pub fn set_concession(&mut self, val: Decimal, scale: i32) {
733        self.message.body.set_field(tag::CONCESSION, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
734    }
735
736    /// Gets `Concession`, Tag 238.
737    pub fn get_concession(&self) -> Result<Decimal, MessageRejectErrorEnum> {
738        let mut fld = field::ConcessionField::new(Decimal::ZERO, 0);
739        self.message.body.get_field(tag::CONCESSION, &mut fld.0)?;
740        Ok(fld.value())
741    }
742
743
744    /// Returns true if `Concession` is present, Tag 238.
745    pub fn has_concession(&self) -> bool {
746        self.message.body.has(tag::CONCESSION)
747    }
748
749
750
751
752    /// Sets `ContractMultiplier`, Tag 231.
753    pub fn set_contract_multiplier(&mut self, val: Decimal, scale: i32) {
754        self.message.body.set_field(tag::CONTRACT_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
755    }
756
757    /// Gets `ContractMultiplier`, Tag 231.
758    pub fn get_contract_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
759        let mut fld = field::ContractMultiplierField::new(Decimal::ZERO, 0);
760        self.message.body.get_field(tag::CONTRACT_MULTIPLIER, &mut fld.0)?;
761        Ok(fld.value())
762    }
763
764
765    /// Returns true if `ContractMultiplier` is present, Tag 231.
766    pub fn has_contract_multiplier(&self) -> bool {
767        self.message.body.has(tag::CONTRACT_MULTIPLIER)
768    }
769
770
771
772
773    /// Sets `ContractSettlMonth`, Tag 667.
774    pub fn set_contract_settl_month(&mut self, v: String) {
775        self.message.body.set_field(tag::CONTRACT_SETTL_MONTH, FIXString::from(v));
776    }
777
778    /// Gets `ContractSettlMonth`, Tag 667.
779    pub fn get_contract_settl_month(&self) -> Result<String, MessageRejectErrorEnum> {
780        let mut fld = field::ContractSettlMonthField::new(String::new());
781        self.message.body.get_field(tag::CONTRACT_SETTL_MONTH, &mut fld.0)?;
782        Ok(fld.value().to_string())
783    }
784
785
786    /// Returns true if `ContractSettlMonth` is present, Tag 667.
787    pub fn has_contract_settl_month(&self) -> bool {
788        self.message.body.has(tag::CONTRACT_SETTL_MONTH)
789    }
790
791
792
793
794    /// Sets `CountryOfIssue`, Tag 470.
795    pub fn set_country_of_issue(&mut self, v: String) {
796        self.message.body.set_field(tag::COUNTRY_OF_ISSUE, FIXString::from(v));
797    }
798
799    /// Gets `CountryOfIssue`, Tag 470.
800    pub fn get_country_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
801        let mut fld = field::CountryOfIssueField::new(String::new());
802        self.message.body.get_field(tag::COUNTRY_OF_ISSUE, &mut fld.0)?;
803        Ok(fld.value().to_string())
804    }
805
806
807    /// Returns true if `CountryOfIssue` is present, Tag 470.
808    pub fn has_country_of_issue(&self) -> bool {
809        self.message.body.has(tag::COUNTRY_OF_ISSUE)
810    }
811
812
813
814
815    /// Sets `CouponPaymentDate`, Tag 224.
816    pub fn set_coupon_payment_date(&mut self, v: String) {
817        self.message.body.set_field(tag::COUPON_PAYMENT_DATE, FIXString::from(v));
818    }
819
820    /// Gets `CouponPaymentDate`, Tag 224.
821    pub fn get_coupon_payment_date(&self) -> Result<String, MessageRejectErrorEnum> {
822        let mut fld = field::CouponPaymentDateField::new(String::new());
823        self.message.body.get_field(tag::COUPON_PAYMENT_DATE, &mut fld.0)?;
824        Ok(fld.value().to_string())
825    }
826
827
828    /// Returns true if `CouponPaymentDate` is present, Tag 224.
829    pub fn has_coupon_payment_date(&self) -> bool {
830        self.message.body.has(tag::COUPON_PAYMENT_DATE)
831    }
832
833
834
835
836    /// Sets `CouponRate`, Tag 223.
837    pub fn set_coupon_rate(&mut self, val: Decimal, scale: i32) {
838        self.message.body.set_field(tag::COUPON_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
839    }
840
841    /// Gets `CouponRate`, Tag 223.
842    pub fn get_coupon_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
843        let mut fld = field::CouponRateField::new(Decimal::ZERO, 0);
844        self.message.body.get_field(tag::COUPON_RATE, &mut fld.0)?;
845        Ok(fld.value())
846    }
847
848
849    /// Returns true if `CouponRate` is present, Tag 223.
850    pub fn has_coupon_rate(&self) -> bool {
851        self.message.body.has(tag::COUPON_RATE)
852    }
853
854
855
856
857    /// Sets `CreditRating`, Tag 255.
858    pub fn set_credit_rating(&mut self, v: String) {
859        self.message.body.set_field(tag::CREDIT_RATING, FIXString::from(v));
860    }
861
862    /// Gets `CreditRating`, Tag 255.
863    pub fn get_credit_rating(&self) -> Result<String, MessageRejectErrorEnum> {
864        let mut fld = field::CreditRatingField::new(String::new());
865        self.message.body.get_field(tag::CREDIT_RATING, &mut fld.0)?;
866        Ok(fld.value().to_string())
867    }
868
869
870    /// Returns true if `CreditRating` is present, Tag 255.
871    pub fn has_credit_rating(&self) -> bool {
872        self.message.body.has(tag::CREDIT_RATING)
873    }
874
875
876
877
878    /// Sets `Currency`, Tag 15.
879    pub fn set_currency(&mut self, v: String) {
880        self.message.body.set_field(tag::CURRENCY, FIXString::from(v));
881    }
882
883    /// Gets `Currency`, Tag 15.
884    pub fn get_currency(&self) -> Result<String, MessageRejectErrorEnum> {
885        let mut fld = field::CurrencyField::new(String::new());
886        self.message.body.get_field(tag::CURRENCY, &mut fld.0)?;
887        Ok(fld.value().to_string())
888    }
889
890
891    /// Returns true if `Currency` is present, Tag 15.
892    pub fn has_currency(&self) -> bool {
893        self.message.body.has(tag::CURRENCY)
894    }
895
896
897
898
899    /// Sets `CustOrderCapacity`, Tag 582.
900    pub fn set_cust_order_capacity(&mut self, v: isize) {
901        self.message.body.set_field(tag::CUST_ORDER_CAPACITY, fixer::fix_int::FIXInt::from(v));
902    }
903
904    /// Gets `CustOrderCapacity`, Tag 582.
905    pub fn get_cust_order_capacity(&self) -> Result<isize, MessageRejectErrorEnum> {
906        let mut fld = field::CustOrderCapacityField::new(0);
907        self.message.body.get_field(tag::CUST_ORDER_CAPACITY, &mut fld.0)?;
908        Ok(fld.value())
909    }
910
911
912    /// Returns true if `CustOrderCapacity` is present, Tag 582.
913    pub fn has_cust_order_capacity(&self) -> bool {
914        self.message.body.has(tag::CUST_ORDER_CAPACITY)
915    }
916
917
918
919
920    /// Sets `DatedDate`, Tag 873.
921    pub fn set_dated_date(&mut self, v: String) {
922        self.message.body.set_field(tag::DATED_DATE, FIXString::from(v));
923    }
924
925    /// Gets `DatedDate`, Tag 873.
926    pub fn get_dated_date(&self) -> Result<String, MessageRejectErrorEnum> {
927        let mut fld = field::DatedDateField::new(String::new());
928        self.message.body.get_field(tag::DATED_DATE, &mut fld.0)?;
929        Ok(fld.value().to_string())
930    }
931
932
933    /// Returns true if `DatedDate` is present, Tag 873.
934    pub fn has_dated_date(&self) -> bool {
935        self.message.body.has(tag::DATED_DATE)
936    }
937
938
939
940
941    /// Sets `DeliveryForm`, Tag 668.
942    pub fn set_delivery_form(&mut self, v: isize) {
943        self.message.body.set_field(tag::DELIVERY_FORM, fixer::fix_int::FIXInt::from(v));
944    }
945
946    /// Gets `DeliveryForm`, Tag 668.
947    pub fn get_delivery_form(&self) -> Result<isize, MessageRejectErrorEnum> {
948        let mut fld = field::DeliveryFormField::new(0);
949        self.message.body.get_field(tag::DELIVERY_FORM, &mut fld.0)?;
950        Ok(fld.value())
951    }
952
953
954    /// Returns true if `DeliveryForm` is present, Tag 668.
955    pub fn has_delivery_form(&self) -> bool {
956        self.message.body.has(tag::DELIVERY_FORM)
957    }
958
959
960
961
962    /// Sets `DeliveryType`, Tag 919.
963    pub fn set_delivery_type(&mut self, v: isize) {
964        self.message.body.set_field(tag::DELIVERY_TYPE, fixer::fix_int::FIXInt::from(v));
965    }
966
967    /// Gets `DeliveryType`, Tag 919.
968    pub fn get_delivery_type(&self) -> Result<isize, MessageRejectErrorEnum> {
969        let mut fld = field::DeliveryTypeField::new(0);
970        self.message.body.get_field(tag::DELIVERY_TYPE, &mut fld.0)?;
971        Ok(fld.value())
972    }
973
974
975    /// Returns true if `DeliveryType` is present, Tag 919.
976    pub fn has_delivery_type(&self) -> bool {
977        self.message.body.has(tag::DELIVERY_TYPE)
978    }
979
980
981
982
983    /// Sets `EncodedIssuer`, Tag 349.
984    pub fn set_encoded_issuer(&mut self, v: String) {
985        self.message.body.set_field(tag::ENCODED_ISSUER, FIXString::from(v));
986    }
987
988    /// Gets `EncodedIssuer`, Tag 349.
989    pub fn get_encoded_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
990        let mut fld = field::EncodedIssuerField::new(String::new());
991        self.message.body.get_field(tag::ENCODED_ISSUER, &mut fld.0)?;
992        Ok(fld.value().to_string())
993    }
994
995
996    /// Returns true if `EncodedIssuer` is present, Tag 349.
997    pub fn has_encoded_issuer(&self) -> bool {
998        self.message.body.has(tag::ENCODED_ISSUER)
999    }
1000
1001
1002
1003
1004    /// Sets `EncodedIssuerLen`, Tag 348.
1005    pub fn set_encoded_issuer_len(&mut self, v: isize) {
1006        self.message.body.set_field(tag::ENCODED_ISSUER_LEN, fixer::fix_int::FIXInt::from(v));
1007    }
1008
1009    /// Gets `EncodedIssuerLen`, Tag 348.
1010    pub fn get_encoded_issuer_len(&self) -> Result<isize, MessageRejectErrorEnum> {
1011        let mut fld = field::EncodedIssuerLenField::new(0);
1012        self.message.body.get_field(tag::ENCODED_ISSUER_LEN, &mut fld.0)?;
1013        Ok(fld.value())
1014    }
1015
1016
1017    /// Returns true if `EncodedIssuerLen` is present, Tag 348.
1018    pub fn has_encoded_issuer_len(&self) -> bool {
1019        self.message.body.has(tag::ENCODED_ISSUER_LEN)
1020    }
1021
1022
1023
1024
1025    /// Sets `EncodedSecurityDesc`, Tag 351.
1026    pub fn set_encoded_security_desc(&mut self, v: String) {
1027        self.message.body.set_field(tag::ENCODED_SECURITY_DESC, FIXString::from(v));
1028    }
1029
1030    /// Gets `EncodedSecurityDesc`, Tag 351.
1031    pub fn get_encoded_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
1032        let mut fld = field::EncodedSecurityDescField::new(String::new());
1033        self.message.body.get_field(tag::ENCODED_SECURITY_DESC, &mut fld.0)?;
1034        Ok(fld.value().to_string())
1035    }
1036
1037
1038    /// Returns true if `EncodedSecurityDesc` is present, Tag 351.
1039    pub fn has_encoded_security_desc(&self) -> bool {
1040        self.message.body.has(tag::ENCODED_SECURITY_DESC)
1041    }
1042
1043
1044
1045
1046    /// Sets `EncodedSecurityDescLen`, Tag 350.
1047    pub fn set_encoded_security_desc_len(&mut self, v: isize) {
1048        self.message.body.set_field(tag::ENCODED_SECURITY_DESC_LEN, fixer::fix_int::FIXInt::from(v));
1049    }
1050
1051    /// Gets `EncodedSecurityDescLen`, Tag 350.
1052    pub fn get_encoded_security_desc_len(&self) -> Result<isize, MessageRejectErrorEnum> {
1053        let mut fld = field::EncodedSecurityDescLenField::new(0);
1054        self.message.body.get_field(tag::ENCODED_SECURITY_DESC_LEN, &mut fld.0)?;
1055        Ok(fld.value())
1056    }
1057
1058
1059    /// Returns true if `EncodedSecurityDescLen` is present, Tag 350.
1060    pub fn has_encoded_security_desc_len(&self) -> bool {
1061        self.message.body.has(tag::ENCODED_SECURITY_DESC_LEN)
1062    }
1063
1064
1065
1066
1067    /// Sets `EncodedText`, Tag 355.
1068    pub fn set_encoded_text(&mut self, v: String) {
1069        self.message.body.set_field(tag::ENCODED_TEXT, FIXString::from(v));
1070    }
1071
1072    /// Gets `EncodedText`, Tag 355.
1073    pub fn get_encoded_text(&self) -> Result<String, MessageRejectErrorEnum> {
1074        let mut fld = field::EncodedTextField::new(String::new());
1075        self.message.body.get_field(tag::ENCODED_TEXT, &mut fld.0)?;
1076        Ok(fld.value().to_string())
1077    }
1078
1079
1080    /// Returns true if `EncodedText` is present, Tag 355.
1081    pub fn has_encoded_text(&self) -> bool {
1082        self.message.body.has(tag::ENCODED_TEXT)
1083    }
1084
1085
1086
1087
1088    /// Sets `EncodedTextLen`, Tag 354.
1089    pub fn set_encoded_text_len(&mut self, v: isize) {
1090        self.message.body.set_field(tag::ENCODED_TEXT_LEN, fixer::fix_int::FIXInt::from(v));
1091    }
1092
1093    /// Gets `EncodedTextLen`, Tag 354.
1094    pub fn get_encoded_text_len(&self) -> Result<isize, MessageRejectErrorEnum> {
1095        let mut fld = field::EncodedTextLenField::new(0);
1096        self.message.body.get_field(tag::ENCODED_TEXT_LEN, &mut fld.0)?;
1097        Ok(fld.value())
1098    }
1099
1100
1101    /// Returns true if `EncodedTextLen` is present, Tag 354.
1102    pub fn has_encoded_text_len(&self) -> bool {
1103        self.message.body.has(tag::ENCODED_TEXT_LEN)
1104    }
1105
1106
1107
1108
1109    /// Sets `EndAccruedInterestAmt`, Tag 920.
1110    pub fn set_end_accrued_interest_amt(&mut self, val: Decimal, scale: i32) {
1111        self.message.body.set_field(tag::END_ACCRUED_INTEREST_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1112    }
1113
1114    /// Gets `EndAccruedInterestAmt`, Tag 920.
1115    pub fn get_end_accrued_interest_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1116        let mut fld = field::EndAccruedInterestAmtField::new(Decimal::ZERO, 0);
1117        self.message.body.get_field(tag::END_ACCRUED_INTEREST_AMT, &mut fld.0)?;
1118        Ok(fld.value())
1119    }
1120
1121
1122    /// Returns true if `EndAccruedInterestAmt` is present, Tag 920.
1123    pub fn has_end_accrued_interest_amt(&self) -> bool {
1124        self.message.body.has(tag::END_ACCRUED_INTEREST_AMT)
1125    }
1126
1127
1128
1129
1130    /// Sets `EndCash`, Tag 922.
1131    pub fn set_end_cash(&mut self, val: Decimal, scale: i32) {
1132        self.message.body.set_field(tag::END_CASH, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1133    }
1134
1135    /// Gets `EndCash`, Tag 922.
1136    pub fn get_end_cash(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1137        let mut fld = field::EndCashField::new(Decimal::ZERO, 0);
1138        self.message.body.get_field(tag::END_CASH, &mut fld.0)?;
1139        Ok(fld.value())
1140    }
1141
1142
1143    /// Returns true if `EndCash` is present, Tag 922.
1144    pub fn has_end_cash(&self) -> bool {
1145        self.message.body.has(tag::END_CASH)
1146    }
1147
1148
1149
1150
1151    /// Sets `EndDate`, Tag 917.
1152    pub fn set_end_date(&mut self, v: String) {
1153        self.message.body.set_field(tag::END_DATE, FIXString::from(v));
1154    }
1155
1156    /// Gets `EndDate`, Tag 917.
1157    pub fn get_end_date(&self) -> Result<String, MessageRejectErrorEnum> {
1158        let mut fld = field::EndDateField::new(String::new());
1159        self.message.body.get_field(tag::END_DATE, &mut fld.0)?;
1160        Ok(fld.value().to_string())
1161    }
1162
1163
1164    /// Returns true if `EndDate` is present, Tag 917.
1165    pub fn has_end_date(&self) -> bool {
1166        self.message.body.has(tag::END_DATE)
1167    }
1168
1169
1170
1171
1172    /// Sets `Factor`, Tag 228.
1173    pub fn set_factor(&mut self, val: Decimal, scale: i32) {
1174        self.message.body.set_field(tag::FACTOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1175    }
1176
1177    /// Gets `Factor`, Tag 228.
1178    pub fn get_factor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1179        let mut fld = field::FactorField::new(Decimal::ZERO, 0);
1180        self.message.body.get_field(tag::FACTOR, &mut fld.0)?;
1181        Ok(fld.value())
1182    }
1183
1184
1185    /// Returns true if `Factor` is present, Tag 228.
1186    pub fn has_factor(&self) -> bool {
1187        self.message.body.has(tag::FACTOR)
1188    }
1189
1190
1191
1192
1193    /// Sets `GrossTradeAmt`, Tag 381.
1194    pub fn set_gross_trade_amt(&mut self, val: Decimal, scale: i32) {
1195        self.message.body.set_field(tag::GROSS_TRADE_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1196    }
1197
1198    /// Gets `GrossTradeAmt`, Tag 381.
1199    pub fn get_gross_trade_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1200        let mut fld = field::GrossTradeAmtField::new(Decimal::ZERO, 0);
1201        self.message.body.get_field(tag::GROSS_TRADE_AMT, &mut fld.0)?;
1202        Ok(fld.value())
1203    }
1204
1205
1206    /// Returns true if `GrossTradeAmt` is present, Tag 381.
1207    pub fn has_gross_trade_amt(&self) -> bool {
1208        self.message.body.has(tag::GROSS_TRADE_AMT)
1209    }
1210
1211
1212
1213
1214    /// Sets `InstrRegistry`, Tag 543.
1215    pub fn set_instr_registry(&mut self, v: String) {
1216        self.message.body.set_field(tag::INSTR_REGISTRY, FIXString::from(v));
1217    }
1218
1219    /// Gets `InstrRegistry`, Tag 543.
1220    pub fn get_instr_registry(&self) -> Result<String, MessageRejectErrorEnum> {
1221        let mut fld = field::InstrRegistryField::new(String::new());
1222        self.message.body.get_field(tag::INSTR_REGISTRY, &mut fld.0)?;
1223        Ok(fld.value().to_string())
1224    }
1225
1226
1227    /// Returns true if `InstrRegistry` is present, Tag 543.
1228    pub fn has_instr_registry(&self) -> bool {
1229        self.message.body.has(tag::INSTR_REGISTRY)
1230    }
1231
1232
1233
1234
1235    /// Sets `InstrmtAssignmentMethod`, Tag 1049.
1236    pub fn set_instrmt_assignment_method(&mut self, v: String) {
1237        self.message.body.set_field(tag::INSTRMT_ASSIGNMENT_METHOD, FIXString::from(v));
1238    }
1239
1240    /// Gets `InstrmtAssignmentMethod`, Tag 1049.
1241    pub fn get_instrmt_assignment_method(&self) -> Result<String, MessageRejectErrorEnum> {
1242        let mut fld = field::InstrmtAssignmentMethodField::new(String::new());
1243        self.message.body.get_field(tag::INSTRMT_ASSIGNMENT_METHOD, &mut fld.0)?;
1244        Ok(fld.value().to_string())
1245    }
1246
1247
1248    /// Returns true if `InstrmtAssignmentMethod` is present, Tag 1049.
1249    pub fn has_instrmt_assignment_method(&self) -> bool {
1250        self.message.body.has(tag::INSTRMT_ASSIGNMENT_METHOD)
1251    }
1252
1253
1254
1255
1256    /// Sets `InterestAccrualDate`, Tag 874.
1257    pub fn set_interest_accrual_date(&mut self, v: String) {
1258        self.message.body.set_field(tag::INTEREST_ACCRUAL_DATE, FIXString::from(v));
1259    }
1260
1261    /// Gets `InterestAccrualDate`, Tag 874.
1262    pub fn get_interest_accrual_date(&self) -> Result<String, MessageRejectErrorEnum> {
1263        let mut fld = field::InterestAccrualDateField::new(String::new());
1264        self.message.body.get_field(tag::INTEREST_ACCRUAL_DATE, &mut fld.0)?;
1265        Ok(fld.value().to_string())
1266    }
1267
1268
1269    /// Returns true if `InterestAccrualDate` is present, Tag 874.
1270    pub fn has_interest_accrual_date(&self) -> bool {
1271        self.message.body.has(tag::INTEREST_ACCRUAL_DATE)
1272    }
1273
1274
1275
1276
1277    /// Sets `InterestAtMaturity`, Tag 738.
1278    pub fn set_interest_at_maturity(&mut self, val: Decimal, scale: i32) {
1279        self.message.body.set_field(tag::INTEREST_AT_MATURITY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1280    }
1281
1282    /// Gets `InterestAtMaturity`, Tag 738.
1283    pub fn get_interest_at_maturity(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1284        let mut fld = field::InterestAtMaturityField::new(Decimal::ZERO, 0);
1285        self.message.body.get_field(tag::INTEREST_AT_MATURITY, &mut fld.0)?;
1286        Ok(fld.value())
1287    }
1288
1289
1290    /// Returns true if `InterestAtMaturity` is present, Tag 738.
1291    pub fn has_interest_at_maturity(&self) -> bool {
1292        self.message.body.has(tag::INTEREST_AT_MATURITY)
1293    }
1294
1295
1296
1297
1298    /// Sets `IssueDate`, Tag 225.
1299    pub fn set_issue_date(&mut self, v: String) {
1300        self.message.body.set_field(tag::ISSUE_DATE, FIXString::from(v));
1301    }
1302
1303    /// Gets `IssueDate`, Tag 225.
1304    pub fn get_issue_date(&self) -> Result<String, MessageRejectErrorEnum> {
1305        let mut fld = field::IssueDateField::new(String::new());
1306        self.message.body.get_field(tag::ISSUE_DATE, &mut fld.0)?;
1307        Ok(fld.value().to_string())
1308    }
1309
1310
1311    /// Returns true if `IssueDate` is present, Tag 225.
1312    pub fn has_issue_date(&self) -> bool {
1313        self.message.body.has(tag::ISSUE_DATE)
1314    }
1315
1316
1317
1318
1319    /// Sets `Issuer`, Tag 106.
1320    pub fn set_issuer(&mut self, v: String) {
1321        self.message.body.set_field(tag::ISSUER, FIXString::from(v));
1322    }
1323
1324    /// Gets `Issuer`, Tag 106.
1325    pub fn get_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
1326        let mut fld = field::IssuerField::new(String::new());
1327        self.message.body.get_field(tag::ISSUER, &mut fld.0)?;
1328        Ok(fld.value().to_string())
1329    }
1330
1331
1332    /// Returns true if `Issuer` is present, Tag 106.
1333    pub fn has_issuer(&self) -> bool {
1334        self.message.body.has(tag::ISSUER)
1335    }
1336
1337
1338
1339
1340    /// Sets `LastFragment`, Tag 893.
1341    pub fn set_last_fragment(&mut self, v: bool) {
1342        self.message.body.set_field(tag::LAST_FRAGMENT, fixer::fix_boolean::FIXBoolean::from(v));
1343    }
1344
1345    /// Gets `LastFragment`, Tag 893.
1346    pub fn get_last_fragment(&self) -> Result<bool, MessageRejectErrorEnum> {
1347        let mut fld = field::LastFragmentField::new(false);
1348        self.message.body.get_field(tag::LAST_FRAGMENT, &mut fld.0)?;
1349        Ok(fld.value())
1350    }
1351
1352
1353    /// Returns true if `LastFragment` is present, Tag 893.
1354    pub fn has_last_fragment(&self) -> bool {
1355        self.message.body.has(tag::LAST_FRAGMENT)
1356    }
1357
1358
1359
1360
1361    /// Sets `LastMkt`, Tag 30.
1362    pub fn set_last_mkt(&mut self, v: String) {
1363        self.message.body.set_field(tag::LAST_MKT, FIXString::from(v));
1364    }
1365
1366    /// Gets `LastMkt`, Tag 30.
1367    pub fn get_last_mkt(&self) -> Result<String, MessageRejectErrorEnum> {
1368        let mut fld = field::LastMktField::new(String::new());
1369        self.message.body.get_field(tag::LAST_MKT, &mut fld.0)?;
1370        Ok(fld.value().to_string())
1371    }
1372
1373
1374    /// Returns true if `LastMkt` is present, Tag 30.
1375    pub fn has_last_mkt(&self) -> bool {
1376        self.message.body.has(tag::LAST_MKT)
1377    }
1378
1379
1380
1381
1382    /// Sets `LegalConfirm`, Tag 650.
1383    pub fn set_legal_confirm(&mut self, v: bool) {
1384        self.message.body.set_field(tag::LEGAL_CONFIRM, fixer::fix_boolean::FIXBoolean::from(v));
1385    }
1386
1387    /// Gets `LegalConfirm`, Tag 650.
1388    pub fn get_legal_confirm(&self) -> Result<bool, MessageRejectErrorEnum> {
1389        let mut fld = field::LegalConfirmField::new(false);
1390        self.message.body.get_field(tag::LEGAL_CONFIRM, &mut fld.0)?;
1391        Ok(fld.value())
1392    }
1393
1394
1395    /// Returns true if `LegalConfirm` is present, Tag 650.
1396    pub fn has_legal_confirm(&self) -> bool {
1397        self.message.body.has(tag::LEGAL_CONFIRM)
1398    }
1399
1400
1401
1402
1403    /// Sets `LocaleOfIssue`, Tag 472.
1404    pub fn set_locale_of_issue(&mut self, v: String) {
1405        self.message.body.set_field(tag::LOCALE_OF_ISSUE, FIXString::from(v));
1406    }
1407
1408    /// Gets `LocaleOfIssue`, Tag 472.
1409    pub fn get_locale_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
1410        let mut fld = field::LocaleOfIssueField::new(String::new());
1411        self.message.body.get_field(tag::LOCALE_OF_ISSUE, &mut fld.0)?;
1412        Ok(fld.value().to_string())
1413    }
1414
1415
1416    /// Returns true if `LocaleOfIssue` is present, Tag 472.
1417    pub fn has_locale_of_issue(&self) -> bool {
1418        self.message.body.has(tag::LOCALE_OF_ISSUE)
1419    }
1420
1421
1422
1423
1424    /// Sets `MarginRatio`, Tag 898.
1425    pub fn set_margin_ratio(&mut self, val: Decimal, scale: i32) {
1426        self.message.body.set_field(tag::MARGIN_RATIO, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1427    }
1428
1429    /// Gets `MarginRatio`, Tag 898.
1430    pub fn get_margin_ratio(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1431        let mut fld = field::MarginRatioField::new(Decimal::ZERO, 0);
1432        self.message.body.get_field(tag::MARGIN_RATIO, &mut fld.0)?;
1433        Ok(fld.value())
1434    }
1435
1436
1437    /// Returns true if `MarginRatio` is present, Tag 898.
1438    pub fn has_margin_ratio(&self) -> bool {
1439        self.message.body.has(tag::MARGIN_RATIO)
1440    }
1441
1442
1443
1444
1445    /// Sets `MatchType`, Tag 574.
1446    pub fn set_match_type(&mut self, v: String) {
1447        self.message.body.set_field(tag::MATCH_TYPE, FIXString::from(v));
1448    }
1449
1450    /// Gets `MatchType`, Tag 574.
1451    pub fn get_match_type(&self) -> Result<String, MessageRejectErrorEnum> {
1452        let mut fld = field::MatchTypeField::new(String::new());
1453        self.message.body.get_field(tag::MATCH_TYPE, &mut fld.0)?;
1454        Ok(fld.value().to_string())
1455    }
1456
1457
1458    /// Returns true if `MatchType` is present, Tag 574.
1459    pub fn has_match_type(&self) -> bool {
1460        self.message.body.has(tag::MATCH_TYPE)
1461    }
1462
1463
1464
1465
1466    /// Sets `MaturityDate`, Tag 541.
1467    pub fn set_maturity_date(&mut self, v: String) {
1468        self.message.body.set_field(tag::MATURITY_DATE, FIXString::from(v));
1469    }
1470
1471    /// Gets `MaturityDate`, Tag 541.
1472    pub fn get_maturity_date(&self) -> Result<String, MessageRejectErrorEnum> {
1473        let mut fld = field::MaturityDateField::new(String::new());
1474        self.message.body.get_field(tag::MATURITY_DATE, &mut fld.0)?;
1475        Ok(fld.value().to_string())
1476    }
1477
1478
1479    /// Returns true if `MaturityDate` is present, Tag 541.
1480    pub fn has_maturity_date(&self) -> bool {
1481        self.message.body.has(tag::MATURITY_DATE)
1482    }
1483
1484
1485
1486
1487    /// Sets `MaturityMonthYear`, Tag 200.
1488    pub fn set_maturity_month_year(&mut self, v: String) {
1489        self.message.body.set_field(tag::MATURITY_MONTH_YEAR, FIXString::from(v));
1490    }
1491
1492    /// Gets `MaturityMonthYear`, Tag 200.
1493    pub fn get_maturity_month_year(&self) -> Result<String, MessageRejectErrorEnum> {
1494        let mut fld = field::MaturityMonthYearField::new(String::new());
1495        self.message.body.get_field(tag::MATURITY_MONTH_YEAR, &mut fld.0)?;
1496        Ok(fld.value().to_string())
1497    }
1498
1499
1500    /// Returns true if `MaturityMonthYear` is present, Tag 200.
1501    pub fn has_maturity_month_year(&self) -> bool {
1502        self.message.body.has(tag::MATURITY_MONTH_YEAR)
1503    }
1504
1505
1506
1507
1508    /// Sets `MaturityTime`, Tag 1079.
1509    pub fn set_maturity_time(&mut self, v: String) {
1510        self.message.body.set_field(tag::MATURITY_TIME, FIXString::from(v));
1511    }
1512
1513    /// Gets `MaturityTime`, Tag 1079.
1514    pub fn get_maturity_time(&self) -> Result<String, MessageRejectErrorEnum> {
1515        let mut fld = field::MaturityTimeField::new(String::new());
1516        self.message.body.get_field(tag::MATURITY_TIME, &mut fld.0)?;
1517        Ok(fld.value().to_string())
1518    }
1519
1520
1521    /// Returns true if `MaturityTime` is present, Tag 1079.
1522    pub fn has_maturity_time(&self) -> bool {
1523        self.message.body.has(tag::MATURITY_TIME)
1524    }
1525
1526
1527
1528
1529    /// Sets `MessageEventSource`, Tag 1011.
1530    pub fn set_message_event_source(&mut self, v: String) {
1531        self.message.body.set_field(tag::MESSAGE_EVENT_SOURCE, FIXString::from(v));
1532    }
1533
1534    /// Gets `MessageEventSource`, Tag 1011.
1535    pub fn get_message_event_source(&self) -> Result<String, MessageRejectErrorEnum> {
1536        let mut fld = field::MessageEventSourceField::new(String::new());
1537        self.message.body.get_field(tag::MESSAGE_EVENT_SOURCE, &mut fld.0)?;
1538        Ok(fld.value().to_string())
1539    }
1540
1541
1542    /// Returns true if `MessageEventSource` is present, Tag 1011.
1543    pub fn has_message_event_source(&self) -> bool {
1544        self.message.body.has(tag::MESSAGE_EVENT_SOURCE)
1545    }
1546
1547
1548
1549
1550    /// Sets `MinPriceIncrement`, Tag 969.
1551    pub fn set_min_price_increment(&mut self, val: Decimal, scale: i32) {
1552        self.message.body.set_field(tag::MIN_PRICE_INCREMENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1553    }
1554
1555    /// Gets `MinPriceIncrement`, Tag 969.
1556    pub fn get_min_price_increment(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1557        let mut fld = field::MinPriceIncrementField::new(Decimal::ZERO, 0);
1558        self.message.body.get_field(tag::MIN_PRICE_INCREMENT, &mut fld.0)?;
1559        Ok(fld.value())
1560    }
1561
1562
1563    /// Returns true if `MinPriceIncrement` is present, Tag 969.
1564    pub fn has_min_price_increment(&self) -> bool {
1565        self.message.body.has(tag::MIN_PRICE_INCREMENT)
1566    }
1567
1568
1569
1570
1571    /// Sets `MultiLegReportingType`, Tag 442.
1572    pub fn set_multi_leg_reporting_type(&mut self, v: String) {
1573        self.message.body.set_field(tag::MULTI_LEG_REPORTING_TYPE, FIXString::from(v));
1574    }
1575
1576    /// Gets `MultiLegReportingType`, Tag 442.
1577    pub fn get_multi_leg_reporting_type(&self) -> Result<String, MessageRejectErrorEnum> {
1578        let mut fld = field::MultiLegReportingTypeField::new(String::new());
1579        self.message.body.get_field(tag::MULTI_LEG_REPORTING_TYPE, &mut fld.0)?;
1580        Ok(fld.value().to_string())
1581    }
1582
1583
1584    /// Returns true if `MultiLegReportingType` is present, Tag 442.
1585    pub fn has_multi_leg_reporting_type(&self) -> bool {
1586        self.message.body.has(tag::MULTI_LEG_REPORTING_TYPE)
1587    }
1588
1589
1590
1591
1592    /// Sets `NTPositionLimit`, Tag 971.
1593    pub fn set_nt_position_limit(&mut self, v: isize) {
1594        self.message.body.set_field(tag::NT_POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
1595    }
1596
1597    /// Gets `NTPositionLimit`, Tag 971.
1598    pub fn get_nt_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
1599        let mut fld = field::NTPositionLimitField::new(0);
1600        self.message.body.get_field(tag::NT_POSITION_LIMIT, &mut fld.0)?;
1601        Ok(fld.value())
1602    }
1603
1604
1605    /// Returns true if `NTPositionLimit` is present, Tag 971.
1606    pub fn has_nt_position_limit(&self) -> bool {
1607        self.message.body.has(tag::NT_POSITION_LIMIT)
1608    }
1609
1610
1611
1612
1613    /// Sets `NetMoney`, Tag 118.
1614    pub fn set_net_money(&mut self, val: Decimal, scale: i32) {
1615        self.message.body.set_field(tag::NET_MONEY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1616    }
1617
1618    /// Gets `NetMoney`, Tag 118.
1619    pub fn get_net_money(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1620        let mut fld = field::NetMoneyField::new(Decimal::ZERO, 0);
1621        self.message.body.get_field(tag::NET_MONEY, &mut fld.0)?;
1622        Ok(fld.value())
1623    }
1624
1625
1626    /// Returns true if `NetMoney` is present, Tag 118.
1627    pub fn has_net_money(&self) -> bool {
1628        self.message.body.has(tag::NET_MONEY)
1629    }
1630
1631
1632
1633
1634    /// Sets `NoAllocs`, Tag 78.
1635    pub fn set_no_allocs(&mut self, v: isize) {
1636        self.message.body.set_field(tag::NO_ALLOCS, fixer::fix_int::FIXInt::from(v));
1637    }
1638
1639    /// Gets `NoAllocs`, Tag 78.
1640    pub fn get_no_allocs(&self) -> Result<isize, MessageRejectErrorEnum> {
1641        let mut fld = field::NoAllocsField::new(0);
1642        self.message.body.get_field(tag::NO_ALLOCS, &mut fld.0)?;
1643        Ok(fld.value())
1644    }
1645
1646
1647    /// Returns true if `NoAllocs` is present, Tag 78.
1648    pub fn has_no_allocs(&self) -> bool {
1649        self.message.body.has(tag::NO_ALLOCS)
1650    }
1651
1652
1653
1654
1655    /// Sets `NoEvents`, Tag 864.
1656    pub fn set_no_events(&mut self, v: isize) {
1657        self.message.body.set_field(tag::NO_EVENTS, fixer::fix_int::FIXInt::from(v));
1658    }
1659
1660    /// Gets `NoEvents`, Tag 864.
1661    pub fn get_no_events(&self) -> Result<isize, MessageRejectErrorEnum> {
1662        let mut fld = field::NoEventsField::new(0);
1663        self.message.body.get_field(tag::NO_EVENTS, &mut fld.0)?;
1664        Ok(fld.value())
1665    }
1666
1667
1668    /// Returns true if `NoEvents` is present, Tag 864.
1669    pub fn has_no_events(&self) -> bool {
1670        self.message.body.has(tag::NO_EVENTS)
1671    }
1672
1673
1674
1675
1676    /// Sets `NoExecs`, Tag 124.
1677    pub fn set_no_execs(&mut self, v: isize) {
1678        self.message.body.set_field(tag::NO_EXECS, fixer::fix_int::FIXInt::from(v));
1679    }
1680
1681    /// Gets `NoExecs`, Tag 124.
1682    pub fn get_no_execs(&self) -> Result<isize, MessageRejectErrorEnum> {
1683        let mut fld = field::NoExecsField::new(0);
1684        self.message.body.get_field(tag::NO_EXECS, &mut fld.0)?;
1685        Ok(fld.value())
1686    }
1687
1688
1689    /// Returns true if `NoExecs` is present, Tag 124.
1690    pub fn has_no_execs(&self) -> bool {
1691        self.message.body.has(tag::NO_EXECS)
1692    }
1693
1694
1695
1696
1697    /// Sets `NoInstrAttrib`, Tag 870.
1698    pub fn set_no_instr_attrib(&mut self, v: isize) {
1699        self.message.body.set_field(tag::NO_INSTR_ATTRIB, fixer::fix_int::FIXInt::from(v));
1700    }
1701
1702    /// Gets `NoInstrAttrib`, Tag 870.
1703    pub fn get_no_instr_attrib(&self) -> Result<isize, MessageRejectErrorEnum> {
1704        let mut fld = field::NoInstrAttribField::new(0);
1705        self.message.body.get_field(tag::NO_INSTR_ATTRIB, &mut fld.0)?;
1706        Ok(fld.value())
1707    }
1708
1709
1710    /// Returns true if `NoInstrAttrib` is present, Tag 870.
1711    pub fn has_no_instr_attrib(&self) -> bool {
1712        self.message.body.has(tag::NO_INSTR_ATTRIB)
1713    }
1714
1715
1716
1717
1718    /// Sets `NoInstrumentParties`, Tag 1018.
1719    pub fn set_no_instrument_parties(&mut self, v: isize) {
1720        self.message.body.set_field(tag::NO_INSTRUMENT_PARTIES, fixer::fix_int::FIXInt::from(v));
1721    }
1722
1723    /// Gets `NoInstrumentParties`, Tag 1018.
1724    pub fn get_no_instrument_parties(&self) -> Result<isize, MessageRejectErrorEnum> {
1725        let mut fld = field::NoInstrumentPartiesField::new(0);
1726        self.message.body.get_field(tag::NO_INSTRUMENT_PARTIES, &mut fld.0)?;
1727        Ok(fld.value())
1728    }
1729
1730
1731    /// Returns true if `NoInstrumentParties` is present, Tag 1018.
1732    pub fn has_no_instrument_parties(&self) -> bool {
1733        self.message.body.has(tag::NO_INSTRUMENT_PARTIES)
1734    }
1735
1736
1737
1738
1739    /// Sets `NoLegs`, Tag 555.
1740    pub fn set_no_legs(&mut self, v: isize) {
1741        self.message.body.set_field(tag::NO_LEGS, fixer::fix_int::FIXInt::from(v));
1742    }
1743
1744    /// Gets `NoLegs`, Tag 555.
1745    pub fn get_no_legs(&self) -> Result<isize, MessageRejectErrorEnum> {
1746        let mut fld = field::NoLegsField::new(0);
1747        self.message.body.get_field(tag::NO_LEGS, &mut fld.0)?;
1748        Ok(fld.value())
1749    }
1750
1751
1752    /// Returns true if `NoLegs` is present, Tag 555.
1753    pub fn has_no_legs(&self) -> bool {
1754        self.message.body.has(tag::NO_LEGS)
1755    }
1756
1757
1758
1759
1760    /// Sets `NoOrders`, Tag 73.
1761    pub fn set_no_orders(&mut self, v: isize) {
1762        self.message.body.set_field(tag::NO_ORDERS, fixer::fix_int::FIXInt::from(v));
1763    }
1764
1765    /// Gets `NoOrders`, Tag 73.
1766    pub fn get_no_orders(&self) -> Result<isize, MessageRejectErrorEnum> {
1767        let mut fld = field::NoOrdersField::new(0);
1768        self.message.body.get_field(tag::NO_ORDERS, &mut fld.0)?;
1769        Ok(fld.value())
1770    }
1771
1772
1773    /// Returns true if `NoOrders` is present, Tag 73.
1774    pub fn has_no_orders(&self) -> bool {
1775        self.message.body.has(tag::NO_ORDERS)
1776    }
1777
1778
1779
1780
1781    /// Sets `NoPartyIDs`, Tag 453.
1782    pub fn set_no_party_i_ds(&mut self, v: isize) {
1783        self.message.body.set_field(tag::NO_PARTY_I_DS, fixer::fix_int::FIXInt::from(v));
1784    }
1785
1786    /// Gets `NoPartyIDs`, Tag 453.
1787    pub fn get_no_party_i_ds(&self) -> Result<isize, MessageRejectErrorEnum> {
1788        let mut fld = field::NoPartyIDsField::new(0);
1789        self.message.body.get_field(tag::NO_PARTY_I_DS, &mut fld.0)?;
1790        Ok(fld.value())
1791    }
1792
1793
1794    /// Returns true if `NoPartyIDs` is present, Tag 453.
1795    pub fn has_no_party_i_ds(&self) -> bool {
1796        self.message.body.has(tag::NO_PARTY_I_DS)
1797    }
1798
1799
1800
1801
1802    /// Sets `NoPosAmt`, Tag 753.
1803    pub fn set_no_pos_amt(&mut self, v: isize) {
1804        self.message.body.set_field(tag::NO_POS_AMT, fixer::fix_int::FIXInt::from(v));
1805    }
1806
1807    /// Gets `NoPosAmt`, Tag 753.
1808    pub fn get_no_pos_amt(&self) -> Result<isize, MessageRejectErrorEnum> {
1809        let mut fld = field::NoPosAmtField::new(0);
1810        self.message.body.get_field(tag::NO_POS_AMT, &mut fld.0)?;
1811        Ok(fld.value())
1812    }
1813
1814
1815    /// Returns true if `NoPosAmt` is present, Tag 753.
1816    pub fn has_no_pos_amt(&self) -> bool {
1817        self.message.body.has(tag::NO_POS_AMT)
1818    }
1819
1820
1821
1822
1823    /// Sets `NoSecurityAltID`, Tag 454.
1824    pub fn set_no_security_alt_id(&mut self, v: isize) {
1825        self.message.body.set_field(tag::NO_SECURITY_ALT_ID, fixer::fix_int::FIXInt::from(v));
1826    }
1827
1828    /// Gets `NoSecurityAltID`, Tag 454.
1829    pub fn get_no_security_alt_id(&self) -> Result<isize, MessageRejectErrorEnum> {
1830        let mut fld = field::NoSecurityAltIDField::new(0);
1831        self.message.body.get_field(tag::NO_SECURITY_ALT_ID, &mut fld.0)?;
1832        Ok(fld.value())
1833    }
1834
1835
1836    /// Returns true if `NoSecurityAltID` is present, Tag 454.
1837    pub fn has_no_security_alt_id(&self) -> bool {
1838        self.message.body.has(tag::NO_SECURITY_ALT_ID)
1839    }
1840
1841
1842
1843
1844    /// Sets `NoStipulations`, Tag 232.
1845    pub fn set_no_stipulations(&mut self, v: isize) {
1846        self.message.body.set_field(tag::NO_STIPULATIONS, fixer::fix_int::FIXInt::from(v));
1847    }
1848
1849    /// Gets `NoStipulations`, Tag 232.
1850    pub fn get_no_stipulations(&self) -> Result<isize, MessageRejectErrorEnum> {
1851        let mut fld = field::NoStipulationsField::new(0);
1852        self.message.body.get_field(tag::NO_STIPULATIONS, &mut fld.0)?;
1853        Ok(fld.value())
1854    }
1855
1856
1857    /// Returns true if `NoStipulations` is present, Tag 232.
1858    pub fn has_no_stipulations(&self) -> bool {
1859        self.message.body.has(tag::NO_STIPULATIONS)
1860    }
1861
1862
1863
1864
1865    /// Sets `NoUnderlyings`, Tag 711.
1866    pub fn set_no_underlyings(&mut self, v: isize) {
1867        self.message.body.set_field(tag::NO_UNDERLYINGS, fixer::fix_int::FIXInt::from(v));
1868    }
1869
1870    /// Gets `NoUnderlyings`, Tag 711.
1871    pub fn get_no_underlyings(&self) -> Result<isize, MessageRejectErrorEnum> {
1872        let mut fld = field::NoUnderlyingsField::new(0);
1873        self.message.body.get_field(tag::NO_UNDERLYINGS, &mut fld.0)?;
1874        Ok(fld.value())
1875    }
1876
1877
1878    /// Returns true if `NoUnderlyings` is present, Tag 711.
1879    pub fn has_no_underlyings(&self) -> bool {
1880        self.message.body.has(tag::NO_UNDERLYINGS)
1881    }
1882
1883
1884
1885
1886    /// Sets `NumDaysInterest`, Tag 157.
1887    pub fn set_num_days_interest(&mut self, v: isize) {
1888        self.message.body.set_field(tag::NUM_DAYS_INTEREST, fixer::fix_int::FIXInt::from(v));
1889    }
1890
1891    /// Gets `NumDaysInterest`, Tag 157.
1892    pub fn get_num_days_interest(&self) -> Result<isize, MessageRejectErrorEnum> {
1893        let mut fld = field::NumDaysInterestField::new(0);
1894        self.message.body.get_field(tag::NUM_DAYS_INTEREST, &mut fld.0)?;
1895        Ok(fld.value())
1896    }
1897
1898
1899    /// Returns true if `NumDaysInterest` is present, Tag 157.
1900    pub fn has_num_days_interest(&self) -> bool {
1901        self.message.body.has(tag::NUM_DAYS_INTEREST)
1902    }
1903
1904
1905
1906
1907    /// Sets `OptAttribute`, Tag 206.
1908    pub fn set_opt_attribute(&mut self, v: String) {
1909        self.message.body.set_field(tag::OPT_ATTRIBUTE, FIXString::from(v));
1910    }
1911
1912    /// Gets `OptAttribute`, Tag 206.
1913    pub fn get_opt_attribute(&self) -> Result<String, MessageRejectErrorEnum> {
1914        let mut fld = field::OptAttributeField::new(String::new());
1915        self.message.body.get_field(tag::OPT_ATTRIBUTE, &mut fld.0)?;
1916        Ok(fld.value().to_string())
1917    }
1918
1919
1920    /// Returns true if `OptAttribute` is present, Tag 206.
1921    pub fn has_opt_attribute(&self) -> bool {
1922        self.message.body.has(tag::OPT_ATTRIBUTE)
1923    }
1924
1925
1926
1927
1928    /// Sets `PctAtRisk`, Tag 869.
1929    pub fn set_pct_at_risk(&mut self, val: Decimal, scale: i32) {
1930        self.message.body.set_field(tag::PCT_AT_RISK, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1931    }
1932
1933    /// Gets `PctAtRisk`, Tag 869.
1934    pub fn get_pct_at_risk(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1935        let mut fld = field::PctAtRiskField::new(Decimal::ZERO, 0);
1936        self.message.body.get_field(tag::PCT_AT_RISK, &mut fld.0)?;
1937        Ok(fld.value())
1938    }
1939
1940
1941    /// Returns true if `PctAtRisk` is present, Tag 869.
1942    pub fn has_pct_at_risk(&self) -> bool {
1943        self.message.body.has(tag::PCT_AT_RISK)
1944    }
1945
1946
1947
1948
1949    /// Sets `Pool`, Tag 691.
1950    pub fn set_pool(&mut self, v: String) {
1951        self.message.body.set_field(tag::POOL, FIXString::from(v));
1952    }
1953
1954    /// Gets `Pool`, Tag 691.
1955    pub fn get_pool(&self) -> Result<String, MessageRejectErrorEnum> {
1956        let mut fld = field::PoolField::new(String::new());
1957        self.message.body.get_field(tag::POOL, &mut fld.0)?;
1958        Ok(fld.value().to_string())
1959    }
1960
1961
1962    /// Returns true if `Pool` is present, Tag 691.
1963    pub fn has_pool(&self) -> bool {
1964        self.message.body.has(tag::POOL)
1965    }
1966
1967
1968
1969
1970    /// Sets `PositionEffect`, Tag 77.
1971    pub fn set_position_effect(&mut self, v: String) {
1972        self.message.body.set_field(tag::POSITION_EFFECT, FIXString::from(v));
1973    }
1974
1975    /// Gets `PositionEffect`, Tag 77.
1976    pub fn get_position_effect(&self) -> Result<String, MessageRejectErrorEnum> {
1977        let mut fld = field::PositionEffectField::new(String::new());
1978        self.message.body.get_field(tag::POSITION_EFFECT, &mut fld.0)?;
1979        Ok(fld.value().to_string())
1980    }
1981
1982
1983    /// Returns true if `PositionEffect` is present, Tag 77.
1984    pub fn has_position_effect(&self) -> bool {
1985        self.message.body.has(tag::POSITION_EFFECT)
1986    }
1987
1988
1989
1990
1991    /// Sets `PositionLimit`, Tag 970.
1992    pub fn set_position_limit(&mut self, v: isize) {
1993        self.message.body.set_field(tag::POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
1994    }
1995
1996    /// Gets `PositionLimit`, Tag 970.
1997    pub fn get_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
1998        let mut fld = field::PositionLimitField::new(0);
1999        self.message.body.get_field(tag::POSITION_LIMIT, &mut fld.0)?;
2000        Ok(fld.value())
2001    }
2002
2003
2004    /// Returns true if `PositionLimit` is present, Tag 970.
2005    pub fn has_position_limit(&self) -> bool {
2006        self.message.body.has(tag::POSITION_LIMIT)
2007    }
2008
2009
2010
2011
2012    /// Sets `PreviouslyReported`, Tag 570.
2013    pub fn set_previously_reported(&mut self, v: bool) {
2014        self.message.body.set_field(tag::PREVIOUSLY_REPORTED, fixer::fix_boolean::FIXBoolean::from(v));
2015    }
2016
2017    /// Gets `PreviouslyReported`, Tag 570.
2018    pub fn get_previously_reported(&self) -> Result<bool, MessageRejectErrorEnum> {
2019        let mut fld = field::PreviouslyReportedField::new(false);
2020        self.message.body.get_field(tag::PREVIOUSLY_REPORTED, &mut fld.0)?;
2021        Ok(fld.value())
2022    }
2023
2024
2025    /// Returns true if `PreviouslyReported` is present, Tag 570.
2026    pub fn has_previously_reported(&self) -> bool {
2027        self.message.body.has(tag::PREVIOUSLY_REPORTED)
2028    }
2029
2030
2031
2032
2033    /// Sets `PriceType`, Tag 423.
2034    pub fn set_price_type(&mut self, v: isize) {
2035        self.message.body.set_field(tag::PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
2036    }
2037
2038    /// Gets `PriceType`, Tag 423.
2039    pub fn get_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2040        let mut fld = field::PriceTypeField::new(0);
2041        self.message.body.get_field(tag::PRICE_TYPE, &mut fld.0)?;
2042        Ok(fld.value())
2043    }
2044
2045
2046    /// Returns true if `PriceType` is present, Tag 423.
2047    pub fn has_price_type(&self) -> bool {
2048        self.message.body.has(tag::PRICE_TYPE)
2049    }
2050
2051
2052
2053
2054    /// Sets `Product`, Tag 460.
2055    pub fn set_product(&mut self, v: isize) {
2056        self.message.body.set_field(tag::PRODUCT, fixer::fix_int::FIXInt::from(v));
2057    }
2058
2059    /// Gets `Product`, Tag 460.
2060    pub fn get_product(&self) -> Result<isize, MessageRejectErrorEnum> {
2061        let mut fld = field::ProductField::new(0);
2062        self.message.body.get_field(tag::PRODUCT, &mut fld.0)?;
2063        Ok(fld.value())
2064    }
2065
2066
2067    /// Returns true if `Product` is present, Tag 460.
2068    pub fn has_product(&self) -> bool {
2069        self.message.body.has(tag::PRODUCT)
2070    }
2071
2072
2073
2074
2075    /// Sets `QtyType`, Tag 854.
2076    pub fn set_qty_type(&mut self, v: isize) {
2077        self.message.body.set_field(tag::QTY_TYPE, fixer::fix_int::FIXInt::from(v));
2078    }
2079
2080    /// Gets `QtyType`, Tag 854.
2081    pub fn get_qty_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2082        let mut fld = field::QtyTypeField::new(0);
2083        self.message.body.get_field(tag::QTY_TYPE, &mut fld.0)?;
2084        Ok(fld.value())
2085    }
2086
2087
2088    /// Returns true if `QtyType` is present, Tag 854.
2089    pub fn has_qty_type(&self) -> bool {
2090        self.message.body.has(tag::QTY_TYPE)
2091    }
2092
2093
2094
2095
2096    /// Sets `Quantity`, Tag 53.
2097    pub fn set_quantity(&mut self, val: Decimal, scale: i32) {
2098        self.message.body.set_field(tag::QUANTITY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2099    }
2100
2101    /// Gets `Quantity`, Tag 53.
2102    pub fn get_quantity(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2103        let mut fld = field::QuantityField::new(Decimal::ZERO, 0);
2104        self.message.body.get_field(tag::QUANTITY, &mut fld.0)?;
2105        Ok(fld.value())
2106    }
2107
2108
2109    /// Returns true if `Quantity` is present, Tag 53.
2110    pub fn has_quantity(&self) -> bool {
2111        self.message.body.has(tag::QUANTITY)
2112    }
2113
2114
2115
2116
2117    /// Sets `RedemptionDate`, Tag 240.
2118    pub fn set_redemption_date(&mut self, v: String) {
2119        self.message.body.set_field(tag::REDEMPTION_DATE, FIXString::from(v));
2120    }
2121
2122    /// Gets `RedemptionDate`, Tag 240.
2123    pub fn get_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
2124        let mut fld = field::RedemptionDateField::new(String::new());
2125        self.message.body.get_field(tag::REDEMPTION_DATE, &mut fld.0)?;
2126        Ok(fld.value().to_string())
2127    }
2128
2129
2130    /// Returns true if `RedemptionDate` is present, Tag 240.
2131    pub fn has_redemption_date(&self) -> bool {
2132        self.message.body.has(tag::REDEMPTION_DATE)
2133    }
2134
2135
2136
2137
2138    /// Sets `RefAllocID`, Tag 72.
2139    pub fn set_ref_alloc_id(&mut self, v: String) {
2140        self.message.body.set_field(tag::REF_ALLOC_ID, FIXString::from(v));
2141    }
2142
2143    /// Gets `RefAllocID`, Tag 72.
2144    pub fn get_ref_alloc_id(&self) -> Result<String, MessageRejectErrorEnum> {
2145        let mut fld = field::RefAllocIDField::new(String::new());
2146        self.message.body.get_field(tag::REF_ALLOC_ID, &mut fld.0)?;
2147        Ok(fld.value().to_string())
2148    }
2149
2150
2151    /// Returns true if `RefAllocID` is present, Tag 72.
2152    pub fn has_ref_alloc_id(&self) -> bool {
2153        self.message.body.has(tag::REF_ALLOC_ID)
2154    }
2155
2156
2157
2158
2159    /// Sets `RepoCollateralSecurityType`, Tag 239.
2160    pub fn set_repo_collateral_security_type(&mut self, v: isize) {
2161        self.message.body.set_field(tag::REPO_COLLATERAL_SECURITY_TYPE, fixer::fix_int::FIXInt::from(v));
2162    }
2163
2164    /// Gets `RepoCollateralSecurityType`, Tag 239.
2165    pub fn get_repo_collateral_security_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2166        let mut fld = field::RepoCollateralSecurityTypeField::new(0);
2167        self.message.body.get_field(tag::REPO_COLLATERAL_SECURITY_TYPE, &mut fld.0)?;
2168        Ok(fld.value())
2169    }
2170
2171
2172    /// Returns true if `RepoCollateralSecurityType` is present, Tag 239.
2173    pub fn has_repo_collateral_security_type(&self) -> bool {
2174        self.message.body.has(tag::REPO_COLLATERAL_SECURITY_TYPE)
2175    }
2176
2177
2178
2179
2180    /// Sets `RepurchaseRate`, Tag 227.
2181    pub fn set_repurchase_rate(&mut self, val: Decimal, scale: i32) {
2182        self.message.body.set_field(tag::REPURCHASE_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2183    }
2184
2185    /// Gets `RepurchaseRate`, Tag 227.
2186    pub fn get_repurchase_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2187        let mut fld = field::RepurchaseRateField::new(Decimal::ZERO, 0);
2188        self.message.body.get_field(tag::REPURCHASE_RATE, &mut fld.0)?;
2189        Ok(fld.value())
2190    }
2191
2192
2193    /// Returns true if `RepurchaseRate` is present, Tag 227.
2194    pub fn has_repurchase_rate(&self) -> bool {
2195        self.message.body.has(tag::REPURCHASE_RATE)
2196    }
2197
2198
2199
2200
2201    /// Sets `RepurchaseTerm`, Tag 226.
2202    pub fn set_repurchase_term(&mut self, v: isize) {
2203        self.message.body.set_field(tag::REPURCHASE_TERM, fixer::fix_int::FIXInt::from(v));
2204    }
2205
2206    /// Gets `RepurchaseTerm`, Tag 226.
2207    pub fn get_repurchase_term(&self) -> Result<isize, MessageRejectErrorEnum> {
2208        let mut fld = field::RepurchaseTermField::new(0);
2209        self.message.body.get_field(tag::REPURCHASE_TERM, &mut fld.0)?;
2210        Ok(fld.value())
2211    }
2212
2213
2214    /// Returns true if `RepurchaseTerm` is present, Tag 226.
2215    pub fn has_repurchase_term(&self) -> bool {
2216        self.message.body.has(tag::REPURCHASE_TERM)
2217    }
2218
2219
2220
2221
2222    /// Sets `ReversalIndicator`, Tag 700.
2223    pub fn set_reversal_indicator(&mut self, v: bool) {
2224        self.message.body.set_field(tag::REVERSAL_INDICATOR, fixer::fix_boolean::FIXBoolean::from(v));
2225    }
2226
2227    /// Gets `ReversalIndicator`, Tag 700.
2228    pub fn get_reversal_indicator(&self) -> Result<bool, MessageRejectErrorEnum> {
2229        let mut fld = field::ReversalIndicatorField::new(false);
2230        self.message.body.get_field(tag::REVERSAL_INDICATOR, &mut fld.0)?;
2231        Ok(fld.value())
2232    }
2233
2234
2235    /// Returns true if `ReversalIndicator` is present, Tag 700.
2236    pub fn has_reversal_indicator(&self) -> bool {
2237        self.message.body.has(tag::REVERSAL_INDICATOR)
2238    }
2239
2240
2241
2242
2243    /// Sets `RndPx`, Tag 991.
2244    pub fn set_rnd_px(&mut self, val: Decimal, scale: i32) {
2245        self.message.body.set_field(tag::RND_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2246    }
2247
2248    /// Gets `RndPx`, Tag 991.
2249    pub fn get_rnd_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2250        let mut fld = field::RndPxField::new(Decimal::ZERO, 0);
2251        self.message.body.get_field(tag::RND_PX, &mut fld.0)?;
2252        Ok(fld.value())
2253    }
2254
2255
2256    /// Returns true if `RndPx` is present, Tag 991.
2257    pub fn has_rnd_px(&self) -> bool {
2258        self.message.body.has(tag::RND_PX)
2259    }
2260
2261
2262
2263
2264    /// Sets `SecondaryAllocID`, Tag 793.
2265    pub fn set_secondary_alloc_id(&mut self, v: String) {
2266        self.message.body.set_field(tag::SECONDARY_ALLOC_ID, FIXString::from(v));
2267    }
2268
2269    /// Gets `SecondaryAllocID`, Tag 793.
2270    pub fn get_secondary_alloc_id(&self) -> Result<String, MessageRejectErrorEnum> {
2271        let mut fld = field::SecondaryAllocIDField::new(String::new());
2272        self.message.body.get_field(tag::SECONDARY_ALLOC_ID, &mut fld.0)?;
2273        Ok(fld.value().to_string())
2274    }
2275
2276
2277    /// Returns true if `SecondaryAllocID` is present, Tag 793.
2278    pub fn has_secondary_alloc_id(&self) -> bool {
2279        self.message.body.has(tag::SECONDARY_ALLOC_ID)
2280    }
2281
2282
2283
2284
2285    /// Sets `SecurityDesc`, Tag 107.
2286    pub fn set_security_desc(&mut self, v: String) {
2287        self.message.body.set_field(tag::SECURITY_DESC, FIXString::from(v));
2288    }
2289
2290    /// Gets `SecurityDesc`, Tag 107.
2291    pub fn get_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
2292        let mut fld = field::SecurityDescField::new(String::new());
2293        self.message.body.get_field(tag::SECURITY_DESC, &mut fld.0)?;
2294        Ok(fld.value().to_string())
2295    }
2296
2297
2298    /// Returns true if `SecurityDesc` is present, Tag 107.
2299    pub fn has_security_desc(&self) -> bool {
2300        self.message.body.has(tag::SECURITY_DESC)
2301    }
2302
2303
2304
2305
2306    /// Sets `SecurityExchange`, Tag 207.
2307    pub fn set_security_exchange(&mut self, v: String) {
2308        self.message.body.set_field(tag::SECURITY_EXCHANGE, FIXString::from(v));
2309    }
2310
2311    /// Gets `SecurityExchange`, Tag 207.
2312    pub fn get_security_exchange(&self) -> Result<String, MessageRejectErrorEnum> {
2313        let mut fld = field::SecurityExchangeField::new(String::new());
2314        self.message.body.get_field(tag::SECURITY_EXCHANGE, &mut fld.0)?;
2315        Ok(fld.value().to_string())
2316    }
2317
2318
2319    /// Returns true if `SecurityExchange` is present, Tag 207.
2320    pub fn has_security_exchange(&self) -> bool {
2321        self.message.body.has(tag::SECURITY_EXCHANGE)
2322    }
2323
2324
2325
2326
2327    /// Sets `SecurityID`, Tag 48.
2328    pub fn set_security_id(&mut self, v: String) {
2329        self.message.body.set_field(tag::SECURITY_ID, FIXString::from(v));
2330    }
2331
2332    /// Gets `SecurityID`, Tag 48.
2333    pub fn get_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
2334        let mut fld = field::SecurityIDField::new(String::new());
2335        self.message.body.get_field(tag::SECURITY_ID, &mut fld.0)?;
2336        Ok(fld.value().to_string())
2337    }
2338
2339
2340    /// Returns true if `SecurityID` is present, Tag 48.
2341    pub fn has_security_id(&self) -> bool {
2342        self.message.body.has(tag::SECURITY_ID)
2343    }
2344
2345
2346
2347
2348    /// Sets `SecurityIDSource`, Tag 22.
2349    pub fn set_security_id_source(&mut self, v: String) {
2350        self.message.body.set_field(tag::SECURITY_ID_SOURCE, FIXString::from(v));
2351    }
2352
2353    /// Gets `SecurityIDSource`, Tag 22.
2354    pub fn get_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
2355        let mut fld = field::SecurityIDSourceField::new(String::new());
2356        self.message.body.get_field(tag::SECURITY_ID_SOURCE, &mut fld.0)?;
2357        Ok(fld.value().to_string())
2358    }
2359
2360
2361    /// Returns true if `SecurityIDSource` is present, Tag 22.
2362    pub fn has_security_id_source(&self) -> bool {
2363        self.message.body.has(tag::SECURITY_ID_SOURCE)
2364    }
2365
2366
2367
2368
2369    /// Sets `SecurityStatus`, Tag 965.
2370    pub fn set_security_status(&mut self, v: String) {
2371        self.message.body.set_field(tag::SECURITY_STATUS, FIXString::from(v));
2372    }
2373
2374    /// Gets `SecurityStatus`, Tag 965.
2375    pub fn get_security_status(&self) -> Result<String, MessageRejectErrorEnum> {
2376        let mut fld = field::SecurityStatusField::new(String::new());
2377        self.message.body.get_field(tag::SECURITY_STATUS, &mut fld.0)?;
2378        Ok(fld.value().to_string())
2379    }
2380
2381
2382    /// Returns true if `SecurityStatus` is present, Tag 965.
2383    pub fn has_security_status(&self) -> bool {
2384        self.message.body.has(tag::SECURITY_STATUS)
2385    }
2386
2387
2388
2389
2390    /// Sets `SecuritySubType`, Tag 762.
2391    pub fn set_security_sub_type(&mut self, v: String) {
2392        self.message.body.set_field(tag::SECURITY_SUB_TYPE, FIXString::from(v));
2393    }
2394
2395    /// Gets `SecuritySubType`, Tag 762.
2396    pub fn get_security_sub_type(&self) -> Result<String, MessageRejectErrorEnum> {
2397        let mut fld = field::SecuritySubTypeField::new(String::new());
2398        self.message.body.get_field(tag::SECURITY_SUB_TYPE, &mut fld.0)?;
2399        Ok(fld.value().to_string())
2400    }
2401
2402
2403    /// Returns true if `SecuritySubType` is present, Tag 762.
2404    pub fn has_security_sub_type(&self) -> bool {
2405        self.message.body.has(tag::SECURITY_SUB_TYPE)
2406    }
2407
2408
2409
2410
2411    /// Sets `SecurityType`, Tag 167.
2412    pub fn set_security_type(&mut self, v: String) {
2413        self.message.body.set_field(tag::SECURITY_TYPE, FIXString::from(v));
2414    }
2415
2416    /// Gets `SecurityType`, Tag 167.
2417    pub fn get_security_type(&self) -> Result<String, MessageRejectErrorEnum> {
2418        let mut fld = field::SecurityTypeField::new(String::new());
2419        self.message.body.get_field(tag::SECURITY_TYPE, &mut fld.0)?;
2420        Ok(fld.value().to_string())
2421    }
2422
2423
2424    /// Returns true if `SecurityType` is present, Tag 167.
2425    pub fn has_security_type(&self) -> bool {
2426        self.message.body.has(tag::SECURITY_TYPE)
2427    }
2428
2429
2430
2431
2432    /// Sets `SettlDate`, Tag 64.
2433    pub fn set_settl_date(&mut self, v: String) {
2434        self.message.body.set_field(tag::SETTL_DATE, FIXString::from(v));
2435    }
2436
2437    /// Gets `SettlDate`, Tag 64.
2438    pub fn get_settl_date(&self) -> Result<String, MessageRejectErrorEnum> {
2439        let mut fld = field::SettlDateField::new(String::new());
2440        self.message.body.get_field(tag::SETTL_DATE, &mut fld.0)?;
2441        Ok(fld.value().to_string())
2442    }
2443
2444
2445    /// Returns true if `SettlDate` is present, Tag 64.
2446    pub fn has_settl_date(&self) -> bool {
2447        self.message.body.has(tag::SETTL_DATE)
2448    }
2449
2450
2451
2452
2453    /// Sets `SettlType`, Tag 63.
2454    pub fn set_settl_type(&mut self, v: String) {
2455        self.message.body.set_field(tag::SETTL_TYPE, FIXString::from(v));
2456    }
2457
2458    /// Gets `SettlType`, Tag 63.
2459    pub fn get_settl_type(&self) -> Result<String, MessageRejectErrorEnum> {
2460        let mut fld = field::SettlTypeField::new(String::new());
2461        self.message.body.get_field(tag::SETTL_TYPE, &mut fld.0)?;
2462        Ok(fld.value().to_string())
2463    }
2464
2465
2466    /// Returns true if `SettlType` is present, Tag 63.
2467    pub fn has_settl_type(&self) -> bool {
2468        self.message.body.has(tag::SETTL_TYPE)
2469    }
2470
2471
2472
2473
2474    /// Sets `SettleOnOpenFlag`, Tag 966.
2475    pub fn set_settle_on_open_flag(&mut self, v: String) {
2476        self.message.body.set_field(tag::SETTLE_ON_OPEN_FLAG, FIXString::from(v));
2477    }
2478
2479    /// Gets `SettleOnOpenFlag`, Tag 966.
2480    pub fn get_settle_on_open_flag(&self) -> Result<String, MessageRejectErrorEnum> {
2481        let mut fld = field::SettleOnOpenFlagField::new(String::new());
2482        self.message.body.get_field(tag::SETTLE_ON_OPEN_FLAG, &mut fld.0)?;
2483        Ok(fld.value().to_string())
2484    }
2485
2486
2487    /// Returns true if `SettleOnOpenFlag` is present, Tag 966.
2488    pub fn has_settle_on_open_flag(&self) -> bool {
2489        self.message.body.has(tag::SETTLE_ON_OPEN_FLAG)
2490    }
2491
2492
2493
2494
2495    /// Sets `Side`, Tag 54.
2496    pub fn set_side(&mut self, v: String) {
2497        self.message.body.set_field(tag::SIDE, FIXString::from(v));
2498    }
2499
2500    /// Gets `Side`, Tag 54.
2501    pub fn get_side(&self) -> Result<String, MessageRejectErrorEnum> {
2502        let mut fld = field::SideField::new(String::new());
2503        self.message.body.get_field(tag::SIDE, &mut fld.0)?;
2504        Ok(fld.value().to_string())
2505    }
2506
2507
2508    /// Returns true if `Side` is present, Tag 54.
2509    pub fn has_side(&self) -> bool {
2510        self.message.body.has(tag::SIDE)
2511    }
2512
2513
2514
2515
2516    /// Sets `Spread`, Tag 218.
2517    pub fn set_spread(&mut self, val: Decimal, scale: i32) {
2518        self.message.body.set_field(tag::SPREAD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2519    }
2520
2521    /// Gets `Spread`, Tag 218.
2522    pub fn get_spread(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2523        let mut fld = field::SpreadField::new(Decimal::ZERO, 0);
2524        self.message.body.get_field(tag::SPREAD, &mut fld.0)?;
2525        Ok(fld.value())
2526    }
2527
2528
2529    /// Returns true if `Spread` is present, Tag 218.
2530    pub fn has_spread(&self) -> bool {
2531        self.message.body.has(tag::SPREAD)
2532    }
2533
2534
2535
2536
2537    /// Sets `StartCash`, Tag 921.
2538    pub fn set_start_cash(&mut self, val: Decimal, scale: i32) {
2539        self.message.body.set_field(tag::START_CASH, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2540    }
2541
2542    /// Gets `StartCash`, Tag 921.
2543    pub fn get_start_cash(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2544        let mut fld = field::StartCashField::new(Decimal::ZERO, 0);
2545        self.message.body.get_field(tag::START_CASH, &mut fld.0)?;
2546        Ok(fld.value())
2547    }
2548
2549
2550    /// Returns true if `StartCash` is present, Tag 921.
2551    pub fn has_start_cash(&self) -> bool {
2552        self.message.body.has(tag::START_CASH)
2553    }
2554
2555
2556
2557
2558    /// Sets `StartDate`, Tag 916.
2559    pub fn set_start_date(&mut self, v: String) {
2560        self.message.body.set_field(tag::START_DATE, FIXString::from(v));
2561    }
2562
2563    /// Gets `StartDate`, Tag 916.
2564    pub fn get_start_date(&self) -> Result<String, MessageRejectErrorEnum> {
2565        let mut fld = field::StartDateField::new(String::new());
2566        self.message.body.get_field(tag::START_DATE, &mut fld.0)?;
2567        Ok(fld.value().to_string())
2568    }
2569
2570
2571    /// Returns true if `StartDate` is present, Tag 916.
2572    pub fn has_start_date(&self) -> bool {
2573        self.message.body.has(tag::START_DATE)
2574    }
2575
2576
2577
2578
2579    /// Sets `StateOrProvinceOfIssue`, Tag 471.
2580    pub fn set_state_or_province_of_issue(&mut self, v: String) {
2581        self.message.body.set_field(tag::STATE_OR_PROVINCE_OF_ISSUE, FIXString::from(v));
2582    }
2583
2584    /// Gets `StateOrProvinceOfIssue`, Tag 471.
2585    pub fn get_state_or_province_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
2586        let mut fld = field::StateOrProvinceOfIssueField::new(String::new());
2587        self.message.body.get_field(tag::STATE_OR_PROVINCE_OF_ISSUE, &mut fld.0)?;
2588        Ok(fld.value().to_string())
2589    }
2590
2591
2592    /// Returns true if `StateOrProvinceOfIssue` is present, Tag 471.
2593    pub fn has_state_or_province_of_issue(&self) -> bool {
2594        self.message.body.has(tag::STATE_OR_PROVINCE_OF_ISSUE)
2595    }
2596
2597
2598
2599
2600    /// Sets `StrikeCurrency`, Tag 947.
2601    pub fn set_strike_currency(&mut self, v: String) {
2602        self.message.body.set_field(tag::STRIKE_CURRENCY, FIXString::from(v));
2603    }
2604
2605    /// Gets `StrikeCurrency`, Tag 947.
2606    pub fn get_strike_currency(&self) -> Result<String, MessageRejectErrorEnum> {
2607        let mut fld = field::StrikeCurrencyField::new(String::new());
2608        self.message.body.get_field(tag::STRIKE_CURRENCY, &mut fld.0)?;
2609        Ok(fld.value().to_string())
2610    }
2611
2612
2613    /// Returns true if `StrikeCurrency` is present, Tag 947.
2614    pub fn has_strike_currency(&self) -> bool {
2615        self.message.body.has(tag::STRIKE_CURRENCY)
2616    }
2617
2618
2619
2620
2621    /// Sets `StrikeMultiplier`, Tag 967.
2622    pub fn set_strike_multiplier(&mut self, val: Decimal, scale: i32) {
2623        self.message.body.set_field(tag::STRIKE_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2624    }
2625
2626    /// Gets `StrikeMultiplier`, Tag 967.
2627    pub fn get_strike_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2628        let mut fld = field::StrikeMultiplierField::new(Decimal::ZERO, 0);
2629        self.message.body.get_field(tag::STRIKE_MULTIPLIER, &mut fld.0)?;
2630        Ok(fld.value())
2631    }
2632
2633
2634    /// Returns true if `StrikeMultiplier` is present, Tag 967.
2635    pub fn has_strike_multiplier(&self) -> bool {
2636        self.message.body.has(tag::STRIKE_MULTIPLIER)
2637    }
2638
2639
2640
2641
2642    /// Sets `StrikePrice`, Tag 202.
2643    pub fn set_strike_price(&mut self, val: Decimal, scale: i32) {
2644        self.message.body.set_field(tag::STRIKE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2645    }
2646
2647    /// Gets `StrikePrice`, Tag 202.
2648    pub fn get_strike_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2649        let mut fld = field::StrikePriceField::new(Decimal::ZERO, 0);
2650        self.message.body.get_field(tag::STRIKE_PRICE, &mut fld.0)?;
2651        Ok(fld.value())
2652    }
2653
2654
2655    /// Returns true if `StrikePrice` is present, Tag 202.
2656    pub fn has_strike_price(&self) -> bool {
2657        self.message.body.has(tag::STRIKE_PRICE)
2658    }
2659
2660
2661
2662
2663    /// Sets `StrikeValue`, Tag 968.
2664    pub fn set_strike_value(&mut self, val: Decimal, scale: i32) {
2665        self.message.body.set_field(tag::STRIKE_VALUE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2666    }
2667
2668    /// Gets `StrikeValue`, Tag 968.
2669    pub fn get_strike_value(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2670        let mut fld = field::StrikeValueField::new(Decimal::ZERO, 0);
2671        self.message.body.get_field(tag::STRIKE_VALUE, &mut fld.0)?;
2672        Ok(fld.value())
2673    }
2674
2675
2676    /// Returns true if `StrikeValue` is present, Tag 968.
2677    pub fn has_strike_value(&self) -> bool {
2678        self.message.body.has(tag::STRIKE_VALUE)
2679    }
2680
2681
2682
2683
2684    /// Sets `Symbol`, Tag 55.
2685    pub fn set_symbol(&mut self, v: String) {
2686        self.message.body.set_field(tag::SYMBOL, FIXString::from(v));
2687    }
2688
2689    /// Gets `Symbol`, Tag 55.
2690    pub fn get_symbol(&self) -> Result<String, MessageRejectErrorEnum> {
2691        let mut fld = field::SymbolField::new(String::new());
2692        self.message.body.get_field(tag::SYMBOL, &mut fld.0)?;
2693        Ok(fld.value().to_string())
2694    }
2695
2696
2697    /// Returns true if `Symbol` is present, Tag 55.
2698    pub fn has_symbol(&self) -> bool {
2699        self.message.body.has(tag::SYMBOL)
2700    }
2701
2702
2703
2704
2705    /// Sets `SymbolSfx`, Tag 65.
2706    pub fn set_symbol_sfx(&mut self, v: String) {
2707        self.message.body.set_field(tag::SYMBOL_SFX, FIXString::from(v));
2708    }
2709
2710    /// Gets `SymbolSfx`, Tag 65.
2711    pub fn get_symbol_sfx(&self) -> Result<String, MessageRejectErrorEnum> {
2712        let mut fld = field::SymbolSfxField::new(String::new());
2713        self.message.body.get_field(tag::SYMBOL_SFX, &mut fld.0)?;
2714        Ok(fld.value().to_string())
2715    }
2716
2717
2718    /// Returns true if `SymbolSfx` is present, Tag 65.
2719    pub fn has_symbol_sfx(&self) -> bool {
2720        self.message.body.has(tag::SYMBOL_SFX)
2721    }
2722
2723
2724
2725
2726    /// Sets `TerminationType`, Tag 788.
2727    pub fn set_termination_type(&mut self, v: isize) {
2728        self.message.body.set_field(tag::TERMINATION_TYPE, fixer::fix_int::FIXInt::from(v));
2729    }
2730
2731    /// Gets `TerminationType`, Tag 788.
2732    pub fn get_termination_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2733        let mut fld = field::TerminationTypeField::new(0);
2734        self.message.body.get_field(tag::TERMINATION_TYPE, &mut fld.0)?;
2735        Ok(fld.value())
2736    }
2737
2738
2739    /// Returns true if `TerminationType` is present, Tag 788.
2740    pub fn has_termination_type(&self) -> bool {
2741        self.message.body.has(tag::TERMINATION_TYPE)
2742    }
2743
2744
2745
2746
2747    /// Sets `Text`, Tag 58.
2748    pub fn set_text(&mut self, v: String) {
2749        self.message.body.set_field(tag::TEXT, FIXString::from(v));
2750    }
2751
2752    /// Gets `Text`, Tag 58.
2753    pub fn get_text(&self) -> Result<String, MessageRejectErrorEnum> {
2754        let mut fld = field::TextField::new(String::new());
2755        self.message.body.get_field(tag::TEXT, &mut fld.0)?;
2756        Ok(fld.value().to_string())
2757    }
2758
2759
2760    /// Returns true if `Text` is present, Tag 58.
2761    pub fn has_text(&self) -> bool {
2762        self.message.body.has(tag::TEXT)
2763    }
2764
2765
2766
2767
2768    /// Sets `TimeUnit`, Tag 997.
2769    pub fn set_time_unit(&mut self, v: String) {
2770        self.message.body.set_field(tag::TIME_UNIT, FIXString::from(v));
2771    }
2772
2773    /// Gets `TimeUnit`, Tag 997.
2774    pub fn get_time_unit(&self) -> Result<String, MessageRejectErrorEnum> {
2775        let mut fld = field::TimeUnitField::new(String::new());
2776        self.message.body.get_field(tag::TIME_UNIT, &mut fld.0)?;
2777        Ok(fld.value().to_string())
2778    }
2779
2780
2781    /// Returns true if `TimeUnit` is present, Tag 997.
2782    pub fn has_time_unit(&self) -> bool {
2783        self.message.body.has(tag::TIME_UNIT)
2784    }
2785
2786
2787
2788
2789    /// Sets `TotNoAllocs`, Tag 892.
2790    pub fn set_tot_no_allocs(&mut self, v: isize) {
2791        self.message.body.set_field(tag::TOT_NO_ALLOCS, fixer::fix_int::FIXInt::from(v));
2792    }
2793
2794    /// Gets `TotNoAllocs`, Tag 892.
2795    pub fn get_tot_no_allocs(&self) -> Result<isize, MessageRejectErrorEnum> {
2796        let mut fld = field::TotNoAllocsField::new(0);
2797        self.message.body.get_field(tag::TOT_NO_ALLOCS, &mut fld.0)?;
2798        Ok(fld.value())
2799    }
2800
2801
2802    /// Returns true if `TotNoAllocs` is present, Tag 892.
2803    pub fn has_tot_no_allocs(&self) -> bool {
2804        self.message.body.has(tag::TOT_NO_ALLOCS)
2805    }
2806
2807
2808
2809
2810    /// Sets `TotalAccruedInterestAmt`, Tag 540.
2811    pub fn set_total_accrued_interest_amt(&mut self, val: Decimal, scale: i32) {
2812        self.message.body.set_field(tag::TOTAL_ACCRUED_INTEREST_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2813    }
2814
2815    /// Gets `TotalAccruedInterestAmt`, Tag 540.
2816    pub fn get_total_accrued_interest_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2817        let mut fld = field::TotalAccruedInterestAmtField::new(Decimal::ZERO, 0);
2818        self.message.body.get_field(tag::TOTAL_ACCRUED_INTEREST_AMT, &mut fld.0)?;
2819        Ok(fld.value())
2820    }
2821
2822
2823    /// Returns true if `TotalAccruedInterestAmt` is present, Tag 540.
2824    pub fn has_total_accrued_interest_amt(&self) -> bool {
2825        self.message.body.has(tag::TOTAL_ACCRUED_INTEREST_AMT)
2826    }
2827
2828
2829
2830
2831    /// Sets `TotalTakedown`, Tag 237.
2832    pub fn set_total_takedown(&mut self, val: Decimal, scale: i32) {
2833        self.message.body.set_field(tag::TOTAL_TAKEDOWN, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2834    }
2835
2836    /// Gets `TotalTakedown`, Tag 237.
2837    pub fn get_total_takedown(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2838        let mut fld = field::TotalTakedownField::new(Decimal::ZERO, 0);
2839        self.message.body.get_field(tag::TOTAL_TAKEDOWN, &mut fld.0)?;
2840        Ok(fld.value())
2841    }
2842
2843
2844    /// Returns true if `TotalTakedown` is present, Tag 237.
2845    pub fn has_total_takedown(&self) -> bool {
2846        self.message.body.has(tag::TOTAL_TAKEDOWN)
2847    }
2848
2849
2850
2851
2852    /// Sets `TradeDate`, Tag 75.
2853    pub fn set_trade_date(&mut self, v: String) {
2854        self.message.body.set_field(tag::TRADE_DATE, FIXString::from(v));
2855    }
2856
2857    /// Gets `TradeDate`, Tag 75.
2858    pub fn get_trade_date(&self) -> Result<String, MessageRejectErrorEnum> {
2859        let mut fld = field::TradeDateField::new(String::new());
2860        self.message.body.get_field(tag::TRADE_DATE, &mut fld.0)?;
2861        Ok(fld.value().to_string())
2862    }
2863
2864
2865    /// Returns true if `TradeDate` is present, Tag 75.
2866    pub fn has_trade_date(&self) -> bool {
2867        self.message.body.has(tag::TRADE_DATE)
2868    }
2869
2870
2871
2872
2873    /// Sets `TradeInputSource`, Tag 578.
2874    pub fn set_trade_input_source(&mut self, v: String) {
2875        self.message.body.set_field(tag::TRADE_INPUT_SOURCE, FIXString::from(v));
2876    }
2877
2878    /// Gets `TradeInputSource`, Tag 578.
2879    pub fn get_trade_input_source(&self) -> Result<String, MessageRejectErrorEnum> {
2880        let mut fld = field::TradeInputSourceField::new(String::new());
2881        self.message.body.get_field(tag::TRADE_INPUT_SOURCE, &mut fld.0)?;
2882        Ok(fld.value().to_string())
2883    }
2884
2885
2886    /// Returns true if `TradeInputSource` is present, Tag 578.
2887    pub fn has_trade_input_source(&self) -> bool {
2888        self.message.body.has(tag::TRADE_INPUT_SOURCE)
2889    }
2890
2891
2892
2893
2894    /// Sets `TradeOriginationDate`, Tag 229.
2895    pub fn set_trade_origination_date(&mut self, v: String) {
2896        self.message.body.set_field(tag::TRADE_ORIGINATION_DATE, FIXString::from(v));
2897    }
2898
2899    /// Gets `TradeOriginationDate`, Tag 229.
2900    pub fn get_trade_origination_date(&self) -> Result<String, MessageRejectErrorEnum> {
2901        let mut fld = field::TradeOriginationDateField::new(String::new());
2902        self.message.body.get_field(tag::TRADE_ORIGINATION_DATE, &mut fld.0)?;
2903        Ok(fld.value().to_string())
2904    }
2905
2906
2907    /// Returns true if `TradeOriginationDate` is present, Tag 229.
2908    pub fn has_trade_origination_date(&self) -> bool {
2909        self.message.body.has(tag::TRADE_ORIGINATION_DATE)
2910    }
2911
2912
2913
2914
2915    /// Sets `TradingSessionID`, Tag 336.
2916    pub fn set_trading_session_id(&mut self, v: String) {
2917        self.message.body.set_field(tag::TRADING_SESSION_ID, FIXString::from(v));
2918    }
2919
2920    /// Gets `TradingSessionID`, Tag 336.
2921    pub fn get_trading_session_id(&self) -> Result<String, MessageRejectErrorEnum> {
2922        let mut fld = field::TradingSessionIDField::new(String::new());
2923        self.message.body.get_field(tag::TRADING_SESSION_ID, &mut fld.0)?;
2924        Ok(fld.value().to_string())
2925    }
2926
2927
2928    /// Returns true if `TradingSessionID` is present, Tag 336.
2929    pub fn has_trading_session_id(&self) -> bool {
2930        self.message.body.has(tag::TRADING_SESSION_ID)
2931    }
2932
2933
2934
2935
2936    /// Sets `TradingSessionSubID`, Tag 625.
2937    pub fn set_trading_session_sub_id(&mut self, v: String) {
2938        self.message.body.set_field(tag::TRADING_SESSION_SUB_ID, FIXString::from(v));
2939    }
2940
2941    /// Gets `TradingSessionSubID`, Tag 625.
2942    pub fn get_trading_session_sub_id(&self) -> Result<String, MessageRejectErrorEnum> {
2943        let mut fld = field::TradingSessionSubIDField::new(String::new());
2944        self.message.body.get_field(tag::TRADING_SESSION_SUB_ID, &mut fld.0)?;
2945        Ok(fld.value().to_string())
2946    }
2947
2948
2949    /// Returns true if `TradingSessionSubID` is present, Tag 625.
2950    pub fn has_trading_session_sub_id(&self) -> bool {
2951        self.message.body.has(tag::TRADING_SESSION_SUB_ID)
2952    }
2953
2954
2955
2956
2957    /// Sets `TransactTime`, Tag 60.
2958    pub fn set_transact_time(&mut self, v: Timestamp) {
2959        self.message.body.set_field(tag::TRANSACT_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
2960            time: v,
2961            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
2962        });
2963    }
2964
2965    /// Gets `TransactTime`, Tag 60.
2966    pub fn get_transact_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
2967        let mut fld = field::TransactTimeField::new(Timestamp::UNIX_EPOCH);
2968        self.message.body.get_field(tag::TRANSACT_TIME, &mut fld.0)?;
2969        Ok(fld.value())
2970    }
2971
2972
2973    /// Returns true if `TransactTime` is present, Tag 60.
2974    pub fn has_transact_time(&self) -> bool {
2975        self.message.body.has(tag::TRANSACT_TIME)
2976    }
2977
2978
2979
2980
2981    /// Sets `TrdSubType`, Tag 829.
2982    pub fn set_trd_sub_type(&mut self, v: isize) {
2983        self.message.body.set_field(tag::TRD_SUB_TYPE, fixer::fix_int::FIXInt::from(v));
2984    }
2985
2986    /// Gets `TrdSubType`, Tag 829.
2987    pub fn get_trd_sub_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2988        let mut fld = field::TrdSubTypeField::new(0);
2989        self.message.body.get_field(tag::TRD_SUB_TYPE, &mut fld.0)?;
2990        Ok(fld.value())
2991    }
2992
2993
2994    /// Returns true if `TrdSubType` is present, Tag 829.
2995    pub fn has_trd_sub_type(&self) -> bool {
2996        self.message.body.has(tag::TRD_SUB_TYPE)
2997    }
2998
2999
3000
3001
3002    /// Sets `TrdType`, Tag 828.
3003    pub fn set_trd_type(&mut self, v: isize) {
3004        self.message.body.set_field(tag::TRD_TYPE, fixer::fix_int::FIXInt::from(v));
3005    }
3006
3007    /// Gets `TrdType`, Tag 828.
3008    pub fn get_trd_type(&self) -> Result<isize, MessageRejectErrorEnum> {
3009        let mut fld = field::TrdTypeField::new(0);
3010        self.message.body.get_field(tag::TRD_TYPE, &mut fld.0)?;
3011        Ok(fld.value())
3012    }
3013
3014
3015    /// Returns true if `TrdType` is present, Tag 828.
3016    pub fn has_trd_type(&self) -> bool {
3017        self.message.body.has(tag::TRD_TYPE)
3018    }
3019
3020
3021
3022
3023    /// Sets `UnitOfMeasure`, Tag 996.
3024    pub fn set_unit_of_measure(&mut self, v: String) {
3025        self.message.body.set_field(tag::UNIT_OF_MEASURE, FIXString::from(v));
3026    }
3027
3028    /// Gets `UnitOfMeasure`, Tag 996.
3029    pub fn get_unit_of_measure(&self) -> Result<String, MessageRejectErrorEnum> {
3030        let mut fld = field::UnitOfMeasureField::new(String::new());
3031        self.message.body.get_field(tag::UNIT_OF_MEASURE, &mut fld.0)?;
3032        Ok(fld.value().to_string())
3033    }
3034
3035
3036    /// Returns true if `UnitOfMeasure` is present, Tag 996.
3037    pub fn has_unit_of_measure(&self) -> bool {
3038        self.message.body.has(tag::UNIT_OF_MEASURE)
3039    }
3040
3041
3042
3043
3044    /// Sets `Yield`, Tag 236.
3045    pub fn set_yield(&mut self, val: Decimal, scale: i32) {
3046        self.message.body.set_field(tag::YIELD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3047    }
3048
3049    /// Gets `Yield`, Tag 236.
3050    pub fn get_yield(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3051        let mut fld = field::YieldField::new(Decimal::ZERO, 0);
3052        self.message.body.get_field(tag::YIELD, &mut fld.0)?;
3053        Ok(fld.value())
3054    }
3055
3056
3057    /// Returns true if `Yield` is present, Tag 236.
3058    pub fn has_yield(&self) -> bool {
3059        self.message.body.has(tag::YIELD)
3060    }
3061
3062
3063
3064
3065    /// Sets `YieldCalcDate`, Tag 701.
3066    pub fn set_yield_calc_date(&mut self, v: String) {
3067        self.message.body.set_field(tag::YIELD_CALC_DATE, FIXString::from(v));
3068    }
3069
3070    /// Gets `YieldCalcDate`, Tag 701.
3071    pub fn get_yield_calc_date(&self) -> Result<String, MessageRejectErrorEnum> {
3072        let mut fld = field::YieldCalcDateField::new(String::new());
3073        self.message.body.get_field(tag::YIELD_CALC_DATE, &mut fld.0)?;
3074        Ok(fld.value().to_string())
3075    }
3076
3077
3078    /// Returns true if `YieldCalcDate` is present, Tag 701.
3079    pub fn has_yield_calc_date(&self) -> bool {
3080        self.message.body.has(tag::YIELD_CALC_DATE)
3081    }
3082
3083
3084
3085
3086    /// Sets `YieldRedemptionDate`, Tag 696.
3087    pub fn set_yield_redemption_date(&mut self, v: String) {
3088        self.message.body.set_field(tag::YIELD_REDEMPTION_DATE, FIXString::from(v));
3089    }
3090
3091    /// Gets `YieldRedemptionDate`, Tag 696.
3092    pub fn get_yield_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
3093        let mut fld = field::YieldRedemptionDateField::new(String::new());
3094        self.message.body.get_field(tag::YIELD_REDEMPTION_DATE, &mut fld.0)?;
3095        Ok(fld.value().to_string())
3096    }
3097
3098
3099    /// Returns true if `YieldRedemptionDate` is present, Tag 696.
3100    pub fn has_yield_redemption_date(&self) -> bool {
3101        self.message.body.has(tag::YIELD_REDEMPTION_DATE)
3102    }
3103
3104
3105
3106
3107    /// Sets `YieldRedemptionPrice`, Tag 697.
3108    pub fn set_yield_redemption_price(&mut self, val: Decimal, scale: i32) {
3109        self.message.body.set_field(tag::YIELD_REDEMPTION_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3110    }
3111
3112    /// Gets `YieldRedemptionPrice`, Tag 697.
3113    pub fn get_yield_redemption_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3114        let mut fld = field::YieldRedemptionPriceField::new(Decimal::ZERO, 0);
3115        self.message.body.get_field(tag::YIELD_REDEMPTION_PRICE, &mut fld.0)?;
3116        Ok(fld.value())
3117    }
3118
3119
3120    /// Returns true if `YieldRedemptionPrice` is present, Tag 697.
3121    pub fn has_yield_redemption_price(&self) -> bool {
3122        self.message.body.has(tag::YIELD_REDEMPTION_PRICE)
3123    }
3124
3125
3126
3127
3128    /// Sets `YieldRedemptionPriceType`, Tag 698.
3129    pub fn set_yield_redemption_price_type(&mut self, v: isize) {
3130        self.message.body.set_field(tag::YIELD_REDEMPTION_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
3131    }
3132
3133    /// Gets `YieldRedemptionPriceType`, Tag 698.
3134    pub fn get_yield_redemption_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
3135        let mut fld = field::YieldRedemptionPriceTypeField::new(0);
3136        self.message.body.get_field(tag::YIELD_REDEMPTION_PRICE_TYPE, &mut fld.0)?;
3137        Ok(fld.value())
3138    }
3139
3140
3141    /// Returns true if `YieldRedemptionPriceType` is present, Tag 698.
3142    pub fn has_yield_redemption_price_type(&self) -> bool {
3143        self.message.body.has(tag::YIELD_REDEMPTION_PRICE_TYPE)
3144    }
3145
3146
3147
3148
3149    /// Sets `YieldType`, Tag 235.
3150    pub fn set_yield_type(&mut self, v: String) {
3151        self.message.body.set_field(tag::YIELD_TYPE, FIXString::from(v));
3152    }
3153
3154    /// Gets `YieldType`, Tag 235.
3155    pub fn get_yield_type(&self) -> Result<String, MessageRejectErrorEnum> {
3156        let mut fld = field::YieldTypeField::new(String::new());
3157        self.message.body.get_field(tag::YIELD_TYPE, &mut fld.0)?;
3158        Ok(fld.value().to_string())
3159    }
3160
3161
3162    /// Returns true if `YieldType` is present, Tag 235.
3163    pub fn has_yield_type(&self) -> bool {
3164        self.message.body.has(tag::YIELD_TYPE)
3165    }
3166
3167
3168}
3169
3170/// `RouteOut` is the callback type for routing `AllocationInstruction` messages.
3171pub type RouteOut = fn(msg: AllocationInstruction, session_id: SessionID) -> Result<(), MessageRejectErrorEnum>;
3172
3173/// Route type returned by the `route` function.
3174pub type Route = (&'static str, &'static str, Box<dyn Fn(&Message, SessionID) -> Result<(), MessageRejectErrorEnum> + Send>);
3175
3176/// Returns the begin string, message type, and route function for `AllocationInstruction`.
3177pub fn route(router: RouteOut) -> Route {
3178    let r = move |msg: &Message, session_id: SessionID| -> Result<(), MessageRejectErrorEnum> {
3179        router(AllocationInstruction::from_message(msg.clone()), session_id)
3180    };
3181    ("7", "J", Box::new(r))
3182}