Struct MT296

Source
pub struct MT296 {
    pub field_20: GenericReferenceField,
    pub field_21: GenericReferenceField,
    pub field_76: GenericMultiLine6x35,
    pub field_77a: Option<GenericMultiLine20x35>,
    pub field_11a: Option<GenericTextField>,
    pub field_79: Option<GenericMultiLine6x35>,
    pub field_32a: Option<Field32A>,
    pub field_58a: Option<GenericBicField>,
    pub field_52a: Option<GenericBicField>,
    pub field_53a: Option<GenericBicField>,
    pub field_56a: Option<GenericBicField>,
    pub field_57a: Option<GenericBicField>,
}
Expand description

§MT296: Answers (Treasury Messages)

This message is sent by a financial institution to provide answers, confirmations, or status information in response to queries or requests related to treasury messages. MT296 is used for answering treasury transfer queries and other institutional inquiries.

§Key Features

  • Treasury answer provision: Official responses to treasury message queries
  • Reference tracking: Links to the original message through reference fields
  • Conditional structure: Either narrative (field 79) or copy of original message fields
  • Answer codes: Standardized answer codes with supplementary data
  • Narrative support: Additional narrative description capability

§Field Structure

The message follows a conditional structure where either field 79 (narrative description) or a copy of the mandatory fields from the original message may be present, but not both. This structure is identical to MT196 but used for treasury/institutional contexts.

§Answer Process

Used when a treasury department or institutional receiver needs to provide answers, confirmations, or status updates regarding previously received treasury messages, including confirmations of institutional transfers, cover payments, or responses to treasury queries.

Fields§

§field_20: GenericReferenceField

Transaction Reference Number - Field 20

Unique reference assigned by the sender for this treasury answer message. This reference is used throughout the answer lifecycle for tracking, acknowledgment, and audit purposes. Must be unique within sender’s system per business day.

§field_21: GenericReferenceField

Related Reference - Field 21

Contains the reference from field 20 of the treasury message being answered. This creates a direct link between the answer and the original treasury message, enabling complete audit trails and transaction tracking.

§field_76: GenericMultiLine6x35

Answers - Field 76

Contains response codes, narratives, and supplementary data. Includes confirmation codes (1-33), cancellation codes (CNCL, PDCR, RJCR), and reason codes with optional supplementary details in parentheses.

§field_77a: Option<GenericMultiLine20x35>

Narrative - Field 77A (Optional)

Free-form narrative description that supplements the answer codes in field 76. Used for providing additional context, explanations, or details about the treasury answers.

§field_11a: Option<GenericTextField>

MT and Date of the Original Message - Field 11a (Optional)

Specifies the message type and date of the original treasury message being answered. Can be in Option R format (with session/ISN) or Option S format (date only).

§field_79: Option<GenericMultiLine6x35>

Narrative Description of Original Message - Field 79 (Conditional)

Contains narrative description of the original treasury message being answered. Must be present if copy of original message fields is not included. Cannot be used together with copy of original message fields.

§field_32a: Option<Field32A>

Copy of Mandatory Fields from Original Message - Multiple Fields (Conditional)

When present, contains a copy of at least the mandatory fields from the original treasury message. This helps identify the exact treasury transaction being answered. Cannot be used together with field 79 according to conditional rule C1.

For treasury messages:

  • MT202: Would include fields 32A, 53, 58
  • MT205: Would include fields 32A, 53, 56, 57, 58
  • MT210: Would include fields 32A, 53
§field_58a: Option<GenericBicField>§field_52a: Option<GenericBicField>§field_53a: Option<GenericBicField>§field_56a: Option<GenericBicField>§field_57a: Option<GenericBicField>

Implementations§

Source§

impl MT296

Source

pub fn validation_rules() -> &'static str

Get the validation rules for this message type

Trait Implementations§

Source§

impl Clone for MT296

Source§

fn clone(&self) -> MT296

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 MT296

Source§

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

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

impl<'de> Deserialize<'de> for MT296

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 MT296

Source§

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

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

const 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 MT296

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 MT296

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§

impl StructuralPartialEq for MT296

Auto Trait Implementations§

§

impl Freeze for MT296

§

impl RefUnwindSafe for MT296

§

impl Send for MT296

§

impl Sync for MT296

§

impl Unpin for MT296

§

impl UnwindSafe for MT296

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>,