Skip to main content

fixer_fix/fix43/
execution_report.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/// `ExecutionReport` is the `fix43` `ExecutionReport` type, `MsgType` = 8.
21pub struct ExecutionReport {
22    pub message: Message,
23}
24
25impl ExecutionReport {
26    /// Creates a new `ExecutionReport` with required fields.
27    pub fn new(order_id: field::OrderIDField, exec_id: field::ExecIDField, exec_type: field::ExecTypeField, ord_status: field::OrdStatusField, side: field::SideField, leaves_qty: field::LeavesQtyField, cum_qty: field::CumQtyField, avg_px: field::AvgPxField) -> Self {
28        let mut msg = Message::new();
29        msg.header.set_field(tag::MSG_TYPE, FIXString::from("8".to_string()));
30
31        msg.body.set_field(tag::ORDER_ID, order_id.0);
32
33        msg.body.set_field(tag::EXEC_ID, exec_id.0);
34
35        msg.body.set_field(tag::EXEC_TYPE, exec_type.0);
36
37        msg.body.set_field(tag::ORD_STATUS, ord_status.0);
38
39        msg.body.set_field(tag::SIDE, side.0);
40
41        msg.body.set_field(tag::LEAVES_QTY, leaves_qty.0);
42
43        msg.body.set_field(tag::CUM_QTY, cum_qty.0);
44
45        msg.body.set_field(tag::AVG_PX, avg_px.0);
46
47        Self { message: msg }
48    }
49
50    /// Creates a `ExecutionReport` from an existing `Message`.
51    pub fn from_message(msg: Message) -> Self {
52        Self { message: msg }
53    }
54
55    /// Returns the underlying `Message`.
56    pub fn to_message(self) -> Message {
57        self.message
58    }
59
60
61
62
63    /// Sets `Account`, Tag 1.
64    pub fn set_account(&mut self, v: String) {
65        self.message.body.set_field(tag::ACCOUNT, FIXString::from(v));
66    }
67
68    /// Gets `Account`, Tag 1.
69    pub fn get_account(&self) -> Result<String, MessageRejectErrorEnum> {
70        let mut fld = field::AccountField::new(String::new());
71        self.message.body.get_field(tag::ACCOUNT, &mut fld.0)?;
72        Ok(fld.value().to_string())
73    }
74
75
76    /// Returns true if `Account` is present, Tag 1.
77    pub fn has_account(&self) -> bool {
78        self.message.body.has(tag::ACCOUNT)
79    }
80
81
82
83
84    /// Sets `AccountType`, Tag 581.
85    pub fn set_account_type(&mut self, v: isize) {
86        self.message.body.set_field(tag::ACCOUNT_TYPE, fixer::fix_int::FIXInt::from(v));
87    }
88
89    /// Gets `AccountType`, Tag 581.
90    pub fn get_account_type(&self) -> Result<isize, MessageRejectErrorEnum> {
91        let mut fld = field::AccountTypeField::new(0);
92        self.message.body.get_field(tag::ACCOUNT_TYPE, &mut fld.0)?;
93        Ok(fld.value())
94    }
95
96
97    /// Returns true if `AccountType` is present, Tag 581.
98    pub fn has_account_type(&self) -> bool {
99        self.message.body.has(tag::ACCOUNT_TYPE)
100    }
101
102
103
104
105    /// Sets `AccruedInterestAmt`, Tag 159.
106    pub fn set_accrued_interest_amt(&mut self, val: Decimal, scale: i32) {
107        self.message.body.set_field(tag::ACCRUED_INTEREST_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
108    }
109
110    /// Gets `AccruedInterestAmt`, Tag 159.
111    pub fn get_accrued_interest_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
112        let mut fld = field::AccruedInterestAmtField::new(Decimal::ZERO, 0);
113        self.message.body.get_field(tag::ACCRUED_INTEREST_AMT, &mut fld.0)?;
114        Ok(fld.value())
115    }
116
117
118    /// Returns true if `AccruedInterestAmt` is present, Tag 159.
119    pub fn has_accrued_interest_amt(&self) -> bool {
120        self.message.body.has(tag::ACCRUED_INTEREST_AMT)
121    }
122
123
124
125
126    /// Sets `AccruedInterestRate`, Tag 158.
127    pub fn set_accrued_interest_rate(&mut self, val: Decimal, scale: i32) {
128        self.message.body.set_field(tag::ACCRUED_INTEREST_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
129    }
130
131    /// Gets `AccruedInterestRate`, Tag 158.
132    pub fn get_accrued_interest_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
133        let mut fld = field::AccruedInterestRateField::new(Decimal::ZERO, 0);
134        self.message.body.get_field(tag::ACCRUED_INTEREST_RATE, &mut fld.0)?;
135        Ok(fld.value())
136    }
137
138
139    /// Returns true if `AccruedInterestRate` is present, Tag 158.
140    pub fn has_accrued_interest_rate(&self) -> bool {
141        self.message.body.has(tag::ACCRUED_INTEREST_RATE)
142    }
143
144
145
146
147    /// Sets `AvgPx`, Tag 6.
148    pub fn set_avg_px(&mut self, val: Decimal, scale: i32) {
149        self.message.body.set_field(tag::AVG_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
150    }
151
152    /// Gets `AvgPx`, Tag 6.
153    pub fn get_avg_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
154        let mut fld = field::AvgPxField::new(Decimal::ZERO, 0);
155        self.message.body.get_field(tag::AVG_PX, &mut fld.0)?;
156        Ok(fld.value())
157    }
158
159
160    /// Returns true if `AvgPx` is present, Tag 6.
161    pub fn has_avg_px(&self) -> bool {
162        self.message.body.has(tag::AVG_PX)
163    }
164
165
166
167
168    /// Sets `BasisFeatureDate`, Tag 259.
169    pub fn set_basis_feature_date(&mut self, v: String) {
170        self.message.body.set_field(tag::BASIS_FEATURE_DATE, FIXString::from(v));
171    }
172
173    /// Gets `BasisFeatureDate`, Tag 259.
174    pub fn get_basis_feature_date(&self) -> Result<String, MessageRejectErrorEnum> {
175        let mut fld = field::BasisFeatureDateField::new(String::new());
176        self.message.body.get_field(tag::BASIS_FEATURE_DATE, &mut fld.0)?;
177        Ok(fld.value().to_string())
178    }
179
180
181    /// Returns true if `BasisFeatureDate` is present, Tag 259.
182    pub fn has_basis_feature_date(&self) -> bool {
183        self.message.body.has(tag::BASIS_FEATURE_DATE)
184    }
185
186
187
188
189    /// Sets `BasisFeaturePrice`, Tag 260.
190    pub fn set_basis_feature_price(&mut self, val: Decimal, scale: i32) {
191        self.message.body.set_field(tag::BASIS_FEATURE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
192    }
193
194    /// Gets `BasisFeaturePrice`, Tag 260.
195    pub fn get_basis_feature_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
196        let mut fld = field::BasisFeaturePriceField::new(Decimal::ZERO, 0);
197        self.message.body.get_field(tag::BASIS_FEATURE_PRICE, &mut fld.0)?;
198        Ok(fld.value())
199    }
200
201
202    /// Returns true if `BasisFeaturePrice` is present, Tag 260.
203    pub fn has_basis_feature_price(&self) -> bool {
204        self.message.body.has(tag::BASIS_FEATURE_PRICE)
205    }
206
207
208
209
210    /// Sets `BenchmarkCurveCurrency`, Tag 220.
211    pub fn set_benchmark_curve_currency(&mut self, v: String) {
212        self.message.body.set_field(tag::BENCHMARK_CURVE_CURRENCY, FIXString::from(v));
213    }
214
215    /// Gets `BenchmarkCurveCurrency`, Tag 220.
216    pub fn get_benchmark_curve_currency(&self) -> Result<String, MessageRejectErrorEnum> {
217        let mut fld = field::BenchmarkCurveCurrencyField::new(String::new());
218        self.message.body.get_field(tag::BENCHMARK_CURVE_CURRENCY, &mut fld.0)?;
219        Ok(fld.value().to_string())
220    }
221
222
223    /// Returns true if `BenchmarkCurveCurrency` is present, Tag 220.
224    pub fn has_benchmark_curve_currency(&self) -> bool {
225        self.message.body.has(tag::BENCHMARK_CURVE_CURRENCY)
226    }
227
228
229
230
231    /// Sets `BenchmarkCurveName`, Tag 221.
232    pub fn set_benchmark_curve_name(&mut self, v: String) {
233        self.message.body.set_field(tag::BENCHMARK_CURVE_NAME, FIXString::from(v));
234    }
235
236    /// Gets `BenchmarkCurveName`, Tag 221.
237    pub fn get_benchmark_curve_name(&self) -> Result<String, MessageRejectErrorEnum> {
238        let mut fld = field::BenchmarkCurveNameField::new(String::new());
239        self.message.body.get_field(tag::BENCHMARK_CURVE_NAME, &mut fld.0)?;
240        Ok(fld.value().to_string())
241    }
242
243
244    /// Returns true if `BenchmarkCurveName` is present, Tag 221.
245    pub fn has_benchmark_curve_name(&self) -> bool {
246        self.message.body.has(tag::BENCHMARK_CURVE_NAME)
247    }
248
249
250
251
252    /// Sets `BenchmarkCurvePoint`, Tag 222.
253    pub fn set_benchmark_curve_point(&mut self, v: String) {
254        self.message.body.set_field(tag::BENCHMARK_CURVE_POINT, FIXString::from(v));
255    }
256
257    /// Gets `BenchmarkCurvePoint`, Tag 222.
258    pub fn get_benchmark_curve_point(&self) -> Result<String, MessageRejectErrorEnum> {
259        let mut fld = field::BenchmarkCurvePointField::new(String::new());
260        self.message.body.get_field(tag::BENCHMARK_CURVE_POINT, &mut fld.0)?;
261        Ok(fld.value().to_string())
262    }
263
264
265    /// Returns true if `BenchmarkCurvePoint` is present, Tag 222.
266    pub fn has_benchmark_curve_point(&self) -> bool {
267        self.message.body.has(tag::BENCHMARK_CURVE_POINT)
268    }
269
270
271
272
273    /// Sets `BookingUnit`, Tag 590.
274    pub fn set_booking_unit(&mut self, v: String) {
275        self.message.body.set_field(tag::BOOKING_UNIT, FIXString::from(v));
276    }
277
278    /// Gets `BookingUnit`, Tag 590.
279    pub fn get_booking_unit(&self) -> Result<String, MessageRejectErrorEnum> {
280        let mut fld = field::BookingUnitField::new(String::new());
281        self.message.body.get_field(tag::BOOKING_UNIT, &mut fld.0)?;
282        Ok(fld.value().to_string())
283    }
284
285
286    /// Returns true if `BookingUnit` is present, Tag 590.
287    pub fn has_booking_unit(&self) -> bool {
288        self.message.body.has(tag::BOOKING_UNIT)
289    }
290
291
292
293
294    /// Sets `CFICode`, Tag 461.
295    pub fn set_cfi_code(&mut self, v: String) {
296        self.message.body.set_field(tag::CFI_CODE, FIXString::from(v));
297    }
298
299    /// Gets `CFICode`, Tag 461.
300    pub fn get_cfi_code(&self) -> Result<String, MessageRejectErrorEnum> {
301        let mut fld = field::CFICodeField::new(String::new());
302        self.message.body.get_field(tag::CFI_CODE, &mut fld.0)?;
303        Ok(fld.value().to_string())
304    }
305
306
307    /// Returns true if `CFICode` is present, Tag 461.
308    pub fn has_cfi_code(&self) -> bool {
309        self.message.body.has(tag::CFI_CODE)
310    }
311
312
313
314
315    /// Sets `CancellationRights`, Tag 480.
316    pub fn set_cancellation_rights(&mut self, v: String) {
317        self.message.body.set_field(tag::CANCELLATION_RIGHTS, FIXString::from(v));
318    }
319
320    /// Gets `CancellationRights`, Tag 480.
321    pub fn get_cancellation_rights(&self) -> Result<String, MessageRejectErrorEnum> {
322        let mut fld = field::CancellationRightsField::new(String::new());
323        self.message.body.get_field(tag::CANCELLATION_RIGHTS, &mut fld.0)?;
324        Ok(fld.value().to_string())
325    }
326
327
328    /// Returns true if `CancellationRights` is present, Tag 480.
329    pub fn has_cancellation_rights(&self) -> bool {
330        self.message.body.has(tag::CANCELLATION_RIGHTS)
331    }
332
333
334
335
336    /// Sets `CashMargin`, Tag 544.
337    pub fn set_cash_margin(&mut self, v: String) {
338        self.message.body.set_field(tag::CASH_MARGIN, FIXString::from(v));
339    }
340
341    /// Gets `CashMargin`, Tag 544.
342    pub fn get_cash_margin(&self) -> Result<String, MessageRejectErrorEnum> {
343        let mut fld = field::CashMarginField::new(String::new());
344        self.message.body.get_field(tag::CASH_MARGIN, &mut fld.0)?;
345        Ok(fld.value().to_string())
346    }
347
348
349    /// Returns true if `CashMargin` is present, Tag 544.
350    pub fn has_cash_margin(&self) -> bool {
351        self.message.body.has(tag::CASH_MARGIN)
352    }
353
354
355
356
357    /// Sets `CashOrderQty`, Tag 152.
358    pub fn set_cash_order_qty(&mut self, val: Decimal, scale: i32) {
359        self.message.body.set_field(tag::CASH_ORDER_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
360    }
361
362    /// Gets `CashOrderQty`, Tag 152.
363    pub fn get_cash_order_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
364        let mut fld = field::CashOrderQtyField::new(Decimal::ZERO, 0);
365        self.message.body.get_field(tag::CASH_ORDER_QTY, &mut fld.0)?;
366        Ok(fld.value())
367    }
368
369
370    /// Returns true if `CashOrderQty` is present, Tag 152.
371    pub fn has_cash_order_qty(&self) -> bool {
372        self.message.body.has(tag::CASH_ORDER_QTY)
373    }
374
375
376
377
378    /// Sets `ClOrdID`, Tag 11.
379    pub fn set_cl_ord_id(&mut self, v: String) {
380        self.message.body.set_field(tag::CL_ORD_ID, FIXString::from(v));
381    }
382
383    /// Gets `ClOrdID`, Tag 11.
384    pub fn get_cl_ord_id(&self) -> Result<String, MessageRejectErrorEnum> {
385        let mut fld = field::ClOrdIDField::new(String::new());
386        self.message.body.get_field(tag::CL_ORD_ID, &mut fld.0)?;
387        Ok(fld.value().to_string())
388    }
389
390
391    /// Returns true if `ClOrdID` is present, Tag 11.
392    pub fn has_cl_ord_id(&self) -> bool {
393        self.message.body.has(tag::CL_ORD_ID)
394    }
395
396
397
398
399    /// Sets `ClOrdLinkID`, Tag 583.
400    pub fn set_cl_ord_link_id(&mut self, v: String) {
401        self.message.body.set_field(tag::CL_ORD_LINK_ID, FIXString::from(v));
402    }
403
404    /// Gets `ClOrdLinkID`, Tag 583.
405    pub fn get_cl_ord_link_id(&self) -> Result<String, MessageRejectErrorEnum> {
406        let mut fld = field::ClOrdLinkIDField::new(String::new());
407        self.message.body.get_field(tag::CL_ORD_LINK_ID, &mut fld.0)?;
408        Ok(fld.value().to_string())
409    }
410
411
412    /// Returns true if `ClOrdLinkID` is present, Tag 583.
413    pub fn has_cl_ord_link_id(&self) -> bool {
414        self.message.body.has(tag::CL_ORD_LINK_ID)
415    }
416
417
418
419
420    /// Sets `ClearingFeeIndicator`, Tag 635.
421    pub fn set_clearing_fee_indicator(&mut self, v: String) {
422        self.message.body.set_field(tag::CLEARING_FEE_INDICATOR, FIXString::from(v));
423    }
424
425    /// Gets `ClearingFeeIndicator`, Tag 635.
426    pub fn get_clearing_fee_indicator(&self) -> Result<String, MessageRejectErrorEnum> {
427        let mut fld = field::ClearingFeeIndicatorField::new(String::new());
428        self.message.body.get_field(tag::CLEARING_FEE_INDICATOR, &mut fld.0)?;
429        Ok(fld.value().to_string())
430    }
431
432
433    /// Returns true if `ClearingFeeIndicator` is present, Tag 635.
434    pub fn has_clearing_fee_indicator(&self) -> bool {
435        self.message.body.has(tag::CLEARING_FEE_INDICATOR)
436    }
437
438
439
440
441    /// Sets `CommCurrency`, Tag 479.
442    pub fn set_comm_currency(&mut self, v: String) {
443        self.message.body.set_field(tag::COMM_CURRENCY, FIXString::from(v));
444    }
445
446    /// Gets `CommCurrency`, Tag 479.
447    pub fn get_comm_currency(&self) -> Result<String, MessageRejectErrorEnum> {
448        let mut fld = field::CommCurrencyField::new(String::new());
449        self.message.body.get_field(tag::COMM_CURRENCY, &mut fld.0)?;
450        Ok(fld.value().to_string())
451    }
452
453
454    /// Returns true if `CommCurrency` is present, Tag 479.
455    pub fn has_comm_currency(&self) -> bool {
456        self.message.body.has(tag::COMM_CURRENCY)
457    }
458
459
460
461
462    /// Sets `CommType`, Tag 13.
463    pub fn set_comm_type(&mut self, v: String) {
464        self.message.body.set_field(tag::COMM_TYPE, FIXString::from(v));
465    }
466
467    /// Gets `CommType`, Tag 13.
468    pub fn get_comm_type(&self) -> Result<String, MessageRejectErrorEnum> {
469        let mut fld = field::CommTypeField::new(String::new());
470        self.message.body.get_field(tag::COMM_TYPE, &mut fld.0)?;
471        Ok(fld.value().to_string())
472    }
473
474
475    /// Returns true if `CommType` is present, Tag 13.
476    pub fn has_comm_type(&self) -> bool {
477        self.message.body.has(tag::COMM_TYPE)
478    }
479
480
481
482
483    /// Sets `Commission`, Tag 12.
484    pub fn set_commission(&mut self, val: Decimal, scale: i32) {
485        self.message.body.set_field(tag::COMMISSION, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
486    }
487
488    /// Gets `Commission`, Tag 12.
489    pub fn get_commission(&self) -> Result<Decimal, MessageRejectErrorEnum> {
490        let mut fld = field::CommissionField::new(Decimal::ZERO, 0);
491        self.message.body.get_field(tag::COMMISSION, &mut fld.0)?;
492        Ok(fld.value())
493    }
494
495
496    /// Returns true if `Commission` is present, Tag 12.
497    pub fn has_commission(&self) -> bool {
498        self.message.body.has(tag::COMMISSION)
499    }
500
501
502
503
504    /// Sets `ComplianceID`, Tag 376.
505    pub fn set_compliance_id(&mut self, v: String) {
506        self.message.body.set_field(tag::COMPLIANCE_ID, FIXString::from(v));
507    }
508
509    /// Gets `ComplianceID`, Tag 376.
510    pub fn get_compliance_id(&self) -> Result<String, MessageRejectErrorEnum> {
511        let mut fld = field::ComplianceIDField::new(String::new());
512        self.message.body.get_field(tag::COMPLIANCE_ID, &mut fld.0)?;
513        Ok(fld.value().to_string())
514    }
515
516
517    /// Returns true if `ComplianceID` is present, Tag 376.
518    pub fn has_compliance_id(&self) -> bool {
519        self.message.body.has(tag::COMPLIANCE_ID)
520    }
521
522
523
524
525    /// Sets `Concession`, Tag 238.
526    pub fn set_concession(&mut self, val: Decimal, scale: i32) {
527        self.message.body.set_field(tag::CONCESSION, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
528    }
529
530    /// Gets `Concession`, Tag 238.
531    pub fn get_concession(&self) -> Result<Decimal, MessageRejectErrorEnum> {
532        let mut fld = field::ConcessionField::new(Decimal::ZERO, 0);
533        self.message.body.get_field(tag::CONCESSION, &mut fld.0)?;
534        Ok(fld.value())
535    }
536
537
538    /// Returns true if `Concession` is present, Tag 238.
539    pub fn has_concession(&self) -> bool {
540        self.message.body.has(tag::CONCESSION)
541    }
542
543
544
545
546    /// Sets `ContractMultiplier`, Tag 231.
547    pub fn set_contract_multiplier(&mut self, val: Decimal, scale: i32) {
548        self.message.body.set_field(tag::CONTRACT_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
549    }
550
551    /// Gets `ContractMultiplier`, Tag 231.
552    pub fn get_contract_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
553        let mut fld = field::ContractMultiplierField::new(Decimal::ZERO, 0);
554        self.message.body.get_field(tag::CONTRACT_MULTIPLIER, &mut fld.0)?;
555        Ok(fld.value())
556    }
557
558
559    /// Returns true if `ContractMultiplier` is present, Tag 231.
560    pub fn has_contract_multiplier(&self) -> bool {
561        self.message.body.has(tag::CONTRACT_MULTIPLIER)
562    }
563
564
565
566
567    /// Sets `CountryOfIssue`, Tag 470.
568    pub fn set_country_of_issue(&mut self, v: String) {
569        self.message.body.set_field(tag::COUNTRY_OF_ISSUE, FIXString::from(v));
570    }
571
572    /// Gets `CountryOfIssue`, Tag 470.
573    pub fn get_country_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
574        let mut fld = field::CountryOfIssueField::new(String::new());
575        self.message.body.get_field(tag::COUNTRY_OF_ISSUE, &mut fld.0)?;
576        Ok(fld.value().to_string())
577    }
578
579
580    /// Returns true if `CountryOfIssue` is present, Tag 470.
581    pub fn has_country_of_issue(&self) -> bool {
582        self.message.body.has(tag::COUNTRY_OF_ISSUE)
583    }
584
585
586
587
588    /// Sets `CouponPaymentDate`, Tag 224.
589    pub fn set_coupon_payment_date(&mut self, v: String) {
590        self.message.body.set_field(tag::COUPON_PAYMENT_DATE, FIXString::from(v));
591    }
592
593    /// Gets `CouponPaymentDate`, Tag 224.
594    pub fn get_coupon_payment_date(&self) -> Result<String, MessageRejectErrorEnum> {
595        let mut fld = field::CouponPaymentDateField::new(String::new());
596        self.message.body.get_field(tag::COUPON_PAYMENT_DATE, &mut fld.0)?;
597        Ok(fld.value().to_string())
598    }
599
600
601    /// Returns true if `CouponPaymentDate` is present, Tag 224.
602    pub fn has_coupon_payment_date(&self) -> bool {
603        self.message.body.has(tag::COUPON_PAYMENT_DATE)
604    }
605
606
607
608
609    /// Sets `CouponRate`, Tag 223.
610    pub fn set_coupon_rate(&mut self, val: Decimal, scale: i32) {
611        self.message.body.set_field(tag::COUPON_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
612    }
613
614    /// Gets `CouponRate`, Tag 223.
615    pub fn get_coupon_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
616        let mut fld = field::CouponRateField::new(Decimal::ZERO, 0);
617        self.message.body.get_field(tag::COUPON_RATE, &mut fld.0)?;
618        Ok(fld.value())
619    }
620
621
622    /// Returns true if `CouponRate` is present, Tag 223.
623    pub fn has_coupon_rate(&self) -> bool {
624        self.message.body.has(tag::COUPON_RATE)
625    }
626
627
628
629
630    /// Sets `CreditRating`, Tag 255.
631    pub fn set_credit_rating(&mut self, v: String) {
632        self.message.body.set_field(tag::CREDIT_RATING, FIXString::from(v));
633    }
634
635    /// Gets `CreditRating`, Tag 255.
636    pub fn get_credit_rating(&self) -> Result<String, MessageRejectErrorEnum> {
637        let mut fld = field::CreditRatingField::new(String::new());
638        self.message.body.get_field(tag::CREDIT_RATING, &mut fld.0)?;
639        Ok(fld.value().to_string())
640    }
641
642
643    /// Returns true if `CreditRating` is present, Tag 255.
644    pub fn has_credit_rating(&self) -> bool {
645        self.message.body.has(tag::CREDIT_RATING)
646    }
647
648
649
650
651    /// Sets `CrossID`, Tag 548.
652    pub fn set_cross_id(&mut self, v: String) {
653        self.message.body.set_field(tag::CROSS_ID, FIXString::from(v));
654    }
655
656    /// Gets `CrossID`, Tag 548.
657    pub fn get_cross_id(&self) -> Result<String, MessageRejectErrorEnum> {
658        let mut fld = field::CrossIDField::new(String::new());
659        self.message.body.get_field(tag::CROSS_ID, &mut fld.0)?;
660        Ok(fld.value().to_string())
661    }
662
663
664    /// Returns true if `CrossID` is present, Tag 548.
665    pub fn has_cross_id(&self) -> bool {
666        self.message.body.has(tag::CROSS_ID)
667    }
668
669
670
671
672    /// Sets `CrossType`, Tag 549.
673    pub fn set_cross_type(&mut self, v: isize) {
674        self.message.body.set_field(tag::CROSS_TYPE, fixer::fix_int::FIXInt::from(v));
675    }
676
677    /// Gets `CrossType`, Tag 549.
678    pub fn get_cross_type(&self) -> Result<isize, MessageRejectErrorEnum> {
679        let mut fld = field::CrossTypeField::new(0);
680        self.message.body.get_field(tag::CROSS_TYPE, &mut fld.0)?;
681        Ok(fld.value())
682    }
683
684
685    /// Returns true if `CrossType` is present, Tag 549.
686    pub fn has_cross_type(&self) -> bool {
687        self.message.body.has(tag::CROSS_TYPE)
688    }
689
690
691
692
693    /// Sets `CumQty`, Tag 14.
694    pub fn set_cum_qty(&mut self, val: Decimal, scale: i32) {
695        self.message.body.set_field(tag::CUM_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
696    }
697
698    /// Gets `CumQty`, Tag 14.
699    pub fn get_cum_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
700        let mut fld = field::CumQtyField::new(Decimal::ZERO, 0);
701        self.message.body.get_field(tag::CUM_QTY, &mut fld.0)?;
702        Ok(fld.value())
703    }
704
705
706    /// Returns true if `CumQty` is present, Tag 14.
707    pub fn has_cum_qty(&self) -> bool {
708        self.message.body.has(tag::CUM_QTY)
709    }
710
711
712
713
714    /// Sets `Currency`, Tag 15.
715    pub fn set_currency(&mut self, v: String) {
716        self.message.body.set_field(tag::CURRENCY, FIXString::from(v));
717    }
718
719    /// Gets `Currency`, Tag 15.
720    pub fn get_currency(&self) -> Result<String, MessageRejectErrorEnum> {
721        let mut fld = field::CurrencyField::new(String::new());
722        self.message.body.get_field(tag::CURRENCY, &mut fld.0)?;
723        Ok(fld.value().to_string())
724    }
725
726
727    /// Returns true if `Currency` is present, Tag 15.
728    pub fn has_currency(&self) -> bool {
729        self.message.body.has(tag::CURRENCY)
730    }
731
732
733
734
735    /// Sets `CustOrderCapacity`, Tag 582.
736    pub fn set_cust_order_capacity(&mut self, v: isize) {
737        self.message.body.set_field(tag::CUST_ORDER_CAPACITY, fixer::fix_int::FIXInt::from(v));
738    }
739
740    /// Gets `CustOrderCapacity`, Tag 582.
741    pub fn get_cust_order_capacity(&self) -> Result<isize, MessageRejectErrorEnum> {
742        let mut fld = field::CustOrderCapacityField::new(0);
743        self.message.body.get_field(tag::CUST_ORDER_CAPACITY, &mut fld.0)?;
744        Ok(fld.value())
745    }
746
747
748    /// Returns true if `CustOrderCapacity` is present, Tag 582.
749    pub fn has_cust_order_capacity(&self) -> bool {
750        self.message.body.has(tag::CUST_ORDER_CAPACITY)
751    }
752
753
754
755
756    /// Sets `DayAvgPx`, Tag 426.
757    pub fn set_day_avg_px(&mut self, val: Decimal, scale: i32) {
758        self.message.body.set_field(tag::DAY_AVG_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
759    }
760
761    /// Gets `DayAvgPx`, Tag 426.
762    pub fn get_day_avg_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
763        let mut fld = field::DayAvgPxField::new(Decimal::ZERO, 0);
764        self.message.body.get_field(tag::DAY_AVG_PX, &mut fld.0)?;
765        Ok(fld.value())
766    }
767
768
769    /// Returns true if `DayAvgPx` is present, Tag 426.
770    pub fn has_day_avg_px(&self) -> bool {
771        self.message.body.has(tag::DAY_AVG_PX)
772    }
773
774
775
776
777    /// Sets `DayBookingInst`, Tag 589.
778    pub fn set_day_booking_inst(&mut self, v: String) {
779        self.message.body.set_field(tag::DAY_BOOKING_INST, FIXString::from(v));
780    }
781
782    /// Gets `DayBookingInst`, Tag 589.
783    pub fn get_day_booking_inst(&self) -> Result<String, MessageRejectErrorEnum> {
784        let mut fld = field::DayBookingInstField::new(String::new());
785        self.message.body.get_field(tag::DAY_BOOKING_INST, &mut fld.0)?;
786        Ok(fld.value().to_string())
787    }
788
789
790    /// Returns true if `DayBookingInst` is present, Tag 589.
791    pub fn has_day_booking_inst(&self) -> bool {
792        self.message.body.has(tag::DAY_BOOKING_INST)
793    }
794
795
796
797
798    /// Sets `DayCumQty`, Tag 425.
799    pub fn set_day_cum_qty(&mut self, val: Decimal, scale: i32) {
800        self.message.body.set_field(tag::DAY_CUM_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
801    }
802
803    /// Gets `DayCumQty`, Tag 425.
804    pub fn get_day_cum_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
805        let mut fld = field::DayCumQtyField::new(Decimal::ZERO, 0);
806        self.message.body.get_field(tag::DAY_CUM_QTY, &mut fld.0)?;
807        Ok(fld.value())
808    }
809
810
811    /// Returns true if `DayCumQty` is present, Tag 425.
812    pub fn has_day_cum_qty(&self) -> bool {
813        self.message.body.has(tag::DAY_CUM_QTY)
814    }
815
816
817
818
819    /// Sets `DayOrderQty`, Tag 424.
820    pub fn set_day_order_qty(&mut self, val: Decimal, scale: i32) {
821        self.message.body.set_field(tag::DAY_ORDER_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
822    }
823
824    /// Gets `DayOrderQty`, Tag 424.
825    pub fn get_day_order_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
826        let mut fld = field::DayOrderQtyField::new(Decimal::ZERO, 0);
827        self.message.body.get_field(tag::DAY_ORDER_QTY, &mut fld.0)?;
828        Ok(fld.value())
829    }
830
831
832    /// Returns true if `DayOrderQty` is present, Tag 424.
833    pub fn has_day_order_qty(&self) -> bool {
834        self.message.body.has(tag::DAY_ORDER_QTY)
835    }
836
837
838
839
840    /// Sets `Designation`, Tag 494.
841    pub fn set_designation(&mut self, v: String) {
842        self.message.body.set_field(tag::DESIGNATION, FIXString::from(v));
843    }
844
845    /// Gets `Designation`, Tag 494.
846    pub fn get_designation(&self) -> Result<String, MessageRejectErrorEnum> {
847        let mut fld = field::DesignationField::new(String::new());
848        self.message.body.get_field(tag::DESIGNATION, &mut fld.0)?;
849        Ok(fld.value().to_string())
850    }
851
852
853    /// Returns true if `Designation` is present, Tag 494.
854    pub fn has_designation(&self) -> bool {
855        self.message.body.has(tag::DESIGNATION)
856    }
857
858
859
860
861    /// Sets `DiscretionInst`, Tag 388.
862    pub fn set_discretion_inst(&mut self, v: String) {
863        self.message.body.set_field(tag::DISCRETION_INST, FIXString::from(v));
864    }
865
866    /// Gets `DiscretionInst`, Tag 388.
867    pub fn get_discretion_inst(&self) -> Result<String, MessageRejectErrorEnum> {
868        let mut fld = field::DiscretionInstField::new(String::new());
869        self.message.body.get_field(tag::DISCRETION_INST, &mut fld.0)?;
870        Ok(fld.value().to_string())
871    }
872
873
874    /// Returns true if `DiscretionInst` is present, Tag 388.
875    pub fn has_discretion_inst(&self) -> bool {
876        self.message.body.has(tag::DISCRETION_INST)
877    }
878
879
880
881
882    /// Sets `DiscretionOffset`, Tag 389.
883    pub fn set_discretion_offset(&mut self, val: Decimal, scale: i32) {
884        self.message.body.set_field(tag::DISCRETION_OFFSET, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
885    }
886
887    /// Gets `DiscretionOffset`, Tag 389.
888    pub fn get_discretion_offset(&self) -> Result<Decimal, MessageRejectErrorEnum> {
889        let mut fld = field::DiscretionOffsetField::new(Decimal::ZERO, 0);
890        self.message.body.get_field(tag::DISCRETION_OFFSET, &mut fld.0)?;
891        Ok(fld.value())
892    }
893
894
895    /// Returns true if `DiscretionOffset` is present, Tag 389.
896    pub fn has_discretion_offset(&self) -> bool {
897        self.message.body.has(tag::DISCRETION_OFFSET)
898    }
899
900
901
902
903    /// Sets `EffectiveTime`, Tag 168.
904    pub fn set_effective_time(&mut self, v: Timestamp) {
905        self.message.body.set_field(tag::EFFECTIVE_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
906            time: v,
907            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
908        });
909    }
910
911    /// Gets `EffectiveTime`, Tag 168.
912    pub fn get_effective_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
913        let mut fld = field::EffectiveTimeField::new(Timestamp::UNIX_EPOCH);
914        self.message.body.get_field(tag::EFFECTIVE_TIME, &mut fld.0)?;
915        Ok(fld.value())
916    }
917
918
919    /// Returns true if `EffectiveTime` is present, Tag 168.
920    pub fn has_effective_time(&self) -> bool {
921        self.message.body.has(tag::EFFECTIVE_TIME)
922    }
923
924
925
926
927    /// Sets `EncodedIssuer`, Tag 349.
928    pub fn set_encoded_issuer(&mut self, v: String) {
929        self.message.body.set_field(tag::ENCODED_ISSUER, FIXString::from(v));
930    }
931
932    /// Gets `EncodedIssuer`, Tag 349.
933    pub fn get_encoded_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
934        let mut fld = field::EncodedIssuerField::new(String::new());
935        self.message.body.get_field(tag::ENCODED_ISSUER, &mut fld.0)?;
936        Ok(fld.value().to_string())
937    }
938
939
940    /// Returns true if `EncodedIssuer` is present, Tag 349.
941    pub fn has_encoded_issuer(&self) -> bool {
942        self.message.body.has(tag::ENCODED_ISSUER)
943    }
944
945
946
947
948    /// Sets `EncodedIssuerLen`, Tag 348.
949    pub fn set_encoded_issuer_len(&mut self, v: isize) {
950        self.message.body.set_field(tag::ENCODED_ISSUER_LEN, fixer::fix_int::FIXInt::from(v));
951    }
952
953    /// Gets `EncodedIssuerLen`, Tag 348.
954    pub fn get_encoded_issuer_len(&self) -> Result<isize, MessageRejectErrorEnum> {
955        let mut fld = field::EncodedIssuerLenField::new(0);
956        self.message.body.get_field(tag::ENCODED_ISSUER_LEN, &mut fld.0)?;
957        Ok(fld.value())
958    }
959
960
961    /// Returns true if `EncodedIssuerLen` is present, Tag 348.
962    pub fn has_encoded_issuer_len(&self) -> bool {
963        self.message.body.has(tag::ENCODED_ISSUER_LEN)
964    }
965
966
967
968
969    /// Sets `EncodedSecurityDesc`, Tag 351.
970    pub fn set_encoded_security_desc(&mut self, v: String) {
971        self.message.body.set_field(tag::ENCODED_SECURITY_DESC, FIXString::from(v));
972    }
973
974    /// Gets `EncodedSecurityDesc`, Tag 351.
975    pub fn get_encoded_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
976        let mut fld = field::EncodedSecurityDescField::new(String::new());
977        self.message.body.get_field(tag::ENCODED_SECURITY_DESC, &mut fld.0)?;
978        Ok(fld.value().to_string())
979    }
980
981
982    /// Returns true if `EncodedSecurityDesc` is present, Tag 351.
983    pub fn has_encoded_security_desc(&self) -> bool {
984        self.message.body.has(tag::ENCODED_SECURITY_DESC)
985    }
986
987
988
989
990    /// Sets `EncodedSecurityDescLen`, Tag 350.
991    pub fn set_encoded_security_desc_len(&mut self, v: isize) {
992        self.message.body.set_field(tag::ENCODED_SECURITY_DESC_LEN, fixer::fix_int::FIXInt::from(v));
993    }
994
995    /// Gets `EncodedSecurityDescLen`, Tag 350.
996    pub fn get_encoded_security_desc_len(&self) -> Result<isize, MessageRejectErrorEnum> {
997        let mut fld = field::EncodedSecurityDescLenField::new(0);
998        self.message.body.get_field(tag::ENCODED_SECURITY_DESC_LEN, &mut fld.0)?;
999        Ok(fld.value())
1000    }
1001
1002
1003    /// Returns true if `EncodedSecurityDescLen` is present, Tag 350.
1004    pub fn has_encoded_security_desc_len(&self) -> bool {
1005        self.message.body.has(tag::ENCODED_SECURITY_DESC_LEN)
1006    }
1007
1008
1009
1010
1011    /// Sets `EncodedText`, Tag 355.
1012    pub fn set_encoded_text(&mut self, v: String) {
1013        self.message.body.set_field(tag::ENCODED_TEXT, FIXString::from(v));
1014    }
1015
1016    /// Gets `EncodedText`, Tag 355.
1017    pub fn get_encoded_text(&self) -> Result<String, MessageRejectErrorEnum> {
1018        let mut fld = field::EncodedTextField::new(String::new());
1019        self.message.body.get_field(tag::ENCODED_TEXT, &mut fld.0)?;
1020        Ok(fld.value().to_string())
1021    }
1022
1023
1024    /// Returns true if `EncodedText` is present, Tag 355.
1025    pub fn has_encoded_text(&self) -> bool {
1026        self.message.body.has(tag::ENCODED_TEXT)
1027    }
1028
1029
1030
1031
1032    /// Sets `EncodedTextLen`, Tag 354.
1033    pub fn set_encoded_text_len(&mut self, v: isize) {
1034        self.message.body.set_field(tag::ENCODED_TEXT_LEN, fixer::fix_int::FIXInt::from(v));
1035    }
1036
1037    /// Gets `EncodedTextLen`, Tag 354.
1038    pub fn get_encoded_text_len(&self) -> Result<isize, MessageRejectErrorEnum> {
1039        let mut fld = field::EncodedTextLenField::new(0);
1040        self.message.body.get_field(tag::ENCODED_TEXT_LEN, &mut fld.0)?;
1041        Ok(fld.value())
1042    }
1043
1044
1045    /// Returns true if `EncodedTextLen` is present, Tag 354.
1046    pub fn has_encoded_text_len(&self) -> bool {
1047        self.message.body.has(tag::ENCODED_TEXT_LEN)
1048    }
1049
1050
1051
1052
1053    /// Sets `ExDate`, Tag 230.
1054    pub fn set_ex_date(&mut self, v: String) {
1055        self.message.body.set_field(tag::EX_DATE, FIXString::from(v));
1056    }
1057
1058    /// Gets `ExDate`, Tag 230.
1059    pub fn get_ex_date(&self) -> Result<String, MessageRejectErrorEnum> {
1060        let mut fld = field::ExDateField::new(String::new());
1061        self.message.body.get_field(tag::EX_DATE, &mut fld.0)?;
1062        Ok(fld.value().to_string())
1063    }
1064
1065
1066    /// Returns true if `ExDate` is present, Tag 230.
1067    pub fn has_ex_date(&self) -> bool {
1068        self.message.body.has(tag::EX_DATE)
1069    }
1070
1071
1072
1073
1074    /// Sets `ExecID`, Tag 17.
1075    pub fn set_exec_id(&mut self, v: String) {
1076        self.message.body.set_field(tag::EXEC_ID, FIXString::from(v));
1077    }
1078
1079    /// Gets `ExecID`, Tag 17.
1080    pub fn get_exec_id(&self) -> Result<String, MessageRejectErrorEnum> {
1081        let mut fld = field::ExecIDField::new(String::new());
1082        self.message.body.get_field(tag::EXEC_ID, &mut fld.0)?;
1083        Ok(fld.value().to_string())
1084    }
1085
1086
1087    /// Returns true if `ExecID` is present, Tag 17.
1088    pub fn has_exec_id(&self) -> bool {
1089        self.message.body.has(tag::EXEC_ID)
1090    }
1091
1092
1093
1094
1095    /// Sets `ExecInst`, Tag 18.
1096    pub fn set_exec_inst(&mut self, v: String) {
1097        self.message.body.set_field(tag::EXEC_INST, FIXString::from(v));
1098    }
1099
1100    /// Gets `ExecInst`, Tag 18.
1101    pub fn get_exec_inst(&self) -> Result<String, MessageRejectErrorEnum> {
1102        let mut fld = field::ExecInstField::new(String::new());
1103        self.message.body.get_field(tag::EXEC_INST, &mut fld.0)?;
1104        Ok(fld.value().to_string())
1105    }
1106
1107
1108    /// Returns true if `ExecInst` is present, Tag 18.
1109    pub fn has_exec_inst(&self) -> bool {
1110        self.message.body.has(tag::EXEC_INST)
1111    }
1112
1113
1114
1115
1116    /// Sets `ExecPriceAdjustment`, Tag 485.
1117    pub fn set_exec_price_adjustment(&mut self, val: Decimal, scale: i32) {
1118        self.message.body.set_field(tag::EXEC_PRICE_ADJUSTMENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1119    }
1120
1121    /// Gets `ExecPriceAdjustment`, Tag 485.
1122    pub fn get_exec_price_adjustment(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1123        let mut fld = field::ExecPriceAdjustmentField::new(Decimal::ZERO, 0);
1124        self.message.body.get_field(tag::EXEC_PRICE_ADJUSTMENT, &mut fld.0)?;
1125        Ok(fld.value())
1126    }
1127
1128
1129    /// Returns true if `ExecPriceAdjustment` is present, Tag 485.
1130    pub fn has_exec_price_adjustment(&self) -> bool {
1131        self.message.body.has(tag::EXEC_PRICE_ADJUSTMENT)
1132    }
1133
1134
1135
1136
1137    /// Sets `ExecPriceType`, Tag 484.
1138    pub fn set_exec_price_type(&mut self, v: String) {
1139        self.message.body.set_field(tag::EXEC_PRICE_TYPE, FIXString::from(v));
1140    }
1141
1142    /// Gets `ExecPriceType`, Tag 484.
1143    pub fn get_exec_price_type(&self) -> Result<String, MessageRejectErrorEnum> {
1144        let mut fld = field::ExecPriceTypeField::new(String::new());
1145        self.message.body.get_field(tag::EXEC_PRICE_TYPE, &mut fld.0)?;
1146        Ok(fld.value().to_string())
1147    }
1148
1149
1150    /// Returns true if `ExecPriceType` is present, Tag 484.
1151    pub fn has_exec_price_type(&self) -> bool {
1152        self.message.body.has(tag::EXEC_PRICE_TYPE)
1153    }
1154
1155
1156
1157
1158    /// Sets `ExecRefID`, Tag 19.
1159    pub fn set_exec_ref_id(&mut self, v: String) {
1160        self.message.body.set_field(tag::EXEC_REF_ID, FIXString::from(v));
1161    }
1162
1163    /// Gets `ExecRefID`, Tag 19.
1164    pub fn get_exec_ref_id(&self) -> Result<String, MessageRejectErrorEnum> {
1165        let mut fld = field::ExecRefIDField::new(String::new());
1166        self.message.body.get_field(tag::EXEC_REF_ID, &mut fld.0)?;
1167        Ok(fld.value().to_string())
1168    }
1169
1170
1171    /// Returns true if `ExecRefID` is present, Tag 19.
1172    pub fn has_exec_ref_id(&self) -> bool {
1173        self.message.body.has(tag::EXEC_REF_ID)
1174    }
1175
1176
1177
1178
1179    /// Sets `ExecRestatementReason`, Tag 378.
1180    pub fn set_exec_restatement_reason(&mut self, v: isize) {
1181        self.message.body.set_field(tag::EXEC_RESTATEMENT_REASON, fixer::fix_int::FIXInt::from(v));
1182    }
1183
1184    /// Gets `ExecRestatementReason`, Tag 378.
1185    pub fn get_exec_restatement_reason(&self) -> Result<isize, MessageRejectErrorEnum> {
1186        let mut fld = field::ExecRestatementReasonField::new(0);
1187        self.message.body.get_field(tag::EXEC_RESTATEMENT_REASON, &mut fld.0)?;
1188        Ok(fld.value())
1189    }
1190
1191
1192    /// Returns true if `ExecRestatementReason` is present, Tag 378.
1193    pub fn has_exec_restatement_reason(&self) -> bool {
1194        self.message.body.has(tag::EXEC_RESTATEMENT_REASON)
1195    }
1196
1197
1198
1199
1200    /// Sets `ExecType`, Tag 150.
1201    pub fn set_exec_type(&mut self, v: String) {
1202        self.message.body.set_field(tag::EXEC_TYPE, FIXString::from(v));
1203    }
1204
1205    /// Gets `ExecType`, Tag 150.
1206    pub fn get_exec_type(&self) -> Result<String, MessageRejectErrorEnum> {
1207        let mut fld = field::ExecTypeField::new(String::new());
1208        self.message.body.get_field(tag::EXEC_TYPE, &mut fld.0)?;
1209        Ok(fld.value().to_string())
1210    }
1211
1212
1213    /// Returns true if `ExecType` is present, Tag 150.
1214    pub fn has_exec_type(&self) -> bool {
1215        self.message.body.has(tag::EXEC_TYPE)
1216    }
1217
1218
1219
1220
1221    /// Sets `ExecValuationPoint`, Tag 515.
1222    pub fn set_exec_valuation_point(&mut self, v: Timestamp) {
1223        self.message.body.set_field(tag::EXEC_VALUATION_POINT, fixer::fix_utc_timestamp::FIXUTCTimestamp {
1224            time: v,
1225            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
1226        });
1227    }
1228
1229    /// Gets `ExecValuationPoint`, Tag 515.
1230    pub fn get_exec_valuation_point(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
1231        let mut fld = field::ExecValuationPointField::new(Timestamp::UNIX_EPOCH);
1232        self.message.body.get_field(tag::EXEC_VALUATION_POINT, &mut fld.0)?;
1233        Ok(fld.value())
1234    }
1235
1236
1237    /// Returns true if `ExecValuationPoint` is present, Tag 515.
1238    pub fn has_exec_valuation_point(&self) -> bool {
1239        self.message.body.has(tag::EXEC_VALUATION_POINT)
1240    }
1241
1242
1243
1244
1245    /// Sets `ExpireDate`, Tag 432.
1246    pub fn set_expire_date(&mut self, v: String) {
1247        self.message.body.set_field(tag::EXPIRE_DATE, FIXString::from(v));
1248    }
1249
1250    /// Gets `ExpireDate`, Tag 432.
1251    pub fn get_expire_date(&self) -> Result<String, MessageRejectErrorEnum> {
1252        let mut fld = field::ExpireDateField::new(String::new());
1253        self.message.body.get_field(tag::EXPIRE_DATE, &mut fld.0)?;
1254        Ok(fld.value().to_string())
1255    }
1256
1257
1258    /// Returns true if `ExpireDate` is present, Tag 432.
1259    pub fn has_expire_date(&self) -> bool {
1260        self.message.body.has(tag::EXPIRE_DATE)
1261    }
1262
1263
1264
1265
1266    /// Sets `ExpireTime`, Tag 126.
1267    pub fn set_expire_time(&mut self, v: Timestamp) {
1268        self.message.body.set_field(tag::EXPIRE_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
1269            time: v,
1270            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
1271        });
1272    }
1273
1274    /// Gets `ExpireTime`, Tag 126.
1275    pub fn get_expire_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
1276        let mut fld = field::ExpireTimeField::new(Timestamp::UNIX_EPOCH);
1277        self.message.body.get_field(tag::EXPIRE_TIME, &mut fld.0)?;
1278        Ok(fld.value())
1279    }
1280
1281
1282    /// Returns true if `ExpireTime` is present, Tag 126.
1283    pub fn has_expire_time(&self) -> bool {
1284        self.message.body.has(tag::EXPIRE_TIME)
1285    }
1286
1287
1288
1289
1290    /// Sets `Factor`, Tag 228.
1291    pub fn set_factor(&mut self, val: Decimal, scale: i32) {
1292        self.message.body.set_field(tag::FACTOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1293    }
1294
1295    /// Gets `Factor`, Tag 228.
1296    pub fn get_factor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1297        let mut fld = field::FactorField::new(Decimal::ZERO, 0);
1298        self.message.body.get_field(tag::FACTOR, &mut fld.0)?;
1299        Ok(fld.value())
1300    }
1301
1302
1303    /// Returns true if `Factor` is present, Tag 228.
1304    pub fn has_factor(&self) -> bool {
1305        self.message.body.has(tag::FACTOR)
1306    }
1307
1308
1309
1310
1311    /// Sets `FundRenewWaiv`, Tag 497.
1312    pub fn set_fund_renew_waiv(&mut self, v: String) {
1313        self.message.body.set_field(tag::FUND_RENEW_WAIV, FIXString::from(v));
1314    }
1315
1316    /// Gets `FundRenewWaiv`, Tag 497.
1317    pub fn get_fund_renew_waiv(&self) -> Result<String, MessageRejectErrorEnum> {
1318        let mut fld = field::FundRenewWaivField::new(String::new());
1319        self.message.body.get_field(tag::FUND_RENEW_WAIV, &mut fld.0)?;
1320        Ok(fld.value().to_string())
1321    }
1322
1323
1324    /// Returns true if `FundRenewWaiv` is present, Tag 497.
1325    pub fn has_fund_renew_waiv(&self) -> bool {
1326        self.message.body.has(tag::FUND_RENEW_WAIV)
1327    }
1328
1329
1330
1331
1332    /// Sets `FutSettDate`, Tag 64.
1333    pub fn set_fut_sett_date(&mut self, v: String) {
1334        self.message.body.set_field(tag::FUT_SETT_DATE, FIXString::from(v));
1335    }
1336
1337    /// Gets `FutSettDate`, Tag 64.
1338    pub fn get_fut_sett_date(&self) -> Result<String, MessageRejectErrorEnum> {
1339        let mut fld = field::FutSettDateField::new(String::new());
1340        self.message.body.get_field(tag::FUT_SETT_DATE, &mut fld.0)?;
1341        Ok(fld.value().to_string())
1342    }
1343
1344
1345    /// Returns true if `FutSettDate` is present, Tag 64.
1346    pub fn has_fut_sett_date(&self) -> bool {
1347        self.message.body.has(tag::FUT_SETT_DATE)
1348    }
1349
1350
1351
1352
1353    /// Sets `FutSettDate2`, Tag 193.
1354    pub fn set_fut_sett_date2(&mut self, v: String) {
1355        self.message.body.set_field(tag::FUT_SETT_DATE2, FIXString::from(v));
1356    }
1357
1358    /// Gets `FutSettDate2`, Tag 193.
1359    pub fn get_fut_sett_date2(&self) -> Result<String, MessageRejectErrorEnum> {
1360        let mut fld = field::FutSettDate2Field::new(String::new());
1361        self.message.body.get_field(tag::FUT_SETT_DATE2, &mut fld.0)?;
1362        Ok(fld.value().to_string())
1363    }
1364
1365
1366    /// Returns true if `FutSettDate2` is present, Tag 193.
1367    pub fn has_fut_sett_date2(&self) -> bool {
1368        self.message.body.has(tag::FUT_SETT_DATE2)
1369    }
1370
1371
1372
1373
1374    /// Sets `GTBookingInst`, Tag 427.
1375    pub fn set_gt_booking_inst(&mut self, v: isize) {
1376        self.message.body.set_field(tag::GT_BOOKING_INST, fixer::fix_int::FIXInt::from(v));
1377    }
1378
1379    /// Gets `GTBookingInst`, Tag 427.
1380    pub fn get_gt_booking_inst(&self) -> Result<isize, MessageRejectErrorEnum> {
1381        let mut fld = field::GTBookingInstField::new(0);
1382        self.message.body.get_field(tag::GT_BOOKING_INST, &mut fld.0)?;
1383        Ok(fld.value())
1384    }
1385
1386
1387    /// Returns true if `GTBookingInst` is present, Tag 427.
1388    pub fn has_gt_booking_inst(&self) -> bool {
1389        self.message.body.has(tag::GT_BOOKING_INST)
1390    }
1391
1392
1393
1394
1395    /// Sets `GrossTradeAmt`, Tag 381.
1396    pub fn set_gross_trade_amt(&mut self, val: Decimal, scale: i32) {
1397        self.message.body.set_field(tag::GROSS_TRADE_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1398    }
1399
1400    /// Gets `GrossTradeAmt`, Tag 381.
1401    pub fn get_gross_trade_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1402        let mut fld = field::GrossTradeAmtField::new(Decimal::ZERO, 0);
1403        self.message.body.get_field(tag::GROSS_TRADE_AMT, &mut fld.0)?;
1404        Ok(fld.value())
1405    }
1406
1407
1408    /// Returns true if `GrossTradeAmt` is present, Tag 381.
1409    pub fn has_gross_trade_amt(&self) -> bool {
1410        self.message.body.has(tag::GROSS_TRADE_AMT)
1411    }
1412
1413
1414
1415
1416    /// Sets `HandlInst`, Tag 21.
1417    pub fn set_handl_inst(&mut self, v: String) {
1418        self.message.body.set_field(tag::HANDL_INST, FIXString::from(v));
1419    }
1420
1421    /// Gets `HandlInst`, Tag 21.
1422    pub fn get_handl_inst(&self) -> Result<String, MessageRejectErrorEnum> {
1423        let mut fld = field::HandlInstField::new(String::new());
1424        self.message.body.get_field(tag::HANDL_INST, &mut fld.0)?;
1425        Ok(fld.value().to_string())
1426    }
1427
1428
1429    /// Returns true if `HandlInst` is present, Tag 21.
1430    pub fn has_handl_inst(&self) -> bool {
1431        self.message.body.has(tag::HANDL_INST)
1432    }
1433
1434
1435
1436
1437    /// Sets `InstrRegistry`, Tag 543.
1438    pub fn set_instr_registry(&mut self, v: String) {
1439        self.message.body.set_field(tag::INSTR_REGISTRY, FIXString::from(v));
1440    }
1441
1442    /// Gets `InstrRegistry`, Tag 543.
1443    pub fn get_instr_registry(&self) -> Result<String, MessageRejectErrorEnum> {
1444        let mut fld = field::InstrRegistryField::new(String::new());
1445        self.message.body.get_field(tag::INSTR_REGISTRY, &mut fld.0)?;
1446        Ok(fld.value().to_string())
1447    }
1448
1449
1450    /// Returns true if `InstrRegistry` is present, Tag 543.
1451    pub fn has_instr_registry(&self) -> bool {
1452        self.message.body.has(tag::INSTR_REGISTRY)
1453    }
1454
1455
1456
1457
1458    /// Sets `IssueDate`, Tag 225.
1459    pub fn set_issue_date(&mut self, v: String) {
1460        self.message.body.set_field(tag::ISSUE_DATE, FIXString::from(v));
1461    }
1462
1463    /// Gets `IssueDate`, Tag 225.
1464    pub fn get_issue_date(&self) -> Result<String, MessageRejectErrorEnum> {
1465        let mut fld = field::IssueDateField::new(String::new());
1466        self.message.body.get_field(tag::ISSUE_DATE, &mut fld.0)?;
1467        Ok(fld.value().to_string())
1468    }
1469
1470
1471    /// Returns true if `IssueDate` is present, Tag 225.
1472    pub fn has_issue_date(&self) -> bool {
1473        self.message.body.has(tag::ISSUE_DATE)
1474    }
1475
1476
1477
1478
1479    /// Sets `Issuer`, Tag 106.
1480    pub fn set_issuer(&mut self, v: String) {
1481        self.message.body.set_field(tag::ISSUER, FIXString::from(v));
1482    }
1483
1484    /// Gets `Issuer`, Tag 106.
1485    pub fn get_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
1486        let mut fld = field::IssuerField::new(String::new());
1487        self.message.body.get_field(tag::ISSUER, &mut fld.0)?;
1488        Ok(fld.value().to_string())
1489    }
1490
1491
1492    /// Returns true if `Issuer` is present, Tag 106.
1493    pub fn has_issuer(&self) -> bool {
1494        self.message.body.has(tag::ISSUER)
1495    }
1496
1497
1498
1499
1500    /// Sets `LastCapacity`, Tag 29.
1501    pub fn set_last_capacity(&mut self, v: String) {
1502        self.message.body.set_field(tag::LAST_CAPACITY, FIXString::from(v));
1503    }
1504
1505    /// Gets `LastCapacity`, Tag 29.
1506    pub fn get_last_capacity(&self) -> Result<String, MessageRejectErrorEnum> {
1507        let mut fld = field::LastCapacityField::new(String::new());
1508        self.message.body.get_field(tag::LAST_CAPACITY, &mut fld.0)?;
1509        Ok(fld.value().to_string())
1510    }
1511
1512
1513    /// Returns true if `LastCapacity` is present, Tag 29.
1514    pub fn has_last_capacity(&self) -> bool {
1515        self.message.body.has(tag::LAST_CAPACITY)
1516    }
1517
1518
1519
1520
1521    /// Sets `LastForwardPoints`, Tag 195.
1522    pub fn set_last_forward_points(&mut self, val: Decimal, scale: i32) {
1523        self.message.body.set_field(tag::LAST_FORWARD_POINTS, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1524    }
1525
1526    /// Gets `LastForwardPoints`, Tag 195.
1527    pub fn get_last_forward_points(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1528        let mut fld = field::LastForwardPointsField::new(Decimal::ZERO, 0);
1529        self.message.body.get_field(tag::LAST_FORWARD_POINTS, &mut fld.0)?;
1530        Ok(fld.value())
1531    }
1532
1533
1534    /// Returns true if `LastForwardPoints` is present, Tag 195.
1535    pub fn has_last_forward_points(&self) -> bool {
1536        self.message.body.has(tag::LAST_FORWARD_POINTS)
1537    }
1538
1539
1540
1541
1542    /// Sets `LastForwardPoints2`, Tag 641.
1543    pub fn set_last_forward_points2(&mut self, val: Decimal, scale: i32) {
1544        self.message.body.set_field(tag::LAST_FORWARD_POINTS2, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1545    }
1546
1547    /// Gets `LastForwardPoints2`, Tag 641.
1548    pub fn get_last_forward_points2(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1549        let mut fld = field::LastForwardPoints2Field::new(Decimal::ZERO, 0);
1550        self.message.body.get_field(tag::LAST_FORWARD_POINTS2, &mut fld.0)?;
1551        Ok(fld.value())
1552    }
1553
1554
1555    /// Returns true if `LastForwardPoints2` is present, Tag 641.
1556    pub fn has_last_forward_points2(&self) -> bool {
1557        self.message.body.has(tag::LAST_FORWARD_POINTS2)
1558    }
1559
1560
1561
1562
1563    /// Sets `LastMkt`, Tag 30.
1564    pub fn set_last_mkt(&mut self, v: String) {
1565        self.message.body.set_field(tag::LAST_MKT, FIXString::from(v));
1566    }
1567
1568    /// Gets `LastMkt`, Tag 30.
1569    pub fn get_last_mkt(&self) -> Result<String, MessageRejectErrorEnum> {
1570        let mut fld = field::LastMktField::new(String::new());
1571        self.message.body.get_field(tag::LAST_MKT, &mut fld.0)?;
1572        Ok(fld.value().to_string())
1573    }
1574
1575
1576    /// Returns true if `LastMkt` is present, Tag 30.
1577    pub fn has_last_mkt(&self) -> bool {
1578        self.message.body.has(tag::LAST_MKT)
1579    }
1580
1581
1582
1583
1584    /// Sets `LastPx`, Tag 31.
1585    pub fn set_last_px(&mut self, val: Decimal, scale: i32) {
1586        self.message.body.set_field(tag::LAST_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1587    }
1588
1589    /// Gets `LastPx`, Tag 31.
1590    pub fn get_last_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1591        let mut fld = field::LastPxField::new(Decimal::ZERO, 0);
1592        self.message.body.get_field(tag::LAST_PX, &mut fld.0)?;
1593        Ok(fld.value())
1594    }
1595
1596
1597    /// Returns true if `LastPx` is present, Tag 31.
1598    pub fn has_last_px(&self) -> bool {
1599        self.message.body.has(tag::LAST_PX)
1600    }
1601
1602
1603
1604
1605    /// Sets `LastQty`, Tag 32.
1606    pub fn set_last_qty(&mut self, val: Decimal, scale: i32) {
1607        self.message.body.set_field(tag::LAST_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1608    }
1609
1610    /// Gets `LastQty`, Tag 32.
1611    pub fn get_last_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1612        let mut fld = field::LastQtyField::new(Decimal::ZERO, 0);
1613        self.message.body.get_field(tag::LAST_QTY, &mut fld.0)?;
1614        Ok(fld.value())
1615    }
1616
1617
1618    /// Returns true if `LastQty` is present, Tag 32.
1619    pub fn has_last_qty(&self) -> bool {
1620        self.message.body.has(tag::LAST_QTY)
1621    }
1622
1623
1624
1625
1626    /// Sets `LastSpotRate`, Tag 194.
1627    pub fn set_last_spot_rate(&mut self, val: Decimal, scale: i32) {
1628        self.message.body.set_field(tag::LAST_SPOT_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1629    }
1630
1631    /// Gets `LastSpotRate`, Tag 194.
1632    pub fn get_last_spot_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1633        let mut fld = field::LastSpotRateField::new(Decimal::ZERO, 0);
1634        self.message.body.get_field(tag::LAST_SPOT_RATE, &mut fld.0)?;
1635        Ok(fld.value())
1636    }
1637
1638
1639    /// Returns true if `LastSpotRate` is present, Tag 194.
1640    pub fn has_last_spot_rate(&self) -> bool {
1641        self.message.body.has(tag::LAST_SPOT_RATE)
1642    }
1643
1644
1645
1646
1647    /// Sets `LeavesQty`, Tag 151.
1648    pub fn set_leaves_qty(&mut self, val: Decimal, scale: i32) {
1649        self.message.body.set_field(tag::LEAVES_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1650    }
1651
1652    /// Gets `LeavesQty`, Tag 151.
1653    pub fn get_leaves_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1654        let mut fld = field::LeavesQtyField::new(Decimal::ZERO, 0);
1655        self.message.body.get_field(tag::LEAVES_QTY, &mut fld.0)?;
1656        Ok(fld.value())
1657    }
1658
1659
1660    /// Returns true if `LeavesQty` is present, Tag 151.
1661    pub fn has_leaves_qty(&self) -> bool {
1662        self.message.body.has(tag::LEAVES_QTY)
1663    }
1664
1665
1666
1667
1668    /// Sets `ListID`, Tag 66.
1669    pub fn set_list_id(&mut self, v: String) {
1670        self.message.body.set_field(tag::LIST_ID, FIXString::from(v));
1671    }
1672
1673    /// Gets `ListID`, Tag 66.
1674    pub fn get_list_id(&self) -> Result<String, MessageRejectErrorEnum> {
1675        let mut fld = field::ListIDField::new(String::new());
1676        self.message.body.get_field(tag::LIST_ID, &mut fld.0)?;
1677        Ok(fld.value().to_string())
1678    }
1679
1680
1681    /// Returns true if `ListID` is present, Tag 66.
1682    pub fn has_list_id(&self) -> bool {
1683        self.message.body.has(tag::LIST_ID)
1684    }
1685
1686
1687
1688
1689    /// Sets `LocaleOfIssue`, Tag 472.
1690    pub fn set_locale_of_issue(&mut self, v: String) {
1691        self.message.body.set_field(tag::LOCALE_OF_ISSUE, FIXString::from(v));
1692    }
1693
1694    /// Gets `LocaleOfIssue`, Tag 472.
1695    pub fn get_locale_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
1696        let mut fld = field::LocaleOfIssueField::new(String::new());
1697        self.message.body.get_field(tag::LOCALE_OF_ISSUE, &mut fld.0)?;
1698        Ok(fld.value().to_string())
1699    }
1700
1701
1702    /// Returns true if `LocaleOfIssue` is present, Tag 472.
1703    pub fn has_locale_of_issue(&self) -> bool {
1704        self.message.body.has(tag::LOCALE_OF_ISSUE)
1705    }
1706
1707
1708
1709
1710    /// Sets `MaturityDate`, Tag 541.
1711    pub fn set_maturity_date(&mut self, v: String) {
1712        self.message.body.set_field(tag::MATURITY_DATE, FIXString::from(v));
1713    }
1714
1715    /// Gets `MaturityDate`, Tag 541.
1716    pub fn get_maturity_date(&self) -> Result<String, MessageRejectErrorEnum> {
1717        let mut fld = field::MaturityDateField::new(String::new());
1718        self.message.body.get_field(tag::MATURITY_DATE, &mut fld.0)?;
1719        Ok(fld.value().to_string())
1720    }
1721
1722
1723    /// Returns true if `MaturityDate` is present, Tag 541.
1724    pub fn has_maturity_date(&self) -> bool {
1725        self.message.body.has(tag::MATURITY_DATE)
1726    }
1727
1728
1729
1730
1731    /// Sets `MaturityMonthYear`, Tag 200.
1732    pub fn set_maturity_month_year(&mut self, v: String) {
1733        self.message.body.set_field(tag::MATURITY_MONTH_YEAR, FIXString::from(v));
1734    }
1735
1736    /// Gets `MaturityMonthYear`, Tag 200.
1737    pub fn get_maturity_month_year(&self) -> Result<String, MessageRejectErrorEnum> {
1738        let mut fld = field::MaturityMonthYearField::new(String::new());
1739        self.message.body.get_field(tag::MATURITY_MONTH_YEAR, &mut fld.0)?;
1740        Ok(fld.value().to_string())
1741    }
1742
1743
1744    /// Returns true if `MaturityMonthYear` is present, Tag 200.
1745    pub fn has_maturity_month_year(&self) -> bool {
1746        self.message.body.has(tag::MATURITY_MONTH_YEAR)
1747    }
1748
1749
1750
1751
1752    /// Sets `MaxFloor`, Tag 111.
1753    pub fn set_max_floor(&mut self, val: Decimal, scale: i32) {
1754        self.message.body.set_field(tag::MAX_FLOOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1755    }
1756
1757    /// Gets `MaxFloor`, Tag 111.
1758    pub fn get_max_floor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1759        let mut fld = field::MaxFloorField::new(Decimal::ZERO, 0);
1760        self.message.body.get_field(tag::MAX_FLOOR, &mut fld.0)?;
1761        Ok(fld.value())
1762    }
1763
1764
1765    /// Returns true if `MaxFloor` is present, Tag 111.
1766    pub fn has_max_floor(&self) -> bool {
1767        self.message.body.has(tag::MAX_FLOOR)
1768    }
1769
1770
1771
1772
1773    /// Sets `MaxShow`, Tag 210.
1774    pub fn set_max_show(&mut self, val: Decimal, scale: i32) {
1775        self.message.body.set_field(tag::MAX_SHOW, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1776    }
1777
1778    /// Gets `MaxShow`, Tag 210.
1779    pub fn get_max_show(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1780        let mut fld = field::MaxShowField::new(Decimal::ZERO, 0);
1781        self.message.body.get_field(tag::MAX_SHOW, &mut fld.0)?;
1782        Ok(fld.value())
1783    }
1784
1785
1786    /// Returns true if `MaxShow` is present, Tag 210.
1787    pub fn has_max_show(&self) -> bool {
1788        self.message.body.has(tag::MAX_SHOW)
1789    }
1790
1791
1792
1793
1794    /// Sets `MinQty`, Tag 110.
1795    pub fn set_min_qty(&mut self, val: Decimal, scale: i32) {
1796        self.message.body.set_field(tag::MIN_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1797    }
1798
1799    /// Gets `MinQty`, Tag 110.
1800    pub fn get_min_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1801        let mut fld = field::MinQtyField::new(Decimal::ZERO, 0);
1802        self.message.body.get_field(tag::MIN_QTY, &mut fld.0)?;
1803        Ok(fld.value())
1804    }
1805
1806
1807    /// Returns true if `MinQty` is present, Tag 110.
1808    pub fn has_min_qty(&self) -> bool {
1809        self.message.body.has(tag::MIN_QTY)
1810    }
1811
1812
1813
1814
1815    /// Sets `MoneyLaunderingStatus`, Tag 481.
1816    pub fn set_money_laundering_status(&mut self, v: String) {
1817        self.message.body.set_field(tag::MONEY_LAUNDERING_STATUS, FIXString::from(v));
1818    }
1819
1820    /// Gets `MoneyLaunderingStatus`, Tag 481.
1821    pub fn get_money_laundering_status(&self) -> Result<String, MessageRejectErrorEnum> {
1822        let mut fld = field::MoneyLaunderingStatusField::new(String::new());
1823        self.message.body.get_field(tag::MONEY_LAUNDERING_STATUS, &mut fld.0)?;
1824        Ok(fld.value().to_string())
1825    }
1826
1827
1828    /// Returns true if `MoneyLaunderingStatus` is present, Tag 481.
1829    pub fn has_money_laundering_status(&self) -> bool {
1830        self.message.body.has(tag::MONEY_LAUNDERING_STATUS)
1831    }
1832
1833
1834
1835
1836    /// Sets `MultiLegReportingType`, Tag 442.
1837    pub fn set_multi_leg_reporting_type(&mut self, v: String) {
1838        self.message.body.set_field(tag::MULTI_LEG_REPORTING_TYPE, FIXString::from(v));
1839    }
1840
1841    /// Gets `MultiLegReportingType`, Tag 442.
1842    pub fn get_multi_leg_reporting_type(&self) -> Result<String, MessageRejectErrorEnum> {
1843        let mut fld = field::MultiLegReportingTypeField::new(String::new());
1844        self.message.body.get_field(tag::MULTI_LEG_REPORTING_TYPE, &mut fld.0)?;
1845        Ok(fld.value().to_string())
1846    }
1847
1848
1849    /// Returns true if `MultiLegReportingType` is present, Tag 442.
1850    pub fn has_multi_leg_reporting_type(&self) -> bool {
1851        self.message.body.has(tag::MULTI_LEG_REPORTING_TYPE)
1852    }
1853
1854
1855
1856
1857    /// Sets `NetMoney`, Tag 118.
1858    pub fn set_net_money(&mut self, val: Decimal, scale: i32) {
1859        self.message.body.set_field(tag::NET_MONEY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1860    }
1861
1862    /// Gets `NetMoney`, Tag 118.
1863    pub fn get_net_money(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1864        let mut fld = field::NetMoneyField::new(Decimal::ZERO, 0);
1865        self.message.body.get_field(tag::NET_MONEY, &mut fld.0)?;
1866        Ok(fld.value())
1867    }
1868
1869
1870    /// Returns true if `NetMoney` is present, Tag 118.
1871    pub fn has_net_money(&self) -> bool {
1872        self.message.body.has(tag::NET_MONEY)
1873    }
1874
1875
1876
1877
1878    /// Sets `NoContAmts`, Tag 518.
1879    pub fn set_no_cont_amts(&mut self, v: isize) {
1880        self.message.body.set_field(tag::NO_CONT_AMTS, fixer::fix_int::FIXInt::from(v));
1881    }
1882
1883    /// Gets `NoContAmts`, Tag 518.
1884    pub fn get_no_cont_amts(&self) -> Result<isize, MessageRejectErrorEnum> {
1885        let mut fld = field::NoContAmtsField::new(0);
1886        self.message.body.get_field(tag::NO_CONT_AMTS, &mut fld.0)?;
1887        Ok(fld.value())
1888    }
1889
1890
1891    /// Returns true if `NoContAmts` is present, Tag 518.
1892    pub fn has_no_cont_amts(&self) -> bool {
1893        self.message.body.has(tag::NO_CONT_AMTS)
1894    }
1895
1896
1897
1898
1899    /// Sets `NoContraBrokers`, Tag 382.
1900    pub fn set_no_contra_brokers(&mut self, v: isize) {
1901        self.message.body.set_field(tag::NO_CONTRA_BROKERS, fixer::fix_int::FIXInt::from(v));
1902    }
1903
1904    /// Gets `NoContraBrokers`, Tag 382.
1905    pub fn get_no_contra_brokers(&self) -> Result<isize, MessageRejectErrorEnum> {
1906        let mut fld = field::NoContraBrokersField::new(0);
1907        self.message.body.get_field(tag::NO_CONTRA_BROKERS, &mut fld.0)?;
1908        Ok(fld.value())
1909    }
1910
1911
1912    /// Returns true if `NoContraBrokers` is present, Tag 382.
1913    pub fn has_no_contra_brokers(&self) -> bool {
1914        self.message.body.has(tag::NO_CONTRA_BROKERS)
1915    }
1916
1917
1918
1919
1920    /// Sets `NoLegs`, Tag 555.
1921    pub fn set_no_legs(&mut self, v: isize) {
1922        self.message.body.set_field(tag::NO_LEGS, fixer::fix_int::FIXInt::from(v));
1923    }
1924
1925    /// Gets `NoLegs`, Tag 555.
1926    pub fn get_no_legs(&self) -> Result<isize, MessageRejectErrorEnum> {
1927        let mut fld = field::NoLegsField::new(0);
1928        self.message.body.get_field(tag::NO_LEGS, &mut fld.0)?;
1929        Ok(fld.value())
1930    }
1931
1932
1933    /// Returns true if `NoLegs` is present, Tag 555.
1934    pub fn has_no_legs(&self) -> bool {
1935        self.message.body.has(tag::NO_LEGS)
1936    }
1937
1938
1939
1940
1941    /// Sets `NoPartyIDs`, Tag 453.
1942    pub fn set_no_party_i_ds(&mut self, v: isize) {
1943        self.message.body.set_field(tag::NO_PARTY_I_DS, fixer::fix_int::FIXInt::from(v));
1944    }
1945
1946    /// Gets `NoPartyIDs`, Tag 453.
1947    pub fn get_no_party_i_ds(&self) -> Result<isize, MessageRejectErrorEnum> {
1948        let mut fld = field::NoPartyIDsField::new(0);
1949        self.message.body.get_field(tag::NO_PARTY_I_DS, &mut fld.0)?;
1950        Ok(fld.value())
1951    }
1952
1953
1954    /// Returns true if `NoPartyIDs` is present, Tag 453.
1955    pub fn has_no_party_i_ds(&self) -> bool {
1956        self.message.body.has(tag::NO_PARTY_I_DS)
1957    }
1958
1959
1960
1961
1962    /// Sets `NoSecurityAltID`, Tag 454.
1963    pub fn set_no_security_alt_id(&mut self, v: isize) {
1964        self.message.body.set_field(tag::NO_SECURITY_ALT_ID, fixer::fix_int::FIXInt::from(v));
1965    }
1966
1967    /// Gets `NoSecurityAltID`, Tag 454.
1968    pub fn get_no_security_alt_id(&self) -> Result<isize, MessageRejectErrorEnum> {
1969        let mut fld = field::NoSecurityAltIDField::new(0);
1970        self.message.body.get_field(tag::NO_SECURITY_ALT_ID, &mut fld.0)?;
1971        Ok(fld.value())
1972    }
1973
1974
1975    /// Returns true if `NoSecurityAltID` is present, Tag 454.
1976    pub fn has_no_security_alt_id(&self) -> bool {
1977        self.message.body.has(tag::NO_SECURITY_ALT_ID)
1978    }
1979
1980
1981
1982
1983    /// Sets `NoStipulations`, Tag 232.
1984    pub fn set_no_stipulations(&mut self, v: isize) {
1985        self.message.body.set_field(tag::NO_STIPULATIONS, fixer::fix_int::FIXInt::from(v));
1986    }
1987
1988    /// Gets `NoStipulations`, Tag 232.
1989    pub fn get_no_stipulations(&self) -> Result<isize, MessageRejectErrorEnum> {
1990        let mut fld = field::NoStipulationsField::new(0);
1991        self.message.body.get_field(tag::NO_STIPULATIONS, &mut fld.0)?;
1992        Ok(fld.value())
1993    }
1994
1995
1996    /// Returns true if `NoStipulations` is present, Tag 232.
1997    pub fn has_no_stipulations(&self) -> bool {
1998        self.message.body.has(tag::NO_STIPULATIONS)
1999    }
2000
2001
2002
2003
2004    /// Sets `NumDaysInterest`, Tag 157.
2005    pub fn set_num_days_interest(&mut self, v: isize) {
2006        self.message.body.set_field(tag::NUM_DAYS_INTEREST, fixer::fix_int::FIXInt::from(v));
2007    }
2008
2009    /// Gets `NumDaysInterest`, Tag 157.
2010    pub fn get_num_days_interest(&self) -> Result<isize, MessageRejectErrorEnum> {
2011        let mut fld = field::NumDaysInterestField::new(0);
2012        self.message.body.get_field(tag::NUM_DAYS_INTEREST, &mut fld.0)?;
2013        Ok(fld.value())
2014    }
2015
2016
2017    /// Returns true if `NumDaysInterest` is present, Tag 157.
2018    pub fn has_num_days_interest(&self) -> bool {
2019        self.message.body.has(tag::NUM_DAYS_INTEREST)
2020    }
2021
2022
2023
2024
2025    /// Sets `OptAttribute`, Tag 206.
2026    pub fn set_opt_attribute(&mut self, v: String) {
2027        self.message.body.set_field(tag::OPT_ATTRIBUTE, FIXString::from(v));
2028    }
2029
2030    /// Gets `OptAttribute`, Tag 206.
2031    pub fn get_opt_attribute(&self) -> Result<String, MessageRejectErrorEnum> {
2032        let mut fld = field::OptAttributeField::new(String::new());
2033        self.message.body.get_field(tag::OPT_ATTRIBUTE, &mut fld.0)?;
2034        Ok(fld.value().to_string())
2035    }
2036
2037
2038    /// Returns true if `OptAttribute` is present, Tag 206.
2039    pub fn has_opt_attribute(&self) -> bool {
2040        self.message.body.has(tag::OPT_ATTRIBUTE)
2041    }
2042
2043
2044
2045
2046    /// Sets `OrdRejReason`, Tag 103.
2047    pub fn set_ord_rej_reason(&mut self, v: isize) {
2048        self.message.body.set_field(tag::ORD_REJ_REASON, fixer::fix_int::FIXInt::from(v));
2049    }
2050
2051    /// Gets `OrdRejReason`, Tag 103.
2052    pub fn get_ord_rej_reason(&self) -> Result<isize, MessageRejectErrorEnum> {
2053        let mut fld = field::OrdRejReasonField::new(0);
2054        self.message.body.get_field(tag::ORD_REJ_REASON, &mut fld.0)?;
2055        Ok(fld.value())
2056    }
2057
2058
2059    /// Returns true if `OrdRejReason` is present, Tag 103.
2060    pub fn has_ord_rej_reason(&self) -> bool {
2061        self.message.body.has(tag::ORD_REJ_REASON)
2062    }
2063
2064
2065
2066
2067    /// Sets `OrdStatus`, Tag 39.
2068    pub fn set_ord_status(&mut self, v: String) {
2069        self.message.body.set_field(tag::ORD_STATUS, FIXString::from(v));
2070    }
2071
2072    /// Gets `OrdStatus`, Tag 39.
2073    pub fn get_ord_status(&self) -> Result<String, MessageRejectErrorEnum> {
2074        let mut fld = field::OrdStatusField::new(String::new());
2075        self.message.body.get_field(tag::ORD_STATUS, &mut fld.0)?;
2076        Ok(fld.value().to_string())
2077    }
2078
2079
2080    /// Returns true if `OrdStatus` is present, Tag 39.
2081    pub fn has_ord_status(&self) -> bool {
2082        self.message.body.has(tag::ORD_STATUS)
2083    }
2084
2085
2086
2087
2088    /// Sets `OrdType`, Tag 40.
2089    pub fn set_ord_type(&mut self, v: String) {
2090        self.message.body.set_field(tag::ORD_TYPE, FIXString::from(v));
2091    }
2092
2093    /// Gets `OrdType`, Tag 40.
2094    pub fn get_ord_type(&self) -> Result<String, MessageRejectErrorEnum> {
2095        let mut fld = field::OrdTypeField::new(String::new());
2096        self.message.body.get_field(tag::ORD_TYPE, &mut fld.0)?;
2097        Ok(fld.value().to_string())
2098    }
2099
2100
2101    /// Returns true if `OrdType` is present, Tag 40.
2102    pub fn has_ord_type(&self) -> bool {
2103        self.message.body.has(tag::ORD_TYPE)
2104    }
2105
2106
2107
2108
2109    /// Sets `OrderCapacity`, Tag 528.
2110    pub fn set_order_capacity(&mut self, v: String) {
2111        self.message.body.set_field(tag::ORDER_CAPACITY, FIXString::from(v));
2112    }
2113
2114    /// Gets `OrderCapacity`, Tag 528.
2115    pub fn get_order_capacity(&self) -> Result<String, MessageRejectErrorEnum> {
2116        let mut fld = field::OrderCapacityField::new(String::new());
2117        self.message.body.get_field(tag::ORDER_CAPACITY, &mut fld.0)?;
2118        Ok(fld.value().to_string())
2119    }
2120
2121
2122    /// Returns true if `OrderCapacity` is present, Tag 528.
2123    pub fn has_order_capacity(&self) -> bool {
2124        self.message.body.has(tag::ORDER_CAPACITY)
2125    }
2126
2127
2128
2129
2130    /// Sets `OrderID`, Tag 37.
2131    pub fn set_order_id(&mut self, v: String) {
2132        self.message.body.set_field(tag::ORDER_ID, FIXString::from(v));
2133    }
2134
2135    /// Gets `OrderID`, Tag 37.
2136    pub fn get_order_id(&self) -> Result<String, MessageRejectErrorEnum> {
2137        let mut fld = field::OrderIDField::new(String::new());
2138        self.message.body.get_field(tag::ORDER_ID, &mut fld.0)?;
2139        Ok(fld.value().to_string())
2140    }
2141
2142
2143    /// Returns true if `OrderID` is present, Tag 37.
2144    pub fn has_order_id(&self) -> bool {
2145        self.message.body.has(tag::ORDER_ID)
2146    }
2147
2148
2149
2150
2151    /// Sets `OrderPercent`, Tag 516.
2152    pub fn set_order_percent(&mut self, val: Decimal, scale: i32) {
2153        self.message.body.set_field(tag::ORDER_PERCENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2154    }
2155
2156    /// Gets `OrderPercent`, Tag 516.
2157    pub fn get_order_percent(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2158        let mut fld = field::OrderPercentField::new(Decimal::ZERO, 0);
2159        self.message.body.get_field(tag::ORDER_PERCENT, &mut fld.0)?;
2160        Ok(fld.value())
2161    }
2162
2163
2164    /// Returns true if `OrderPercent` is present, Tag 516.
2165    pub fn has_order_percent(&self) -> bool {
2166        self.message.body.has(tag::ORDER_PERCENT)
2167    }
2168
2169
2170
2171
2172    /// Sets `OrderQty`, Tag 38.
2173    pub fn set_order_qty(&mut self, val: Decimal, scale: i32) {
2174        self.message.body.set_field(tag::ORDER_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2175    }
2176
2177    /// Gets `OrderQty`, Tag 38.
2178    pub fn get_order_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2179        let mut fld = field::OrderQtyField::new(Decimal::ZERO, 0);
2180        self.message.body.get_field(tag::ORDER_QTY, &mut fld.0)?;
2181        Ok(fld.value())
2182    }
2183
2184
2185    /// Returns true if `OrderQty` is present, Tag 38.
2186    pub fn has_order_qty(&self) -> bool {
2187        self.message.body.has(tag::ORDER_QTY)
2188    }
2189
2190
2191
2192
2193    /// Sets `OrderQty2`, Tag 192.
2194    pub fn set_order_qty2(&mut self, val: Decimal, scale: i32) {
2195        self.message.body.set_field(tag::ORDER_QTY2, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2196    }
2197
2198    /// Gets `OrderQty2`, Tag 192.
2199    pub fn get_order_qty2(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2200        let mut fld = field::OrderQty2Field::new(Decimal::ZERO, 0);
2201        self.message.body.get_field(tag::ORDER_QTY2, &mut fld.0)?;
2202        Ok(fld.value())
2203    }
2204
2205
2206    /// Returns true if `OrderQty2` is present, Tag 192.
2207    pub fn has_order_qty2(&self) -> bool {
2208        self.message.body.has(tag::ORDER_QTY2)
2209    }
2210
2211
2212
2213
2214    /// Sets `OrderRestrictions`, Tag 529.
2215    pub fn set_order_restrictions(&mut self, v: String) {
2216        self.message.body.set_field(tag::ORDER_RESTRICTIONS, FIXString::from(v));
2217    }
2218
2219    /// Gets `OrderRestrictions`, Tag 529.
2220    pub fn get_order_restrictions(&self) -> Result<String, MessageRejectErrorEnum> {
2221        let mut fld = field::OrderRestrictionsField::new(String::new());
2222        self.message.body.get_field(tag::ORDER_RESTRICTIONS, &mut fld.0)?;
2223        Ok(fld.value().to_string())
2224    }
2225
2226
2227    /// Returns true if `OrderRestrictions` is present, Tag 529.
2228    pub fn has_order_restrictions(&self) -> bool {
2229        self.message.body.has(tag::ORDER_RESTRICTIONS)
2230    }
2231
2232
2233
2234
2235    /// Sets `OrigClOrdID`, Tag 41.
2236    pub fn set_orig_cl_ord_id(&mut self, v: String) {
2237        self.message.body.set_field(tag::ORIG_CL_ORD_ID, FIXString::from(v));
2238    }
2239
2240    /// Gets `OrigClOrdID`, Tag 41.
2241    pub fn get_orig_cl_ord_id(&self) -> Result<String, MessageRejectErrorEnum> {
2242        let mut fld = field::OrigClOrdIDField::new(String::new());
2243        self.message.body.get_field(tag::ORIG_CL_ORD_ID, &mut fld.0)?;
2244        Ok(fld.value().to_string())
2245    }
2246
2247
2248    /// Returns true if `OrigClOrdID` is present, Tag 41.
2249    pub fn has_orig_cl_ord_id(&self) -> bool {
2250        self.message.body.has(tag::ORIG_CL_ORD_ID)
2251    }
2252
2253
2254
2255
2256    /// Sets `OrigCrossID`, Tag 551.
2257    pub fn set_orig_cross_id(&mut self, v: String) {
2258        self.message.body.set_field(tag::ORIG_CROSS_ID, FIXString::from(v));
2259    }
2260
2261    /// Gets `OrigCrossID`, Tag 551.
2262    pub fn get_orig_cross_id(&self) -> Result<String, MessageRejectErrorEnum> {
2263        let mut fld = field::OrigCrossIDField::new(String::new());
2264        self.message.body.get_field(tag::ORIG_CROSS_ID, &mut fld.0)?;
2265        Ok(fld.value().to_string())
2266    }
2267
2268
2269    /// Returns true if `OrigCrossID` is present, Tag 551.
2270    pub fn has_orig_cross_id(&self) -> bool {
2271        self.message.body.has(tag::ORIG_CROSS_ID)
2272    }
2273
2274
2275
2276
2277    /// Sets `PegDifference`, Tag 211.
2278    pub fn set_peg_difference(&mut self, val: Decimal, scale: i32) {
2279        self.message.body.set_field(tag::PEG_DIFFERENCE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2280    }
2281
2282    /// Gets `PegDifference`, Tag 211.
2283    pub fn get_peg_difference(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2284        let mut fld = field::PegDifferenceField::new(Decimal::ZERO, 0);
2285        self.message.body.get_field(tag::PEG_DIFFERENCE, &mut fld.0)?;
2286        Ok(fld.value())
2287    }
2288
2289
2290    /// Returns true if `PegDifference` is present, Tag 211.
2291    pub fn has_peg_difference(&self) -> bool {
2292        self.message.body.has(tag::PEG_DIFFERENCE)
2293    }
2294
2295
2296
2297
2298    /// Sets `PositionEffect`, Tag 77.
2299    pub fn set_position_effect(&mut self, v: String) {
2300        self.message.body.set_field(tag::POSITION_EFFECT, FIXString::from(v));
2301    }
2302
2303    /// Gets `PositionEffect`, Tag 77.
2304    pub fn get_position_effect(&self) -> Result<String, MessageRejectErrorEnum> {
2305        let mut fld = field::PositionEffectField::new(String::new());
2306        self.message.body.get_field(tag::POSITION_EFFECT, &mut fld.0)?;
2307        Ok(fld.value().to_string())
2308    }
2309
2310
2311    /// Returns true if `PositionEffect` is present, Tag 77.
2312    pub fn has_position_effect(&self) -> bool {
2313        self.message.body.has(tag::POSITION_EFFECT)
2314    }
2315
2316
2317
2318
2319    /// Sets `PreallocMethod`, Tag 591.
2320    pub fn set_prealloc_method(&mut self, v: String) {
2321        self.message.body.set_field(tag::PREALLOC_METHOD, FIXString::from(v));
2322    }
2323
2324    /// Gets `PreallocMethod`, Tag 591.
2325    pub fn get_prealloc_method(&self) -> Result<String, MessageRejectErrorEnum> {
2326        let mut fld = field::PreallocMethodField::new(String::new());
2327        self.message.body.get_field(tag::PREALLOC_METHOD, &mut fld.0)?;
2328        Ok(fld.value().to_string())
2329    }
2330
2331
2332    /// Returns true if `PreallocMethod` is present, Tag 591.
2333    pub fn has_prealloc_method(&self) -> bool {
2334        self.message.body.has(tag::PREALLOC_METHOD)
2335    }
2336
2337
2338
2339
2340    /// Sets `Price`, Tag 44.
2341    pub fn set_price(&mut self, val: Decimal, scale: i32) {
2342        self.message.body.set_field(tag::PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2343    }
2344
2345    /// Gets `Price`, Tag 44.
2346    pub fn get_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2347        let mut fld = field::PriceField::new(Decimal::ZERO, 0);
2348        self.message.body.get_field(tag::PRICE, &mut fld.0)?;
2349        Ok(fld.value())
2350    }
2351
2352
2353    /// Returns true if `Price` is present, Tag 44.
2354    pub fn has_price(&self) -> bool {
2355        self.message.body.has(tag::PRICE)
2356    }
2357
2358
2359
2360
2361    /// Sets `PriceImprovement`, Tag 639.
2362    pub fn set_price_improvement(&mut self, val: Decimal, scale: i32) {
2363        self.message.body.set_field(tag::PRICE_IMPROVEMENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2364    }
2365
2366    /// Gets `PriceImprovement`, Tag 639.
2367    pub fn get_price_improvement(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2368        let mut fld = field::PriceImprovementField::new(Decimal::ZERO, 0);
2369        self.message.body.get_field(tag::PRICE_IMPROVEMENT, &mut fld.0)?;
2370        Ok(fld.value())
2371    }
2372
2373
2374    /// Returns true if `PriceImprovement` is present, Tag 639.
2375    pub fn has_price_improvement(&self) -> bool {
2376        self.message.body.has(tag::PRICE_IMPROVEMENT)
2377    }
2378
2379
2380
2381
2382    /// Sets `PriceType`, Tag 423.
2383    pub fn set_price_type(&mut self, v: isize) {
2384        self.message.body.set_field(tag::PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
2385    }
2386
2387    /// Gets `PriceType`, Tag 423.
2388    pub fn get_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2389        let mut fld = field::PriceTypeField::new(0);
2390        self.message.body.get_field(tag::PRICE_TYPE, &mut fld.0)?;
2391        Ok(fld.value())
2392    }
2393
2394
2395    /// Returns true if `PriceType` is present, Tag 423.
2396    pub fn has_price_type(&self) -> bool {
2397        self.message.body.has(tag::PRICE_TYPE)
2398    }
2399
2400
2401
2402
2403    /// Sets `PriorityIndicator`, Tag 638.
2404    pub fn set_priority_indicator(&mut self, v: isize) {
2405        self.message.body.set_field(tag::PRIORITY_INDICATOR, fixer::fix_int::FIXInt::from(v));
2406    }
2407
2408    /// Gets `PriorityIndicator`, Tag 638.
2409    pub fn get_priority_indicator(&self) -> Result<isize, MessageRejectErrorEnum> {
2410        let mut fld = field::PriorityIndicatorField::new(0);
2411        self.message.body.get_field(tag::PRIORITY_INDICATOR, &mut fld.0)?;
2412        Ok(fld.value())
2413    }
2414
2415
2416    /// Returns true if `PriorityIndicator` is present, Tag 638.
2417    pub fn has_priority_indicator(&self) -> bool {
2418        self.message.body.has(tag::PRIORITY_INDICATOR)
2419    }
2420
2421
2422
2423
2424    /// Sets `Product`, Tag 460.
2425    pub fn set_product(&mut self, v: isize) {
2426        self.message.body.set_field(tag::PRODUCT, fixer::fix_int::FIXInt::from(v));
2427    }
2428
2429    /// Gets `Product`, Tag 460.
2430    pub fn get_product(&self) -> Result<isize, MessageRejectErrorEnum> {
2431        let mut fld = field::ProductField::new(0);
2432        self.message.body.get_field(tag::PRODUCT, &mut fld.0)?;
2433        Ok(fld.value())
2434    }
2435
2436
2437    /// Returns true if `Product` is present, Tag 460.
2438    pub fn has_product(&self) -> bool {
2439        self.message.body.has(tag::PRODUCT)
2440    }
2441
2442
2443
2444
2445    /// Sets `QuantityType`, Tag 465.
2446    pub fn set_quantity_type(&mut self, v: isize) {
2447        self.message.body.set_field(tag::QUANTITY_TYPE, fixer::fix_int::FIXInt::from(v));
2448    }
2449
2450    /// Gets `QuantityType`, Tag 465.
2451    pub fn get_quantity_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2452        let mut fld = field::QuantityTypeField::new(0);
2453        self.message.body.get_field(tag::QUANTITY_TYPE, &mut fld.0)?;
2454        Ok(fld.value())
2455    }
2456
2457
2458    /// Returns true if `QuantityType` is present, Tag 465.
2459    pub fn has_quantity_type(&self) -> bool {
2460        self.message.body.has(tag::QUANTITY_TYPE)
2461    }
2462
2463
2464
2465
2466    /// Sets `RedemptionDate`, Tag 240.
2467    pub fn set_redemption_date(&mut self, v: String) {
2468        self.message.body.set_field(tag::REDEMPTION_DATE, FIXString::from(v));
2469    }
2470
2471    /// Gets `RedemptionDate`, Tag 240.
2472    pub fn get_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
2473        let mut fld = field::RedemptionDateField::new(String::new());
2474        self.message.body.get_field(tag::REDEMPTION_DATE, &mut fld.0)?;
2475        Ok(fld.value().to_string())
2476    }
2477
2478
2479    /// Returns true if `RedemptionDate` is present, Tag 240.
2480    pub fn has_redemption_date(&self) -> bool {
2481        self.message.body.has(tag::REDEMPTION_DATE)
2482    }
2483
2484
2485
2486
2487    /// Sets `RegistID`, Tag 513.
2488    pub fn set_regist_id(&mut self, v: String) {
2489        self.message.body.set_field(tag::REGIST_ID, FIXString::from(v));
2490    }
2491
2492    /// Gets `RegistID`, Tag 513.
2493    pub fn get_regist_id(&self) -> Result<String, MessageRejectErrorEnum> {
2494        let mut fld = field::RegistIDField::new(String::new());
2495        self.message.body.get_field(tag::REGIST_ID, &mut fld.0)?;
2496        Ok(fld.value().to_string())
2497    }
2498
2499
2500    /// Returns true if `RegistID` is present, Tag 513.
2501    pub fn has_regist_id(&self) -> bool {
2502        self.message.body.has(tag::REGIST_ID)
2503    }
2504
2505
2506
2507
2508    /// Sets `RepoCollateralSecurityType`, Tag 239.
2509    pub fn set_repo_collateral_security_type(&mut self, v: isize) {
2510        self.message.body.set_field(tag::REPO_COLLATERAL_SECURITY_TYPE, fixer::fix_int::FIXInt::from(v));
2511    }
2512
2513    /// Gets `RepoCollateralSecurityType`, Tag 239.
2514    pub fn get_repo_collateral_security_type(&self) -> Result<isize, MessageRejectErrorEnum> {
2515        let mut fld = field::RepoCollateralSecurityTypeField::new(0);
2516        self.message.body.get_field(tag::REPO_COLLATERAL_SECURITY_TYPE, &mut fld.0)?;
2517        Ok(fld.value())
2518    }
2519
2520
2521    /// Returns true if `RepoCollateralSecurityType` is present, Tag 239.
2522    pub fn has_repo_collateral_security_type(&self) -> bool {
2523        self.message.body.has(tag::REPO_COLLATERAL_SECURITY_TYPE)
2524    }
2525
2526
2527
2528
2529    /// Sets `ReportToExch`, Tag 113.
2530    pub fn set_report_to_exch(&mut self, v: bool) {
2531        self.message.body.set_field(tag::REPORT_TO_EXCH, fixer::fix_boolean::FIXBoolean::from(v));
2532    }
2533
2534    /// Gets `ReportToExch`, Tag 113.
2535    pub fn get_report_to_exch(&self) -> Result<bool, MessageRejectErrorEnum> {
2536        let mut fld = field::ReportToExchField::new(false);
2537        self.message.body.get_field(tag::REPORT_TO_EXCH, &mut fld.0)?;
2538        Ok(fld.value())
2539    }
2540
2541
2542    /// Returns true if `ReportToExch` is present, Tag 113.
2543    pub fn has_report_to_exch(&self) -> bool {
2544        self.message.body.has(tag::REPORT_TO_EXCH)
2545    }
2546
2547
2548
2549
2550    /// Sets `RepurchaseRate`, Tag 227.
2551    pub fn set_repurchase_rate(&mut self, val: Decimal, scale: i32) {
2552        self.message.body.set_field(tag::REPURCHASE_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2553    }
2554
2555    /// Gets `RepurchaseRate`, Tag 227.
2556    pub fn get_repurchase_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2557        let mut fld = field::RepurchaseRateField::new(Decimal::ZERO, 0);
2558        self.message.body.get_field(tag::REPURCHASE_RATE, &mut fld.0)?;
2559        Ok(fld.value())
2560    }
2561
2562
2563    /// Returns true if `RepurchaseRate` is present, Tag 227.
2564    pub fn has_repurchase_rate(&self) -> bool {
2565        self.message.body.has(tag::REPURCHASE_RATE)
2566    }
2567
2568
2569
2570
2571    /// Sets `RepurchaseTerm`, Tag 226.
2572    pub fn set_repurchase_term(&mut self, v: isize) {
2573        self.message.body.set_field(tag::REPURCHASE_TERM, fixer::fix_int::FIXInt::from(v));
2574    }
2575
2576    /// Gets `RepurchaseTerm`, Tag 226.
2577    pub fn get_repurchase_term(&self) -> Result<isize, MessageRejectErrorEnum> {
2578        let mut fld = field::RepurchaseTermField::new(0);
2579        self.message.body.get_field(tag::REPURCHASE_TERM, &mut fld.0)?;
2580        Ok(fld.value())
2581    }
2582
2583
2584    /// Returns true if `RepurchaseTerm` is present, Tag 226.
2585    pub fn has_repurchase_term(&self) -> bool {
2586        self.message.body.has(tag::REPURCHASE_TERM)
2587    }
2588
2589
2590
2591
2592    /// Sets `RoundingDirection`, Tag 468.
2593    pub fn set_rounding_direction(&mut self, v: String) {
2594        self.message.body.set_field(tag::ROUNDING_DIRECTION, FIXString::from(v));
2595    }
2596
2597    /// Gets `RoundingDirection`, Tag 468.
2598    pub fn get_rounding_direction(&self) -> Result<String, MessageRejectErrorEnum> {
2599        let mut fld = field::RoundingDirectionField::new(String::new());
2600        self.message.body.get_field(tag::ROUNDING_DIRECTION, &mut fld.0)?;
2601        Ok(fld.value().to_string())
2602    }
2603
2604
2605    /// Returns true if `RoundingDirection` is present, Tag 468.
2606    pub fn has_rounding_direction(&self) -> bool {
2607        self.message.body.has(tag::ROUNDING_DIRECTION)
2608    }
2609
2610
2611
2612
2613    /// Sets `RoundingModulus`, Tag 469.
2614    pub fn set_rounding_modulus(&mut self, val: Decimal, scale: i32) {
2615        self.message.body.set_field(tag::ROUNDING_MODULUS, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2616    }
2617
2618    /// Gets `RoundingModulus`, Tag 469.
2619    pub fn get_rounding_modulus(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2620        let mut fld = field::RoundingModulusField::new(Decimal::ZERO, 0);
2621        self.message.body.get_field(tag::ROUNDING_MODULUS, &mut fld.0)?;
2622        Ok(fld.value())
2623    }
2624
2625
2626    /// Returns true if `RoundingModulus` is present, Tag 469.
2627    pub fn has_rounding_modulus(&self) -> bool {
2628        self.message.body.has(tag::ROUNDING_MODULUS)
2629    }
2630
2631
2632
2633
2634    /// Sets `Rule80A`, Tag 47.
2635    pub fn set_rule80_a(&mut self, v: String) {
2636        self.message.body.set_field(tag::RULE80_A, FIXString::from(v));
2637    }
2638
2639    /// Gets `Rule80A`, Tag 47.
2640    pub fn get_rule80_a(&self) -> Result<String, MessageRejectErrorEnum> {
2641        let mut fld = field::Rule80AField::new(String::new());
2642        self.message.body.get_field(tag::RULE80_A, &mut fld.0)?;
2643        Ok(fld.value().to_string())
2644    }
2645
2646
2647    /// Returns true if `Rule80A` is present, Tag 47.
2648    pub fn has_rule80_a(&self) -> bool {
2649        self.message.body.has(tag::RULE80_A)
2650    }
2651
2652
2653
2654
2655    /// Sets `SecondaryClOrdID`, Tag 526.
2656    pub fn set_secondary_cl_ord_id(&mut self, v: String) {
2657        self.message.body.set_field(tag::SECONDARY_CL_ORD_ID, FIXString::from(v));
2658    }
2659
2660    /// Gets `SecondaryClOrdID`, Tag 526.
2661    pub fn get_secondary_cl_ord_id(&self) -> Result<String, MessageRejectErrorEnum> {
2662        let mut fld = field::SecondaryClOrdIDField::new(String::new());
2663        self.message.body.get_field(tag::SECONDARY_CL_ORD_ID, &mut fld.0)?;
2664        Ok(fld.value().to_string())
2665    }
2666
2667
2668    /// Returns true if `SecondaryClOrdID` is present, Tag 526.
2669    pub fn has_secondary_cl_ord_id(&self) -> bool {
2670        self.message.body.has(tag::SECONDARY_CL_ORD_ID)
2671    }
2672
2673
2674
2675
2676    /// Sets `SecondaryExecID`, Tag 527.
2677    pub fn set_secondary_exec_id(&mut self, v: String) {
2678        self.message.body.set_field(tag::SECONDARY_EXEC_ID, FIXString::from(v));
2679    }
2680
2681    /// Gets `SecondaryExecID`, Tag 527.
2682    pub fn get_secondary_exec_id(&self) -> Result<String, MessageRejectErrorEnum> {
2683        let mut fld = field::SecondaryExecIDField::new(String::new());
2684        self.message.body.get_field(tag::SECONDARY_EXEC_ID, &mut fld.0)?;
2685        Ok(fld.value().to_string())
2686    }
2687
2688
2689    /// Returns true if `SecondaryExecID` is present, Tag 527.
2690    pub fn has_secondary_exec_id(&self) -> bool {
2691        self.message.body.has(tag::SECONDARY_EXEC_ID)
2692    }
2693
2694
2695
2696
2697    /// Sets `SecondaryOrderID`, Tag 198.
2698    pub fn set_secondary_order_id(&mut self, v: String) {
2699        self.message.body.set_field(tag::SECONDARY_ORDER_ID, FIXString::from(v));
2700    }
2701
2702    /// Gets `SecondaryOrderID`, Tag 198.
2703    pub fn get_secondary_order_id(&self) -> Result<String, MessageRejectErrorEnum> {
2704        let mut fld = field::SecondaryOrderIDField::new(String::new());
2705        self.message.body.get_field(tag::SECONDARY_ORDER_ID, &mut fld.0)?;
2706        Ok(fld.value().to_string())
2707    }
2708
2709
2710    /// Returns true if `SecondaryOrderID` is present, Tag 198.
2711    pub fn has_secondary_order_id(&self) -> bool {
2712        self.message.body.has(tag::SECONDARY_ORDER_ID)
2713    }
2714
2715
2716
2717
2718    /// Sets `SecurityDesc`, Tag 107.
2719    pub fn set_security_desc(&mut self, v: String) {
2720        self.message.body.set_field(tag::SECURITY_DESC, FIXString::from(v));
2721    }
2722
2723    /// Gets `SecurityDesc`, Tag 107.
2724    pub fn get_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
2725        let mut fld = field::SecurityDescField::new(String::new());
2726        self.message.body.get_field(tag::SECURITY_DESC, &mut fld.0)?;
2727        Ok(fld.value().to_string())
2728    }
2729
2730
2731    /// Returns true if `SecurityDesc` is present, Tag 107.
2732    pub fn has_security_desc(&self) -> bool {
2733        self.message.body.has(tag::SECURITY_DESC)
2734    }
2735
2736
2737
2738
2739    /// Sets `SecurityExchange`, Tag 207.
2740    pub fn set_security_exchange(&mut self, v: String) {
2741        self.message.body.set_field(tag::SECURITY_EXCHANGE, FIXString::from(v));
2742    }
2743
2744    /// Gets `SecurityExchange`, Tag 207.
2745    pub fn get_security_exchange(&self) -> Result<String, MessageRejectErrorEnum> {
2746        let mut fld = field::SecurityExchangeField::new(String::new());
2747        self.message.body.get_field(tag::SECURITY_EXCHANGE, &mut fld.0)?;
2748        Ok(fld.value().to_string())
2749    }
2750
2751
2752    /// Returns true if `SecurityExchange` is present, Tag 207.
2753    pub fn has_security_exchange(&self) -> bool {
2754        self.message.body.has(tag::SECURITY_EXCHANGE)
2755    }
2756
2757
2758
2759
2760    /// Sets `SecurityID`, Tag 48.
2761    pub fn set_security_id(&mut self, v: String) {
2762        self.message.body.set_field(tag::SECURITY_ID, FIXString::from(v));
2763    }
2764
2765    /// Gets `SecurityID`, Tag 48.
2766    pub fn get_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
2767        let mut fld = field::SecurityIDField::new(String::new());
2768        self.message.body.get_field(tag::SECURITY_ID, &mut fld.0)?;
2769        Ok(fld.value().to_string())
2770    }
2771
2772
2773    /// Returns true if `SecurityID` is present, Tag 48.
2774    pub fn has_security_id(&self) -> bool {
2775        self.message.body.has(tag::SECURITY_ID)
2776    }
2777
2778
2779
2780
2781    /// Sets `SecurityIDSource`, Tag 22.
2782    pub fn set_security_id_source(&mut self, v: String) {
2783        self.message.body.set_field(tag::SECURITY_ID_SOURCE, FIXString::from(v));
2784    }
2785
2786    /// Gets `SecurityIDSource`, Tag 22.
2787    pub fn get_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
2788        let mut fld = field::SecurityIDSourceField::new(String::new());
2789        self.message.body.get_field(tag::SECURITY_ID_SOURCE, &mut fld.0)?;
2790        Ok(fld.value().to_string())
2791    }
2792
2793
2794    /// Returns true if `SecurityIDSource` is present, Tag 22.
2795    pub fn has_security_id_source(&self) -> bool {
2796        self.message.body.has(tag::SECURITY_ID_SOURCE)
2797    }
2798
2799
2800
2801
2802    /// Sets `SecurityType`, Tag 167.
2803    pub fn set_security_type(&mut self, v: String) {
2804        self.message.body.set_field(tag::SECURITY_TYPE, FIXString::from(v));
2805    }
2806
2807    /// Gets `SecurityType`, Tag 167.
2808    pub fn get_security_type(&self) -> Result<String, MessageRejectErrorEnum> {
2809        let mut fld = field::SecurityTypeField::new(String::new());
2810        self.message.body.get_field(tag::SECURITY_TYPE, &mut fld.0)?;
2811        Ok(fld.value().to_string())
2812    }
2813
2814
2815    /// Returns true if `SecurityType` is present, Tag 167.
2816    pub fn has_security_type(&self) -> bool {
2817        self.message.body.has(tag::SECURITY_TYPE)
2818    }
2819
2820
2821
2822
2823    /// Sets `SettlCurrAmt`, Tag 119.
2824    pub fn set_settl_curr_amt(&mut self, val: Decimal, scale: i32) {
2825        self.message.body.set_field(tag::SETTL_CURR_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2826    }
2827
2828    /// Gets `SettlCurrAmt`, Tag 119.
2829    pub fn get_settl_curr_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2830        let mut fld = field::SettlCurrAmtField::new(Decimal::ZERO, 0);
2831        self.message.body.get_field(tag::SETTL_CURR_AMT, &mut fld.0)?;
2832        Ok(fld.value())
2833    }
2834
2835
2836    /// Returns true if `SettlCurrAmt` is present, Tag 119.
2837    pub fn has_settl_curr_amt(&self) -> bool {
2838        self.message.body.has(tag::SETTL_CURR_AMT)
2839    }
2840
2841
2842
2843
2844    /// Sets `SettlCurrFxRate`, Tag 155.
2845    pub fn set_settl_curr_fx_rate(&mut self, val: Decimal, scale: i32) {
2846        self.message.body.set_field(tag::SETTL_CURR_FX_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2847    }
2848
2849    /// Gets `SettlCurrFxRate`, Tag 155.
2850    pub fn get_settl_curr_fx_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2851        let mut fld = field::SettlCurrFxRateField::new(Decimal::ZERO, 0);
2852        self.message.body.get_field(tag::SETTL_CURR_FX_RATE, &mut fld.0)?;
2853        Ok(fld.value())
2854    }
2855
2856
2857    /// Returns true if `SettlCurrFxRate` is present, Tag 155.
2858    pub fn has_settl_curr_fx_rate(&self) -> bool {
2859        self.message.body.has(tag::SETTL_CURR_FX_RATE)
2860    }
2861
2862
2863
2864
2865    /// Sets `SettlCurrFxRateCalc`, Tag 156.
2866    pub fn set_settl_curr_fx_rate_calc(&mut self, v: String) {
2867        self.message.body.set_field(tag::SETTL_CURR_FX_RATE_CALC, FIXString::from(v));
2868    }
2869
2870    /// Gets `SettlCurrFxRateCalc`, Tag 156.
2871    pub fn get_settl_curr_fx_rate_calc(&self) -> Result<String, MessageRejectErrorEnum> {
2872        let mut fld = field::SettlCurrFxRateCalcField::new(String::new());
2873        self.message.body.get_field(tag::SETTL_CURR_FX_RATE_CALC, &mut fld.0)?;
2874        Ok(fld.value().to_string())
2875    }
2876
2877
2878    /// Returns true if `SettlCurrFxRateCalc` is present, Tag 156.
2879    pub fn has_settl_curr_fx_rate_calc(&self) -> bool {
2880        self.message.body.has(tag::SETTL_CURR_FX_RATE_CALC)
2881    }
2882
2883
2884
2885
2886    /// Sets `SettlCurrency`, Tag 120.
2887    pub fn set_settl_currency(&mut self, v: String) {
2888        self.message.body.set_field(tag::SETTL_CURRENCY, FIXString::from(v));
2889    }
2890
2891    /// Gets `SettlCurrency`, Tag 120.
2892    pub fn get_settl_currency(&self) -> Result<String, MessageRejectErrorEnum> {
2893        let mut fld = field::SettlCurrencyField::new(String::new());
2894        self.message.body.get_field(tag::SETTL_CURRENCY, &mut fld.0)?;
2895        Ok(fld.value().to_string())
2896    }
2897
2898
2899    /// Returns true if `SettlCurrency` is present, Tag 120.
2900    pub fn has_settl_currency(&self) -> bool {
2901        self.message.body.has(tag::SETTL_CURRENCY)
2902    }
2903
2904
2905
2906
2907    /// Sets `SettlmntTyp`, Tag 63.
2908    pub fn set_settlmnt_typ(&mut self, v: String) {
2909        self.message.body.set_field(tag::SETTLMNT_TYP, FIXString::from(v));
2910    }
2911
2912    /// Gets `SettlmntTyp`, Tag 63.
2913    pub fn get_settlmnt_typ(&self) -> Result<String, MessageRejectErrorEnum> {
2914        let mut fld = field::SettlmntTypField::new(String::new());
2915        self.message.body.get_field(tag::SETTLMNT_TYP, &mut fld.0)?;
2916        Ok(fld.value().to_string())
2917    }
2918
2919
2920    /// Returns true if `SettlmntTyp` is present, Tag 63.
2921    pub fn has_settlmnt_typ(&self) -> bool {
2922        self.message.body.has(tag::SETTLMNT_TYP)
2923    }
2924
2925
2926
2927
2928    /// Sets `Side`, Tag 54.
2929    pub fn set_side(&mut self, v: String) {
2930        self.message.body.set_field(tag::SIDE, FIXString::from(v));
2931    }
2932
2933    /// Gets `Side`, Tag 54.
2934    pub fn get_side(&self) -> Result<String, MessageRejectErrorEnum> {
2935        let mut fld = field::SideField::new(String::new());
2936        self.message.body.get_field(tag::SIDE, &mut fld.0)?;
2937        Ok(fld.value().to_string())
2938    }
2939
2940
2941    /// Returns true if `Side` is present, Tag 54.
2942    pub fn has_side(&self) -> bool {
2943        self.message.body.has(tag::SIDE)
2944    }
2945
2946
2947
2948
2949    /// Sets `SolicitedFlag`, Tag 377.
2950    pub fn set_solicited_flag(&mut self, v: bool) {
2951        self.message.body.set_field(tag::SOLICITED_FLAG, fixer::fix_boolean::FIXBoolean::from(v));
2952    }
2953
2954    /// Gets `SolicitedFlag`, Tag 377.
2955    pub fn get_solicited_flag(&self) -> Result<bool, MessageRejectErrorEnum> {
2956        let mut fld = field::SolicitedFlagField::new(false);
2957        self.message.body.get_field(tag::SOLICITED_FLAG, &mut fld.0)?;
2958        Ok(fld.value())
2959    }
2960
2961
2962    /// Returns true if `SolicitedFlag` is present, Tag 377.
2963    pub fn has_solicited_flag(&self) -> bool {
2964        self.message.body.has(tag::SOLICITED_FLAG)
2965    }
2966
2967
2968
2969
2970    /// Sets `Spread`, Tag 218.
2971    pub fn set_spread(&mut self, val: Decimal, scale: i32) {
2972        self.message.body.set_field(tag::SPREAD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2973    }
2974
2975    /// Gets `Spread`, Tag 218.
2976    pub fn get_spread(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2977        let mut fld = field::SpreadField::new(Decimal::ZERO, 0);
2978        self.message.body.get_field(tag::SPREAD, &mut fld.0)?;
2979        Ok(fld.value())
2980    }
2981
2982
2983    /// Returns true if `Spread` is present, Tag 218.
2984    pub fn has_spread(&self) -> bool {
2985        self.message.body.has(tag::SPREAD)
2986    }
2987
2988
2989
2990
2991    /// Sets `StateOrProvinceOfIssue`, Tag 471.
2992    pub fn set_state_or_province_of_issue(&mut self, v: String) {
2993        self.message.body.set_field(tag::STATE_OR_PROVINCE_OF_ISSUE, FIXString::from(v));
2994    }
2995
2996    /// Gets `StateOrProvinceOfIssue`, Tag 471.
2997    pub fn get_state_or_province_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
2998        let mut fld = field::StateOrProvinceOfIssueField::new(String::new());
2999        self.message.body.get_field(tag::STATE_OR_PROVINCE_OF_ISSUE, &mut fld.0)?;
3000        Ok(fld.value().to_string())
3001    }
3002
3003
3004    /// Returns true if `StateOrProvinceOfIssue` is present, Tag 471.
3005    pub fn has_state_or_province_of_issue(&self) -> bool {
3006        self.message.body.has(tag::STATE_OR_PROVINCE_OF_ISSUE)
3007    }
3008
3009
3010
3011
3012    /// Sets `StopPx`, Tag 99.
3013    pub fn set_stop_px(&mut self, val: Decimal, scale: i32) {
3014        self.message.body.set_field(tag::STOP_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3015    }
3016
3017    /// Gets `StopPx`, Tag 99.
3018    pub fn get_stop_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3019        let mut fld = field::StopPxField::new(Decimal::ZERO, 0);
3020        self.message.body.get_field(tag::STOP_PX, &mut fld.0)?;
3021        Ok(fld.value())
3022    }
3023
3024
3025    /// Returns true if `StopPx` is present, Tag 99.
3026    pub fn has_stop_px(&self) -> bool {
3027        self.message.body.has(tag::STOP_PX)
3028    }
3029
3030
3031
3032
3033    /// Sets `StrikePrice`, Tag 202.
3034    pub fn set_strike_price(&mut self, val: Decimal, scale: i32) {
3035        self.message.body.set_field(tag::STRIKE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3036    }
3037
3038    /// Gets `StrikePrice`, Tag 202.
3039    pub fn get_strike_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3040        let mut fld = field::StrikePriceField::new(Decimal::ZERO, 0);
3041        self.message.body.get_field(tag::STRIKE_PRICE, &mut fld.0)?;
3042        Ok(fld.value())
3043    }
3044
3045
3046    /// Returns true if `StrikePrice` is present, Tag 202.
3047    pub fn has_strike_price(&self) -> bool {
3048        self.message.body.has(tag::STRIKE_PRICE)
3049    }
3050
3051
3052
3053
3054    /// Sets `Symbol`, Tag 55.
3055    pub fn set_symbol(&mut self, v: String) {
3056        self.message.body.set_field(tag::SYMBOL, FIXString::from(v));
3057    }
3058
3059    /// Gets `Symbol`, Tag 55.
3060    pub fn get_symbol(&self) -> Result<String, MessageRejectErrorEnum> {
3061        let mut fld = field::SymbolField::new(String::new());
3062        self.message.body.get_field(tag::SYMBOL, &mut fld.0)?;
3063        Ok(fld.value().to_string())
3064    }
3065
3066
3067    /// Returns true if `Symbol` is present, Tag 55.
3068    pub fn has_symbol(&self) -> bool {
3069        self.message.body.has(tag::SYMBOL)
3070    }
3071
3072
3073
3074
3075    /// Sets `SymbolSfx`, Tag 65.
3076    pub fn set_symbol_sfx(&mut self, v: String) {
3077        self.message.body.set_field(tag::SYMBOL_SFX, FIXString::from(v));
3078    }
3079
3080    /// Gets `SymbolSfx`, Tag 65.
3081    pub fn get_symbol_sfx(&self) -> Result<String, MessageRejectErrorEnum> {
3082        let mut fld = field::SymbolSfxField::new(String::new());
3083        self.message.body.get_field(tag::SYMBOL_SFX, &mut fld.0)?;
3084        Ok(fld.value().to_string())
3085    }
3086
3087
3088    /// Returns true if `SymbolSfx` is present, Tag 65.
3089    pub fn has_symbol_sfx(&self) -> bool {
3090        self.message.body.has(tag::SYMBOL_SFX)
3091    }
3092
3093
3094
3095
3096    /// Sets `Text`, Tag 58.
3097    pub fn set_text(&mut self, v: String) {
3098        self.message.body.set_field(tag::TEXT, FIXString::from(v));
3099    }
3100
3101    /// Gets `Text`, Tag 58.
3102    pub fn get_text(&self) -> Result<String, MessageRejectErrorEnum> {
3103        let mut fld = field::TextField::new(String::new());
3104        self.message.body.get_field(tag::TEXT, &mut fld.0)?;
3105        Ok(fld.value().to_string())
3106    }
3107
3108
3109    /// Returns true if `Text` is present, Tag 58.
3110    pub fn has_text(&self) -> bool {
3111        self.message.body.has(tag::TEXT)
3112    }
3113
3114
3115
3116
3117    /// Sets `TimeInForce`, Tag 59.
3118    pub fn set_time_in_force(&mut self, v: String) {
3119        self.message.body.set_field(tag::TIME_IN_FORCE, FIXString::from(v));
3120    }
3121
3122    /// Gets `TimeInForce`, Tag 59.
3123    pub fn get_time_in_force(&self) -> Result<String, MessageRejectErrorEnum> {
3124        let mut fld = field::TimeInForceField::new(String::new());
3125        self.message.body.get_field(tag::TIME_IN_FORCE, &mut fld.0)?;
3126        Ok(fld.value().to_string())
3127    }
3128
3129
3130    /// Returns true if `TimeInForce` is present, Tag 59.
3131    pub fn has_time_in_force(&self) -> bool {
3132        self.message.body.has(tag::TIME_IN_FORCE)
3133    }
3134
3135
3136
3137
3138    /// Sets `TotalTakedown`, Tag 237.
3139    pub fn set_total_takedown(&mut self, val: Decimal, scale: i32) {
3140        self.message.body.set_field(tag::TOTAL_TAKEDOWN, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3141    }
3142
3143    /// Gets `TotalTakedown`, Tag 237.
3144    pub fn get_total_takedown(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3145        let mut fld = field::TotalTakedownField::new(Decimal::ZERO, 0);
3146        self.message.body.get_field(tag::TOTAL_TAKEDOWN, &mut fld.0)?;
3147        Ok(fld.value())
3148    }
3149
3150
3151    /// Returns true if `TotalTakedown` is present, Tag 237.
3152    pub fn has_total_takedown(&self) -> bool {
3153        self.message.body.has(tag::TOTAL_TAKEDOWN)
3154    }
3155
3156
3157
3158
3159    /// Sets `TradeDate`, Tag 75.
3160    pub fn set_trade_date(&mut self, v: String) {
3161        self.message.body.set_field(tag::TRADE_DATE, FIXString::from(v));
3162    }
3163
3164    /// Gets `TradeDate`, Tag 75.
3165    pub fn get_trade_date(&self) -> Result<String, MessageRejectErrorEnum> {
3166        let mut fld = field::TradeDateField::new(String::new());
3167        self.message.body.get_field(tag::TRADE_DATE, &mut fld.0)?;
3168        Ok(fld.value().to_string())
3169    }
3170
3171
3172    /// Returns true if `TradeDate` is present, Tag 75.
3173    pub fn has_trade_date(&self) -> bool {
3174        self.message.body.has(tag::TRADE_DATE)
3175    }
3176
3177
3178
3179
3180    /// Sets `TradeOriginationDate`, Tag 229.
3181    pub fn set_trade_origination_date(&mut self, v: String) {
3182        self.message.body.set_field(tag::TRADE_ORIGINATION_DATE, FIXString::from(v));
3183    }
3184
3185    /// Gets `TradeOriginationDate`, Tag 229.
3186    pub fn get_trade_origination_date(&self) -> Result<String, MessageRejectErrorEnum> {
3187        let mut fld = field::TradeOriginationDateField::new(String::new());
3188        self.message.body.get_field(tag::TRADE_ORIGINATION_DATE, &mut fld.0)?;
3189        Ok(fld.value().to_string())
3190    }
3191
3192
3193    /// Returns true if `TradeOriginationDate` is present, Tag 229.
3194    pub fn has_trade_origination_date(&self) -> bool {
3195        self.message.body.has(tag::TRADE_ORIGINATION_DATE)
3196    }
3197
3198
3199
3200
3201    /// Sets `TradedFlatSwitch`, Tag 258.
3202    pub fn set_traded_flat_switch(&mut self, v: bool) {
3203        self.message.body.set_field(tag::TRADED_FLAT_SWITCH, fixer::fix_boolean::FIXBoolean::from(v));
3204    }
3205
3206    /// Gets `TradedFlatSwitch`, Tag 258.
3207    pub fn get_traded_flat_switch(&self) -> Result<bool, MessageRejectErrorEnum> {
3208        let mut fld = field::TradedFlatSwitchField::new(false);
3209        self.message.body.get_field(tag::TRADED_FLAT_SWITCH, &mut fld.0)?;
3210        Ok(fld.value())
3211    }
3212
3213
3214    /// Returns true if `TradedFlatSwitch` is present, Tag 258.
3215    pub fn has_traded_flat_switch(&self) -> bool {
3216        self.message.body.has(tag::TRADED_FLAT_SWITCH)
3217    }
3218
3219
3220
3221
3222    /// Sets `TradingSessionID`, Tag 336.
3223    pub fn set_trading_session_id(&mut self, v: String) {
3224        self.message.body.set_field(tag::TRADING_SESSION_ID, FIXString::from(v));
3225    }
3226
3227    /// Gets `TradingSessionID`, Tag 336.
3228    pub fn get_trading_session_id(&self) -> Result<String, MessageRejectErrorEnum> {
3229        let mut fld = field::TradingSessionIDField::new(String::new());
3230        self.message.body.get_field(tag::TRADING_SESSION_ID, &mut fld.0)?;
3231        Ok(fld.value().to_string())
3232    }
3233
3234
3235    /// Returns true if `TradingSessionID` is present, Tag 336.
3236    pub fn has_trading_session_id(&self) -> bool {
3237        self.message.body.has(tag::TRADING_SESSION_ID)
3238    }
3239
3240
3241
3242
3243    /// Sets `TradingSessionSubID`, Tag 625.
3244    pub fn set_trading_session_sub_id(&mut self, v: String) {
3245        self.message.body.set_field(tag::TRADING_SESSION_SUB_ID, FIXString::from(v));
3246    }
3247
3248    /// Gets `TradingSessionSubID`, Tag 625.
3249    pub fn get_trading_session_sub_id(&self) -> Result<String, MessageRejectErrorEnum> {
3250        let mut fld = field::TradingSessionSubIDField::new(String::new());
3251        self.message.body.get_field(tag::TRADING_SESSION_SUB_ID, &mut fld.0)?;
3252        Ok(fld.value().to_string())
3253    }
3254
3255
3256    /// Returns true if `TradingSessionSubID` is present, Tag 625.
3257    pub fn has_trading_session_sub_id(&self) -> bool {
3258        self.message.body.has(tag::TRADING_SESSION_SUB_ID)
3259    }
3260
3261
3262
3263
3264    /// Sets `TransBkdTime`, Tag 483.
3265    pub fn set_trans_bkd_time(&mut self, v: Timestamp) {
3266        self.message.body.set_field(tag::TRANS_BKD_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
3267            time: v,
3268            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
3269        });
3270    }
3271
3272    /// Gets `TransBkdTime`, Tag 483.
3273    pub fn get_trans_bkd_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
3274        let mut fld = field::TransBkdTimeField::new(Timestamp::UNIX_EPOCH);
3275        self.message.body.get_field(tag::TRANS_BKD_TIME, &mut fld.0)?;
3276        Ok(fld.value())
3277    }
3278
3279
3280    /// Returns true if `TransBkdTime` is present, Tag 483.
3281    pub fn has_trans_bkd_time(&self) -> bool {
3282        self.message.body.has(tag::TRANS_BKD_TIME)
3283    }
3284
3285
3286
3287
3288    /// Sets `TransactTime`, Tag 60.
3289    pub fn set_transact_time(&mut self, v: Timestamp) {
3290        self.message.body.set_field(tag::TRANSACT_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
3291            time: v,
3292            precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
3293        });
3294    }
3295
3296    /// Gets `TransactTime`, Tag 60.
3297    pub fn get_transact_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
3298        let mut fld = field::TransactTimeField::new(Timestamp::UNIX_EPOCH);
3299        self.message.body.get_field(tag::TRANSACT_TIME, &mut fld.0)?;
3300        Ok(fld.value())
3301    }
3302
3303
3304    /// Returns true if `TransactTime` is present, Tag 60.
3305    pub fn has_transact_time(&self) -> bool {
3306        self.message.body.has(tag::TRANSACT_TIME)
3307    }
3308
3309
3310
3311
3312    /// Sets `UnderlyingLastPx`, Tag 651.
3313    pub fn set_underlying_last_px(&mut self, val: Decimal, scale: i32) {
3314        self.message.body.set_field(tag::UNDERLYING_LAST_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3315    }
3316
3317    /// Gets `UnderlyingLastPx`, Tag 651.
3318    pub fn get_underlying_last_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3319        let mut fld = field::UnderlyingLastPxField::new(Decimal::ZERO, 0);
3320        self.message.body.get_field(tag::UNDERLYING_LAST_PX, &mut fld.0)?;
3321        Ok(fld.value())
3322    }
3323
3324
3325    /// Returns true if `UnderlyingLastPx` is present, Tag 651.
3326    pub fn has_underlying_last_px(&self) -> bool {
3327        self.message.body.has(tag::UNDERLYING_LAST_PX)
3328    }
3329
3330
3331
3332
3333    /// Sets `UnderlyingLastQty`, Tag 652.
3334    pub fn set_underlying_last_qty(&mut self, val: Decimal, scale: i32) {
3335        self.message.body.set_field(tag::UNDERLYING_LAST_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3336    }
3337
3338    /// Gets `UnderlyingLastQty`, Tag 652.
3339    pub fn get_underlying_last_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3340        let mut fld = field::UnderlyingLastQtyField::new(Decimal::ZERO, 0);
3341        self.message.body.get_field(tag::UNDERLYING_LAST_QTY, &mut fld.0)?;
3342        Ok(fld.value())
3343    }
3344
3345
3346    /// Returns true if `UnderlyingLastQty` is present, Tag 652.
3347    pub fn has_underlying_last_qty(&self) -> bool {
3348        self.message.body.has(tag::UNDERLYING_LAST_QTY)
3349    }
3350
3351
3352
3353
3354    /// Sets `WorkingIndicator`, Tag 636.
3355    pub fn set_working_indicator(&mut self, v: bool) {
3356        self.message.body.set_field(tag::WORKING_INDICATOR, fixer::fix_boolean::FIXBoolean::from(v));
3357    }
3358
3359    /// Gets `WorkingIndicator`, Tag 636.
3360    pub fn get_working_indicator(&self) -> Result<bool, MessageRejectErrorEnum> {
3361        let mut fld = field::WorkingIndicatorField::new(false);
3362        self.message.body.get_field(tag::WORKING_INDICATOR, &mut fld.0)?;
3363        Ok(fld.value())
3364    }
3365
3366
3367    /// Returns true if `WorkingIndicator` is present, Tag 636.
3368    pub fn has_working_indicator(&self) -> bool {
3369        self.message.body.has(tag::WORKING_INDICATOR)
3370    }
3371
3372
3373
3374
3375    /// Sets `Yield`, Tag 236.
3376    pub fn set_yield(&mut self, val: Decimal, scale: i32) {
3377        self.message.body.set_field(tag::YIELD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3378    }
3379
3380    /// Gets `Yield`, Tag 236.
3381    pub fn get_yield(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3382        let mut fld = field::YieldField::new(Decimal::ZERO, 0);
3383        self.message.body.get_field(tag::YIELD, &mut fld.0)?;
3384        Ok(fld.value())
3385    }
3386
3387
3388    /// Returns true if `Yield` is present, Tag 236.
3389    pub fn has_yield(&self) -> bool {
3390        self.message.body.has(tag::YIELD)
3391    }
3392
3393
3394
3395
3396    /// Sets `YieldType`, Tag 235.
3397    pub fn set_yield_type(&mut self, v: String) {
3398        self.message.body.set_field(tag::YIELD_TYPE, FIXString::from(v));
3399    }
3400
3401    /// Gets `YieldType`, Tag 235.
3402    pub fn get_yield_type(&self) -> Result<String, MessageRejectErrorEnum> {
3403        let mut fld = field::YieldTypeField::new(String::new());
3404        self.message.body.get_field(tag::YIELD_TYPE, &mut fld.0)?;
3405        Ok(fld.value().to_string())
3406    }
3407
3408
3409    /// Returns true if `YieldType` is present, Tag 235.
3410    pub fn has_yield_type(&self) -> bool {
3411        self.message.body.has(tag::YIELD_TYPE)
3412    }
3413
3414
3415}
3416
3417/// `RouteOut` is the callback type for routing `ExecutionReport` messages.
3418pub type RouteOut = fn(msg: ExecutionReport, session_id: SessionID) -> Result<(), MessageRejectErrorEnum>;
3419
3420/// Route type returned by the `route` function.
3421pub type Route = (&'static str, &'static str, Box<dyn Fn(&Message, SessionID) -> Result<(), MessageRejectErrorEnum> + Send>);
3422
3423/// Returns the begin string, message type, and route function for `ExecutionReport`.
3424pub fn route(router: RouteOut) -> Route {
3425    let r = move |msg: &Message, session_id: SessionID| -> Result<(), MessageRejectErrorEnum> {
3426        router(ExecutionReport::from_message(msg.clone()), session_id)
3427    };
3428    ("FIX.4.3", "8", Box::new(r))
3429}