pub struct MT107Transaction {Show 19 fields
pub field_21: Field21,
pub field_23e: Option<Field23E>,
pub field_21c: Option<Field21>,
pub field_21d: Option<Field21>,
pub field_21e: Option<Field21>,
pub field_32b: GenericCurrencyAmountField,
pub field_50a_instructing: Option<Field50>,
pub field_50a_creditor: Option<Field50>,
pub field_52a: Option<GenericBicField>,
pub field_57a: Option<GenericBicField>,
pub field_59a: Field59,
pub field_70: Option<Field70>,
pub field_26t: Option<Field26T>,
pub field_77b: Option<Field77B>,
pub field_33b: Option<GenericCurrencyAmountField>,
pub field_71a: Option<Field71A>,
pub field_71f: Option<GenericCurrencyAmountField>,
pub field_71g: Option<GenericCurrencyAmountField>,
pub field_36: Option<Field36>,
}
Expand description
§MT107 Transaction (Sequence B)
Represents a single transaction within an MT107 cancellation/amendment message. This structure demonstrates the enhanced architecture for handling repetitive SWIFT sequences.
§Architectural Benefits:
- Complete Validation: Each transaction validates all its fields independently
- Memory Efficiency: Only allocates fields that are present
- Type Safety: Compile-time validation of field types
- Business Logic: Clear transaction-level operations and validation
- Scalability: Easy to add new transaction types or fields
Fields§
§field_21: Field21
Transaction Reference - Field 21 (Mandatory) Unique reference for each transaction
field_23e: Option<Field23E>
Instruction Code - Field 23E Seq B (Conditional) Values: AUTH, NAUT, OTHR (C1)
field_21c: Option<Field21>
Mandate Reference - Field 21C (Optional) Used for mandates
field_21d: Option<Field21>
Direct Debit Reference - Field 21D (Optional) Used for returns
field_21e: Option<Field21>
Registration Reference - Field 21E Seq B (Conditional) Subject to C2/C3
field_32b: GenericCurrencyAmountField
Currency/Transaction Amount - Field 32B (Mandatory) Amount to debit
field_50a_instructing: Option<Field50>
Instructing Party - Field 50a Seq B (Conditional) Options: C, L. Who orders debit. Subject to C2
field_50a_creditor: Option<Field50>
Creditor - Field 50a Seq B (Conditional) Options: A, K. Name & account details. Subject to C1/C3
field_52a: Option<GenericBicField>
Creditor’s Bank - Field 52a Seq B (Conditional) Options: A, C, D. Routing bank. Subject to C2
field_57a: Option<GenericBicField>
Debtor’s Bank - Field 57a (Optional) Options: A, C, D. Account servicing bank
field_59a: Field59
Debtor - Field 59a (Mandatory) Must include account. Options: A/none
field_70: Option<Field70>
Remittance Information - Field 70 (Optional) Details to debtor
field_26t: Option<Field26T>
Transaction Type Code - Field 26T Seq B (Conditional) Reason for payment. Subject to C2
field_77b: Option<Field77B>
Regulatory Reporting - Field 77B Seq B (Conditional) Residence, codes. Subject to C2
field_33b: Option<GenericCurrencyAmountField>
Original Ordered Amount - Field 33B (Optional) Must differ from 32B
field_71a: Option<Field71A>
Details of Charges - Field 71A Seq B (Conditional) Values: BEN, OUR, SHA. Subject to C2
field_71f: Option<GenericCurrencyAmountField>
Sender’s Charges - Field 71F (Conditional) Total sender charges. Subject to C5
field_71g: Option<GenericCurrencyAmountField>
Receiver’s Charges - Field 71G (Conditional) Total receiver charges. Subject to C5
field_36: Option<Field36>
Exchange Rate - Field 36 (Conditional) Required if 33B ≠ 32B. Subject to C7
Implementations§
Source§impl MT107Transaction
impl MT107Transaction
Sourcepub fn validation_rules() -> &'static str
pub fn validation_rules() -> &'static str
Get the validation rules for this message type
Trait Implementations§
Source§impl Clone for MT107Transaction
impl Clone for MT107Transaction
Source§fn clone(&self) -> MT107Transaction
fn clone(&self) -> MT107Transaction
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read more