1#![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
20pub struct ExecutionReport {
22 pub message: Message,
23}
24
25impl ExecutionReport {
26 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 pub fn from_message(msg: Message) -> Self {
52 Self { message: msg }
53 }
54
55 pub fn to_message(self) -> Message {
57 self.message
58 }
59
60
61
62
63 pub fn set_account(&mut self, v: String) {
65 self.message.body.set_field(tag::ACCOUNT, FIXString::from(v));
66 }
67
68 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 pub fn has_account(&self) -> bool {
78 self.message.body.has(tag::ACCOUNT)
79 }
80
81
82
83
84 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 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 pub fn has_account_type(&self) -> bool {
99 self.message.body.has(tag::ACCOUNT_TYPE)
100 }
101
102
103
104
105 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 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 pub fn has_accrued_interest_amt(&self) -> bool {
120 self.message.body.has(tag::ACCRUED_INTEREST_AMT)
121 }
122
123
124
125
126 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 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 pub fn has_accrued_interest_rate(&self) -> bool {
141 self.message.body.has(tag::ACCRUED_INTEREST_RATE)
142 }
143
144
145
146
147 pub fn set_acct_id_source(&mut self, v: isize) {
149 self.message.body.set_field(tag::ACCT_ID_SOURCE, fixer::fix_int::FIXInt::from(v));
150 }
151
152 pub fn get_acct_id_source(&self) -> Result<isize, MessageRejectErrorEnum> {
154 let mut fld = field::AcctIDSourceField::new(0);
155 self.message.body.get_field(tag::ACCT_ID_SOURCE, &mut fld.0)?;
156 Ok(fld.value())
157 }
158
159
160 pub fn has_acct_id_source(&self) -> bool {
162 self.message.body.has(tag::ACCT_ID_SOURCE)
163 }
164
165
166
167
168 pub fn set_agreement_currency(&mut self, v: String) {
170 self.message.body.set_field(tag::AGREEMENT_CURRENCY, FIXString::from(v));
171 }
172
173 pub fn get_agreement_currency(&self) -> Result<String, MessageRejectErrorEnum> {
175 let mut fld = field::AgreementCurrencyField::new(String::new());
176 self.message.body.get_field(tag::AGREEMENT_CURRENCY, &mut fld.0)?;
177 Ok(fld.value().to_string())
178 }
179
180
181 pub fn has_agreement_currency(&self) -> bool {
183 self.message.body.has(tag::AGREEMENT_CURRENCY)
184 }
185
186
187
188
189 pub fn set_agreement_date(&mut self, v: String) {
191 self.message.body.set_field(tag::AGREEMENT_DATE, FIXString::from(v));
192 }
193
194 pub fn get_agreement_date(&self) -> Result<String, MessageRejectErrorEnum> {
196 let mut fld = field::AgreementDateField::new(String::new());
197 self.message.body.get_field(tag::AGREEMENT_DATE, &mut fld.0)?;
198 Ok(fld.value().to_string())
199 }
200
201
202 pub fn has_agreement_date(&self) -> bool {
204 self.message.body.has(tag::AGREEMENT_DATE)
205 }
206
207
208
209
210 pub fn set_agreement_desc(&mut self, v: String) {
212 self.message.body.set_field(tag::AGREEMENT_DESC, FIXString::from(v));
213 }
214
215 pub fn get_agreement_desc(&self) -> Result<String, MessageRejectErrorEnum> {
217 let mut fld = field::AgreementDescField::new(String::new());
218 self.message.body.get_field(tag::AGREEMENT_DESC, &mut fld.0)?;
219 Ok(fld.value().to_string())
220 }
221
222
223 pub fn has_agreement_desc(&self) -> bool {
225 self.message.body.has(tag::AGREEMENT_DESC)
226 }
227
228
229
230
231 pub fn set_agreement_id(&mut self, v: String) {
233 self.message.body.set_field(tag::AGREEMENT_ID, FIXString::from(v));
234 }
235
236 pub fn get_agreement_id(&self) -> Result<String, MessageRejectErrorEnum> {
238 let mut fld = field::AgreementIDField::new(String::new());
239 self.message.body.get_field(tag::AGREEMENT_ID, &mut fld.0)?;
240 Ok(fld.value().to_string())
241 }
242
243
244 pub fn has_agreement_id(&self) -> bool {
246 self.message.body.has(tag::AGREEMENT_ID)
247 }
248
249
250
251
252 pub fn set_avg_px(&mut self, val: Decimal, scale: i32) {
254 self.message.body.set_field(tag::AVG_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
255 }
256
257 pub fn get_avg_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
259 let mut fld = field::AvgPxField::new(Decimal::ZERO, 0);
260 self.message.body.get_field(tag::AVG_PX, &mut fld.0)?;
261 Ok(fld.value())
262 }
263
264
265 pub fn has_avg_px(&self) -> bool {
267 self.message.body.has(tag::AVG_PX)
268 }
269
270
271
272
273 pub fn set_basis_feature_date(&mut self, v: String) {
275 self.message.body.set_field(tag::BASIS_FEATURE_DATE, FIXString::from(v));
276 }
277
278 pub fn get_basis_feature_date(&self) -> Result<String, MessageRejectErrorEnum> {
280 let mut fld = field::BasisFeatureDateField::new(String::new());
281 self.message.body.get_field(tag::BASIS_FEATURE_DATE, &mut fld.0)?;
282 Ok(fld.value().to_string())
283 }
284
285
286 pub fn has_basis_feature_date(&self) -> bool {
288 self.message.body.has(tag::BASIS_FEATURE_DATE)
289 }
290
291
292
293
294 pub fn set_basis_feature_price(&mut self, val: Decimal, scale: i32) {
296 self.message.body.set_field(tag::BASIS_FEATURE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
297 }
298
299 pub fn get_basis_feature_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
301 let mut fld = field::BasisFeaturePriceField::new(Decimal::ZERO, 0);
302 self.message.body.get_field(tag::BASIS_FEATURE_PRICE, &mut fld.0)?;
303 Ok(fld.value())
304 }
305
306
307 pub fn has_basis_feature_price(&self) -> bool {
309 self.message.body.has(tag::BASIS_FEATURE_PRICE)
310 }
311
312
313
314
315 pub fn set_benchmark_curve_currency(&mut self, v: String) {
317 self.message.body.set_field(tag::BENCHMARK_CURVE_CURRENCY, FIXString::from(v));
318 }
319
320 pub fn get_benchmark_curve_currency(&self) -> Result<String, MessageRejectErrorEnum> {
322 let mut fld = field::BenchmarkCurveCurrencyField::new(String::new());
323 self.message.body.get_field(tag::BENCHMARK_CURVE_CURRENCY, &mut fld.0)?;
324 Ok(fld.value().to_string())
325 }
326
327
328 pub fn has_benchmark_curve_currency(&self) -> bool {
330 self.message.body.has(tag::BENCHMARK_CURVE_CURRENCY)
331 }
332
333
334
335
336 pub fn set_benchmark_curve_name(&mut self, v: String) {
338 self.message.body.set_field(tag::BENCHMARK_CURVE_NAME, FIXString::from(v));
339 }
340
341 pub fn get_benchmark_curve_name(&self) -> Result<String, MessageRejectErrorEnum> {
343 let mut fld = field::BenchmarkCurveNameField::new(String::new());
344 self.message.body.get_field(tag::BENCHMARK_CURVE_NAME, &mut fld.0)?;
345 Ok(fld.value().to_string())
346 }
347
348
349 pub fn has_benchmark_curve_name(&self) -> bool {
351 self.message.body.has(tag::BENCHMARK_CURVE_NAME)
352 }
353
354
355
356
357 pub fn set_benchmark_curve_point(&mut self, v: String) {
359 self.message.body.set_field(tag::BENCHMARK_CURVE_POINT, FIXString::from(v));
360 }
361
362 pub fn get_benchmark_curve_point(&self) -> Result<String, MessageRejectErrorEnum> {
364 let mut fld = field::BenchmarkCurvePointField::new(String::new());
365 self.message.body.get_field(tag::BENCHMARK_CURVE_POINT, &mut fld.0)?;
366 Ok(fld.value().to_string())
367 }
368
369
370 pub fn has_benchmark_curve_point(&self) -> bool {
372 self.message.body.has(tag::BENCHMARK_CURVE_POINT)
373 }
374
375
376
377
378 pub fn set_benchmark_price(&mut self, val: Decimal, scale: i32) {
380 self.message.body.set_field(tag::BENCHMARK_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
381 }
382
383 pub fn get_benchmark_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
385 let mut fld = field::BenchmarkPriceField::new(Decimal::ZERO, 0);
386 self.message.body.get_field(tag::BENCHMARK_PRICE, &mut fld.0)?;
387 Ok(fld.value())
388 }
389
390
391 pub fn has_benchmark_price(&self) -> bool {
393 self.message.body.has(tag::BENCHMARK_PRICE)
394 }
395
396
397
398
399 pub fn set_benchmark_price_type(&mut self, v: isize) {
401 self.message.body.set_field(tag::BENCHMARK_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
402 }
403
404 pub fn get_benchmark_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
406 let mut fld = field::BenchmarkPriceTypeField::new(0);
407 self.message.body.get_field(tag::BENCHMARK_PRICE_TYPE, &mut fld.0)?;
408 Ok(fld.value())
409 }
410
411
412 pub fn has_benchmark_price_type(&self) -> bool {
414 self.message.body.has(tag::BENCHMARK_PRICE_TYPE)
415 }
416
417
418
419
420 pub fn set_benchmark_security_id(&mut self, v: String) {
422 self.message.body.set_field(tag::BENCHMARK_SECURITY_ID, FIXString::from(v));
423 }
424
425 pub fn get_benchmark_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
427 let mut fld = field::BenchmarkSecurityIDField::new(String::new());
428 self.message.body.get_field(tag::BENCHMARK_SECURITY_ID, &mut fld.0)?;
429 Ok(fld.value().to_string())
430 }
431
432
433 pub fn has_benchmark_security_id(&self) -> bool {
435 self.message.body.has(tag::BENCHMARK_SECURITY_ID)
436 }
437
438
439
440
441 pub fn set_benchmark_security_id_source(&mut self, v: String) {
443 self.message.body.set_field(tag::BENCHMARK_SECURITY_ID_SOURCE, FIXString::from(v));
444 }
445
446 pub fn get_benchmark_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
448 let mut fld = field::BenchmarkSecurityIDSourceField::new(String::new());
449 self.message.body.get_field(tag::BENCHMARK_SECURITY_ID_SOURCE, &mut fld.0)?;
450 Ok(fld.value().to_string())
451 }
452
453
454 pub fn has_benchmark_security_id_source(&self) -> bool {
456 self.message.body.has(tag::BENCHMARK_SECURITY_ID_SOURCE)
457 }
458
459
460
461
462 pub fn set_booking_type(&mut self, v: isize) {
464 self.message.body.set_field(tag::BOOKING_TYPE, fixer::fix_int::FIXInt::from(v));
465 }
466
467 pub fn get_booking_type(&self) -> Result<isize, MessageRejectErrorEnum> {
469 let mut fld = field::BookingTypeField::new(0);
470 self.message.body.get_field(tag::BOOKING_TYPE, &mut fld.0)?;
471 Ok(fld.value())
472 }
473
474
475 pub fn has_booking_type(&self) -> bool {
477 self.message.body.has(tag::BOOKING_TYPE)
478 }
479
480
481
482
483 pub fn set_booking_unit(&mut self, v: String) {
485 self.message.body.set_field(tag::BOOKING_UNIT, FIXString::from(v));
486 }
487
488 pub fn get_booking_unit(&self) -> Result<String, MessageRejectErrorEnum> {
490 let mut fld = field::BookingUnitField::new(String::new());
491 self.message.body.get_field(tag::BOOKING_UNIT, &mut fld.0)?;
492 Ok(fld.value().to_string())
493 }
494
495
496 pub fn has_booking_unit(&self) -> bool {
498 self.message.body.has(tag::BOOKING_UNIT)
499 }
500
501
502
503
504 pub fn set_cfi_code(&mut self, v: String) {
506 self.message.body.set_field(tag::CFI_CODE, FIXString::from(v));
507 }
508
509 pub fn get_cfi_code(&self) -> Result<String, MessageRejectErrorEnum> {
511 let mut fld = field::CFICodeField::new(String::new());
512 self.message.body.get_field(tag::CFI_CODE, &mut fld.0)?;
513 Ok(fld.value().to_string())
514 }
515
516
517 pub fn has_cfi_code(&self) -> bool {
519 self.message.body.has(tag::CFI_CODE)
520 }
521
522
523
524
525 pub fn set_cp_program(&mut self, v: isize) {
527 self.message.body.set_field(tag::CP_PROGRAM, fixer::fix_int::FIXInt::from(v));
528 }
529
530 pub fn get_cp_program(&self) -> Result<isize, MessageRejectErrorEnum> {
532 let mut fld = field::CPProgramField::new(0);
533 self.message.body.get_field(tag::CP_PROGRAM, &mut fld.0)?;
534 Ok(fld.value())
535 }
536
537
538 pub fn has_cp_program(&self) -> bool {
540 self.message.body.has(tag::CP_PROGRAM)
541 }
542
543
544
545
546 pub fn set_cp_reg_type(&mut self, v: String) {
548 self.message.body.set_field(tag::CP_REG_TYPE, FIXString::from(v));
549 }
550
551 pub fn get_cp_reg_type(&self) -> Result<String, MessageRejectErrorEnum> {
553 let mut fld = field::CPRegTypeField::new(String::new());
554 self.message.body.get_field(tag::CP_REG_TYPE, &mut fld.0)?;
555 Ok(fld.value().to_string())
556 }
557
558
559 pub fn has_cp_reg_type(&self) -> bool {
561 self.message.body.has(tag::CP_REG_TYPE)
562 }
563
564
565
566
567 pub fn set_cancellation_rights(&mut self, v: String) {
569 self.message.body.set_field(tag::CANCELLATION_RIGHTS, FIXString::from(v));
570 }
571
572 pub fn get_cancellation_rights(&self) -> Result<String, MessageRejectErrorEnum> {
574 let mut fld = field::CancellationRightsField::new(String::new());
575 self.message.body.get_field(tag::CANCELLATION_RIGHTS, &mut fld.0)?;
576 Ok(fld.value().to_string())
577 }
578
579
580 pub fn has_cancellation_rights(&self) -> bool {
582 self.message.body.has(tag::CANCELLATION_RIGHTS)
583 }
584
585
586
587
588 pub fn set_cash_margin(&mut self, v: String) {
590 self.message.body.set_field(tag::CASH_MARGIN, FIXString::from(v));
591 }
592
593 pub fn get_cash_margin(&self) -> Result<String, MessageRejectErrorEnum> {
595 let mut fld = field::CashMarginField::new(String::new());
596 self.message.body.get_field(tag::CASH_MARGIN, &mut fld.0)?;
597 Ok(fld.value().to_string())
598 }
599
600
601 pub fn has_cash_margin(&self) -> bool {
603 self.message.body.has(tag::CASH_MARGIN)
604 }
605
606
607
608
609 pub fn set_cash_order_qty(&mut self, val: Decimal, scale: i32) {
611 self.message.body.set_field(tag::CASH_ORDER_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
612 }
613
614 pub fn get_cash_order_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
616 let mut fld = field::CashOrderQtyField::new(Decimal::ZERO, 0);
617 self.message.body.get_field(tag::CASH_ORDER_QTY, &mut fld.0)?;
618 Ok(fld.value())
619 }
620
621
622 pub fn has_cash_order_qty(&self) -> bool {
624 self.message.body.has(tag::CASH_ORDER_QTY)
625 }
626
627
628
629
630 pub fn set_cl_ord_id(&mut self, v: String) {
632 self.message.body.set_field(tag::CL_ORD_ID, FIXString::from(v));
633 }
634
635 pub fn get_cl_ord_id(&self) -> Result<String, MessageRejectErrorEnum> {
637 let mut fld = field::ClOrdIDField::new(String::new());
638 self.message.body.get_field(tag::CL_ORD_ID, &mut fld.0)?;
639 Ok(fld.value().to_string())
640 }
641
642
643 pub fn has_cl_ord_id(&self) -> bool {
645 self.message.body.has(tag::CL_ORD_ID)
646 }
647
648
649
650
651 pub fn set_cl_ord_link_id(&mut self, v: String) {
653 self.message.body.set_field(tag::CL_ORD_LINK_ID, FIXString::from(v));
654 }
655
656 pub fn get_cl_ord_link_id(&self) -> Result<String, MessageRejectErrorEnum> {
658 let mut fld = field::ClOrdLinkIDField::new(String::new());
659 self.message.body.get_field(tag::CL_ORD_LINK_ID, &mut fld.0)?;
660 Ok(fld.value().to_string())
661 }
662
663
664 pub fn has_cl_ord_link_id(&self) -> bool {
666 self.message.body.has(tag::CL_ORD_LINK_ID)
667 }
668
669
670
671
672 pub fn set_clearing_fee_indicator(&mut self, v: String) {
674 self.message.body.set_field(tag::CLEARING_FEE_INDICATOR, FIXString::from(v));
675 }
676
677 pub fn get_clearing_fee_indicator(&self) -> Result<String, MessageRejectErrorEnum> {
679 let mut fld = field::ClearingFeeIndicatorField::new(String::new());
680 self.message.body.get_field(tag::CLEARING_FEE_INDICATOR, &mut fld.0)?;
681 Ok(fld.value().to_string())
682 }
683
684
685 pub fn has_clearing_fee_indicator(&self) -> bool {
687 self.message.body.has(tag::CLEARING_FEE_INDICATOR)
688 }
689
690
691
692
693 pub fn set_comm_currency(&mut self, v: String) {
695 self.message.body.set_field(tag::COMM_CURRENCY, FIXString::from(v));
696 }
697
698 pub fn get_comm_currency(&self) -> Result<String, MessageRejectErrorEnum> {
700 let mut fld = field::CommCurrencyField::new(String::new());
701 self.message.body.get_field(tag::COMM_CURRENCY, &mut fld.0)?;
702 Ok(fld.value().to_string())
703 }
704
705
706 pub fn has_comm_currency(&self) -> bool {
708 self.message.body.has(tag::COMM_CURRENCY)
709 }
710
711
712
713
714 pub fn set_comm_type(&mut self, v: String) {
716 self.message.body.set_field(tag::COMM_TYPE, FIXString::from(v));
717 }
718
719 pub fn get_comm_type(&self) -> Result<String, MessageRejectErrorEnum> {
721 let mut fld = field::CommTypeField::new(String::new());
722 self.message.body.get_field(tag::COMM_TYPE, &mut fld.0)?;
723 Ok(fld.value().to_string())
724 }
725
726
727 pub fn has_comm_type(&self) -> bool {
729 self.message.body.has(tag::COMM_TYPE)
730 }
731
732
733
734
735 pub fn set_commission(&mut self, val: Decimal, scale: i32) {
737 self.message.body.set_field(tag::COMMISSION, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
738 }
739
740 pub fn get_commission(&self) -> Result<Decimal, MessageRejectErrorEnum> {
742 let mut fld = field::CommissionField::new(Decimal::ZERO, 0);
743 self.message.body.get_field(tag::COMMISSION, &mut fld.0)?;
744 Ok(fld.value())
745 }
746
747
748 pub fn has_commission(&self) -> bool {
750 self.message.body.has(tag::COMMISSION)
751 }
752
753
754
755
756 pub fn set_compliance_id(&mut self, v: String) {
758 self.message.body.set_field(tag::COMPLIANCE_ID, FIXString::from(v));
759 }
760
761 pub fn get_compliance_id(&self) -> Result<String, MessageRejectErrorEnum> {
763 let mut fld = field::ComplianceIDField::new(String::new());
764 self.message.body.get_field(tag::COMPLIANCE_ID, &mut fld.0)?;
765 Ok(fld.value().to_string())
766 }
767
768
769 pub fn has_compliance_id(&self) -> bool {
771 self.message.body.has(tag::COMPLIANCE_ID)
772 }
773
774
775
776
777 pub fn set_concession(&mut self, val: Decimal, scale: i32) {
779 self.message.body.set_field(tag::CONCESSION, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
780 }
781
782 pub fn get_concession(&self) -> Result<Decimal, MessageRejectErrorEnum> {
784 let mut fld = field::ConcessionField::new(Decimal::ZERO, 0);
785 self.message.body.get_field(tag::CONCESSION, &mut fld.0)?;
786 Ok(fld.value())
787 }
788
789
790 pub fn has_concession(&self) -> bool {
792 self.message.body.has(tag::CONCESSION)
793 }
794
795
796
797
798 pub fn set_contract_multiplier(&mut self, val: Decimal, scale: i32) {
800 self.message.body.set_field(tag::CONTRACT_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
801 }
802
803 pub fn get_contract_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
805 let mut fld = field::ContractMultiplierField::new(Decimal::ZERO, 0);
806 self.message.body.get_field(tag::CONTRACT_MULTIPLIER, &mut fld.0)?;
807 Ok(fld.value())
808 }
809
810
811 pub fn has_contract_multiplier(&self) -> bool {
813 self.message.body.has(tag::CONTRACT_MULTIPLIER)
814 }
815
816
817
818
819 pub fn set_contract_settl_month(&mut self, v: String) {
821 self.message.body.set_field(tag::CONTRACT_SETTL_MONTH, FIXString::from(v));
822 }
823
824 pub fn get_contract_settl_month(&self) -> Result<String, MessageRejectErrorEnum> {
826 let mut fld = field::ContractSettlMonthField::new(String::new());
827 self.message.body.get_field(tag::CONTRACT_SETTL_MONTH, &mut fld.0)?;
828 Ok(fld.value().to_string())
829 }
830
831
832 pub fn has_contract_settl_month(&self) -> bool {
834 self.message.body.has(tag::CONTRACT_SETTL_MONTH)
835 }
836
837
838
839
840 pub fn set_copy_msg_indicator(&mut self, v: bool) {
842 self.message.body.set_field(tag::COPY_MSG_INDICATOR, fixer::fix_boolean::FIXBoolean::from(v));
843 }
844
845 pub fn get_copy_msg_indicator(&self) -> Result<bool, MessageRejectErrorEnum> {
847 let mut fld = field::CopyMsgIndicatorField::new(false);
848 self.message.body.get_field(tag::COPY_MSG_INDICATOR, &mut fld.0)?;
849 Ok(fld.value())
850 }
851
852
853 pub fn has_copy_msg_indicator(&self) -> bool {
855 self.message.body.has(tag::COPY_MSG_INDICATOR)
856 }
857
858
859
860
861 pub fn set_country_of_issue(&mut self, v: String) {
863 self.message.body.set_field(tag::COUNTRY_OF_ISSUE, FIXString::from(v));
864 }
865
866 pub fn get_country_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
868 let mut fld = field::CountryOfIssueField::new(String::new());
869 self.message.body.get_field(tag::COUNTRY_OF_ISSUE, &mut fld.0)?;
870 Ok(fld.value().to_string())
871 }
872
873
874 pub fn has_country_of_issue(&self) -> bool {
876 self.message.body.has(tag::COUNTRY_OF_ISSUE)
877 }
878
879
880
881
882 pub fn set_coupon_payment_date(&mut self, v: String) {
884 self.message.body.set_field(tag::COUPON_PAYMENT_DATE, FIXString::from(v));
885 }
886
887 pub fn get_coupon_payment_date(&self) -> Result<String, MessageRejectErrorEnum> {
889 let mut fld = field::CouponPaymentDateField::new(String::new());
890 self.message.body.get_field(tag::COUPON_PAYMENT_DATE, &mut fld.0)?;
891 Ok(fld.value().to_string())
892 }
893
894
895 pub fn has_coupon_payment_date(&self) -> bool {
897 self.message.body.has(tag::COUPON_PAYMENT_DATE)
898 }
899
900
901
902
903 pub fn set_coupon_rate(&mut self, val: Decimal, scale: i32) {
905 self.message.body.set_field(tag::COUPON_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
906 }
907
908 pub fn get_coupon_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
910 let mut fld = field::CouponRateField::new(Decimal::ZERO, 0);
911 self.message.body.get_field(tag::COUPON_RATE, &mut fld.0)?;
912 Ok(fld.value())
913 }
914
915
916 pub fn has_coupon_rate(&self) -> bool {
918 self.message.body.has(tag::COUPON_RATE)
919 }
920
921
922
923
924 pub fn set_credit_rating(&mut self, v: String) {
926 self.message.body.set_field(tag::CREDIT_RATING, FIXString::from(v));
927 }
928
929 pub fn get_credit_rating(&self) -> Result<String, MessageRejectErrorEnum> {
931 let mut fld = field::CreditRatingField::new(String::new());
932 self.message.body.get_field(tag::CREDIT_RATING, &mut fld.0)?;
933 Ok(fld.value().to_string())
934 }
935
936
937 pub fn has_credit_rating(&self) -> bool {
939 self.message.body.has(tag::CREDIT_RATING)
940 }
941
942
943
944
945 pub fn set_cross_id(&mut self, v: String) {
947 self.message.body.set_field(tag::CROSS_ID, FIXString::from(v));
948 }
949
950 pub fn get_cross_id(&self) -> Result<String, MessageRejectErrorEnum> {
952 let mut fld = field::CrossIDField::new(String::new());
953 self.message.body.get_field(tag::CROSS_ID, &mut fld.0)?;
954 Ok(fld.value().to_string())
955 }
956
957
958 pub fn has_cross_id(&self) -> bool {
960 self.message.body.has(tag::CROSS_ID)
961 }
962
963
964
965
966 pub fn set_cross_type(&mut self, v: isize) {
968 self.message.body.set_field(tag::CROSS_TYPE, fixer::fix_int::FIXInt::from(v));
969 }
970
971 pub fn get_cross_type(&self) -> Result<isize, MessageRejectErrorEnum> {
973 let mut fld = field::CrossTypeField::new(0);
974 self.message.body.get_field(tag::CROSS_TYPE, &mut fld.0)?;
975 Ok(fld.value())
976 }
977
978
979 pub fn has_cross_type(&self) -> bool {
981 self.message.body.has(tag::CROSS_TYPE)
982 }
983
984
985
986
987 pub fn set_cum_qty(&mut self, val: Decimal, scale: i32) {
989 self.message.body.set_field(tag::CUM_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
990 }
991
992 pub fn get_cum_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
994 let mut fld = field::CumQtyField::new(Decimal::ZERO, 0);
995 self.message.body.get_field(tag::CUM_QTY, &mut fld.0)?;
996 Ok(fld.value())
997 }
998
999
1000 pub fn has_cum_qty(&self) -> bool {
1002 self.message.body.has(tag::CUM_QTY)
1003 }
1004
1005
1006
1007
1008 pub fn set_currency(&mut self, v: String) {
1010 self.message.body.set_field(tag::CURRENCY, FIXString::from(v));
1011 }
1012
1013 pub fn get_currency(&self) -> Result<String, MessageRejectErrorEnum> {
1015 let mut fld = field::CurrencyField::new(String::new());
1016 self.message.body.get_field(tag::CURRENCY, &mut fld.0)?;
1017 Ok(fld.value().to_string())
1018 }
1019
1020
1021 pub fn has_currency(&self) -> bool {
1023 self.message.body.has(tag::CURRENCY)
1024 }
1025
1026
1027
1028
1029 pub fn set_cust_order_capacity(&mut self, v: isize) {
1031 self.message.body.set_field(tag::CUST_ORDER_CAPACITY, fixer::fix_int::FIXInt::from(v));
1032 }
1033
1034 pub fn get_cust_order_capacity(&self) -> Result<isize, MessageRejectErrorEnum> {
1036 let mut fld = field::CustOrderCapacityField::new(0);
1037 self.message.body.get_field(tag::CUST_ORDER_CAPACITY, &mut fld.0)?;
1038 Ok(fld.value())
1039 }
1040
1041
1042 pub fn has_cust_order_capacity(&self) -> bool {
1044 self.message.body.has(tag::CUST_ORDER_CAPACITY)
1045 }
1046
1047
1048
1049
1050 pub fn set_dated_date(&mut self, v: String) {
1052 self.message.body.set_field(tag::DATED_DATE, FIXString::from(v));
1053 }
1054
1055 pub fn get_dated_date(&self) -> Result<String, MessageRejectErrorEnum> {
1057 let mut fld = field::DatedDateField::new(String::new());
1058 self.message.body.get_field(tag::DATED_DATE, &mut fld.0)?;
1059 Ok(fld.value().to_string())
1060 }
1061
1062
1063 pub fn has_dated_date(&self) -> bool {
1065 self.message.body.has(tag::DATED_DATE)
1066 }
1067
1068
1069
1070
1071 pub fn set_day_avg_px(&mut self, val: Decimal, scale: i32) {
1073 self.message.body.set_field(tag::DAY_AVG_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1074 }
1075
1076 pub fn get_day_avg_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1078 let mut fld = field::DayAvgPxField::new(Decimal::ZERO, 0);
1079 self.message.body.get_field(tag::DAY_AVG_PX, &mut fld.0)?;
1080 Ok(fld.value())
1081 }
1082
1083
1084 pub fn has_day_avg_px(&self) -> bool {
1086 self.message.body.has(tag::DAY_AVG_PX)
1087 }
1088
1089
1090
1091
1092 pub fn set_day_booking_inst(&mut self, v: String) {
1094 self.message.body.set_field(tag::DAY_BOOKING_INST, FIXString::from(v));
1095 }
1096
1097 pub fn get_day_booking_inst(&self) -> Result<String, MessageRejectErrorEnum> {
1099 let mut fld = field::DayBookingInstField::new(String::new());
1100 self.message.body.get_field(tag::DAY_BOOKING_INST, &mut fld.0)?;
1101 Ok(fld.value().to_string())
1102 }
1103
1104
1105 pub fn has_day_booking_inst(&self) -> bool {
1107 self.message.body.has(tag::DAY_BOOKING_INST)
1108 }
1109
1110
1111
1112
1113 pub fn set_day_cum_qty(&mut self, val: Decimal, scale: i32) {
1115 self.message.body.set_field(tag::DAY_CUM_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1116 }
1117
1118 pub fn get_day_cum_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1120 let mut fld = field::DayCumQtyField::new(Decimal::ZERO, 0);
1121 self.message.body.get_field(tag::DAY_CUM_QTY, &mut fld.0)?;
1122 Ok(fld.value())
1123 }
1124
1125
1126 pub fn has_day_cum_qty(&self) -> bool {
1128 self.message.body.has(tag::DAY_CUM_QTY)
1129 }
1130
1131
1132
1133
1134 pub fn set_day_order_qty(&mut self, val: Decimal, scale: i32) {
1136 self.message.body.set_field(tag::DAY_ORDER_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1137 }
1138
1139 pub fn get_day_order_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1141 let mut fld = field::DayOrderQtyField::new(Decimal::ZERO, 0);
1142 self.message.body.get_field(tag::DAY_ORDER_QTY, &mut fld.0)?;
1143 Ok(fld.value())
1144 }
1145
1146
1147 pub fn has_day_order_qty(&self) -> bool {
1149 self.message.body.has(tag::DAY_ORDER_QTY)
1150 }
1151
1152
1153
1154
1155 pub fn set_delivery_type(&mut self, v: isize) {
1157 self.message.body.set_field(tag::DELIVERY_TYPE, fixer::fix_int::FIXInt::from(v));
1158 }
1159
1160 pub fn get_delivery_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1162 let mut fld = field::DeliveryTypeField::new(0);
1163 self.message.body.get_field(tag::DELIVERY_TYPE, &mut fld.0)?;
1164 Ok(fld.value())
1165 }
1166
1167
1168 pub fn has_delivery_type(&self) -> bool {
1170 self.message.body.has(tag::DELIVERY_TYPE)
1171 }
1172
1173
1174
1175
1176 pub fn set_designation(&mut self, v: String) {
1178 self.message.body.set_field(tag::DESIGNATION, FIXString::from(v));
1179 }
1180
1181 pub fn get_designation(&self) -> Result<String, MessageRejectErrorEnum> {
1183 let mut fld = field::DesignationField::new(String::new());
1184 self.message.body.get_field(tag::DESIGNATION, &mut fld.0)?;
1185 Ok(fld.value().to_string())
1186 }
1187
1188
1189 pub fn has_designation(&self) -> bool {
1191 self.message.body.has(tag::DESIGNATION)
1192 }
1193
1194
1195
1196
1197 pub fn set_discretion_inst(&mut self, v: String) {
1199 self.message.body.set_field(tag::DISCRETION_INST, FIXString::from(v));
1200 }
1201
1202 pub fn get_discretion_inst(&self) -> Result<String, MessageRejectErrorEnum> {
1204 let mut fld = field::DiscretionInstField::new(String::new());
1205 self.message.body.get_field(tag::DISCRETION_INST, &mut fld.0)?;
1206 Ok(fld.value().to_string())
1207 }
1208
1209
1210 pub fn has_discretion_inst(&self) -> bool {
1212 self.message.body.has(tag::DISCRETION_INST)
1213 }
1214
1215
1216
1217
1218 pub fn set_discretion_limit_type(&mut self, v: isize) {
1220 self.message.body.set_field(tag::DISCRETION_LIMIT_TYPE, fixer::fix_int::FIXInt::from(v));
1221 }
1222
1223 pub fn get_discretion_limit_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1225 let mut fld = field::DiscretionLimitTypeField::new(0);
1226 self.message.body.get_field(tag::DISCRETION_LIMIT_TYPE, &mut fld.0)?;
1227 Ok(fld.value())
1228 }
1229
1230
1231 pub fn has_discretion_limit_type(&self) -> bool {
1233 self.message.body.has(tag::DISCRETION_LIMIT_TYPE)
1234 }
1235
1236
1237
1238
1239 pub fn set_discretion_move_type(&mut self, v: isize) {
1241 self.message.body.set_field(tag::DISCRETION_MOVE_TYPE, fixer::fix_int::FIXInt::from(v));
1242 }
1243
1244 pub fn get_discretion_move_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1246 let mut fld = field::DiscretionMoveTypeField::new(0);
1247 self.message.body.get_field(tag::DISCRETION_MOVE_TYPE, &mut fld.0)?;
1248 Ok(fld.value())
1249 }
1250
1251
1252 pub fn has_discretion_move_type(&self) -> bool {
1254 self.message.body.has(tag::DISCRETION_MOVE_TYPE)
1255 }
1256
1257
1258
1259
1260 pub fn set_discretion_offset_type(&mut self, v: isize) {
1262 self.message.body.set_field(tag::DISCRETION_OFFSET_TYPE, fixer::fix_int::FIXInt::from(v));
1263 }
1264
1265 pub fn get_discretion_offset_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1267 let mut fld = field::DiscretionOffsetTypeField::new(0);
1268 self.message.body.get_field(tag::DISCRETION_OFFSET_TYPE, &mut fld.0)?;
1269 Ok(fld.value())
1270 }
1271
1272
1273 pub fn has_discretion_offset_type(&self) -> bool {
1275 self.message.body.has(tag::DISCRETION_OFFSET_TYPE)
1276 }
1277
1278
1279
1280
1281 pub fn set_discretion_offset_value(&mut self, val: Decimal, scale: i32) {
1283 self.message.body.set_field(tag::DISCRETION_OFFSET_VALUE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1284 }
1285
1286 pub fn get_discretion_offset_value(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1288 let mut fld = field::DiscretionOffsetValueField::new(Decimal::ZERO, 0);
1289 self.message.body.get_field(tag::DISCRETION_OFFSET_VALUE, &mut fld.0)?;
1290 Ok(fld.value())
1291 }
1292
1293
1294 pub fn has_discretion_offset_value(&self) -> bool {
1296 self.message.body.has(tag::DISCRETION_OFFSET_VALUE)
1297 }
1298
1299
1300
1301
1302 pub fn set_discretion_price(&mut self, val: Decimal, scale: i32) {
1304 self.message.body.set_field(tag::DISCRETION_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1305 }
1306
1307 pub fn get_discretion_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1309 let mut fld = field::DiscretionPriceField::new(Decimal::ZERO, 0);
1310 self.message.body.get_field(tag::DISCRETION_PRICE, &mut fld.0)?;
1311 Ok(fld.value())
1312 }
1313
1314
1315 pub fn has_discretion_price(&self) -> bool {
1317 self.message.body.has(tag::DISCRETION_PRICE)
1318 }
1319
1320
1321
1322
1323 pub fn set_discretion_round_direction(&mut self, v: isize) {
1325 self.message.body.set_field(tag::DISCRETION_ROUND_DIRECTION, fixer::fix_int::FIXInt::from(v));
1326 }
1327
1328 pub fn get_discretion_round_direction(&self) -> Result<isize, MessageRejectErrorEnum> {
1330 let mut fld = field::DiscretionRoundDirectionField::new(0);
1331 self.message.body.get_field(tag::DISCRETION_ROUND_DIRECTION, &mut fld.0)?;
1332 Ok(fld.value())
1333 }
1334
1335
1336 pub fn has_discretion_round_direction(&self) -> bool {
1338 self.message.body.has(tag::DISCRETION_ROUND_DIRECTION)
1339 }
1340
1341
1342
1343
1344 pub fn set_discretion_scope(&mut self, v: isize) {
1346 self.message.body.set_field(tag::DISCRETION_SCOPE, fixer::fix_int::FIXInt::from(v));
1347 }
1348
1349 pub fn get_discretion_scope(&self) -> Result<isize, MessageRejectErrorEnum> {
1351 let mut fld = field::DiscretionScopeField::new(0);
1352 self.message.body.get_field(tag::DISCRETION_SCOPE, &mut fld.0)?;
1353 Ok(fld.value())
1354 }
1355
1356
1357 pub fn has_discretion_scope(&self) -> bool {
1359 self.message.body.has(tag::DISCRETION_SCOPE)
1360 }
1361
1362
1363
1364
1365 pub fn set_effective_time(&mut self, v: Timestamp) {
1367 self.message.body.set_field(tag::EFFECTIVE_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
1368 time: v,
1369 precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
1370 });
1371 }
1372
1373 pub fn get_effective_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
1375 let mut fld = field::EffectiveTimeField::new(Timestamp::UNIX_EPOCH);
1376 self.message.body.get_field(tag::EFFECTIVE_TIME, &mut fld.0)?;
1377 Ok(fld.value())
1378 }
1379
1380
1381 pub fn has_effective_time(&self) -> bool {
1383 self.message.body.has(tag::EFFECTIVE_TIME)
1384 }
1385
1386
1387
1388
1389 pub fn set_encoded_issuer(&mut self, v: String) {
1391 self.message.body.set_field(tag::ENCODED_ISSUER, FIXString::from(v));
1392 }
1393
1394 pub fn get_encoded_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
1396 let mut fld = field::EncodedIssuerField::new(String::new());
1397 self.message.body.get_field(tag::ENCODED_ISSUER, &mut fld.0)?;
1398 Ok(fld.value().to_string())
1399 }
1400
1401
1402 pub fn has_encoded_issuer(&self) -> bool {
1404 self.message.body.has(tag::ENCODED_ISSUER)
1405 }
1406
1407
1408
1409
1410 pub fn set_encoded_issuer_len(&mut self, v: isize) {
1412 self.message.body.set_field(tag::ENCODED_ISSUER_LEN, fixer::fix_int::FIXInt::from(v));
1413 }
1414
1415 pub fn get_encoded_issuer_len(&self) -> Result<isize, MessageRejectErrorEnum> {
1417 let mut fld = field::EncodedIssuerLenField::new(0);
1418 self.message.body.get_field(tag::ENCODED_ISSUER_LEN, &mut fld.0)?;
1419 Ok(fld.value())
1420 }
1421
1422
1423 pub fn has_encoded_issuer_len(&self) -> bool {
1425 self.message.body.has(tag::ENCODED_ISSUER_LEN)
1426 }
1427
1428
1429
1430
1431 pub fn set_encoded_security_desc(&mut self, v: String) {
1433 self.message.body.set_field(tag::ENCODED_SECURITY_DESC, FIXString::from(v));
1434 }
1435
1436 pub fn get_encoded_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
1438 let mut fld = field::EncodedSecurityDescField::new(String::new());
1439 self.message.body.get_field(tag::ENCODED_SECURITY_DESC, &mut fld.0)?;
1440 Ok(fld.value().to_string())
1441 }
1442
1443
1444 pub fn has_encoded_security_desc(&self) -> bool {
1446 self.message.body.has(tag::ENCODED_SECURITY_DESC)
1447 }
1448
1449
1450
1451
1452 pub fn set_encoded_security_desc_len(&mut self, v: isize) {
1454 self.message.body.set_field(tag::ENCODED_SECURITY_DESC_LEN, fixer::fix_int::FIXInt::from(v));
1455 }
1456
1457 pub fn get_encoded_security_desc_len(&self) -> Result<isize, MessageRejectErrorEnum> {
1459 let mut fld = field::EncodedSecurityDescLenField::new(0);
1460 self.message.body.get_field(tag::ENCODED_SECURITY_DESC_LEN, &mut fld.0)?;
1461 Ok(fld.value())
1462 }
1463
1464
1465 pub fn has_encoded_security_desc_len(&self) -> bool {
1467 self.message.body.has(tag::ENCODED_SECURITY_DESC_LEN)
1468 }
1469
1470
1471
1472
1473 pub fn set_encoded_text(&mut self, v: String) {
1475 self.message.body.set_field(tag::ENCODED_TEXT, FIXString::from(v));
1476 }
1477
1478 pub fn get_encoded_text(&self) -> Result<String, MessageRejectErrorEnum> {
1480 let mut fld = field::EncodedTextField::new(String::new());
1481 self.message.body.get_field(tag::ENCODED_TEXT, &mut fld.0)?;
1482 Ok(fld.value().to_string())
1483 }
1484
1485
1486 pub fn has_encoded_text(&self) -> bool {
1488 self.message.body.has(tag::ENCODED_TEXT)
1489 }
1490
1491
1492
1493
1494 pub fn set_encoded_text_len(&mut self, v: isize) {
1496 self.message.body.set_field(tag::ENCODED_TEXT_LEN, fixer::fix_int::FIXInt::from(v));
1497 }
1498
1499 pub fn get_encoded_text_len(&self) -> Result<isize, MessageRejectErrorEnum> {
1501 let mut fld = field::EncodedTextLenField::new(0);
1502 self.message.body.get_field(tag::ENCODED_TEXT_LEN, &mut fld.0)?;
1503 Ok(fld.value())
1504 }
1505
1506
1507 pub fn has_encoded_text_len(&self) -> bool {
1509 self.message.body.has(tag::ENCODED_TEXT_LEN)
1510 }
1511
1512
1513
1514
1515 pub fn set_end_accrued_interest_amt(&mut self, val: Decimal, scale: i32) {
1517 self.message.body.set_field(tag::END_ACCRUED_INTEREST_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1518 }
1519
1520 pub fn get_end_accrued_interest_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1522 let mut fld = field::EndAccruedInterestAmtField::new(Decimal::ZERO, 0);
1523 self.message.body.get_field(tag::END_ACCRUED_INTEREST_AMT, &mut fld.0)?;
1524 Ok(fld.value())
1525 }
1526
1527
1528 pub fn has_end_accrued_interest_amt(&self) -> bool {
1530 self.message.body.has(tag::END_ACCRUED_INTEREST_AMT)
1531 }
1532
1533
1534
1535
1536 pub fn set_end_cash(&mut self, val: Decimal, scale: i32) {
1538 self.message.body.set_field(tag::END_CASH, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1539 }
1540
1541 pub fn get_end_cash(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1543 let mut fld = field::EndCashField::new(Decimal::ZERO, 0);
1544 self.message.body.get_field(tag::END_CASH, &mut fld.0)?;
1545 Ok(fld.value())
1546 }
1547
1548
1549 pub fn has_end_cash(&self) -> bool {
1551 self.message.body.has(tag::END_CASH)
1552 }
1553
1554
1555
1556
1557 pub fn set_end_date(&mut self, v: String) {
1559 self.message.body.set_field(tag::END_DATE, FIXString::from(v));
1560 }
1561
1562 pub fn get_end_date(&self) -> Result<String, MessageRejectErrorEnum> {
1564 let mut fld = field::EndDateField::new(String::new());
1565 self.message.body.get_field(tag::END_DATE, &mut fld.0)?;
1566 Ok(fld.value().to_string())
1567 }
1568
1569
1570 pub fn has_end_date(&self) -> bool {
1572 self.message.body.has(tag::END_DATE)
1573 }
1574
1575
1576
1577
1578 pub fn set_ex_date(&mut self, v: String) {
1580 self.message.body.set_field(tag::EX_DATE, FIXString::from(v));
1581 }
1582
1583 pub fn get_ex_date(&self) -> Result<String, MessageRejectErrorEnum> {
1585 let mut fld = field::ExDateField::new(String::new());
1586 self.message.body.get_field(tag::EX_DATE, &mut fld.0)?;
1587 Ok(fld.value().to_string())
1588 }
1589
1590
1591 pub fn has_ex_date(&self) -> bool {
1593 self.message.body.has(tag::EX_DATE)
1594 }
1595
1596
1597
1598
1599 pub fn set_exec_id(&mut self, v: String) {
1601 self.message.body.set_field(tag::EXEC_ID, FIXString::from(v));
1602 }
1603
1604 pub fn get_exec_id(&self) -> Result<String, MessageRejectErrorEnum> {
1606 let mut fld = field::ExecIDField::new(String::new());
1607 self.message.body.get_field(tag::EXEC_ID, &mut fld.0)?;
1608 Ok(fld.value().to_string())
1609 }
1610
1611
1612 pub fn has_exec_id(&self) -> bool {
1614 self.message.body.has(tag::EXEC_ID)
1615 }
1616
1617
1618
1619
1620 pub fn set_exec_inst(&mut self, v: String) {
1622 self.message.body.set_field(tag::EXEC_INST, FIXString::from(v));
1623 }
1624
1625 pub fn get_exec_inst(&self) -> Result<String, MessageRejectErrorEnum> {
1627 let mut fld = field::ExecInstField::new(String::new());
1628 self.message.body.get_field(tag::EXEC_INST, &mut fld.0)?;
1629 Ok(fld.value().to_string())
1630 }
1631
1632
1633 pub fn has_exec_inst(&self) -> bool {
1635 self.message.body.has(tag::EXEC_INST)
1636 }
1637
1638
1639
1640
1641 pub fn set_exec_price_adjustment(&mut self, val: Decimal, scale: i32) {
1643 self.message.body.set_field(tag::EXEC_PRICE_ADJUSTMENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1644 }
1645
1646 pub fn get_exec_price_adjustment(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1648 let mut fld = field::ExecPriceAdjustmentField::new(Decimal::ZERO, 0);
1649 self.message.body.get_field(tag::EXEC_PRICE_ADJUSTMENT, &mut fld.0)?;
1650 Ok(fld.value())
1651 }
1652
1653
1654 pub fn has_exec_price_adjustment(&self) -> bool {
1656 self.message.body.has(tag::EXEC_PRICE_ADJUSTMENT)
1657 }
1658
1659
1660
1661
1662 pub fn set_exec_price_type(&mut self, v: String) {
1664 self.message.body.set_field(tag::EXEC_PRICE_TYPE, FIXString::from(v));
1665 }
1666
1667 pub fn get_exec_price_type(&self) -> Result<String, MessageRejectErrorEnum> {
1669 let mut fld = field::ExecPriceTypeField::new(String::new());
1670 self.message.body.get_field(tag::EXEC_PRICE_TYPE, &mut fld.0)?;
1671 Ok(fld.value().to_string())
1672 }
1673
1674
1675 pub fn has_exec_price_type(&self) -> bool {
1677 self.message.body.has(tag::EXEC_PRICE_TYPE)
1678 }
1679
1680
1681
1682
1683 pub fn set_exec_ref_id(&mut self, v: String) {
1685 self.message.body.set_field(tag::EXEC_REF_ID, FIXString::from(v));
1686 }
1687
1688 pub fn get_exec_ref_id(&self) -> Result<String, MessageRejectErrorEnum> {
1690 let mut fld = field::ExecRefIDField::new(String::new());
1691 self.message.body.get_field(tag::EXEC_REF_ID, &mut fld.0)?;
1692 Ok(fld.value().to_string())
1693 }
1694
1695
1696 pub fn has_exec_ref_id(&self) -> bool {
1698 self.message.body.has(tag::EXEC_REF_ID)
1699 }
1700
1701
1702
1703
1704 pub fn set_exec_restatement_reason(&mut self, v: isize) {
1706 self.message.body.set_field(tag::EXEC_RESTATEMENT_REASON, fixer::fix_int::FIXInt::from(v));
1707 }
1708
1709 pub fn get_exec_restatement_reason(&self) -> Result<isize, MessageRejectErrorEnum> {
1711 let mut fld = field::ExecRestatementReasonField::new(0);
1712 self.message.body.get_field(tag::EXEC_RESTATEMENT_REASON, &mut fld.0)?;
1713 Ok(fld.value())
1714 }
1715
1716
1717 pub fn has_exec_restatement_reason(&self) -> bool {
1719 self.message.body.has(tag::EXEC_RESTATEMENT_REASON)
1720 }
1721
1722
1723
1724
1725 pub fn set_exec_type(&mut self, v: String) {
1727 self.message.body.set_field(tag::EXEC_TYPE, FIXString::from(v));
1728 }
1729
1730 pub fn get_exec_type(&self) -> Result<String, MessageRejectErrorEnum> {
1732 let mut fld = field::ExecTypeField::new(String::new());
1733 self.message.body.get_field(tag::EXEC_TYPE, &mut fld.0)?;
1734 Ok(fld.value().to_string())
1735 }
1736
1737
1738 pub fn has_exec_type(&self) -> bool {
1740 self.message.body.has(tag::EXEC_TYPE)
1741 }
1742
1743
1744
1745
1746 pub fn set_exec_valuation_point(&mut self, v: Timestamp) {
1748 self.message.body.set_field(tag::EXEC_VALUATION_POINT, fixer::fix_utc_timestamp::FIXUTCTimestamp {
1749 time: v,
1750 precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
1751 });
1752 }
1753
1754 pub fn get_exec_valuation_point(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
1756 let mut fld = field::ExecValuationPointField::new(Timestamp::UNIX_EPOCH);
1757 self.message.body.get_field(tag::EXEC_VALUATION_POINT, &mut fld.0)?;
1758 Ok(fld.value())
1759 }
1760
1761
1762 pub fn has_exec_valuation_point(&self) -> bool {
1764 self.message.body.has(tag::EXEC_VALUATION_POINT)
1765 }
1766
1767
1768
1769
1770 pub fn set_expire_date(&mut self, v: String) {
1772 self.message.body.set_field(tag::EXPIRE_DATE, FIXString::from(v));
1773 }
1774
1775 pub fn get_expire_date(&self) -> Result<String, MessageRejectErrorEnum> {
1777 let mut fld = field::ExpireDateField::new(String::new());
1778 self.message.body.get_field(tag::EXPIRE_DATE, &mut fld.0)?;
1779 Ok(fld.value().to_string())
1780 }
1781
1782
1783 pub fn has_expire_date(&self) -> bool {
1785 self.message.body.has(tag::EXPIRE_DATE)
1786 }
1787
1788
1789
1790
1791 pub fn set_expire_time(&mut self, v: Timestamp) {
1793 self.message.body.set_field(tag::EXPIRE_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
1794 time: v,
1795 precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
1796 });
1797 }
1798
1799 pub fn get_expire_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
1801 let mut fld = field::ExpireTimeField::new(Timestamp::UNIX_EPOCH);
1802 self.message.body.get_field(tag::EXPIRE_TIME, &mut fld.0)?;
1803 Ok(fld.value())
1804 }
1805
1806
1807 pub fn has_expire_time(&self) -> bool {
1809 self.message.body.has(tag::EXPIRE_TIME)
1810 }
1811
1812
1813
1814
1815 pub fn set_factor(&mut self, val: Decimal, scale: i32) {
1817 self.message.body.set_field(tag::FACTOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1818 }
1819
1820 pub fn get_factor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1822 let mut fld = field::FactorField::new(Decimal::ZERO, 0);
1823 self.message.body.get_field(tag::FACTOR, &mut fld.0)?;
1824 Ok(fld.value())
1825 }
1826
1827
1828 pub fn has_factor(&self) -> bool {
1830 self.message.body.has(tag::FACTOR)
1831 }
1832
1833
1834
1835
1836 pub fn set_fund_renew_waiv(&mut self, v: String) {
1838 self.message.body.set_field(tag::FUND_RENEW_WAIV, FIXString::from(v));
1839 }
1840
1841 pub fn get_fund_renew_waiv(&self) -> Result<String, MessageRejectErrorEnum> {
1843 let mut fld = field::FundRenewWaivField::new(String::new());
1844 self.message.body.get_field(tag::FUND_RENEW_WAIV, &mut fld.0)?;
1845 Ok(fld.value().to_string())
1846 }
1847
1848
1849 pub fn has_fund_renew_waiv(&self) -> bool {
1851 self.message.body.has(tag::FUND_RENEW_WAIV)
1852 }
1853
1854
1855
1856
1857 pub fn set_gt_booking_inst(&mut self, v: isize) {
1859 self.message.body.set_field(tag::GT_BOOKING_INST, fixer::fix_int::FIXInt::from(v));
1860 }
1861
1862 pub fn get_gt_booking_inst(&self) -> Result<isize, MessageRejectErrorEnum> {
1864 let mut fld = field::GTBookingInstField::new(0);
1865 self.message.body.get_field(tag::GT_BOOKING_INST, &mut fld.0)?;
1866 Ok(fld.value())
1867 }
1868
1869
1870 pub fn has_gt_booking_inst(&self) -> bool {
1872 self.message.body.has(tag::GT_BOOKING_INST)
1873 }
1874
1875
1876
1877
1878 pub fn set_gross_trade_amt(&mut self, val: Decimal, scale: i32) {
1880 self.message.body.set_field(tag::GROSS_TRADE_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1881 }
1882
1883 pub fn get_gross_trade_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1885 let mut fld = field::GrossTradeAmtField::new(Decimal::ZERO, 0);
1886 self.message.body.get_field(tag::GROSS_TRADE_AMT, &mut fld.0)?;
1887 Ok(fld.value())
1888 }
1889
1890
1891 pub fn has_gross_trade_amt(&self) -> bool {
1893 self.message.body.has(tag::GROSS_TRADE_AMT)
1894 }
1895
1896
1897
1898
1899 pub fn set_handl_inst(&mut self, v: String) {
1901 self.message.body.set_field(tag::HANDL_INST, FIXString::from(v));
1902 }
1903
1904 pub fn get_handl_inst(&self) -> Result<String, MessageRejectErrorEnum> {
1906 let mut fld = field::HandlInstField::new(String::new());
1907 self.message.body.get_field(tag::HANDL_INST, &mut fld.0)?;
1908 Ok(fld.value().to_string())
1909 }
1910
1911
1912 pub fn has_handl_inst(&self) -> bool {
1914 self.message.body.has(tag::HANDL_INST)
1915 }
1916
1917
1918
1919
1920 pub fn set_instr_registry(&mut self, v: String) {
1922 self.message.body.set_field(tag::INSTR_REGISTRY, FIXString::from(v));
1923 }
1924
1925 pub fn get_instr_registry(&self) -> Result<String, MessageRejectErrorEnum> {
1927 let mut fld = field::InstrRegistryField::new(String::new());
1928 self.message.body.get_field(tag::INSTR_REGISTRY, &mut fld.0)?;
1929 Ok(fld.value().to_string())
1930 }
1931
1932
1933 pub fn has_instr_registry(&self) -> bool {
1935 self.message.body.has(tag::INSTR_REGISTRY)
1936 }
1937
1938
1939
1940
1941 pub fn set_interest_accrual_date(&mut self, v: String) {
1943 self.message.body.set_field(tag::INTEREST_ACCRUAL_DATE, FIXString::from(v));
1944 }
1945
1946 pub fn get_interest_accrual_date(&self) -> Result<String, MessageRejectErrorEnum> {
1948 let mut fld = field::InterestAccrualDateField::new(String::new());
1949 self.message.body.get_field(tag::INTEREST_ACCRUAL_DATE, &mut fld.0)?;
1950 Ok(fld.value().to_string())
1951 }
1952
1953
1954 pub fn has_interest_accrual_date(&self) -> bool {
1956 self.message.body.has(tag::INTEREST_ACCRUAL_DATE)
1957 }
1958
1959
1960
1961
1962 pub fn set_interest_at_maturity(&mut self, val: Decimal, scale: i32) {
1964 self.message.body.set_field(tag::INTEREST_AT_MATURITY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1965 }
1966
1967 pub fn get_interest_at_maturity(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1969 let mut fld = field::InterestAtMaturityField::new(Decimal::ZERO, 0);
1970 self.message.body.get_field(tag::INTEREST_AT_MATURITY, &mut fld.0)?;
1971 Ok(fld.value())
1972 }
1973
1974
1975 pub fn has_interest_at_maturity(&self) -> bool {
1977 self.message.body.has(tag::INTEREST_AT_MATURITY)
1978 }
1979
1980
1981
1982
1983 pub fn set_issue_date(&mut self, v: String) {
1985 self.message.body.set_field(tag::ISSUE_DATE, FIXString::from(v));
1986 }
1987
1988 pub fn get_issue_date(&self) -> Result<String, MessageRejectErrorEnum> {
1990 let mut fld = field::IssueDateField::new(String::new());
1991 self.message.body.get_field(tag::ISSUE_DATE, &mut fld.0)?;
1992 Ok(fld.value().to_string())
1993 }
1994
1995
1996 pub fn has_issue_date(&self) -> bool {
1998 self.message.body.has(tag::ISSUE_DATE)
1999 }
2000
2001
2002
2003
2004 pub fn set_issuer(&mut self, v: String) {
2006 self.message.body.set_field(tag::ISSUER, FIXString::from(v));
2007 }
2008
2009 pub fn get_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
2011 let mut fld = field::IssuerField::new(String::new());
2012 self.message.body.get_field(tag::ISSUER, &mut fld.0)?;
2013 Ok(fld.value().to_string())
2014 }
2015
2016
2017 pub fn has_issuer(&self) -> bool {
2019 self.message.body.has(tag::ISSUER)
2020 }
2021
2022
2023
2024
2025 pub fn set_last_capacity(&mut self, v: String) {
2027 self.message.body.set_field(tag::LAST_CAPACITY, FIXString::from(v));
2028 }
2029
2030 pub fn get_last_capacity(&self) -> Result<String, MessageRejectErrorEnum> {
2032 let mut fld = field::LastCapacityField::new(String::new());
2033 self.message.body.get_field(tag::LAST_CAPACITY, &mut fld.0)?;
2034 Ok(fld.value().to_string())
2035 }
2036
2037
2038 pub fn has_last_capacity(&self) -> bool {
2040 self.message.body.has(tag::LAST_CAPACITY)
2041 }
2042
2043
2044
2045
2046 pub fn set_last_forward_points(&mut self, val: Decimal, scale: i32) {
2048 self.message.body.set_field(tag::LAST_FORWARD_POINTS, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2049 }
2050
2051 pub fn get_last_forward_points(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2053 let mut fld = field::LastForwardPointsField::new(Decimal::ZERO, 0);
2054 self.message.body.get_field(tag::LAST_FORWARD_POINTS, &mut fld.0)?;
2055 Ok(fld.value())
2056 }
2057
2058
2059 pub fn has_last_forward_points(&self) -> bool {
2061 self.message.body.has(tag::LAST_FORWARD_POINTS)
2062 }
2063
2064
2065
2066
2067 pub fn set_last_forward_points2(&mut self, val: Decimal, scale: i32) {
2069 self.message.body.set_field(tag::LAST_FORWARD_POINTS2, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2070 }
2071
2072 pub fn get_last_forward_points2(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2074 let mut fld = field::LastForwardPoints2Field::new(Decimal::ZERO, 0);
2075 self.message.body.get_field(tag::LAST_FORWARD_POINTS2, &mut fld.0)?;
2076 Ok(fld.value())
2077 }
2078
2079
2080 pub fn has_last_forward_points2(&self) -> bool {
2082 self.message.body.has(tag::LAST_FORWARD_POINTS2)
2083 }
2084
2085
2086
2087
2088 pub fn set_last_liquidity_ind(&mut self, v: isize) {
2090 self.message.body.set_field(tag::LAST_LIQUIDITY_IND, fixer::fix_int::FIXInt::from(v));
2091 }
2092
2093 pub fn get_last_liquidity_ind(&self) -> Result<isize, MessageRejectErrorEnum> {
2095 let mut fld = field::LastLiquidityIndField::new(0);
2096 self.message.body.get_field(tag::LAST_LIQUIDITY_IND, &mut fld.0)?;
2097 Ok(fld.value())
2098 }
2099
2100
2101 pub fn has_last_liquidity_ind(&self) -> bool {
2103 self.message.body.has(tag::LAST_LIQUIDITY_IND)
2104 }
2105
2106
2107
2108
2109 pub fn set_last_mkt(&mut self, v: String) {
2111 self.message.body.set_field(tag::LAST_MKT, FIXString::from(v));
2112 }
2113
2114 pub fn get_last_mkt(&self) -> Result<String, MessageRejectErrorEnum> {
2116 let mut fld = field::LastMktField::new(String::new());
2117 self.message.body.get_field(tag::LAST_MKT, &mut fld.0)?;
2118 Ok(fld.value().to_string())
2119 }
2120
2121
2122 pub fn has_last_mkt(&self) -> bool {
2124 self.message.body.has(tag::LAST_MKT)
2125 }
2126
2127
2128
2129
2130 pub fn set_last_par_px(&mut self, val: Decimal, scale: i32) {
2132 self.message.body.set_field(tag::LAST_PAR_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2133 }
2134
2135 pub fn get_last_par_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2137 let mut fld = field::LastParPxField::new(Decimal::ZERO, 0);
2138 self.message.body.get_field(tag::LAST_PAR_PX, &mut fld.0)?;
2139 Ok(fld.value())
2140 }
2141
2142
2143 pub fn has_last_par_px(&self) -> bool {
2145 self.message.body.has(tag::LAST_PAR_PX)
2146 }
2147
2148
2149
2150
2151 pub fn set_last_px(&mut self, val: Decimal, scale: i32) {
2153 self.message.body.set_field(tag::LAST_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2154 }
2155
2156 pub fn get_last_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2158 let mut fld = field::LastPxField::new(Decimal::ZERO, 0);
2159 self.message.body.get_field(tag::LAST_PX, &mut fld.0)?;
2160 Ok(fld.value())
2161 }
2162
2163
2164 pub fn has_last_px(&self) -> bool {
2166 self.message.body.has(tag::LAST_PX)
2167 }
2168
2169
2170
2171
2172 pub fn set_last_qty(&mut self, val: Decimal, scale: i32) {
2174 self.message.body.set_field(tag::LAST_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2175 }
2176
2177 pub fn get_last_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2179 let mut fld = field::LastQtyField::new(Decimal::ZERO, 0);
2180 self.message.body.get_field(tag::LAST_QTY, &mut fld.0)?;
2181 Ok(fld.value())
2182 }
2183
2184
2185 pub fn has_last_qty(&self) -> bool {
2187 self.message.body.has(tag::LAST_QTY)
2188 }
2189
2190
2191
2192
2193 pub fn set_last_rpt_requested(&mut self, v: bool) {
2195 self.message.body.set_field(tag::LAST_RPT_REQUESTED, fixer::fix_boolean::FIXBoolean::from(v));
2196 }
2197
2198 pub fn get_last_rpt_requested(&self) -> Result<bool, MessageRejectErrorEnum> {
2200 let mut fld = field::LastRptRequestedField::new(false);
2201 self.message.body.get_field(tag::LAST_RPT_REQUESTED, &mut fld.0)?;
2202 Ok(fld.value())
2203 }
2204
2205
2206 pub fn has_last_rpt_requested(&self) -> bool {
2208 self.message.body.has(tag::LAST_RPT_REQUESTED)
2209 }
2210
2211
2212
2213
2214 pub fn set_last_spot_rate(&mut self, val: Decimal, scale: i32) {
2216 self.message.body.set_field(tag::LAST_SPOT_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2217 }
2218
2219 pub fn get_last_spot_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2221 let mut fld = field::LastSpotRateField::new(Decimal::ZERO, 0);
2222 self.message.body.get_field(tag::LAST_SPOT_RATE, &mut fld.0)?;
2223 Ok(fld.value())
2224 }
2225
2226
2227 pub fn has_last_spot_rate(&self) -> bool {
2229 self.message.body.has(tag::LAST_SPOT_RATE)
2230 }
2231
2232
2233
2234
2235 pub fn set_leaves_qty(&mut self, val: Decimal, scale: i32) {
2237 self.message.body.set_field(tag::LEAVES_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2238 }
2239
2240 pub fn get_leaves_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2242 let mut fld = field::LeavesQtyField::new(Decimal::ZERO, 0);
2243 self.message.body.get_field(tag::LEAVES_QTY, &mut fld.0)?;
2244 Ok(fld.value())
2245 }
2246
2247
2248 pub fn has_leaves_qty(&self) -> bool {
2250 self.message.body.has(tag::LEAVES_QTY)
2251 }
2252
2253
2254
2255
2256 pub fn set_list_id(&mut self, v: String) {
2258 self.message.body.set_field(tag::LIST_ID, FIXString::from(v));
2259 }
2260
2261 pub fn get_list_id(&self) -> Result<String, MessageRejectErrorEnum> {
2263 let mut fld = field::ListIDField::new(String::new());
2264 self.message.body.get_field(tag::LIST_ID, &mut fld.0)?;
2265 Ok(fld.value().to_string())
2266 }
2267
2268
2269 pub fn has_list_id(&self) -> bool {
2271 self.message.body.has(tag::LIST_ID)
2272 }
2273
2274
2275
2276
2277 pub fn set_locale_of_issue(&mut self, v: String) {
2279 self.message.body.set_field(tag::LOCALE_OF_ISSUE, FIXString::from(v));
2280 }
2281
2282 pub fn get_locale_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
2284 let mut fld = field::LocaleOfIssueField::new(String::new());
2285 self.message.body.get_field(tag::LOCALE_OF_ISSUE, &mut fld.0)?;
2286 Ok(fld.value().to_string())
2287 }
2288
2289
2290 pub fn has_locale_of_issue(&self) -> bool {
2292 self.message.body.has(tag::LOCALE_OF_ISSUE)
2293 }
2294
2295
2296
2297
2298 pub fn set_margin_ratio(&mut self, val: Decimal, scale: i32) {
2300 self.message.body.set_field(tag::MARGIN_RATIO, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2301 }
2302
2303 pub fn get_margin_ratio(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2305 let mut fld = field::MarginRatioField::new(Decimal::ZERO, 0);
2306 self.message.body.get_field(tag::MARGIN_RATIO, &mut fld.0)?;
2307 Ok(fld.value())
2308 }
2309
2310
2311 pub fn has_margin_ratio(&self) -> bool {
2313 self.message.body.has(tag::MARGIN_RATIO)
2314 }
2315
2316
2317
2318
2319 pub fn set_mass_status_req_id(&mut self, v: String) {
2321 self.message.body.set_field(tag::MASS_STATUS_REQ_ID, FIXString::from(v));
2322 }
2323
2324 pub fn get_mass_status_req_id(&self) -> Result<String, MessageRejectErrorEnum> {
2326 let mut fld = field::MassStatusReqIDField::new(String::new());
2327 self.message.body.get_field(tag::MASS_STATUS_REQ_ID, &mut fld.0)?;
2328 Ok(fld.value().to_string())
2329 }
2330
2331
2332 pub fn has_mass_status_req_id(&self) -> bool {
2334 self.message.body.has(tag::MASS_STATUS_REQ_ID)
2335 }
2336
2337
2338
2339
2340 pub fn set_maturity_date(&mut self, v: String) {
2342 self.message.body.set_field(tag::MATURITY_DATE, FIXString::from(v));
2343 }
2344
2345 pub fn get_maturity_date(&self) -> Result<String, MessageRejectErrorEnum> {
2347 let mut fld = field::MaturityDateField::new(String::new());
2348 self.message.body.get_field(tag::MATURITY_DATE, &mut fld.0)?;
2349 Ok(fld.value().to_string())
2350 }
2351
2352
2353 pub fn has_maturity_date(&self) -> bool {
2355 self.message.body.has(tag::MATURITY_DATE)
2356 }
2357
2358
2359
2360
2361 pub fn set_maturity_month_year(&mut self, v: String) {
2363 self.message.body.set_field(tag::MATURITY_MONTH_YEAR, FIXString::from(v));
2364 }
2365
2366 pub fn get_maturity_month_year(&self) -> Result<String, MessageRejectErrorEnum> {
2368 let mut fld = field::MaturityMonthYearField::new(String::new());
2369 self.message.body.get_field(tag::MATURITY_MONTH_YEAR, &mut fld.0)?;
2370 Ok(fld.value().to_string())
2371 }
2372
2373
2374 pub fn has_maturity_month_year(&self) -> bool {
2376 self.message.body.has(tag::MATURITY_MONTH_YEAR)
2377 }
2378
2379
2380
2381
2382 pub fn set_max_floor(&mut self, val: Decimal, scale: i32) {
2384 self.message.body.set_field(tag::MAX_FLOOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2385 }
2386
2387 pub fn get_max_floor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2389 let mut fld = field::MaxFloorField::new(Decimal::ZERO, 0);
2390 self.message.body.get_field(tag::MAX_FLOOR, &mut fld.0)?;
2391 Ok(fld.value())
2392 }
2393
2394
2395 pub fn has_max_floor(&self) -> bool {
2397 self.message.body.has(tag::MAX_FLOOR)
2398 }
2399
2400
2401
2402
2403 pub fn set_max_show(&mut self, val: Decimal, scale: i32) {
2405 self.message.body.set_field(tag::MAX_SHOW, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2406 }
2407
2408 pub fn get_max_show(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2410 let mut fld = field::MaxShowField::new(Decimal::ZERO, 0);
2411 self.message.body.get_field(tag::MAX_SHOW, &mut fld.0)?;
2412 Ok(fld.value())
2413 }
2414
2415
2416 pub fn has_max_show(&self) -> bool {
2418 self.message.body.has(tag::MAX_SHOW)
2419 }
2420
2421
2422
2423
2424 pub fn set_min_qty(&mut self, val: Decimal, scale: i32) {
2426 self.message.body.set_field(tag::MIN_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2427 }
2428
2429 pub fn get_min_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2431 let mut fld = field::MinQtyField::new(Decimal::ZERO, 0);
2432 self.message.body.get_field(tag::MIN_QTY, &mut fld.0)?;
2433 Ok(fld.value())
2434 }
2435
2436
2437 pub fn has_min_qty(&self) -> bool {
2439 self.message.body.has(tag::MIN_QTY)
2440 }
2441
2442
2443
2444
2445 pub fn set_money_laundering_status(&mut self, v: String) {
2447 self.message.body.set_field(tag::MONEY_LAUNDERING_STATUS, FIXString::from(v));
2448 }
2449
2450 pub fn get_money_laundering_status(&self) -> Result<String, MessageRejectErrorEnum> {
2452 let mut fld = field::MoneyLaunderingStatusField::new(String::new());
2453 self.message.body.get_field(tag::MONEY_LAUNDERING_STATUS, &mut fld.0)?;
2454 Ok(fld.value().to_string())
2455 }
2456
2457
2458 pub fn has_money_laundering_status(&self) -> bool {
2460 self.message.body.has(tag::MONEY_LAUNDERING_STATUS)
2461 }
2462
2463
2464
2465
2466 pub fn set_multi_leg_reporting_type(&mut self, v: String) {
2468 self.message.body.set_field(tag::MULTI_LEG_REPORTING_TYPE, FIXString::from(v));
2469 }
2470
2471 pub fn get_multi_leg_reporting_type(&self) -> Result<String, MessageRejectErrorEnum> {
2473 let mut fld = field::MultiLegReportingTypeField::new(String::new());
2474 self.message.body.get_field(tag::MULTI_LEG_REPORTING_TYPE, &mut fld.0)?;
2475 Ok(fld.value().to_string())
2476 }
2477
2478
2479 pub fn has_multi_leg_reporting_type(&self) -> bool {
2481 self.message.body.has(tag::MULTI_LEG_REPORTING_TYPE)
2482 }
2483
2484
2485
2486
2487 pub fn set_net_money(&mut self, val: Decimal, scale: i32) {
2489 self.message.body.set_field(tag::NET_MONEY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2490 }
2491
2492 pub fn get_net_money(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2494 let mut fld = field::NetMoneyField::new(Decimal::ZERO, 0);
2495 self.message.body.get_field(tag::NET_MONEY, &mut fld.0)?;
2496 Ok(fld.value())
2497 }
2498
2499
2500 pub fn has_net_money(&self) -> bool {
2502 self.message.body.has(tag::NET_MONEY)
2503 }
2504
2505
2506
2507
2508 pub fn set_no_cont_amts(&mut self, v: isize) {
2510 self.message.body.set_field(tag::NO_CONT_AMTS, fixer::fix_int::FIXInt::from(v));
2511 }
2512
2513 pub fn get_no_cont_amts(&self) -> Result<isize, MessageRejectErrorEnum> {
2515 let mut fld = field::NoContAmtsField::new(0);
2516 self.message.body.get_field(tag::NO_CONT_AMTS, &mut fld.0)?;
2517 Ok(fld.value())
2518 }
2519
2520
2521 pub fn has_no_cont_amts(&self) -> bool {
2523 self.message.body.has(tag::NO_CONT_AMTS)
2524 }
2525
2526
2527
2528
2529 pub fn set_no_contra_brokers(&mut self, v: isize) {
2531 self.message.body.set_field(tag::NO_CONTRA_BROKERS, fixer::fix_int::FIXInt::from(v));
2532 }
2533
2534 pub fn get_no_contra_brokers(&self) -> Result<isize, MessageRejectErrorEnum> {
2536 let mut fld = field::NoContraBrokersField::new(0);
2537 self.message.body.get_field(tag::NO_CONTRA_BROKERS, &mut fld.0)?;
2538 Ok(fld.value())
2539 }
2540
2541
2542 pub fn has_no_contra_brokers(&self) -> bool {
2544 self.message.body.has(tag::NO_CONTRA_BROKERS)
2545 }
2546
2547
2548
2549
2550 pub fn set_no_events(&mut self, v: isize) {
2552 self.message.body.set_field(tag::NO_EVENTS, fixer::fix_int::FIXInt::from(v));
2553 }
2554
2555 pub fn get_no_events(&self) -> Result<isize, MessageRejectErrorEnum> {
2557 let mut fld = field::NoEventsField::new(0);
2558 self.message.body.get_field(tag::NO_EVENTS, &mut fld.0)?;
2559 Ok(fld.value())
2560 }
2561
2562
2563 pub fn has_no_events(&self) -> bool {
2565 self.message.body.has(tag::NO_EVENTS)
2566 }
2567
2568
2569
2570
2571 pub fn set_no_legs(&mut self, v: isize) {
2573 self.message.body.set_field(tag::NO_LEGS, fixer::fix_int::FIXInt::from(v));
2574 }
2575
2576 pub fn get_no_legs(&self) -> Result<isize, MessageRejectErrorEnum> {
2578 let mut fld = field::NoLegsField::new(0);
2579 self.message.body.get_field(tag::NO_LEGS, &mut fld.0)?;
2580 Ok(fld.value())
2581 }
2582
2583
2584 pub fn has_no_legs(&self) -> bool {
2586 self.message.body.has(tag::NO_LEGS)
2587 }
2588
2589
2590
2591
2592 pub fn set_no_misc_fees(&mut self, v: isize) {
2594 self.message.body.set_field(tag::NO_MISC_FEES, fixer::fix_int::FIXInt::from(v));
2595 }
2596
2597 pub fn get_no_misc_fees(&self) -> Result<isize, MessageRejectErrorEnum> {
2599 let mut fld = field::NoMiscFeesField::new(0);
2600 self.message.body.get_field(tag::NO_MISC_FEES, &mut fld.0)?;
2601 Ok(fld.value())
2602 }
2603
2604
2605 pub fn has_no_misc_fees(&self) -> bool {
2607 self.message.body.has(tag::NO_MISC_FEES)
2608 }
2609
2610
2611
2612
2613 pub fn set_no_party_i_ds(&mut self, v: isize) {
2615 self.message.body.set_field(tag::NO_PARTY_I_DS, fixer::fix_int::FIXInt::from(v));
2616 }
2617
2618 pub fn get_no_party_i_ds(&self) -> Result<isize, MessageRejectErrorEnum> {
2620 let mut fld = field::NoPartyIDsField::new(0);
2621 self.message.body.get_field(tag::NO_PARTY_I_DS, &mut fld.0)?;
2622 Ok(fld.value())
2623 }
2624
2625
2626 pub fn has_no_party_i_ds(&self) -> bool {
2628 self.message.body.has(tag::NO_PARTY_I_DS)
2629 }
2630
2631
2632
2633
2634 pub fn set_no_security_alt_id(&mut self, v: isize) {
2636 self.message.body.set_field(tag::NO_SECURITY_ALT_ID, fixer::fix_int::FIXInt::from(v));
2637 }
2638
2639 pub fn get_no_security_alt_id(&self) -> Result<isize, MessageRejectErrorEnum> {
2641 let mut fld = field::NoSecurityAltIDField::new(0);
2642 self.message.body.get_field(tag::NO_SECURITY_ALT_ID, &mut fld.0)?;
2643 Ok(fld.value())
2644 }
2645
2646
2647 pub fn has_no_security_alt_id(&self) -> bool {
2649 self.message.body.has(tag::NO_SECURITY_ALT_ID)
2650 }
2651
2652
2653
2654
2655 pub fn set_no_stipulations(&mut self, v: isize) {
2657 self.message.body.set_field(tag::NO_STIPULATIONS, fixer::fix_int::FIXInt::from(v));
2658 }
2659
2660 pub fn get_no_stipulations(&self) -> Result<isize, MessageRejectErrorEnum> {
2662 let mut fld = field::NoStipulationsField::new(0);
2663 self.message.body.get_field(tag::NO_STIPULATIONS, &mut fld.0)?;
2664 Ok(fld.value())
2665 }
2666
2667
2668 pub fn has_no_stipulations(&self) -> bool {
2670 self.message.body.has(tag::NO_STIPULATIONS)
2671 }
2672
2673
2674
2675
2676 pub fn set_no_underlyings(&mut self, v: isize) {
2678 self.message.body.set_field(tag::NO_UNDERLYINGS, fixer::fix_int::FIXInt::from(v));
2679 }
2680
2681 pub fn get_no_underlyings(&self) -> Result<isize, MessageRejectErrorEnum> {
2683 let mut fld = field::NoUnderlyingsField::new(0);
2684 self.message.body.get_field(tag::NO_UNDERLYINGS, &mut fld.0)?;
2685 Ok(fld.value())
2686 }
2687
2688
2689 pub fn has_no_underlyings(&self) -> bool {
2691 self.message.body.has(tag::NO_UNDERLYINGS)
2692 }
2693
2694
2695
2696
2697 pub fn set_num_days_interest(&mut self, v: isize) {
2699 self.message.body.set_field(tag::NUM_DAYS_INTEREST, fixer::fix_int::FIXInt::from(v));
2700 }
2701
2702 pub fn get_num_days_interest(&self) -> Result<isize, MessageRejectErrorEnum> {
2704 let mut fld = field::NumDaysInterestField::new(0);
2705 self.message.body.get_field(tag::NUM_DAYS_INTEREST, &mut fld.0)?;
2706 Ok(fld.value())
2707 }
2708
2709
2710 pub fn has_num_days_interest(&self) -> bool {
2712 self.message.body.has(tag::NUM_DAYS_INTEREST)
2713 }
2714
2715
2716
2717
2718 pub fn set_opt_attribute(&mut self, v: String) {
2720 self.message.body.set_field(tag::OPT_ATTRIBUTE, FIXString::from(v));
2721 }
2722
2723 pub fn get_opt_attribute(&self) -> Result<String, MessageRejectErrorEnum> {
2725 let mut fld = field::OptAttributeField::new(String::new());
2726 self.message.body.get_field(tag::OPT_ATTRIBUTE, &mut fld.0)?;
2727 Ok(fld.value().to_string())
2728 }
2729
2730
2731 pub fn has_opt_attribute(&self) -> bool {
2733 self.message.body.has(tag::OPT_ATTRIBUTE)
2734 }
2735
2736
2737
2738
2739 pub fn set_ord_rej_reason(&mut self, v: isize) {
2741 self.message.body.set_field(tag::ORD_REJ_REASON, fixer::fix_int::FIXInt::from(v));
2742 }
2743
2744 pub fn get_ord_rej_reason(&self) -> Result<isize, MessageRejectErrorEnum> {
2746 let mut fld = field::OrdRejReasonField::new(0);
2747 self.message.body.get_field(tag::ORD_REJ_REASON, &mut fld.0)?;
2748 Ok(fld.value())
2749 }
2750
2751
2752 pub fn has_ord_rej_reason(&self) -> bool {
2754 self.message.body.has(tag::ORD_REJ_REASON)
2755 }
2756
2757
2758
2759
2760 pub fn set_ord_status(&mut self, v: String) {
2762 self.message.body.set_field(tag::ORD_STATUS, FIXString::from(v));
2763 }
2764
2765 pub fn get_ord_status(&self) -> Result<String, MessageRejectErrorEnum> {
2767 let mut fld = field::OrdStatusField::new(String::new());
2768 self.message.body.get_field(tag::ORD_STATUS, &mut fld.0)?;
2769 Ok(fld.value().to_string())
2770 }
2771
2772
2773 pub fn has_ord_status(&self) -> bool {
2775 self.message.body.has(tag::ORD_STATUS)
2776 }
2777
2778
2779
2780
2781 pub fn set_ord_status_req_id(&mut self, v: String) {
2783 self.message.body.set_field(tag::ORD_STATUS_REQ_ID, FIXString::from(v));
2784 }
2785
2786 pub fn get_ord_status_req_id(&self) -> Result<String, MessageRejectErrorEnum> {
2788 let mut fld = field::OrdStatusReqIDField::new(String::new());
2789 self.message.body.get_field(tag::ORD_STATUS_REQ_ID, &mut fld.0)?;
2790 Ok(fld.value().to_string())
2791 }
2792
2793
2794 pub fn has_ord_status_req_id(&self) -> bool {
2796 self.message.body.has(tag::ORD_STATUS_REQ_ID)
2797 }
2798
2799
2800
2801
2802 pub fn set_ord_type(&mut self, v: String) {
2804 self.message.body.set_field(tag::ORD_TYPE, FIXString::from(v));
2805 }
2806
2807 pub fn get_ord_type(&self) -> Result<String, MessageRejectErrorEnum> {
2809 let mut fld = field::OrdTypeField::new(String::new());
2810 self.message.body.get_field(tag::ORD_TYPE, &mut fld.0)?;
2811 Ok(fld.value().to_string())
2812 }
2813
2814
2815 pub fn has_ord_type(&self) -> bool {
2817 self.message.body.has(tag::ORD_TYPE)
2818 }
2819
2820
2821
2822
2823 pub fn set_order_capacity(&mut self, v: String) {
2825 self.message.body.set_field(tag::ORDER_CAPACITY, FIXString::from(v));
2826 }
2827
2828 pub fn get_order_capacity(&self) -> Result<String, MessageRejectErrorEnum> {
2830 let mut fld = field::OrderCapacityField::new(String::new());
2831 self.message.body.get_field(tag::ORDER_CAPACITY, &mut fld.0)?;
2832 Ok(fld.value().to_string())
2833 }
2834
2835
2836 pub fn has_order_capacity(&self) -> bool {
2838 self.message.body.has(tag::ORDER_CAPACITY)
2839 }
2840
2841
2842
2843
2844 pub fn set_order_id(&mut self, v: String) {
2846 self.message.body.set_field(tag::ORDER_ID, FIXString::from(v));
2847 }
2848
2849 pub fn get_order_id(&self) -> Result<String, MessageRejectErrorEnum> {
2851 let mut fld = field::OrderIDField::new(String::new());
2852 self.message.body.get_field(tag::ORDER_ID, &mut fld.0)?;
2853 Ok(fld.value().to_string())
2854 }
2855
2856
2857 pub fn has_order_id(&self) -> bool {
2859 self.message.body.has(tag::ORDER_ID)
2860 }
2861
2862
2863
2864
2865 pub fn set_order_percent(&mut self, val: Decimal, scale: i32) {
2867 self.message.body.set_field(tag::ORDER_PERCENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2868 }
2869
2870 pub fn get_order_percent(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2872 let mut fld = field::OrderPercentField::new(Decimal::ZERO, 0);
2873 self.message.body.get_field(tag::ORDER_PERCENT, &mut fld.0)?;
2874 Ok(fld.value())
2875 }
2876
2877
2878 pub fn has_order_percent(&self) -> bool {
2880 self.message.body.has(tag::ORDER_PERCENT)
2881 }
2882
2883
2884
2885
2886 pub fn set_order_qty(&mut self, val: Decimal, scale: i32) {
2888 self.message.body.set_field(tag::ORDER_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2889 }
2890
2891 pub fn get_order_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2893 let mut fld = field::OrderQtyField::new(Decimal::ZERO, 0);
2894 self.message.body.get_field(tag::ORDER_QTY, &mut fld.0)?;
2895 Ok(fld.value())
2896 }
2897
2898
2899 pub fn has_order_qty(&self) -> bool {
2901 self.message.body.has(tag::ORDER_QTY)
2902 }
2903
2904
2905
2906
2907 pub fn set_order_qty2(&mut self, val: Decimal, scale: i32) {
2909 self.message.body.set_field(tag::ORDER_QTY2, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2910 }
2911
2912 pub fn get_order_qty2(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2914 let mut fld = field::OrderQty2Field::new(Decimal::ZERO, 0);
2915 self.message.body.get_field(tag::ORDER_QTY2, &mut fld.0)?;
2916 Ok(fld.value())
2917 }
2918
2919
2920 pub fn has_order_qty2(&self) -> bool {
2922 self.message.body.has(tag::ORDER_QTY2)
2923 }
2924
2925
2926
2927
2928 pub fn set_order_restrictions(&mut self, v: String) {
2930 self.message.body.set_field(tag::ORDER_RESTRICTIONS, FIXString::from(v));
2931 }
2932
2933 pub fn get_order_restrictions(&self) -> Result<String, MessageRejectErrorEnum> {
2935 let mut fld = field::OrderRestrictionsField::new(String::new());
2936 self.message.body.get_field(tag::ORDER_RESTRICTIONS, &mut fld.0)?;
2937 Ok(fld.value().to_string())
2938 }
2939
2940
2941 pub fn has_order_restrictions(&self) -> bool {
2943 self.message.body.has(tag::ORDER_RESTRICTIONS)
2944 }
2945
2946
2947
2948
2949 pub fn set_orig_cl_ord_id(&mut self, v: String) {
2951 self.message.body.set_field(tag::ORIG_CL_ORD_ID, FIXString::from(v));
2952 }
2953
2954 pub fn get_orig_cl_ord_id(&self) -> Result<String, MessageRejectErrorEnum> {
2956 let mut fld = field::OrigClOrdIDField::new(String::new());
2957 self.message.body.get_field(tag::ORIG_CL_ORD_ID, &mut fld.0)?;
2958 Ok(fld.value().to_string())
2959 }
2960
2961
2962 pub fn has_orig_cl_ord_id(&self) -> bool {
2964 self.message.body.has(tag::ORIG_CL_ORD_ID)
2965 }
2966
2967
2968
2969
2970 pub fn set_orig_cross_id(&mut self, v: String) {
2972 self.message.body.set_field(tag::ORIG_CROSS_ID, FIXString::from(v));
2973 }
2974
2975 pub fn get_orig_cross_id(&self) -> Result<String, MessageRejectErrorEnum> {
2977 let mut fld = field::OrigCrossIDField::new(String::new());
2978 self.message.body.get_field(tag::ORIG_CROSS_ID, &mut fld.0)?;
2979 Ok(fld.value().to_string())
2980 }
2981
2982
2983 pub fn has_orig_cross_id(&self) -> bool {
2985 self.message.body.has(tag::ORIG_CROSS_ID)
2986 }
2987
2988
2989
2990
2991 pub fn set_participation_rate(&mut self, val: Decimal, scale: i32) {
2993 self.message.body.set_field(tag::PARTICIPATION_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
2994 }
2995
2996 pub fn get_participation_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
2998 let mut fld = field::ParticipationRateField::new(Decimal::ZERO, 0);
2999 self.message.body.get_field(tag::PARTICIPATION_RATE, &mut fld.0)?;
3000 Ok(fld.value())
3001 }
3002
3003
3004 pub fn has_participation_rate(&self) -> bool {
3006 self.message.body.has(tag::PARTICIPATION_RATE)
3007 }
3008
3009
3010
3011
3012 pub fn set_peg_limit_type(&mut self, v: isize) {
3014 self.message.body.set_field(tag::PEG_LIMIT_TYPE, fixer::fix_int::FIXInt::from(v));
3015 }
3016
3017 pub fn get_peg_limit_type(&self) -> Result<isize, MessageRejectErrorEnum> {
3019 let mut fld = field::PegLimitTypeField::new(0);
3020 self.message.body.get_field(tag::PEG_LIMIT_TYPE, &mut fld.0)?;
3021 Ok(fld.value())
3022 }
3023
3024
3025 pub fn has_peg_limit_type(&self) -> bool {
3027 self.message.body.has(tag::PEG_LIMIT_TYPE)
3028 }
3029
3030
3031
3032
3033 pub fn set_peg_move_type(&mut self, v: isize) {
3035 self.message.body.set_field(tag::PEG_MOVE_TYPE, fixer::fix_int::FIXInt::from(v));
3036 }
3037
3038 pub fn get_peg_move_type(&self) -> Result<isize, MessageRejectErrorEnum> {
3040 let mut fld = field::PegMoveTypeField::new(0);
3041 self.message.body.get_field(tag::PEG_MOVE_TYPE, &mut fld.0)?;
3042 Ok(fld.value())
3043 }
3044
3045
3046 pub fn has_peg_move_type(&self) -> bool {
3048 self.message.body.has(tag::PEG_MOVE_TYPE)
3049 }
3050
3051
3052
3053
3054 pub fn set_peg_offset_type(&mut self, v: isize) {
3056 self.message.body.set_field(tag::PEG_OFFSET_TYPE, fixer::fix_int::FIXInt::from(v));
3057 }
3058
3059 pub fn get_peg_offset_type(&self) -> Result<isize, MessageRejectErrorEnum> {
3061 let mut fld = field::PegOffsetTypeField::new(0);
3062 self.message.body.get_field(tag::PEG_OFFSET_TYPE, &mut fld.0)?;
3063 Ok(fld.value())
3064 }
3065
3066
3067 pub fn has_peg_offset_type(&self) -> bool {
3069 self.message.body.has(tag::PEG_OFFSET_TYPE)
3070 }
3071
3072
3073
3074
3075 pub fn set_peg_offset_value(&mut self, val: Decimal, scale: i32) {
3077 self.message.body.set_field(tag::PEG_OFFSET_VALUE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3078 }
3079
3080 pub fn get_peg_offset_value(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3082 let mut fld = field::PegOffsetValueField::new(Decimal::ZERO, 0);
3083 self.message.body.get_field(tag::PEG_OFFSET_VALUE, &mut fld.0)?;
3084 Ok(fld.value())
3085 }
3086
3087
3088 pub fn has_peg_offset_value(&self) -> bool {
3090 self.message.body.has(tag::PEG_OFFSET_VALUE)
3091 }
3092
3093
3094
3095
3096 pub fn set_peg_round_direction(&mut self, v: isize) {
3098 self.message.body.set_field(tag::PEG_ROUND_DIRECTION, fixer::fix_int::FIXInt::from(v));
3099 }
3100
3101 pub fn get_peg_round_direction(&self) -> Result<isize, MessageRejectErrorEnum> {
3103 let mut fld = field::PegRoundDirectionField::new(0);
3104 self.message.body.get_field(tag::PEG_ROUND_DIRECTION, &mut fld.0)?;
3105 Ok(fld.value())
3106 }
3107
3108
3109 pub fn has_peg_round_direction(&self) -> bool {
3111 self.message.body.has(tag::PEG_ROUND_DIRECTION)
3112 }
3113
3114
3115
3116
3117 pub fn set_peg_scope(&mut self, v: isize) {
3119 self.message.body.set_field(tag::PEG_SCOPE, fixer::fix_int::FIXInt::from(v));
3120 }
3121
3122 pub fn get_peg_scope(&self) -> Result<isize, MessageRejectErrorEnum> {
3124 let mut fld = field::PegScopeField::new(0);
3125 self.message.body.get_field(tag::PEG_SCOPE, &mut fld.0)?;
3126 Ok(fld.value())
3127 }
3128
3129
3130 pub fn has_peg_scope(&self) -> bool {
3132 self.message.body.has(tag::PEG_SCOPE)
3133 }
3134
3135
3136
3137
3138 pub fn set_pegged_price(&mut self, val: Decimal, scale: i32) {
3140 self.message.body.set_field(tag::PEGGED_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3141 }
3142
3143 pub fn get_pegged_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3145 let mut fld = field::PeggedPriceField::new(Decimal::ZERO, 0);
3146 self.message.body.get_field(tag::PEGGED_PRICE, &mut fld.0)?;
3147 Ok(fld.value())
3148 }
3149
3150
3151 pub fn has_pegged_price(&self) -> bool {
3153 self.message.body.has(tag::PEGGED_PRICE)
3154 }
3155
3156
3157
3158
3159 pub fn set_pool(&mut self, v: String) {
3161 self.message.body.set_field(tag::POOL, FIXString::from(v));
3162 }
3163
3164 pub fn get_pool(&self) -> Result<String, MessageRejectErrorEnum> {
3166 let mut fld = field::PoolField::new(String::new());
3167 self.message.body.get_field(tag::POOL, &mut fld.0)?;
3168 Ok(fld.value().to_string())
3169 }
3170
3171
3172 pub fn has_pool(&self) -> bool {
3174 self.message.body.has(tag::POOL)
3175 }
3176
3177
3178
3179
3180 pub fn set_position_effect(&mut self, v: String) {
3182 self.message.body.set_field(tag::POSITION_EFFECT, FIXString::from(v));
3183 }
3184
3185 pub fn get_position_effect(&self) -> Result<String, MessageRejectErrorEnum> {
3187 let mut fld = field::PositionEffectField::new(String::new());
3188 self.message.body.get_field(tag::POSITION_EFFECT, &mut fld.0)?;
3189 Ok(fld.value().to_string())
3190 }
3191
3192
3193 pub fn has_position_effect(&self) -> bool {
3195 self.message.body.has(tag::POSITION_EFFECT)
3196 }
3197
3198
3199
3200
3201 pub fn set_prealloc_method(&mut self, v: String) {
3203 self.message.body.set_field(tag::PREALLOC_METHOD, FIXString::from(v));
3204 }
3205
3206 pub fn get_prealloc_method(&self) -> Result<String, MessageRejectErrorEnum> {
3208 let mut fld = field::PreallocMethodField::new(String::new());
3209 self.message.body.get_field(tag::PREALLOC_METHOD, &mut fld.0)?;
3210 Ok(fld.value().to_string())
3211 }
3212
3213
3214 pub fn has_prealloc_method(&self) -> bool {
3216 self.message.body.has(tag::PREALLOC_METHOD)
3217 }
3218
3219
3220
3221
3222 pub fn set_price(&mut self, val: Decimal, scale: i32) {
3224 self.message.body.set_field(tag::PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3225 }
3226
3227 pub fn get_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3229 let mut fld = field::PriceField::new(Decimal::ZERO, 0);
3230 self.message.body.get_field(tag::PRICE, &mut fld.0)?;
3231 Ok(fld.value())
3232 }
3233
3234
3235 pub fn has_price(&self) -> bool {
3237 self.message.body.has(tag::PRICE)
3238 }
3239
3240
3241
3242
3243 pub fn set_price_improvement(&mut self, val: Decimal, scale: i32) {
3245 self.message.body.set_field(tag::PRICE_IMPROVEMENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3246 }
3247
3248 pub fn get_price_improvement(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3250 let mut fld = field::PriceImprovementField::new(Decimal::ZERO, 0);
3251 self.message.body.get_field(tag::PRICE_IMPROVEMENT, &mut fld.0)?;
3252 Ok(fld.value())
3253 }
3254
3255
3256 pub fn has_price_improvement(&self) -> bool {
3258 self.message.body.has(tag::PRICE_IMPROVEMENT)
3259 }
3260
3261
3262
3263
3264 pub fn set_price_type(&mut self, v: isize) {
3266 self.message.body.set_field(tag::PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
3267 }
3268
3269 pub fn get_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
3271 let mut fld = field::PriceTypeField::new(0);
3272 self.message.body.get_field(tag::PRICE_TYPE, &mut fld.0)?;
3273 Ok(fld.value())
3274 }
3275
3276
3277 pub fn has_price_type(&self) -> bool {
3279 self.message.body.has(tag::PRICE_TYPE)
3280 }
3281
3282
3283
3284
3285 pub fn set_priority_indicator(&mut self, v: isize) {
3287 self.message.body.set_field(tag::PRIORITY_INDICATOR, fixer::fix_int::FIXInt::from(v));
3288 }
3289
3290 pub fn get_priority_indicator(&self) -> Result<isize, MessageRejectErrorEnum> {
3292 let mut fld = field::PriorityIndicatorField::new(0);
3293 self.message.body.get_field(tag::PRIORITY_INDICATOR, &mut fld.0)?;
3294 Ok(fld.value())
3295 }
3296
3297
3298 pub fn has_priority_indicator(&self) -> bool {
3300 self.message.body.has(tag::PRIORITY_INDICATOR)
3301 }
3302
3303
3304
3305
3306 pub fn set_product(&mut self, v: isize) {
3308 self.message.body.set_field(tag::PRODUCT, fixer::fix_int::FIXInt::from(v));
3309 }
3310
3311 pub fn get_product(&self) -> Result<isize, MessageRejectErrorEnum> {
3313 let mut fld = field::ProductField::new(0);
3314 self.message.body.get_field(tag::PRODUCT, &mut fld.0)?;
3315 Ok(fld.value())
3316 }
3317
3318
3319 pub fn has_product(&self) -> bool {
3321 self.message.body.has(tag::PRODUCT)
3322 }
3323
3324
3325
3326
3327 pub fn set_qty_type(&mut self, v: isize) {
3329 self.message.body.set_field(tag::QTY_TYPE, fixer::fix_int::FIXInt::from(v));
3330 }
3331
3332 pub fn get_qty_type(&self) -> Result<isize, MessageRejectErrorEnum> {
3334 let mut fld = field::QtyTypeField::new(0);
3335 self.message.body.get_field(tag::QTY_TYPE, &mut fld.0)?;
3336 Ok(fld.value())
3337 }
3338
3339
3340 pub fn has_qty_type(&self) -> bool {
3342 self.message.body.has(tag::QTY_TYPE)
3343 }
3344
3345
3346
3347
3348 pub fn set_quote_resp_id(&mut self, v: String) {
3350 self.message.body.set_field(tag::QUOTE_RESP_ID, FIXString::from(v));
3351 }
3352
3353 pub fn get_quote_resp_id(&self) -> Result<String, MessageRejectErrorEnum> {
3355 let mut fld = field::QuoteRespIDField::new(String::new());
3356 self.message.body.get_field(tag::QUOTE_RESP_ID, &mut fld.0)?;
3357 Ok(fld.value().to_string())
3358 }
3359
3360
3361 pub fn has_quote_resp_id(&self) -> bool {
3363 self.message.body.has(tag::QUOTE_RESP_ID)
3364 }
3365
3366
3367
3368
3369 pub fn set_redemption_date(&mut self, v: String) {
3371 self.message.body.set_field(tag::REDEMPTION_DATE, FIXString::from(v));
3372 }
3373
3374 pub fn get_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
3376 let mut fld = field::RedemptionDateField::new(String::new());
3377 self.message.body.get_field(tag::REDEMPTION_DATE, &mut fld.0)?;
3378 Ok(fld.value().to_string())
3379 }
3380
3381
3382 pub fn has_redemption_date(&self) -> bool {
3384 self.message.body.has(tag::REDEMPTION_DATE)
3385 }
3386
3387
3388
3389
3390 pub fn set_regist_id(&mut self, v: String) {
3392 self.message.body.set_field(tag::REGIST_ID, FIXString::from(v));
3393 }
3394
3395 pub fn get_regist_id(&self) -> Result<String, MessageRejectErrorEnum> {
3397 let mut fld = field::RegistIDField::new(String::new());
3398 self.message.body.get_field(tag::REGIST_ID, &mut fld.0)?;
3399 Ok(fld.value().to_string())
3400 }
3401
3402
3403 pub fn has_regist_id(&self) -> bool {
3405 self.message.body.has(tag::REGIST_ID)
3406 }
3407
3408
3409
3410
3411 pub fn set_repo_collateral_security_type(&mut self, v: isize) {
3413 self.message.body.set_field(tag::REPO_COLLATERAL_SECURITY_TYPE, fixer::fix_int::FIXInt::from(v));
3414 }
3415
3416 pub fn get_repo_collateral_security_type(&self) -> Result<isize, MessageRejectErrorEnum> {
3418 let mut fld = field::RepoCollateralSecurityTypeField::new(0);
3419 self.message.body.get_field(tag::REPO_COLLATERAL_SECURITY_TYPE, &mut fld.0)?;
3420 Ok(fld.value())
3421 }
3422
3423
3424 pub fn has_repo_collateral_security_type(&self) -> bool {
3426 self.message.body.has(tag::REPO_COLLATERAL_SECURITY_TYPE)
3427 }
3428
3429
3430
3431
3432 pub fn set_report_to_exch(&mut self, v: bool) {
3434 self.message.body.set_field(tag::REPORT_TO_EXCH, fixer::fix_boolean::FIXBoolean::from(v));
3435 }
3436
3437 pub fn get_report_to_exch(&self) -> Result<bool, MessageRejectErrorEnum> {
3439 let mut fld = field::ReportToExchField::new(false);
3440 self.message.body.get_field(tag::REPORT_TO_EXCH, &mut fld.0)?;
3441 Ok(fld.value())
3442 }
3443
3444
3445 pub fn has_report_to_exch(&self) -> bool {
3447 self.message.body.has(tag::REPORT_TO_EXCH)
3448 }
3449
3450
3451
3452
3453 pub fn set_repurchase_rate(&mut self, val: Decimal, scale: i32) {
3455 self.message.body.set_field(tag::REPURCHASE_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3456 }
3457
3458 pub fn get_repurchase_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3460 let mut fld = field::RepurchaseRateField::new(Decimal::ZERO, 0);
3461 self.message.body.get_field(tag::REPURCHASE_RATE, &mut fld.0)?;
3462 Ok(fld.value())
3463 }
3464
3465
3466 pub fn has_repurchase_rate(&self) -> bool {
3468 self.message.body.has(tag::REPURCHASE_RATE)
3469 }
3470
3471
3472
3473
3474 pub fn set_repurchase_term(&mut self, v: isize) {
3476 self.message.body.set_field(tag::REPURCHASE_TERM, fixer::fix_int::FIXInt::from(v));
3477 }
3478
3479 pub fn get_repurchase_term(&self) -> Result<isize, MessageRejectErrorEnum> {
3481 let mut fld = field::RepurchaseTermField::new(0);
3482 self.message.body.get_field(tag::REPURCHASE_TERM, &mut fld.0)?;
3483 Ok(fld.value())
3484 }
3485
3486
3487 pub fn has_repurchase_term(&self) -> bool {
3489 self.message.body.has(tag::REPURCHASE_TERM)
3490 }
3491
3492
3493
3494
3495 pub fn set_rounding_direction(&mut self, v: String) {
3497 self.message.body.set_field(tag::ROUNDING_DIRECTION, FIXString::from(v));
3498 }
3499
3500 pub fn get_rounding_direction(&self) -> Result<String, MessageRejectErrorEnum> {
3502 let mut fld = field::RoundingDirectionField::new(String::new());
3503 self.message.body.get_field(tag::ROUNDING_DIRECTION, &mut fld.0)?;
3504 Ok(fld.value().to_string())
3505 }
3506
3507
3508 pub fn has_rounding_direction(&self) -> bool {
3510 self.message.body.has(tag::ROUNDING_DIRECTION)
3511 }
3512
3513
3514
3515
3516 pub fn set_rounding_modulus(&mut self, val: Decimal, scale: i32) {
3518 self.message.body.set_field(tag::ROUNDING_MODULUS, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3519 }
3520
3521 pub fn get_rounding_modulus(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3523 let mut fld = field::RoundingModulusField::new(Decimal::ZERO, 0);
3524 self.message.body.get_field(tag::ROUNDING_MODULUS, &mut fld.0)?;
3525 Ok(fld.value())
3526 }
3527
3528
3529 pub fn has_rounding_modulus(&self) -> bool {
3531 self.message.body.has(tag::ROUNDING_MODULUS)
3532 }
3533
3534
3535
3536
3537 pub fn set_secondary_cl_ord_id(&mut self, v: String) {
3539 self.message.body.set_field(tag::SECONDARY_CL_ORD_ID, FIXString::from(v));
3540 }
3541
3542 pub fn get_secondary_cl_ord_id(&self) -> Result<String, MessageRejectErrorEnum> {
3544 let mut fld = field::SecondaryClOrdIDField::new(String::new());
3545 self.message.body.get_field(tag::SECONDARY_CL_ORD_ID, &mut fld.0)?;
3546 Ok(fld.value().to_string())
3547 }
3548
3549
3550 pub fn has_secondary_cl_ord_id(&self) -> bool {
3552 self.message.body.has(tag::SECONDARY_CL_ORD_ID)
3553 }
3554
3555
3556
3557
3558 pub fn set_secondary_exec_id(&mut self, v: String) {
3560 self.message.body.set_field(tag::SECONDARY_EXEC_ID, FIXString::from(v));
3561 }
3562
3563 pub fn get_secondary_exec_id(&self) -> Result<String, MessageRejectErrorEnum> {
3565 let mut fld = field::SecondaryExecIDField::new(String::new());
3566 self.message.body.get_field(tag::SECONDARY_EXEC_ID, &mut fld.0)?;
3567 Ok(fld.value().to_string())
3568 }
3569
3570
3571 pub fn has_secondary_exec_id(&self) -> bool {
3573 self.message.body.has(tag::SECONDARY_EXEC_ID)
3574 }
3575
3576
3577
3578
3579 pub fn set_secondary_order_id(&mut self, v: String) {
3581 self.message.body.set_field(tag::SECONDARY_ORDER_ID, FIXString::from(v));
3582 }
3583
3584 pub fn get_secondary_order_id(&self) -> Result<String, MessageRejectErrorEnum> {
3586 let mut fld = field::SecondaryOrderIDField::new(String::new());
3587 self.message.body.get_field(tag::SECONDARY_ORDER_ID, &mut fld.0)?;
3588 Ok(fld.value().to_string())
3589 }
3590
3591
3592 pub fn has_secondary_order_id(&self) -> bool {
3594 self.message.body.has(tag::SECONDARY_ORDER_ID)
3595 }
3596
3597
3598
3599
3600 pub fn set_security_desc(&mut self, v: String) {
3602 self.message.body.set_field(tag::SECURITY_DESC, FIXString::from(v));
3603 }
3604
3605 pub fn get_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
3607 let mut fld = field::SecurityDescField::new(String::new());
3608 self.message.body.get_field(tag::SECURITY_DESC, &mut fld.0)?;
3609 Ok(fld.value().to_string())
3610 }
3611
3612
3613 pub fn has_security_desc(&self) -> bool {
3615 self.message.body.has(tag::SECURITY_DESC)
3616 }
3617
3618
3619
3620
3621 pub fn set_security_exchange(&mut self, v: String) {
3623 self.message.body.set_field(tag::SECURITY_EXCHANGE, FIXString::from(v));
3624 }
3625
3626 pub fn get_security_exchange(&self) -> Result<String, MessageRejectErrorEnum> {
3628 let mut fld = field::SecurityExchangeField::new(String::new());
3629 self.message.body.get_field(tag::SECURITY_EXCHANGE, &mut fld.0)?;
3630 Ok(fld.value().to_string())
3631 }
3632
3633
3634 pub fn has_security_exchange(&self) -> bool {
3636 self.message.body.has(tag::SECURITY_EXCHANGE)
3637 }
3638
3639
3640
3641
3642 pub fn set_security_id(&mut self, v: String) {
3644 self.message.body.set_field(tag::SECURITY_ID, FIXString::from(v));
3645 }
3646
3647 pub fn get_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
3649 let mut fld = field::SecurityIDField::new(String::new());
3650 self.message.body.get_field(tag::SECURITY_ID, &mut fld.0)?;
3651 Ok(fld.value().to_string())
3652 }
3653
3654
3655 pub fn has_security_id(&self) -> bool {
3657 self.message.body.has(tag::SECURITY_ID)
3658 }
3659
3660
3661
3662
3663 pub fn set_security_id_source(&mut self, v: String) {
3665 self.message.body.set_field(tag::SECURITY_ID_SOURCE, FIXString::from(v));
3666 }
3667
3668 pub fn get_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
3670 let mut fld = field::SecurityIDSourceField::new(String::new());
3671 self.message.body.get_field(tag::SECURITY_ID_SOURCE, &mut fld.0)?;
3672 Ok(fld.value().to_string())
3673 }
3674
3675
3676 pub fn has_security_id_source(&self) -> bool {
3678 self.message.body.has(tag::SECURITY_ID_SOURCE)
3679 }
3680
3681
3682
3683
3684 pub fn set_security_sub_type(&mut self, v: String) {
3686 self.message.body.set_field(tag::SECURITY_SUB_TYPE, FIXString::from(v));
3687 }
3688
3689 pub fn get_security_sub_type(&self) -> Result<String, MessageRejectErrorEnum> {
3691 let mut fld = field::SecuritySubTypeField::new(String::new());
3692 self.message.body.get_field(tag::SECURITY_SUB_TYPE, &mut fld.0)?;
3693 Ok(fld.value().to_string())
3694 }
3695
3696
3697 pub fn has_security_sub_type(&self) -> bool {
3699 self.message.body.has(tag::SECURITY_SUB_TYPE)
3700 }
3701
3702
3703
3704
3705 pub fn set_security_type(&mut self, v: String) {
3707 self.message.body.set_field(tag::SECURITY_TYPE, FIXString::from(v));
3708 }
3709
3710 pub fn get_security_type(&self) -> Result<String, MessageRejectErrorEnum> {
3712 let mut fld = field::SecurityTypeField::new(String::new());
3713 self.message.body.get_field(tag::SECURITY_TYPE, &mut fld.0)?;
3714 Ok(fld.value().to_string())
3715 }
3716
3717
3718 pub fn has_security_type(&self) -> bool {
3720 self.message.body.has(tag::SECURITY_TYPE)
3721 }
3722
3723
3724
3725
3726 pub fn set_settl_curr_amt(&mut self, val: Decimal, scale: i32) {
3728 self.message.body.set_field(tag::SETTL_CURR_AMT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3729 }
3730
3731 pub fn get_settl_curr_amt(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3733 let mut fld = field::SettlCurrAmtField::new(Decimal::ZERO, 0);
3734 self.message.body.get_field(tag::SETTL_CURR_AMT, &mut fld.0)?;
3735 Ok(fld.value())
3736 }
3737
3738
3739 pub fn has_settl_curr_amt(&self) -> bool {
3741 self.message.body.has(tag::SETTL_CURR_AMT)
3742 }
3743
3744
3745
3746
3747 pub fn set_settl_curr_fx_rate(&mut self, val: Decimal, scale: i32) {
3749 self.message.body.set_field(tag::SETTL_CURR_FX_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3750 }
3751
3752 pub fn get_settl_curr_fx_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3754 let mut fld = field::SettlCurrFxRateField::new(Decimal::ZERO, 0);
3755 self.message.body.get_field(tag::SETTL_CURR_FX_RATE, &mut fld.0)?;
3756 Ok(fld.value())
3757 }
3758
3759
3760 pub fn has_settl_curr_fx_rate(&self) -> bool {
3762 self.message.body.has(tag::SETTL_CURR_FX_RATE)
3763 }
3764
3765
3766
3767
3768 pub fn set_settl_curr_fx_rate_calc(&mut self, v: String) {
3770 self.message.body.set_field(tag::SETTL_CURR_FX_RATE_CALC, FIXString::from(v));
3771 }
3772
3773 pub fn get_settl_curr_fx_rate_calc(&self) -> Result<String, MessageRejectErrorEnum> {
3775 let mut fld = field::SettlCurrFxRateCalcField::new(String::new());
3776 self.message.body.get_field(tag::SETTL_CURR_FX_RATE_CALC, &mut fld.0)?;
3777 Ok(fld.value().to_string())
3778 }
3779
3780
3781 pub fn has_settl_curr_fx_rate_calc(&self) -> bool {
3783 self.message.body.has(tag::SETTL_CURR_FX_RATE_CALC)
3784 }
3785
3786
3787
3788
3789 pub fn set_settl_currency(&mut self, v: String) {
3791 self.message.body.set_field(tag::SETTL_CURRENCY, FIXString::from(v));
3792 }
3793
3794 pub fn get_settl_currency(&self) -> Result<String, MessageRejectErrorEnum> {
3796 let mut fld = field::SettlCurrencyField::new(String::new());
3797 self.message.body.get_field(tag::SETTL_CURRENCY, &mut fld.0)?;
3798 Ok(fld.value().to_string())
3799 }
3800
3801
3802 pub fn has_settl_currency(&self) -> bool {
3804 self.message.body.has(tag::SETTL_CURRENCY)
3805 }
3806
3807
3808
3809
3810 pub fn set_settl_date(&mut self, v: String) {
3812 self.message.body.set_field(tag::SETTL_DATE, FIXString::from(v));
3813 }
3814
3815 pub fn get_settl_date(&self) -> Result<String, MessageRejectErrorEnum> {
3817 let mut fld = field::SettlDateField::new(String::new());
3818 self.message.body.get_field(tag::SETTL_DATE, &mut fld.0)?;
3819 Ok(fld.value().to_string())
3820 }
3821
3822
3823 pub fn has_settl_date(&self) -> bool {
3825 self.message.body.has(tag::SETTL_DATE)
3826 }
3827
3828
3829
3830
3831 pub fn set_settl_date2(&mut self, v: String) {
3833 self.message.body.set_field(tag::SETTL_DATE2, FIXString::from(v));
3834 }
3835
3836 pub fn get_settl_date2(&self) -> Result<String, MessageRejectErrorEnum> {
3838 let mut fld = field::SettlDate2Field::new(String::new());
3839 self.message.body.get_field(tag::SETTL_DATE2, &mut fld.0)?;
3840 Ok(fld.value().to_string())
3841 }
3842
3843
3844 pub fn has_settl_date2(&self) -> bool {
3846 self.message.body.has(tag::SETTL_DATE2)
3847 }
3848
3849
3850
3851
3852 pub fn set_settl_type(&mut self, v: String) {
3854 self.message.body.set_field(tag::SETTL_TYPE, FIXString::from(v));
3855 }
3856
3857 pub fn get_settl_type(&self) -> Result<String, MessageRejectErrorEnum> {
3859 let mut fld = field::SettlTypeField::new(String::new());
3860 self.message.body.get_field(tag::SETTL_TYPE, &mut fld.0)?;
3861 Ok(fld.value().to_string())
3862 }
3863
3864
3865 pub fn has_settl_type(&self) -> bool {
3867 self.message.body.has(tag::SETTL_TYPE)
3868 }
3869
3870
3871
3872
3873 pub fn set_side(&mut self, v: String) {
3875 self.message.body.set_field(tag::SIDE, FIXString::from(v));
3876 }
3877
3878 pub fn get_side(&self) -> Result<String, MessageRejectErrorEnum> {
3880 let mut fld = field::SideField::new(String::new());
3881 self.message.body.get_field(tag::SIDE, &mut fld.0)?;
3882 Ok(fld.value().to_string())
3883 }
3884
3885
3886 pub fn has_side(&self) -> bool {
3888 self.message.body.has(tag::SIDE)
3889 }
3890
3891
3892
3893
3894 pub fn set_solicited_flag(&mut self, v: bool) {
3896 self.message.body.set_field(tag::SOLICITED_FLAG, fixer::fix_boolean::FIXBoolean::from(v));
3897 }
3898
3899 pub fn get_solicited_flag(&self) -> Result<bool, MessageRejectErrorEnum> {
3901 let mut fld = field::SolicitedFlagField::new(false);
3902 self.message.body.get_field(tag::SOLICITED_FLAG, &mut fld.0)?;
3903 Ok(fld.value())
3904 }
3905
3906
3907 pub fn has_solicited_flag(&self) -> bool {
3909 self.message.body.has(tag::SOLICITED_FLAG)
3910 }
3911
3912
3913
3914
3915 pub fn set_spread(&mut self, val: Decimal, scale: i32) {
3917 self.message.body.set_field(tag::SPREAD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3918 }
3919
3920 pub fn get_spread(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3922 let mut fld = field::SpreadField::new(Decimal::ZERO, 0);
3923 self.message.body.get_field(tag::SPREAD, &mut fld.0)?;
3924 Ok(fld.value())
3925 }
3926
3927
3928 pub fn has_spread(&self) -> bool {
3930 self.message.body.has(tag::SPREAD)
3931 }
3932
3933
3934
3935
3936 pub fn set_start_cash(&mut self, val: Decimal, scale: i32) {
3938 self.message.body.set_field(tag::START_CASH, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
3939 }
3940
3941 pub fn get_start_cash(&self) -> Result<Decimal, MessageRejectErrorEnum> {
3943 let mut fld = field::StartCashField::new(Decimal::ZERO, 0);
3944 self.message.body.get_field(tag::START_CASH, &mut fld.0)?;
3945 Ok(fld.value())
3946 }
3947
3948
3949 pub fn has_start_cash(&self) -> bool {
3951 self.message.body.has(tag::START_CASH)
3952 }
3953
3954
3955
3956
3957 pub fn set_start_date(&mut self, v: String) {
3959 self.message.body.set_field(tag::START_DATE, FIXString::from(v));
3960 }
3961
3962 pub fn get_start_date(&self) -> Result<String, MessageRejectErrorEnum> {
3964 let mut fld = field::StartDateField::new(String::new());
3965 self.message.body.get_field(tag::START_DATE, &mut fld.0)?;
3966 Ok(fld.value().to_string())
3967 }
3968
3969
3970 pub fn has_start_date(&self) -> bool {
3972 self.message.body.has(tag::START_DATE)
3973 }
3974
3975
3976
3977
3978 pub fn set_state_or_province_of_issue(&mut self, v: String) {
3980 self.message.body.set_field(tag::STATE_OR_PROVINCE_OF_ISSUE, FIXString::from(v));
3981 }
3982
3983 pub fn get_state_or_province_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
3985 let mut fld = field::StateOrProvinceOfIssueField::new(String::new());
3986 self.message.body.get_field(tag::STATE_OR_PROVINCE_OF_ISSUE, &mut fld.0)?;
3987 Ok(fld.value().to_string())
3988 }
3989
3990
3991 pub fn has_state_or_province_of_issue(&self) -> bool {
3993 self.message.body.has(tag::STATE_OR_PROVINCE_OF_ISSUE)
3994 }
3995
3996
3997
3998
3999 pub fn set_stop_px(&mut self, val: Decimal, scale: i32) {
4001 self.message.body.set_field(tag::STOP_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
4002 }
4003
4004 pub fn get_stop_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
4006 let mut fld = field::StopPxField::new(Decimal::ZERO, 0);
4007 self.message.body.get_field(tag::STOP_PX, &mut fld.0)?;
4008 Ok(fld.value())
4009 }
4010
4011
4012 pub fn has_stop_px(&self) -> bool {
4014 self.message.body.has(tag::STOP_PX)
4015 }
4016
4017
4018
4019
4020 pub fn set_strike_currency(&mut self, v: String) {
4022 self.message.body.set_field(tag::STRIKE_CURRENCY, FIXString::from(v));
4023 }
4024
4025 pub fn get_strike_currency(&self) -> Result<String, MessageRejectErrorEnum> {
4027 let mut fld = field::StrikeCurrencyField::new(String::new());
4028 self.message.body.get_field(tag::STRIKE_CURRENCY, &mut fld.0)?;
4029 Ok(fld.value().to_string())
4030 }
4031
4032
4033 pub fn has_strike_currency(&self) -> bool {
4035 self.message.body.has(tag::STRIKE_CURRENCY)
4036 }
4037
4038
4039
4040
4041 pub fn set_strike_price(&mut self, val: Decimal, scale: i32) {
4043 self.message.body.set_field(tag::STRIKE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
4044 }
4045
4046 pub fn get_strike_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
4048 let mut fld = field::StrikePriceField::new(Decimal::ZERO, 0);
4049 self.message.body.get_field(tag::STRIKE_PRICE, &mut fld.0)?;
4050 Ok(fld.value())
4051 }
4052
4053
4054 pub fn has_strike_price(&self) -> bool {
4056 self.message.body.has(tag::STRIKE_PRICE)
4057 }
4058
4059
4060
4061
4062 pub fn set_symbol(&mut self, v: String) {
4064 self.message.body.set_field(tag::SYMBOL, FIXString::from(v));
4065 }
4066
4067 pub fn get_symbol(&self) -> Result<String, MessageRejectErrorEnum> {
4069 let mut fld = field::SymbolField::new(String::new());
4070 self.message.body.get_field(tag::SYMBOL, &mut fld.0)?;
4071 Ok(fld.value().to_string())
4072 }
4073
4074
4075 pub fn has_symbol(&self) -> bool {
4077 self.message.body.has(tag::SYMBOL)
4078 }
4079
4080
4081
4082
4083 pub fn set_symbol_sfx(&mut self, v: String) {
4085 self.message.body.set_field(tag::SYMBOL_SFX, FIXString::from(v));
4086 }
4087
4088 pub fn get_symbol_sfx(&self) -> Result<String, MessageRejectErrorEnum> {
4090 let mut fld = field::SymbolSfxField::new(String::new());
4091 self.message.body.get_field(tag::SYMBOL_SFX, &mut fld.0)?;
4092 Ok(fld.value().to_string())
4093 }
4094
4095
4096 pub fn has_symbol_sfx(&self) -> bool {
4098 self.message.body.has(tag::SYMBOL_SFX)
4099 }
4100
4101
4102
4103
4104 pub fn set_target_strategy(&mut self, v: isize) {
4106 self.message.body.set_field(tag::TARGET_STRATEGY, fixer::fix_int::FIXInt::from(v));
4107 }
4108
4109 pub fn get_target_strategy(&self) -> Result<isize, MessageRejectErrorEnum> {
4111 let mut fld = field::TargetStrategyField::new(0);
4112 self.message.body.get_field(tag::TARGET_STRATEGY, &mut fld.0)?;
4113 Ok(fld.value())
4114 }
4115
4116
4117 pub fn has_target_strategy(&self) -> bool {
4119 self.message.body.has(tag::TARGET_STRATEGY)
4120 }
4121
4122
4123
4124
4125 pub fn set_target_strategy_parameters(&mut self, v: String) {
4127 self.message.body.set_field(tag::TARGET_STRATEGY_PARAMETERS, FIXString::from(v));
4128 }
4129
4130 pub fn get_target_strategy_parameters(&self) -> Result<String, MessageRejectErrorEnum> {
4132 let mut fld = field::TargetStrategyParametersField::new(String::new());
4133 self.message.body.get_field(tag::TARGET_STRATEGY_PARAMETERS, &mut fld.0)?;
4134 Ok(fld.value().to_string())
4135 }
4136
4137
4138 pub fn has_target_strategy_parameters(&self) -> bool {
4140 self.message.body.has(tag::TARGET_STRATEGY_PARAMETERS)
4141 }
4142
4143
4144
4145
4146 pub fn set_target_strategy_performance(&mut self, val: Decimal, scale: i32) {
4148 self.message.body.set_field(tag::TARGET_STRATEGY_PERFORMANCE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
4149 }
4150
4151 pub fn get_target_strategy_performance(&self) -> Result<Decimal, MessageRejectErrorEnum> {
4153 let mut fld = field::TargetStrategyPerformanceField::new(Decimal::ZERO, 0);
4154 self.message.body.get_field(tag::TARGET_STRATEGY_PERFORMANCE, &mut fld.0)?;
4155 Ok(fld.value())
4156 }
4157
4158
4159 pub fn has_target_strategy_performance(&self) -> bool {
4161 self.message.body.has(tag::TARGET_STRATEGY_PERFORMANCE)
4162 }
4163
4164
4165
4166
4167 pub fn set_termination_type(&mut self, v: isize) {
4169 self.message.body.set_field(tag::TERMINATION_TYPE, fixer::fix_int::FIXInt::from(v));
4170 }
4171
4172 pub fn get_termination_type(&self) -> Result<isize, MessageRejectErrorEnum> {
4174 let mut fld = field::TerminationTypeField::new(0);
4175 self.message.body.get_field(tag::TERMINATION_TYPE, &mut fld.0)?;
4176 Ok(fld.value())
4177 }
4178
4179
4180 pub fn has_termination_type(&self) -> bool {
4182 self.message.body.has(tag::TERMINATION_TYPE)
4183 }
4184
4185
4186
4187
4188 pub fn set_text(&mut self, v: String) {
4190 self.message.body.set_field(tag::TEXT, FIXString::from(v));
4191 }
4192
4193 pub fn get_text(&self) -> Result<String, MessageRejectErrorEnum> {
4195 let mut fld = field::TextField::new(String::new());
4196 self.message.body.get_field(tag::TEXT, &mut fld.0)?;
4197 Ok(fld.value().to_string())
4198 }
4199
4200
4201 pub fn has_text(&self) -> bool {
4203 self.message.body.has(tag::TEXT)
4204 }
4205
4206
4207
4208
4209 pub fn set_time_bracket(&mut self, v: String) {
4211 self.message.body.set_field(tag::TIME_BRACKET, FIXString::from(v));
4212 }
4213
4214 pub fn get_time_bracket(&self) -> Result<String, MessageRejectErrorEnum> {
4216 let mut fld = field::TimeBracketField::new(String::new());
4217 self.message.body.get_field(tag::TIME_BRACKET, &mut fld.0)?;
4218 Ok(fld.value().to_string())
4219 }
4220
4221
4222 pub fn has_time_bracket(&self) -> bool {
4224 self.message.body.has(tag::TIME_BRACKET)
4225 }
4226
4227
4228
4229
4230 pub fn set_time_in_force(&mut self, v: String) {
4232 self.message.body.set_field(tag::TIME_IN_FORCE, FIXString::from(v));
4233 }
4234
4235 pub fn get_time_in_force(&self) -> Result<String, MessageRejectErrorEnum> {
4237 let mut fld = field::TimeInForceField::new(String::new());
4238 self.message.body.get_field(tag::TIME_IN_FORCE, &mut fld.0)?;
4239 Ok(fld.value().to_string())
4240 }
4241
4242
4243 pub fn has_time_in_force(&self) -> bool {
4245 self.message.body.has(tag::TIME_IN_FORCE)
4246 }
4247
4248
4249
4250
4251 pub fn set_tot_num_reports(&mut self, v: isize) {
4253 self.message.body.set_field(tag::TOT_NUM_REPORTS, fixer::fix_int::FIXInt::from(v));
4254 }
4255
4256 pub fn get_tot_num_reports(&self) -> Result<isize, MessageRejectErrorEnum> {
4258 let mut fld = field::TotNumReportsField::new(0);
4259 self.message.body.get_field(tag::TOT_NUM_REPORTS, &mut fld.0)?;
4260 Ok(fld.value())
4261 }
4262
4263
4264 pub fn has_tot_num_reports(&self) -> bool {
4266 self.message.body.has(tag::TOT_NUM_REPORTS)
4267 }
4268
4269
4270
4271
4272 pub fn set_total_takedown(&mut self, val: Decimal, scale: i32) {
4274 self.message.body.set_field(tag::TOTAL_TAKEDOWN, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
4275 }
4276
4277 pub fn get_total_takedown(&self) -> Result<Decimal, MessageRejectErrorEnum> {
4279 let mut fld = field::TotalTakedownField::new(Decimal::ZERO, 0);
4280 self.message.body.get_field(tag::TOTAL_TAKEDOWN, &mut fld.0)?;
4281 Ok(fld.value())
4282 }
4283
4284
4285 pub fn has_total_takedown(&self) -> bool {
4287 self.message.body.has(tag::TOTAL_TAKEDOWN)
4288 }
4289
4290
4291
4292
4293 pub fn set_trade_date(&mut self, v: String) {
4295 self.message.body.set_field(tag::TRADE_DATE, FIXString::from(v));
4296 }
4297
4298 pub fn get_trade_date(&self) -> Result<String, MessageRejectErrorEnum> {
4300 let mut fld = field::TradeDateField::new(String::new());
4301 self.message.body.get_field(tag::TRADE_DATE, &mut fld.0)?;
4302 Ok(fld.value().to_string())
4303 }
4304
4305
4306 pub fn has_trade_date(&self) -> bool {
4308 self.message.body.has(tag::TRADE_DATE)
4309 }
4310
4311
4312
4313
4314 pub fn set_trade_origination_date(&mut self, v: String) {
4316 self.message.body.set_field(tag::TRADE_ORIGINATION_DATE, FIXString::from(v));
4317 }
4318
4319 pub fn get_trade_origination_date(&self) -> Result<String, MessageRejectErrorEnum> {
4321 let mut fld = field::TradeOriginationDateField::new(String::new());
4322 self.message.body.get_field(tag::TRADE_ORIGINATION_DATE, &mut fld.0)?;
4323 Ok(fld.value().to_string())
4324 }
4325
4326
4327 pub fn has_trade_origination_date(&self) -> bool {
4329 self.message.body.has(tag::TRADE_ORIGINATION_DATE)
4330 }
4331
4332
4333
4334
4335 pub fn set_traded_flat_switch(&mut self, v: bool) {
4337 self.message.body.set_field(tag::TRADED_FLAT_SWITCH, fixer::fix_boolean::FIXBoolean::from(v));
4338 }
4339
4340 pub fn get_traded_flat_switch(&self) -> Result<bool, MessageRejectErrorEnum> {
4342 let mut fld = field::TradedFlatSwitchField::new(false);
4343 self.message.body.get_field(tag::TRADED_FLAT_SWITCH, &mut fld.0)?;
4344 Ok(fld.value())
4345 }
4346
4347
4348 pub fn has_traded_flat_switch(&self) -> bool {
4350 self.message.body.has(tag::TRADED_FLAT_SWITCH)
4351 }
4352
4353
4354
4355
4356 pub fn set_trading_session_id(&mut self, v: String) {
4358 self.message.body.set_field(tag::TRADING_SESSION_ID, FIXString::from(v));
4359 }
4360
4361 pub fn get_trading_session_id(&self) -> Result<String, MessageRejectErrorEnum> {
4363 let mut fld = field::TradingSessionIDField::new(String::new());
4364 self.message.body.get_field(tag::TRADING_SESSION_ID, &mut fld.0)?;
4365 Ok(fld.value().to_string())
4366 }
4367
4368
4369 pub fn has_trading_session_id(&self) -> bool {
4371 self.message.body.has(tag::TRADING_SESSION_ID)
4372 }
4373
4374
4375
4376
4377 pub fn set_trading_session_sub_id(&mut self, v: String) {
4379 self.message.body.set_field(tag::TRADING_SESSION_SUB_ID, FIXString::from(v));
4380 }
4381
4382 pub fn get_trading_session_sub_id(&self) -> Result<String, MessageRejectErrorEnum> {
4384 let mut fld = field::TradingSessionSubIDField::new(String::new());
4385 self.message.body.get_field(tag::TRADING_SESSION_SUB_ID, &mut fld.0)?;
4386 Ok(fld.value().to_string())
4387 }
4388
4389
4390 pub fn has_trading_session_sub_id(&self) -> bool {
4392 self.message.body.has(tag::TRADING_SESSION_SUB_ID)
4393 }
4394
4395
4396
4397
4398 pub fn set_trans_bkd_time(&mut self, v: Timestamp) {
4400 self.message.body.set_field(tag::TRANS_BKD_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
4401 time: v,
4402 precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
4403 });
4404 }
4405
4406 pub fn get_trans_bkd_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
4408 let mut fld = field::TransBkdTimeField::new(Timestamp::UNIX_EPOCH);
4409 self.message.body.get_field(tag::TRANS_BKD_TIME, &mut fld.0)?;
4410 Ok(fld.value())
4411 }
4412
4413
4414 pub fn has_trans_bkd_time(&self) -> bool {
4416 self.message.body.has(tag::TRANS_BKD_TIME)
4417 }
4418
4419
4420
4421
4422 pub fn set_transact_time(&mut self, v: Timestamp) {
4424 self.message.body.set_field(tag::TRANSACT_TIME, fixer::fix_utc_timestamp::FIXUTCTimestamp {
4425 time: v,
4426 precision: fixer::fix_utc_timestamp::TimestampPrecision::Millis,
4427 });
4428 }
4429
4430 pub fn get_transact_time(&self) -> Result<Timestamp, MessageRejectErrorEnum> {
4432 let mut fld = field::TransactTimeField::new(Timestamp::UNIX_EPOCH);
4433 self.message.body.get_field(tag::TRANSACT_TIME, &mut fld.0)?;
4434 Ok(fld.value())
4435 }
4436
4437
4438 pub fn has_transact_time(&self) -> bool {
4440 self.message.body.has(tag::TRANSACT_TIME)
4441 }
4442
4443
4444
4445
4446 pub fn set_underlying_last_px(&mut self, val: Decimal, scale: i32) {
4448 self.message.body.set_field(tag::UNDERLYING_LAST_PX, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
4449 }
4450
4451 pub fn get_underlying_last_px(&self) -> Result<Decimal, MessageRejectErrorEnum> {
4453 let mut fld = field::UnderlyingLastPxField::new(Decimal::ZERO, 0);
4454 self.message.body.get_field(tag::UNDERLYING_LAST_PX, &mut fld.0)?;
4455 Ok(fld.value())
4456 }
4457
4458
4459 pub fn has_underlying_last_px(&self) -> bool {
4461 self.message.body.has(tag::UNDERLYING_LAST_PX)
4462 }
4463
4464
4465
4466
4467 pub fn set_underlying_last_qty(&mut self, val: Decimal, scale: i32) {
4469 self.message.body.set_field(tag::UNDERLYING_LAST_QTY, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
4470 }
4471
4472 pub fn get_underlying_last_qty(&self) -> Result<Decimal, MessageRejectErrorEnum> {
4474 let mut fld = field::UnderlyingLastQtyField::new(Decimal::ZERO, 0);
4475 self.message.body.get_field(tag::UNDERLYING_LAST_QTY, &mut fld.0)?;
4476 Ok(fld.value())
4477 }
4478
4479
4480 pub fn has_underlying_last_qty(&self) -> bool {
4482 self.message.body.has(tag::UNDERLYING_LAST_QTY)
4483 }
4484
4485
4486
4487
4488 pub fn set_working_indicator(&mut self, v: bool) {
4490 self.message.body.set_field(tag::WORKING_INDICATOR, fixer::fix_boolean::FIXBoolean::from(v));
4491 }
4492
4493 pub fn get_working_indicator(&self) -> Result<bool, MessageRejectErrorEnum> {
4495 let mut fld = field::WorkingIndicatorField::new(false);
4496 self.message.body.get_field(tag::WORKING_INDICATOR, &mut fld.0)?;
4497 Ok(fld.value())
4498 }
4499
4500
4501 pub fn has_working_indicator(&self) -> bool {
4503 self.message.body.has(tag::WORKING_INDICATOR)
4504 }
4505
4506
4507
4508
4509 pub fn set_yield(&mut self, val: Decimal, scale: i32) {
4511 self.message.body.set_field(tag::YIELD, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
4512 }
4513
4514 pub fn get_yield(&self) -> Result<Decimal, MessageRejectErrorEnum> {
4516 let mut fld = field::YieldField::new(Decimal::ZERO, 0);
4517 self.message.body.get_field(tag::YIELD, &mut fld.0)?;
4518 Ok(fld.value())
4519 }
4520
4521
4522 pub fn has_yield(&self) -> bool {
4524 self.message.body.has(tag::YIELD)
4525 }
4526
4527
4528
4529
4530 pub fn set_yield_calc_date(&mut self, v: String) {
4532 self.message.body.set_field(tag::YIELD_CALC_DATE, FIXString::from(v));
4533 }
4534
4535 pub fn get_yield_calc_date(&self) -> Result<String, MessageRejectErrorEnum> {
4537 let mut fld = field::YieldCalcDateField::new(String::new());
4538 self.message.body.get_field(tag::YIELD_CALC_DATE, &mut fld.0)?;
4539 Ok(fld.value().to_string())
4540 }
4541
4542
4543 pub fn has_yield_calc_date(&self) -> bool {
4545 self.message.body.has(tag::YIELD_CALC_DATE)
4546 }
4547
4548
4549
4550
4551 pub fn set_yield_redemption_date(&mut self, v: String) {
4553 self.message.body.set_field(tag::YIELD_REDEMPTION_DATE, FIXString::from(v));
4554 }
4555
4556 pub fn get_yield_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
4558 let mut fld = field::YieldRedemptionDateField::new(String::new());
4559 self.message.body.get_field(tag::YIELD_REDEMPTION_DATE, &mut fld.0)?;
4560 Ok(fld.value().to_string())
4561 }
4562
4563
4564 pub fn has_yield_redemption_date(&self) -> bool {
4566 self.message.body.has(tag::YIELD_REDEMPTION_DATE)
4567 }
4568
4569
4570
4571
4572 pub fn set_yield_redemption_price(&mut self, val: Decimal, scale: i32) {
4574 self.message.body.set_field(tag::YIELD_REDEMPTION_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
4575 }
4576
4577 pub fn get_yield_redemption_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
4579 let mut fld = field::YieldRedemptionPriceField::new(Decimal::ZERO, 0);
4580 self.message.body.get_field(tag::YIELD_REDEMPTION_PRICE, &mut fld.0)?;
4581 Ok(fld.value())
4582 }
4583
4584
4585 pub fn has_yield_redemption_price(&self) -> bool {
4587 self.message.body.has(tag::YIELD_REDEMPTION_PRICE)
4588 }
4589
4590
4591
4592
4593 pub fn set_yield_redemption_price_type(&mut self, v: isize) {
4595 self.message.body.set_field(tag::YIELD_REDEMPTION_PRICE_TYPE, fixer::fix_int::FIXInt::from(v));
4596 }
4597
4598 pub fn get_yield_redemption_price_type(&self) -> Result<isize, MessageRejectErrorEnum> {
4600 let mut fld = field::YieldRedemptionPriceTypeField::new(0);
4601 self.message.body.get_field(tag::YIELD_REDEMPTION_PRICE_TYPE, &mut fld.0)?;
4602 Ok(fld.value())
4603 }
4604
4605
4606 pub fn has_yield_redemption_price_type(&self) -> bool {
4608 self.message.body.has(tag::YIELD_REDEMPTION_PRICE_TYPE)
4609 }
4610
4611
4612
4613
4614 pub fn set_yield_type(&mut self, v: String) {
4616 self.message.body.set_field(tag::YIELD_TYPE, FIXString::from(v));
4617 }
4618
4619 pub fn get_yield_type(&self) -> Result<String, MessageRejectErrorEnum> {
4621 let mut fld = field::YieldTypeField::new(String::new());
4622 self.message.body.get_field(tag::YIELD_TYPE, &mut fld.0)?;
4623 Ok(fld.value().to_string())
4624 }
4625
4626
4627 pub fn has_yield_type(&self) -> bool {
4629 self.message.body.has(tag::YIELD_TYPE)
4630 }
4631
4632
4633}
4634
4635pub type RouteOut = fn(msg: ExecutionReport, session_id: SessionID) -> Result<(), MessageRejectErrorEnum>;
4637
4638pub type Route = (&'static str, &'static str, Box<dyn Fn(&Message, SessionID) -> Result<(), MessageRejectErrorEnum> + Send>);
4640
4641pub fn route(router: RouteOut) -> Route {
4643 let r = move |msg: &Message, session_id: SessionID| -> Result<(), MessageRejectErrorEnum> {
4644 router(ExecutionReport::from_message(msg.clone()), session_id)
4645 };
4646 ("FIX.4.4", "8", Box::new(r))
4647}