pub struct MT104 {Show 19 fields
pub field_20: Field20,
pub field_21r: Option<Field21R>,
pub field_23e: Option<Field23E>,
pub field_21e: Option<Field21E>,
pub field_30: Field30,
pub field_51a: Option<Field51A>,
pub instructing_party: Option<Field50InstructingParty>,
pub creditor: Option<Field50Creditor>,
pub field_52: Option<Field52CreditorBank>,
pub field_26t: Option<Field26T>,
pub field_77b: Option<Field77B>,
pub field_71a: Option<Field71A>,
pub field_72: Option<Field72>,
pub transactions: Vec<MT104Transaction>,
pub field_32b: Option<Field32B>,
pub field_19: Option<Field19>,
pub field_71f: Option<Field71F>,
pub field_71g: Option<Field71G>,
pub field_53: Option<Field53SenderCorrespondent>,
}
Expand description
MT104: Direct Debit and Request for Debit Transfer
Creditor instruction to collect funds from one or more debtors via banks. Supports batch direct debit processing with settlement details.
Usage: Direct debits, batch collections, SEPA debits Category: Category 1 (Customer Payments)
Fields§
§field_20: Field20
Sender’s reference (Field 20)
field_21r: Option<Field21R>
Customer specified reference (Field 21R)
field_23e: Option<Field23E>
Instruction code (Field 23E)
field_21e: Option<Field21E>
Registration reference (Field 21E)
field_30: Field30
Requested execution date (Field 30)
field_51a: Option<Field51A>
Sending institution (Field 51A)
instructing_party: Option<Field50InstructingParty>
Instructing party (Field 50C/L)
creditor: Option<Field50Creditor>
Creditor (Field 50A/K)
field_52: Option<Field52CreditorBank>
Creditor’s bank (Field 52)
field_26t: Option<Field26T>
Transaction type code (Field 26T)
field_77b: Option<Field77B>
Regulatory reporting (Field 77B)
field_71a: Option<Field71A>
Details of charges (Field 71A)
field_72: Option<Field72>
Sender to receiver information (Field 72)
transactions: Vec<MT104Transaction>
Transaction details (Sequence B)
field_32b: Option<Field32B>
Settlement amount (Field 32B, Sequence C)
field_19: Option<Field19>
Sum of amounts (Field 19)
field_71f: Option<Field71F>
Sum of sender’s charges (Field 71F)
field_71g: Option<Field71G>
Sum of receiver’s charges (Field 71G)
field_53: Option<Field53SenderCorrespondent>
Sender’s correspondent (Field 53)
Implementations§
Source§impl MT104
impl MT104
Sourcepub fn parse_from_block4(block4: &str) -> Result<Self, ParseError>
pub fn parse_from_block4(block4: &str) -> Result<Self, ParseError>
Parse message from Block 4 content
Sourcepub fn parse(input: &str) -> Result<Self, ParseError>
pub fn parse(input: &str) -> Result<Self, ParseError>
Parse from generic SWIFT input
Sourcepub fn to_mt_string(&self) -> String
pub fn to_mt_string(&self) -> String
Convert to SWIFT MT text format
Sourcepub fn validate_network_rules(
&self,
stop_on_first_error: bool,
) -> Vec<SwiftValidationError>
pub fn validate_network_rules( &self, stop_on_first_error: bool, ) -> Vec<SwiftValidationError>
Main validation method - validates all network rules Returns array of validation errors, respects stop_on_first_error flag
Trait Implementations§
Source§impl<'de> Deserialize<'de> for MT104
impl<'de> Deserialize<'de> for MT104
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl SwiftMessageBody for MT104
impl SwiftMessageBody for MT104
Source§fn message_type() -> &'static str
fn message_type() -> &'static str
Source§fn parse_from_block4(block4: &str) -> Result<Self, ParseError>
fn parse_from_block4(block4: &str) -> Result<Self, ParseError>
Source§fn to_mt_string(&self) -> String
fn to_mt_string(&self) -> String
Source§fn validate_network_rules(
&self,
stop_on_first_error: bool,
) -> Vec<SwiftValidationError>
fn validate_network_rules( &self, stop_on_first_error: bool, ) -> Vec<SwiftValidationError>
impl StructuralPartialEq for MT104
Auto Trait Implementations§
impl Freeze for MT104
impl RefUnwindSafe for MT104
impl Send for MT104
impl Sync for MT104
impl Unpin for MT104
impl UnwindSafe for MT104
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more