Struct MT920

Source
pub struct MT920 {
    pub field_20: GenericReferenceField,
    pub field_12: GenericTextField,
    pub field_25: GenericTextField,
    pub field_34f_debit: Option<Field34F>,
    pub field_34f_credit: Option<Field34F>,
}
Expand description

§MT920: Request Message

This message is used by a financial institution to request specific types of statements or reports from another financial institution. This message enables automated request processing for account statements, balance reports, and transaction reports, facilitating efficient cash management and reconciliation processes.

§Key Features

  • Statement requests: Requesting MT940 (customer statement) or MT950 (statement message)
  • Balance reports: Requesting MT941 (balance report)
  • Interim reports: Requesting MT942 (interim transaction report)
  • Automated reporting: Scheduled statement and report generation
  • Cash management: Regular balance and transaction monitoring
  • Reconciliation: Obtaining statements for reconciliation purposes

§Field Structure

All fields follow the enhanced macro system with proper validation rules. The message supports floor limit specification for MT942 requests.

§Conditional Rules

  • C1: If Field 12 = ‘942’, Field 34F for debit or debit/credit must be present
  • C2: When both Field 34F fields are present: first must have sign ‘D’, second must have sign ‘C’
  • C3: Currency code must be same across all Field 34F entries in a message

Fields§

§field_20: GenericReferenceField

Transaction Reference Number - Field 20

Unique sender’s reference identifying this specific request message. Used throughout the request lifecycle for tracking, correlation with response messages, and audit purposes.

§field_12: GenericTextField

Message Requested - Field 12

Specifies the type of SWIFT message being requested. This determines the format and content of the response message that will be generated. Valid values: 940, 941, 942, 950

§field_25: GenericTextField

Account Identification - Field 25

Identifies the specific account for which the statement or report is being requested. Must be a valid account identifier that the receiver can process and generate reports for.

§field_34f_debit: Option<Field34F>

Debit or Debit/Credit Floor Limit - Field 34F (Optional, Conditional C1)

Specifies the floor limit for debit transactions or combined debit/credit transactions when requesting MT942 interim transaction reports. Transactions above this limit will be included in the report.

§field_34f_credit: Option<Field34F>

Credit Floor Limit Indicator - Field 34F (Optional, Conditional C2)

Specifies the floor limit for credit transactions when requesting MT942 interim transaction reports. Used in conjunction with debit floor limit to provide comprehensive transaction filtering.

Implementations§

Source§

impl MT920

Source

pub fn validation_rules() -> &'static str

Get the validation rules for this message type

Trait Implementations§

Source§

impl Clone for MT920

Source§

fn clone(&self) -> MT920

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MT920

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for MT920

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for MT920

Source§

fn eq(&self, other: &MT920) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for MT920

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl SwiftMessageBody for MT920

Source§

fn message_type() -> &'static str

Get the message type identifier (e.g., “103”, “202”)
Source§

fn from_fields(fields: HashMap<String, Vec<String>>) -> SwiftResult<Self>

Create from field map
Source§

fn to_fields(&self) -> HashMap<String, Vec<String>>

Convert to field map
Source§

fn required_fields() -> Vec<&'static str>

Get required field tags for this message type
Source§

fn optional_fields() -> Vec<&'static str>

Get optional field tags for this message type
Source§

fn is_cover_message(&self) -> bool

Check if this message is a cover message (default: false)
Source§

fn has_reject_codes(&self) -> bool

Source§

fn has_return_codes(&self) -> bool

Source§

fn is_stp_message(&self) -> bool

Source§

impl StructuralPartialEq for MT920

Auto Trait Implementations§

§

impl Freeze for MT920

§

impl RefUnwindSafe for MT920

§

impl Send for MT920

§

impl Sync for MT920

§

impl Unpin for MT920

§

impl UnwindSafe for MT920

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,