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