Struct MT292

Source
pub struct MT292 {
    pub field_20: GenericReferenceField,
    pub field_21: GenericReferenceField,
    pub field_11s: Field11S,
    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

§MT292: Request for Cancellation (Treasury)

This message is sent by a financial institution to request the cancellation of a previously sent treasury-related message. MT292 is used for cancellation requests related to treasury operations, interbank transfers, and institutional transactions.

§Key Features

  • Treasury cancellation: Official request to cancel treasury/institutional messages
  • Reference tracking: Links to the original message through multiple reference fields
  • Conditional structure: Either narrative (field 79) or copy of original message fields
  • Audit trail: Maintains complete cancellation audit records for treasury operations
  • Reason codes: Standardized cancellation reason codes for institutional processing

§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 must be present, or both. This structure is identical to MT192 but used for treasury/institutional contexts.

§Cancellation Process

Used when a treasury department or institutional sender needs to request cancellation of a previously sent message, typically MT2xx series messages for interbank transfers, due to errors, regulatory requirements, or operational changes.

Fields§

§field_20: GenericReferenceField

Transaction Reference Number - Field 20

Unique reference assigned by the sender for this treasury cancellation request. This reference is used throughout the cancellation 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 to be cancelled. This creates a direct link between the cancellation request and the original treasury message, enabling the receiver to identify exactly which message to cancel.

§field_11s: Field11S

MT and Date of the Original Message - Field 11S

Specifies the message type, date, session number, and Input Sequence Number (ISN) of the original treasury message to be cancelled. Format: 3!n6!n4!n/4!n Example: 202231215001/0123 (MT202 dated 2023-12-15, session 0001, ISN 0123)

§field_79: Option<GenericMultiLine6x35>

Narrative Description of the Original Message - Field 79 (Conditional)

Contains cancellation reason codes and free-form text explaining the cancellation. Must be present if copy of original message fields is not included, or both may be present. Common reason codes: AGNT, AM09, COVR, CURR, CUST, CUTA, DUPL, FRAD, TECH, UPAY

§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 the receiver identify the exact treasury transaction to be cancelled. The specific fields depend on the original message type referenced in field 11S.

For MT202: Would include fields 32A, 53, 58 For MT205: Would include fields 32A, 53, 56, 57, 58
For MT210: Would include fields 32A, 53

Note: This is represented as optional structured content that can contain various field combinations depending on the original treasury message type.

§field_58a: Option<GenericBicField>§field_52a: Option<GenericBicField>§field_53a: Option<GenericBicField>§field_56a: Option<GenericBicField>§field_57a: Option<GenericBicField>

Implementations§

Source§

impl MT292

Source

pub fn validation_rules() -> &'static str

Get the validation rules for this message type

Trait Implementations§

Source§

impl Clone for MT292

Source§

fn clone(&self) -> MT292

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 MT292

Source§

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

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

impl<'de> Deserialize<'de> for MT292

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 MT292

Source§

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

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 MT292

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 MT292

Auto Trait Implementations§

§

impl Freeze for MT292

§

impl RefUnwindSafe for MT292

§

impl Send for MT292

§

impl Sync for MT292

§

impl Unpin for MT292

§

impl UnwindSafe for MT292

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