Struct MT192

Source
pub struct MT192 {
    pub field_20: GenericReferenceField,
    pub field_21: GenericReferenceField,
    pub field_11s: Field11S,
    pub field_79: Option<GenericMultiLine6x35>,
    pub field_23b: Option<GenericTextField>,
    pub field_32a: Option<Field32A>,
    pub field_50: Option<Field50>,
    pub field_59: Option<Field59>,
    pub field_71a: Option<GenericTextField>,
}
Expand description

§MT192: Request for Cancellation

This message is sent by a financial institution to request the cancellation of a previously sent message. MT192 is used for cancellation requests related to customer credit transfers and other payment instructions.

§Key Features

  • Cancellation request: Official request to cancel a previously sent message
  • 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
  • Reason codes: Standardized cancellation reason codes for 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.

§Cancellation Process

Used when a sender needs to request cancellation of a previously sent message, typically due to errors, fraud, customer request, or technical problems. The receiver processes the request and may accept or reject the cancellation.

Fields§

§field_20: GenericReferenceField

Transaction Reference Number - Field 20

Unique reference assigned by the sender for this 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 message to be cancelled. This creates a direct link between the cancellation request and the original 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 message to be cancelled. Format: 3!n6!n4!n/4!n Example: 103231215001/0123 (MT103 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_23b: Option<GenericTextField>

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

When present, contains a copy of at least the mandatory fields from the original message. This helps the receiver identify the exact transaction to be cancelled. The specific fields depend on the original message type referenced in field 11S.

For MT103: Would include fields 23B, 32A, 50, 59, 71A

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

§field_32a: Option<Field32A>§field_50: Option<Field50>§field_59: Option<Field59>§field_71a: Option<GenericTextField>

Implementations§

Source§

impl MT192

Source

pub fn validation_rules() -> &'static str

Get the validation rules for this message type

Trait Implementations§

Source§

impl Clone for MT192

Source§

fn clone(&self) -> MT192

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 MT192

Source§

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

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

impl<'de> Deserialize<'de> for MT192

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 MT192

Source§

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

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 MT192

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 MT192

Auto Trait Implementations§

§

impl Freeze for MT192

§

impl RefUnwindSafe for MT192

§

impl Send for MT192

§

impl Sync for MT192

§

impl Unpin for MT192

§

impl UnwindSafe for MT192

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