Skip to main content

fixer_fix/fix50sp1/
collateral_assignment.rs

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