Struct MT935

Source
pub struct MT935 {
    pub field_20: GenericReferenceField,
    pub rate_changes: Vec<MT935RateChange>,
    pub field_72: Option<GenericMultiLineTextField<6, 35>>,
}
Expand description

§MT935: Rate Change Advice

This message is used by a financial institution to advise another financial institution of a change in interest rates. This message is critical for managing interest rate exposure, updating pricing models, and ensuring accurate interest calculations across correspondent banking relationships and customer accounts.

§Key Features

  • Interest rate updates: Notifying changes in deposit or lending rates
  • Base rate changes: Communicating central bank rate adjustments
  • Account-specific rates: Updating rates for specific customer accounts
  • Product rate changes: Modifying rates for specific banking products
  • Regulatory compliance: Meeting rate disclosure requirements
  • Risk management: Coordinating rate changes across institutions

§Field Structure

All fields follow the enhanced macro system with proper validation rules. The message supports repetitive rate change sequences for bulk updates.

§Conditional Rules

  • C1: The repeating sequence of fields 23/25/30/37H must occur at least once and at most 10 times
  • C2: Either Field 23 or Field 25 must be present in each sequence, but not both

Fields§

§field_20: GenericReferenceField

Transaction Reference Number - Field 20

Unique sender’s reference for this rate change advice. Used for tracking and auditing rate change communications.

§rate_changes: Vec<MT935RateChange>

Rate Change Sequences (Repetitive)

Each sequence represents one rate change with either rate type identification (Field 23) or account identification (Field 25), along with the effective date and new rate.

§field_72: Option<GenericMultiLineTextField<6, 35>>

Sender to Receiver Information - Field 72 (Optional)

Additional information about the rate changes. Can include structured text or narrative details.

Implementations§

Source§

impl MT935

Source

pub fn validation_rules() -> &'static str

Get the validation rules for this message type

Trait Implementations§

Source§

impl Clone for MT935

Source§

fn clone(&self) -> MT935

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for MT935

Source§

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

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

impl<'de> Deserialize<'de> for MT935

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 MT935

Source§

fn eq(&self, other: &MT935) -> 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 MT935

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 MT935

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 sample() -> Self

Generate a sample message with only mandatory fields
Source§

fn sample_minimal() -> Self

Generate a minimal sample (only mandatory fields)
Source§

fn sample_full() -> Self

Generate a full sample (all fields populated)
Source§

fn sample_with_config(config: &MessageConfig) -> Self

Generate a sample with configuration
Source§

impl StructuralPartialEq for MT935

Auto Trait Implementations§

§

impl Freeze for MT935

§

impl RefUnwindSafe for MT935

§

impl Send for MT935

§

impl Sync for MT935

§

impl Unpin for MT935

§

impl UnwindSafe for MT935

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

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