Skip to main content

fixer_fix/fix50/
collateral_report.rs

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